]> rtime.felk.cvut.cz Git - mcf548x/linux.git/blob - arch/m68k/include/asm/mcf5445x_fbcs.h
Current (FEC from 2.6.31 port, no CAN, no I2C, no PCI)
[mcf548x/linux.git] / arch / m68k / include / asm / mcf5445x_fbcs.h
1 /*
2  * Matt Waddel Matt.Waddel@freescale.com
3  *
4  * Copyright Freescale Semiconductor, Inc. 2007
5  *
6  * This program is free software; you can redistribute  it and/or modify it
7  * under  the terms of  the GNU General  Public License as published by the
8  * Free Software Foundation;  either version 2 of the  License, or (at your
9  * option) any later version.
10  */
11
12 #ifndef __MCF5445X_FBCS_H__
13 #define __MCF5445X_FBCS_H__
14
15 /*********************************************************************
16 *
17 * FlexBus Chip Selects (FBCS)
18 *
19 *********************************************************************/
20
21 /* Register read/write macros */
22 #define MCF_FBCS_CSAR0  MCF_REG32(0xFC008000)   /* Chip-select Addr Register */
23 #define MCF_FBCS_CSMR0  MCF_REG32(0xFC008004)   /* Chip-select Mask Register */
24 #define MCF_FBCS_CSCR0  MCF_REG32(0xFC008008)   /* Chip-select Cntl Register */
25 #define MCF_FBCS_CSAR1  MCF_REG32(0xFC00800C)   /* Chip-select Addr Register */
26 #define MCF_FBCS_CSMR1  MCF_REG32(0xFC008010)   /* Chip-select Mask Register */
27 #define MCF_FBCS_CSCR1  MCF_REG32(0xFC008014)   /* Chip-select Cntl Register */
28 #define MCF_FBCS_CSAR2  MCF_REG32(0xFC008018)   /* Chip-select Addr Register */
29 #define MCF_FBCS_CSMR2  MCF_REG32(0xFC00801C)   /* Chip-select Mask Register */
30 #define MCF_FBCS_CSCR2  MCF_REG32(0xFC008020)   /* Chip-select Cntl Register */
31 #define MCF_FBCS_CSAR3  MCF_REG32(0xFC008024)   /* Chip-select Addr Register */
32 #define MCF_FBCS_CSMR3  MCF_REG32(0xFC008028)   /* Chip-select Mask Register */
33 #define MCF_FBCS_CSCR3  MCF_REG32(0xFC00802C)   /* Chip-select Cntl Register */
34
35 /* Parameterized register read/write macros for multiple registers */
36 #define MCF_FBCS_CSAR(x)        MCF_REG32(0xFC008000+((x)*0x00C))   /* Chip-select Addr Register */
37 #define MCF_FBCS_CSMR(x)        MCF_REG32(0xFC008004+((x)*0x00C))   /* Chip-select Mask Register */
38 #define MCF_FBCS_CSCR(x)        MCF_REG32(0xFC008008+((x)*0x00C))   /* Chip-select Cntl Register */
39
40 /* Bit definitions and macros for CSAR group */
41 #define MCF_FBCS_CSAR_BA(x)     ((x)&0xFFFF0000)
42
43 /* Bit definitions and macros for CSAR0 */
44 #define MCF_FBCS_CSAR0_BA(x)    ((x)&0xFFFF0000)
45
46 /* Bit definitions and macros for CSMR group */
47 #define MCF_FBCS_CSMR_V             (0x00000001)            /* Valid bit */
48 #define MCF_FBCS_CSMR_WP            (0x00000100)            /* Write protect */
49 #define MCF_FBCS_CSMR_BAM(x)        (((x)&0x0000FFFF)<<16)  /* Base addr mask */
50 #define MCF_FBCS_CSMR_BAM_4G        (0xFFFF0000)
51 #define MCF_FBCS_CSMR_BAM_2G        (0x7FFF0000)
52 #define MCF_FBCS_CSMR_BAM_1G        (0x3FFF0000)
53 #define MCF_FBCS_CSMR_BAM_1024M     (0x3FFF0000)
54 #define MCF_FBCS_CSMR_BAM_512M      (0x1FFF0000)
55 #define MCF_FBCS_CSMR_BAM_256M      (0x0FFF0000)
56 #define MCF_FBCS_CSMR_BAM_128M      (0x07FF0000)
57 #define MCF_FBCS_CSMR_BAM_64M       (0x03FF0000)
58 #define MCF_FBCS_CSMR_BAM_32M       (0x01FF0000)
59 #define MCF_FBCS_CSMR_BAM_16M       (0x00FF0000)
60 #define MCF_FBCS_CSMR_BAM_8M        (0x007F0000)
61 #define MCF_FBCS_CSMR_BAM_4M        (0x003F0000)
62 #define MCF_FBCS_CSMR_BAM_2M        (0x001F0000)
63 #define MCF_FBCS_CSMR_BAM_1M        (0x000F0000)
64 #define MCF_FBCS_CSMR_BAM_1024K     (0x000F0000)
65 #define MCF_FBCS_CSMR_BAM_512K      (0x00070000)
66 #define MCF_FBCS_CSMR_BAM_256K      (0x00030000)
67 #define MCF_FBCS_CSMR_BAM_128K      (0x00010000)
68 #define MCF_FBCS_CSMR_BAM_64K       (0x00000000)
69
70 /* Bit definitions and macros for CSMR0 */
71 #define MCF_FBCS_CSMR0_V            (0x00000001)            /* Valid bit */
72 #define MCF_FBCS_CSMR0_WP           (0x00000100)            /* Write protect */
73 #define MCF_FBCS_CSMR0_BAM(x)       (((x)&0x0000FFFF)<<16)  /* Base addr mask */
74 #define MCF_FBCS_CSMR0_BAM_4G       (0xFFFF0000)
75 #define MCF_FBCS_CSMR0_BAM_2G       (0x7FFF0000)
76 #define MCF_FBCS_CSMR0_BAM_1G       (0x3FFF0000)
77 #define MCF_FBCS_CSMR0_BAM_1024M    (0x3FFF0000)
78 #define MCF_FBCS_CSMR0_BAM_512M     (0x1FFF0000)
79 #define MCF_FBCS_CSMR0_BAM_256M     (0x0FFF0000)
80 #define MCF_FBCS_CSMR0_BAM_128M     (0x07FF0000)
81 #define MCF_FBCS_CSMR0_BAM_64M      (0x03FF0000)
82 #define MCF_FBCS_CSMR0_BAM_32M      (0x01FF0000)
83 #define MCF_FBCS_CSMR0_BAM_16M      (0x00FF0000)
84 #define MCF_FBCS_CSMR0_BAM_8M       (0x007F0000)
85 #define MCF_FBCS_CSMR0_BAM_4M       (0x003F0000)
86 #define MCF_FBCS_CSMR0_BAM_2M       (0x001F0000)
87 #define MCF_FBCS_CSMR0_BAM_1M       (0x000F0000)
88 #define MCF_FBCS_CSMR0_BAM_1024K    (0x000F0000)
89 #define MCF_FBCS_CSMR0_BAM_512K     (0x00070000)
90 #define MCF_FBCS_CSMR0_BAM_256K     (0x00030000)
91 #define MCF_FBCS_CSMR0_BAM_128K     (0x00010000)
92 #define MCF_FBCS_CSMR0_BAM_64K      (0x00000000)
93
94 /* Bit definitions and macros for CSCR group */
95 #define MCF_FBCS_CSCR_BSTW      (0x00000008)            /* Burst-write enable */
96 #define MCF_FBCS_CSCR_BSTR      (0x00000010)            /* Burst-read enable */
97 #define MCF_FBCS_CSCR_BEM       (0x00000020)            /* Byte-enable mode */
98 #define MCF_FBCS_CSCR_PS(x)     (((x)&0x00000003)<<6)   /* Port size */
99 #define MCF_FBCS_CSCR_AA        (0x00000100)            /* Auto-acknowledge */
100 #define MCF_FBCS_CSCR_WS(x)     (((x)&0x0000003F)<<10)  /* Wait states */
101 #define MCF_FBCS_CSCR_WRAH(x)   (((x)&0x00000003)<<16)  /* Write address hold or deselect */
102 #define MCF_FBCS_CSCR_RDAH(x)   (((x)&0x00000003)<<18)  /* Read address hold or deselect */
103 #define MCF_FBCS_CSCR_ASET(x)   (((x)&0x00000003)<<20)  /* Address setup */
104 #define MCF_FBCS_CSCR_SWSEN     (0x00800000)            /* Secondary wait state enable */
105 #define MCF_FBCS_CSCR_SWS(x)    (((x)&0x0000003F)<<26)  /* Secondary wait states */
106 #define MCF_FBCS_CSCR_PS_8      (0x00000040)
107 #define MCF_FBCS_CSCR_PS_16     (0x00000080)
108 #define MCF_FBCS_CSCR_PS_32     (0x00000000)
109
110 /* Bit definitions and macros for CSCR0 */
111 #define MCF_FBCS_CSCR0_BSTW     (0x00000008)            /* Burst-write enable */
112 #define MCF_FBCS_CSCR0_BSTR     (0x00000010)            /* Burst-read enable */
113 #define MCF_FBCS_CSCR0_BEM      (0x00000020)            /* Byte-enable mode */
114 #define MCF_FBCS_CSCR0_PS(x)    (((x)&0x00000003)<<6)   /* Port size */
115 #define MCF_FBCS_CSCR0_AA       (0x00000100)            /* Auto-acknowledge */
116 #define MCF_FBCS_CSCR0_WS(x)    (((x)&0x0000003F)<<10)  /* Wait states */
117 #define MCF_FBCS_CSCR0_WRAH(x)  (((x)&0x00000003)<<16)  /* Write address hold or deselect */
118 #define MCF_FBCS_CSCR0_RDAH(x)  (((x)&0x00000003)<<18)  /* Read address hold or deselect */
119 #define MCF_FBCS_CSCR0_ASET(x)  (((x)&0x00000003)<<20)  /* Address setup */
120 #define MCF_FBCS_CSCR0_SWSEN    (0x00800000)            /* Secondary wait state enable */
121 #define MCF_FBCS_CSCR0_SWS(x)   (((x)&0x0000003F)<<26)  /* Secondary wait states */
122 #define MCF_FBCS_CSCR0_PS_8     (0x00000040)
123 #define MCF_FBCS_CSCR0_PS_16    (0x00000080)
124 #define MCF_FBCS_CSCR0_PS_32    (0x00000000)
125
126 /* Bit definitions and macros for CSMR1 */
127 #define MCF_FBCS_CSMR1_V        (0x00000001)            /* Valid bit */
128 #define MCF_FBCS_CSMR1_WP       (0x00000100)            /* Write protect */
129 #define MCF_FBCS_CSMR1_BAM(x)   (((x)&0x0000FFFF)<<16)  /* Base address mask */
130
131 /* Bit definitions and macros for CSCR1 */
132 #define MCF_FBCS_CSCR1_BSTW     (0x00000008)            /* Burst-write enable */
133 #define MCF_FBCS_CSCR1_BSTR     (0x00000010)            /* Burst-read enable */
134 #define MCF_FBCS_CSCR1_BEM      (0x00000020)            /* Byte-enable mode */
135 #define MCF_FBCS_CSCR1_PS(x)    (((x)&0x00000003)<<6)   /* Port size */
136 #define MCF_FBCS_CSCR1_AA       (0x00000100)            /* Auto-acknowledge */
137 #define MCF_FBCS_CSCR1_WS(x)    (((x)&0x0000003F)<<10)  /* Wait states */
138 #define MCF_FBCS_CSCR1_WRAH(x)  (((x)&0x00000003)<<16)  /* Write address hold or deselect */
139 #define MCF_FBCS_CSCR1_RDAH(x)  (((x)&0x00000003)<<18)  /* Read address hold or deselect */
140 #define MCF_FBCS_CSCR1_ASET(x)  (((x)&0x00000003)<<20)  /* Address setup */
141 #define MCF_FBCS_CSCR1_SWSEN    (0x00800000)            /* Secondary wait state enable */
142 #define MCF_FBCS_CSCR1_SWS(x)   (((x)&0x0000003F)<<26)  /* Secondary wait states */
143
144 /* Bit definitions and macros for CSMR2 */
145 #define MCF_FBCS_CSMR2_V        (0x00000001)            /* Valid bit */
146 #define MCF_FBCS_CSMR2_WP       (0x00000100)            /* Write protect */
147 #define MCF_FBCS_CSMR2_BAM(x)   (((x)&0x0000FFFF)<<16)  /* Base address mask */
148
149 /* Bit definitions and macros for CSCR2 */
150 #define MCF_FBCS_CSCR2_BSTW     (0x00000008)            /* Burst-write enable */
151 #define MCF_FBCS_CSCR2_BSTR     (0x00000010)            /* Burst-read enable */
152 #define MCF_FBCS_CSCR2_BEM      (0x00000020)            /* Byte-enable mode */
153 #define MCF_FBCS_CSCR2_PS(x)    (((x)&0x00000003)<<6)   /* Port size */
154 #define MCF_FBCS_CSCR2_AA       (0x00000100)            /* Auto-acknowledge */
155 #define MCF_FBCS_CSCR2_WS(x)    (((x)&0x0000003F)<<10)  /* Wait states */
156 #define MCF_FBCS_CSCR2_WRAH(x)  (((x)&0x00000003)<<16)  /* Write address hold or deselect */
157 #define MCF_FBCS_CSCR2_RDAH(x)  (((x)&0x00000003)<<18)  /* Read address hold or deselect */
158 #define MCF_FBCS_CSCR2_ASET(x)  (((x)&0x00000003)<<20)  /* Address setup */
159 #define MCF_FBCS_CSCR2_SWSEN    (0x00800000)            /* Secondary wait state enable */
160 #define MCF_FBCS_CSCR2_SWS(x)   (((x)&0x0000003F)<<26)  /* Secondary wait states */
161
162 /* Bit definitions and macros for CSMR3 */
163 #define MCF_FBCS_CSMR3_V        (0x00000001)            /* Valid bit */
164 #define MCF_FBCS_CSMR3_WP       (0x00000100)            /* Write protect */
165 #define MCF_FBCS_CSMR3_BAM(x)   (((x)&0x0000FFFF)<<16)  /* Base address mask */
166
167 /* Bit definitions and macros for CSCR3 */
168 #define MCF_FBCS_CSCR3_BSTW     (0x00000008)            /* Burst-write enable */
169 #define MCF_FBCS_CSCR3_BSTR     (0x00000010)            /* Burst-read enable */
170 #define MCF_FBCS_CSCR3_BEM      (0x00000020)            /* Byte-enable mode */
171 #define MCF_FBCS_CSCR3_PS(x)    (((x)&0x00000003)<<6)   /* Port size */
172 #define MCF_FBCS_CSCR3_AA       (0x00000100)            /* Auto-acknowledge */
173 #define MCF_FBCS_CSCR3_WS(x)    (((x)&0x0000003F)<<10)  /* Wait states */
174 #define MCF_FBCS_CSCR3_WRAH(x)  (((x)&0x00000003)<<16)  /* Write address hold or deselect */
175 #define MCF_FBCS_CSCR3_RDAH(x)  (((x)&0x00000003)<<18)  /* Read address hold or deselect */
176 #define MCF_FBCS_CSCR3_ASET(x)  (((x)&0x00000003)<<20)  /* Address setup */
177 #define MCF_FBCS_CSCR3_SWSEN    (0x00800000)            /* Secondary wait state enable */
178 #define MCF_FBCS_CSCR3_SWS(x)   (((x)&0x0000003F)<<26)  /* Secondary wait states */
179
180 /********************************************************************/
181
182 #endif /* __MCF5445X_FBCS_H__ */