OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [ecos-3.0/] [packages/] [hal/] [cortexm/] [kinetis/] [var/] [current/] [include/] [var_io_flexbus.h] - Blame information for rev 786

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 786 skrzyp
#ifndef CYGONCE_HAL_VAR_IO_FLEXBUS_H
2
#define CYGONCE_HAL_VAR_IO_FLEXBUS_H
3
//===========================================================================
4
//
5
//      var_io_flexbus.h
6
//
7
//      Kinetis FlexBus specific registers
8
//
9
//===========================================================================
10
// ####ECOSGPLCOPYRIGHTBEGIN####                                            
11
// -------------------------------------------                              
12
// This file is part of eCos, the Embedded Configurable Operating System.   
13
// Copyright (C) 2011 Free Software Foundation, Inc.                        
14
//
15
// eCos is free software; you can redistribute it and/or modify it under    
16
// the terms of the GNU General Public License as published by the Free     
17
// Software Foundation; either version 2 or (at your option) any later      
18
// version.                                                                 
19
//
20
// eCos is distributed in the hope that it will be useful, but WITHOUT      
21
// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or    
22
// FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License    
23
// for more details.                                                        
24
//
25
// You should have received a copy of the GNU General Public License        
26
// along with eCos; if not, write to the Free Software Foundation, Inc.,    
27
// 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.            
28
//
29
// As a special exception, if other files instantiate templates or use      
30
// macros or inline functions from this file, or you compile this file      
31
// and link it with other works to produce a work based on this file,       
32
// this file does not by itself cause the resulting work to be covered by   
33
// the GNU General Public License. However the source code for this file    
34
// must still be made available in accordance with section (3) of the GNU   
35
// General Public License v2.                                               
36
//
37
// This exception does not invalidate any other reasons why a work based    
38
// on this file might be covered by the GNU General Public License.         
39
// -------------------------------------------                              
40
// ####ECOSGPLCOPYRIGHTEND####                                              
41
//===========================================================================
42
//#####DESCRIPTIONBEGIN####
43
//
44
// Author(s):     Ilija Kocho <ilijak@siva.com.mk>
45
// Date:          2011-02-05
46
// Purpose:       Kinetis variant specific registers
47
// Description:
48
// Usage:         #include <cyg/hal/var_io.h>  // var_io.h includes this file
49
//
50
//####DESCRIPTIONEND####
51
//
52
//===========================================================================
53
 
54
 
55
//---------------------------------------------------------------------------
56
// FlexBus
57
 
58
// FlexBus chip select control registers
59
typedef struct cyghwr_hal_kinetis_fbcs_s{
60
    cyg_uint32 csar;    // Chip select address register
61
    cyg_uint32 csmr;    // Chip select mask register
62
    cyg_uint32 cscr;    // Chip select control register
63
} cyghwr_hal_kinetis_fbcs_t;
64
 
65
#define CYGNUM_HAL_KINETIS_FBCS_N 6 // Kinetis has up to 6 chip selects
66
 
67
// FlexBus control
68
typedef volatile struct cyghwr_hal_kinetis_fb_s {
69
  cyghwr_hal_kinetis_fbcs_t csel[CYGNUM_HAL_KINETIS_FBCS_N]; //Chip Selects
70
  cyg_uint8 reserved[24];
71
  cyg_uint32 cspmcr;      //Chip select port multiplexing control register
72
} cyghwr_hal_kinetis_fb_t;
73
 
74
#define CYGHWR_HAL_KINETIS_FB_P ((cyghwr_hal_kinetis_fb_t *) 0x4000C000)
75
 
76
// CSAR - Chip Select Address Register
77
// CSAR Bit Fields
78
#define CYGHWR_HAL_FB_CSAR_BA_M        0xFFFF0000
79
#define CYGHWR_HAL_FB_CSAR_BA_S        16
80
#define CYGHWR_HAL_FB_CS_AR_BA(__val)  VALUE_(CYGHWR_HAL_FB_CSAR_BA_S, __val)
81
 
82
// CSMR - Chup Select Mask Register
83
// CSMR Bit Fields
84
#define CYGHWR_HAL_FB_CSMR_V_M         0x1
85
#define CYGHWR_HAL_FB_CSMR_V_S         0
86
#define CYGHWR_HAL_FB_CSMR_WP_M        0x100
87
#define CYGHWR_HAL_FB_CSMR_WP_S        8
88
#define CYGHWR_HAL_FB_CSMR_BAM_M       0xFFFF0000
89
#define CYGHWR_HAL_FB_CSMR_BAM_S       16
90
#define CYGHWR_HAL_FB_CS_MR_BAM(__val) VALUE_(CYGHWR_HAL_FB_CSMR_BAM_S, __val)
91
 
92
// CSCR - Chip Select Control register
93
// CSCR Bit Fields
94
#define CYGHWR_HAL_FB_CSCR_BSTW_M      0x8
95
#define CYGHWR_HAL_FB_CSCR_BSTW_S      3
96
#define CYGHWR_HAL_FB_CSCR_BSTR_M      0x10
97
#define CYGHWR_HAL_FB_CSCR_BSTR_S      4
98
#define CYGHWR_HAL_FB_CSCR_BEM_M       0x20
99
#define CYGHWR_HAL_FB_CSCR_BEM_S       5
100
#define CYGHWR_HAL_FB_CSCR_PS_M        0xC0
101
#define CYGHWR_HAL_FB_CSCR_PS_S        6
102
#define CYGHWR_HAL_FB_CSCR_AA_M        0x100
103
#define CYGHWR_HAL_FB_CSCR_AA_S        8
104
#define CYGHWR_HAL_FB_CSCR_BLS_M       0x200
105
#define CYGHWR_HAL_FB_CSCR_BLS_S       9
106
#define CYGHWR_HAL_FB_CSCR_WS_M        0xFC00
107
#define CYGHWR_HAL_FB_CSCR_WS_S        10
108
#define CYGHWR_HAL_FB_CSCR_WRAH_M      0x30000
109
#define CYGHWR_HAL_FB_CSCR_WRAH_S      16
110
#define CYGHWR_HAL_FB_CSCR_RDAH_M      0xC0000
111
#define CYGHWR_HAL_FB_CSCR_RDAH_S      18
112
#define CYGHWR_HAL_FB_CSCR_ASET_M      0x300000
113
#define CYGHWR_HAL_FB_CSCR_ASET_S      20
114
#define CYGHWR_HAL_FB_CSCR_EXALE_M     0x400000
115
#define CYGHWR_HAL_FB_CSCR_EXALE_S     22
116
#define CYGHWR_HAL_FB_CSCR_SWSEN_M     0x800000
117
#define CYGHWR_HAL_FB_CSCR_SWSEN_S     23
118
#define CYGHWR_HAL_FB_CSCR_SWS_M       0xFC000000
119
#define CYGHWR_HAL_FB_CSCR_SWS_S       26
120
 
121
// CSPMCR Bit Fields
122
#define CYGHWR_HAL_FB_CSPMCR_G5_M  0xF000
123
#define CYGHWR_HAL_FB_CSPMCR_G5_S  12
124
#define CYGHWR_HAL_FB_CSPMCR_G4_M  0xF0000
125
#define CYGHWR_HAL_FB_CSPMCR_G4_S  16
126
#define CYGHWR_HAL_FB_CSPMCR_G3_M  0xF00000
127
#define CYGHWR_HAL_FB_CSPMCR_G3_S  20
128
#define CYGHWR_HAL_FB_CSPMCR_G2_M  0xF000000
129
#define CYGHWR_HAL_FB_CSPMCR_G2_S  24
130
#define CYGHWR_HAL_FB_CSPMCR_G1_M  0xF0000000
131
#define CYGHWR_HAL_FB_CSPMCR_G1_S  28
132
 
133
// FlexBus control pin multiplexing
134
#define CYGHWR_HAL_FB_CSPMCR(__group, __val) VALUE_(__group, __val)
135
 
136
#define CYGHWR_HAL_FB_CSPMCR_G1_ALE \
137
            CYGHWR_HAL_FB_CSPMCR(CYGHWR_HAL_FB_CSPMCR_G1_S, 0)
138
#define CYGHWR_HAL_FB_CSPMCR_G1_CS1 \
139
            CYGHWR_HAL_FB_CSPMCR(CYGHWR_HAL_FB_CSPMCR_G1_S, 1)
140
#define CYGHWR_HAL_FB_CSPMCR_G1_TS  \
141
            CYGHWR_HAL_FB_CSPMCR(CYGHWR_HAL_FB_CSPMCR_G1_S, 2)
142
 
143
#define CYGHWR_HAL_FB_CSPMCR_G2_CS4      \
144
            CYGHWR_HAL_FB_CSPMCR(CYGHWR_HAL_FB_CSPMCR_G2_S, 0)
145
#define CYGHWR_HAL_FB_CSPMCR_G2_TSIZ0    \
146
            CYGHWR_HAL_FB_CSPMCR(CYGHWR_HAL_FB_CSPMCR_G2_S, 1)
147
#define CYGHWR_HAL_FB_CSPMCR_G2_BE_31_24 \
148
            CYGHWR_HAL_FB_CSPMCR(CYGHWR_HAL_FB_CSPMCR_G2_S, 2)
149
 
150
#define CYGHWR_HAL_FB_CSPMCR_G3_CS5      \
151
            CYGHWR_HAL_FB_CSPMCR(CYGHWR_HAL_FB_CSPMCR_G3_S, 0)
152
#define CYGHWR_HAL_FB_CSPMCR_G3_TSIZ1    \
153
            CYGHWR_HAL_FB_CSPMCR(CYGHWR_HAL_FB_CSPMCR_G3_S, 1)
154
#define CYGHWR_HAL_FB_CSPMCR_G3_BE_23_16 \
155
            CYGHWR_HAL_FB_CSPMCR(CYGHWR_HAL_FB_CSPMCR_G3_S, 2)
156
 
157
#define CYGHWR_HAL_FB_CSPMCR_G4_TST      \
158
            CYGHWR_HAL_FB_CSPMCR(CYGHWR_HAL_FB_CSPMCR_G4_S, 0)
159
#define CYGHWR_HAL_FB_CSPMCR_G4_CS2      \
160
            CYGHWR_HAL_FB_CSPMCR(CYGHWR_HAL_FB_CSPMCR_G4_S, 1)
161
#define CYGHWR_HAL_FB_CSPMCR_G4_BE_15_8  \
162
            CYGHWR_HAL_FB_CSPMCR(CYGHWR_HAL_FB_CSPMCR_G4_S, 2)
163
 
164
#define CYGHWR_HAL_FB_CSPMCR_G5_TA       \
165
            CYGHWR_HAL_FB_CSPMCR(CYGHWR_HAL_FB_CSPMCR_G5_S, 0)
166
#define CYGHWR_HAL_FB_CSPMCR_G5_CS3      \
167
            CYGHWR_HAL_FB_CSPMCR(CYGHWR_HAL_FB_CSPMCR_G5_S, 1)
168
#define CYGHWR_HAL_FB_CSPMCR_G5_BE_7_0   \
169
            CYGHWR_HAL_FB_CSPMCR(CYGHWR_HAL_FB_CSPMCR_G5_S, 2)
170
 
171
//-----------------------------------------------------------------------------
172
// end of var_io_flexbus.h
173
#endif // CYGONCE_HAL_VAR_IO_FLEXBUS_H

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.