diff options
Diffstat (limited to 'include/asm-mips/sibyte/sb1250_genbus.h')
-rw-r--r-- | include/asm-mips/sibyte/sb1250_genbus.h | 230 |
1 files changed, 214 insertions, 16 deletions
diff --git a/include/asm-mips/sibyte/sb1250_genbus.h b/include/asm-mips/sibyte/sb1250_genbus.h index f1f509f295c4..1b5cbc5c6454 100644 --- a/include/asm-mips/sibyte/sb1250_genbus.h +++ b/include/asm-mips/sibyte/sb1250_genbus.h | |||
@@ -6,9 +6,8 @@ | |||
6 | * This module contains constants and macros useful for | 6 | * This module contains constants and macros useful for |
7 | * manipulating the SB1250's Generic Bus interface | 7 | * manipulating the SB1250's Generic Bus interface |
8 | * | 8 | * |
9 | * SB1250 specification level: User's manual 1/02/02 | 9 | * SB1250 specification level: User's manual 10/21/02 |
10 | * | 10 | * BCM1280 specification level: User's Manual 11/14/03 |
11 | * Author: Mitch Lichtenberg | ||
12 | * | 11 | * |
13 | ********************************************************************* | 12 | ********************************************************************* |
14 | * | 13 | * |
@@ -51,19 +50,21 @@ | |||
51 | #define M_IO_WIDTH_SEL _SB_MAKEMASK(2,S_IO_WIDTH_SEL) | 50 | #define M_IO_WIDTH_SEL _SB_MAKEMASK(2,S_IO_WIDTH_SEL) |
52 | #define K_IO_WIDTH_SEL_1 0 | 51 | #define K_IO_WIDTH_SEL_1 0 |
53 | #define K_IO_WIDTH_SEL_2 1 | 52 | #define K_IO_WIDTH_SEL_2 1 |
54 | #if SIBYTE_HDR_FEATURE(1250, PASS2) || SIBYTE_HDR_FEATURE(112x, PASS1) | 53 | #if SIBYTE_HDR_FEATURE(1250, PASS2) || SIBYTE_HDR_FEATURE(112x, PASS1) \ |
54 | || SIBYTE_HDR_FEATURE_CHIP(1480) | ||
55 | #define K_IO_WIDTH_SEL_1L 2 | 55 | #define K_IO_WIDTH_SEL_1L 2 |
56 | #endif /* 1250 PASS2 || 112x PASS1 */ | 56 | #endif /* 1250 PASS2 || 112x PASS1 || 1480 */ |
57 | #define K_IO_WIDTH_SEL_4 3 | 57 | #define K_IO_WIDTH_SEL_4 3 |
58 | #define V_IO_WIDTH_SEL(x) _SB_MAKEVALUE(x,S_IO_WIDTH_SEL) | 58 | #define V_IO_WIDTH_SEL(x) _SB_MAKEVALUE(x,S_IO_WIDTH_SEL) |
59 | #define G_IO_WIDTH_SEL(x) _SB_GETVALUE(x,S_IO_WIDTH_SEL,M_IO_WIDTH_SEL) | 59 | #define G_IO_WIDTH_SEL(x) _SB_GETVALUE(x,S_IO_WIDTH_SEL,M_IO_WIDTH_SEL) |
60 | 60 | ||
61 | #define S_IO_PARITY_ENA 4 | 61 | #define S_IO_PARITY_ENA 4 |
62 | #define M_IO_PARITY_ENA _SB_MAKEMASK1(S_IO_PARITY_ENA) | 62 | #define M_IO_PARITY_ENA _SB_MAKEMASK1(S_IO_PARITY_ENA) |
63 | #if SIBYTE_HDR_FEATURE(1250, PASS2) || SIBYTE_HDR_FEATURE(112x, PASS1) | 63 | #if SIBYTE_HDR_FEATURE(1250, PASS2) || SIBYTE_HDR_FEATURE(112x, PASS1) \ |
64 | || SIBYTE_HDR_FEATURE_CHIP(1480) | ||
64 | #define S_IO_BURST_EN 5 | 65 | #define S_IO_BURST_EN 5 |
65 | #define M_IO_BURST_EN _SB_MAKEMASK1(S_IO_BURST_EN) | 66 | #define M_IO_BURST_EN _SB_MAKEMASK1(S_IO_BURST_EN) |
66 | #endif /* 1250 PASS2 || 112x PASS1 */ | 67 | #endif /* 1250 PASS2 || 112x PASS1 || 1480 */ |
67 | #define S_IO_PARITY_ODD 6 | 68 | #define S_IO_PARITY_ODD 6 |
68 | #define M_IO_PARITY_ODD _SB_MAKEMASK1(S_IO_PARITY_ODD) | 69 | #define M_IO_PARITY_ODD _SB_MAKEMASK1(S_IO_PARITY_ODD) |
69 | #define S_IO_NONMUX 7 | 70 | #define S_IO_NONMUX 7 |
@@ -96,8 +97,11 @@ | |||
96 | 97 | ||
97 | #define S_IO_ADDRBASE 16 /* # bits to shift addr for this reg */ | 98 | #define S_IO_ADDRBASE 16 /* # bits to shift addr for this reg */ |
98 | 99 | ||
100 | #define M_IO_BLK_CACHE _SB_MAKEMASK1(15) | ||
101 | |||
102 | |||
99 | /* | 103 | /* |
100 | * Generic Bus Region 0 Timing Registers (Table 11-7) | 104 | * Generic Bus Timing 0 Registers (Table 11-7) |
101 | */ | 105 | */ |
102 | 106 | ||
103 | #define S_IO_ALE_WIDTH 0 | 107 | #define S_IO_ALE_WIDTH 0 |
@@ -105,21 +109,23 @@ | |||
105 | #define V_IO_ALE_WIDTH(x) _SB_MAKEVALUE(x,S_IO_ALE_WIDTH) | 109 | #define V_IO_ALE_WIDTH(x) _SB_MAKEVALUE(x,S_IO_ALE_WIDTH) |
106 | #define G_IO_ALE_WIDTH(x) _SB_GETVALUE(x,S_IO_ALE_WIDTH,M_IO_ALE_WIDTH) | 110 | #define G_IO_ALE_WIDTH(x) _SB_GETVALUE(x,S_IO_ALE_WIDTH,M_IO_ALE_WIDTH) |
107 | 111 | ||
108 | #if SIBYTE_HDR_FEATURE(1250, PASS2) || SIBYTE_HDR_FEATURE(112x, PASS1) | 112 | #if SIBYTE_HDR_FEATURE(1250, PASS2) || SIBYTE_HDR_FEATURE(112x, PASS1) \ |
113 | || SIBYTE_HDR_FEATURE_CHIP(1480) | ||
109 | #define M_IO_EARLY_CS _SB_MAKEMASK1(3) | 114 | #define M_IO_EARLY_CS _SB_MAKEMASK1(3) |
110 | #endif /* 1250 PASS2 || 112x PASS1 */ | 115 | #endif /* 1250 PASS2 || 112x PASS1 || 1480 */ |
111 | 116 | ||
112 | #define S_IO_ALE_TO_CS 4 | 117 | #define S_IO_ALE_TO_CS 4 |
113 | #define M_IO_ALE_TO_CS _SB_MAKEMASK(2,S_IO_ALE_TO_CS) | 118 | #define M_IO_ALE_TO_CS _SB_MAKEMASK(2,S_IO_ALE_TO_CS) |
114 | #define V_IO_ALE_TO_CS(x) _SB_MAKEVALUE(x,S_IO_ALE_TO_CS) | 119 | #define V_IO_ALE_TO_CS(x) _SB_MAKEVALUE(x,S_IO_ALE_TO_CS) |
115 | #define G_IO_ALE_TO_CS(x) _SB_GETVALUE(x,S_IO_ALE_TO_CS,M_IO_ALE_TO_CS) | 120 | #define G_IO_ALE_TO_CS(x) _SB_GETVALUE(x,S_IO_ALE_TO_CS,M_IO_ALE_TO_CS) |
116 | 121 | ||
117 | #if SIBYTE_HDR_FEATURE(1250, PASS2) || SIBYTE_HDR_FEATURE(112x, PASS1) | 122 | #if SIBYTE_HDR_FEATURE(1250, PASS2) || SIBYTE_HDR_FEATURE(112x, PASS1) \ |
123 | || SIBYTE_HDR_FEATURE_CHIP(1480) | ||
118 | #define S_IO_BURST_WIDTH _SB_MAKE64(6) | 124 | #define S_IO_BURST_WIDTH _SB_MAKE64(6) |
119 | #define M_IO_BURST_WIDTH _SB_MAKEMASK(2,S_IO_BURST_WIDTH) | 125 | #define M_IO_BURST_WIDTH _SB_MAKEMASK(2,S_IO_BURST_WIDTH) |
120 | #define V_IO_BURST_WIDTH(x) _SB_MAKEVALUE(x,S_IO_BURST_WIDTH) | 126 | #define V_IO_BURST_WIDTH(x) _SB_MAKEVALUE(x,S_IO_BURST_WIDTH) |
121 | #define G_IO_BURST_WIDTH(x) _SB_GETVALUE(x,S_IO_BURST_WIDTH,M_IO_BURST_WIDTH) | 127 | #define G_IO_BURST_WIDTH(x) _SB_GETVALUE(x,S_IO_BURST_WIDTH,M_IO_BURST_WIDTH) |
122 | #endif /* 1250 PASS2 || 112x PASS1 */ | 128 | #endif /* 1250 PASS2 || 112x PASS1 || 1480 */ |
123 | 129 | ||
124 | #define S_IO_CS_WIDTH 8 | 130 | #define S_IO_CS_WIDTH 8 |
125 | #define M_IO_CS_WIDTH _SB_MAKEMASK(5,S_IO_CS_WIDTH) | 131 | #define M_IO_CS_WIDTH _SB_MAKEMASK(5,S_IO_CS_WIDTH) |
@@ -141,9 +147,10 @@ | |||
141 | #define V_IO_ALE_TO_WRITE(x) _SB_MAKEVALUE(x,S_IO_ALE_TO_WRITE) | 147 | #define V_IO_ALE_TO_WRITE(x) _SB_MAKEVALUE(x,S_IO_ALE_TO_WRITE) |
142 | #define G_IO_ALE_TO_WRITE(x) _SB_GETVALUE(x,S_IO_ALE_TO_WRITE,M_IO_ALE_TO_WRITE) | 148 | #define G_IO_ALE_TO_WRITE(x) _SB_GETVALUE(x,S_IO_ALE_TO_WRITE,M_IO_ALE_TO_WRITE) |
143 | 149 | ||
144 | #if SIBYTE_HDR_FEATURE(1250, PASS2) || SIBYTE_HDR_FEATURE(112x, PASS1) | 150 | #if SIBYTE_HDR_FEATURE(1250, PASS2) || SIBYTE_HDR_FEATURE(112x, PASS1) \ |
151 | || SIBYTE_HDR_FEATURE_CHIP(1480) | ||
145 | #define M_IO_RDY_SYNC _SB_MAKEMASK1(3) | 152 | #define M_IO_RDY_SYNC _SB_MAKEMASK1(3) |
146 | #endif /* 1250 PASS2 || 112x PASS1 */ | 153 | #endif /* 1250 PASS2 || 112x PASS1 || 1480 */ |
147 | 154 | ||
148 | #define S_IO_WRITE_WIDTH 4 | 155 | #define S_IO_WRITE_WIDTH 4 |
149 | #define M_IO_WRITE_WIDTH _SB_MAKEMASK(4,S_IO_WRITE_WIDTH) | 156 | #define M_IO_WRITE_WIDTH _SB_MAKEMASK(4,S_IO_WRITE_WIDTH) |
@@ -183,9 +190,127 @@ | |||
183 | #define M_IO_TIMEOUT_INT _SB_MAKEMASK1(10) | 190 | #define M_IO_TIMEOUT_INT _SB_MAKEMASK1(10) |
184 | #define M_IO_ILL_ADDR_INT _SB_MAKEMASK1(11) | 191 | #define M_IO_ILL_ADDR_INT _SB_MAKEMASK1(11) |
185 | #define M_IO_MULT_CS_INT _SB_MAKEMASK1(12) | 192 | #define M_IO_MULT_CS_INT _SB_MAKEMASK1(12) |
186 | #if SIBYTE_HDR_FEATURE(1250, PASS2) || SIBYTE_HDR_FEATURE(112x, PASS1) | 193 | #if SIBYTE_HDR_FEATURE(1250, PASS2) || SIBYTE_HDR_FEATURE(112x, PASS1) || SIBYTE_HDR_FEATURE_CHIP(1480) |
187 | #define M_IO_COH_ERR _SB_MAKEMASK1(14) | 194 | #define M_IO_COH_ERR _SB_MAKEMASK1(14) |
188 | #endif /* 1250 PASS2 || 112x PASS1 */ | 195 | #endif /* 1250 PASS2 || 112x PASS1 || 1480 */ |
196 | |||
197 | |||
198 | /* | ||
199 | * Generic Bus Output Drive Control Register 0 (Table 14-18) | ||
200 | */ | ||
201 | |||
202 | #define S_IO_SLEW0 0 | ||
203 | #define M_IO_SLEW0 _SB_MAKEMASK(2,S_IO_SLEW0) | ||
204 | #define V_IO_SLEW0(x) _SB_MAKEVALUE(x,S_IO_SLEW0) | ||
205 | #define G_IO_SLEW0(x) _SB_GETVALUE(x,S_IO_SLEW0,M_IO_SLEW0) | ||
206 | |||
207 | #define S_IO_DRV_A 2 | ||
208 | #define M_IO_DRV_A _SB_MAKEMASK(2,S_IO_DRV_A) | ||
209 | #define V_IO_DRV_A(x) _SB_MAKEVALUE(x,S_IO_DRV_A) | ||
210 | #define G_IO_DRV_A(x) _SB_GETVALUE(x,S_IO_DRV_A,M_IO_DRV_A) | ||
211 | |||
212 | #define S_IO_DRV_B 6 | ||
213 | #define M_IO_DRV_B _SB_MAKEMASK(2,S_IO_DRV_B) | ||
214 | #define V_IO_DRV_B(x) _SB_MAKEVALUE(x,S_IO_DRV_B) | ||
215 | #define G_IO_DRV_B(x) _SB_GETVALUE(x,S_IO_DRV_B,M_IO_DRV_B) | ||
216 | |||
217 | #define S_IO_DRV_C 10 | ||
218 | #define M_IO_DRV_C _SB_MAKEMASK(2,S_IO_DRV_C) | ||
219 | #define V_IO_DRV_C(x) _SB_MAKEVALUE(x,S_IO_DRV_C) | ||
220 | #define G_IO_DRV_C(x) _SB_GETVALUE(x,S_IO_DRV_C,M_IO_DRV_C) | ||
221 | |||
222 | #define S_IO_DRV_D 14 | ||
223 | #define M_IO_DRV_D _SB_MAKEMASK(2,S_IO_DRV_D) | ||
224 | #define V_IO_DRV_D(x) _SB_MAKEVALUE(x,S_IO_DRV_D) | ||
225 | #define G_IO_DRV_D(x) _SB_GETVALUE(x,S_IO_DRV_D,M_IO_DRV_D) | ||
226 | |||
227 | /* | ||
228 | * Generic Bus Output Drive Control Register 1 (Table 14-19) | ||
229 | */ | ||
230 | |||
231 | #define S_IO_DRV_E 2 | ||
232 | #define M_IO_DRV_E _SB_MAKEMASK(2,S_IO_DRV_E) | ||
233 | #define V_IO_DRV_E(x) _SB_MAKEVALUE(x,S_IO_DRV_E) | ||
234 | #define G_IO_DRV_E(x) _SB_GETVALUE(x,S_IO_DRV_E,M_IO_DRV_E) | ||
235 | |||
236 | #define S_IO_DRV_F 6 | ||
237 | #define M_IO_DRV_F _SB_MAKEMASK(2,S_IO_DRV_F) | ||
238 | #define V_IO_DRV_F(x) _SB_MAKEVALUE(x,S_IO_DRV_F) | ||
239 | #define G_IO_DRV_F(x) _SB_GETVALUE(x,S_IO_DRV_F,M_IO_DRV_F) | ||
240 | |||
241 | #define S_IO_SLEW1 8 | ||
242 | #define M_IO_SLEW1 _SB_MAKEMASK(2,S_IO_SLEW1) | ||
243 | #define V_IO_SLEW1(x) _SB_MAKEVALUE(x,S_IO_SLEW1) | ||
244 | #define G_IO_SLEW1(x) _SB_GETVALUE(x,S_IO_SLEW1,M_IO_SLEW1) | ||
245 | |||
246 | #define S_IO_DRV_G 10 | ||
247 | #define M_IO_DRV_G _SB_MAKEMASK(2,S_IO_DRV_G) | ||
248 | #define V_IO_DRV_G(x) _SB_MAKEVALUE(x,S_IO_DRV_G) | ||
249 | #define G_IO_DRV_G(x) _SB_GETVALUE(x,S_IO_DRV_G,M_IO_DRV_G) | ||
250 | |||
251 | #define S_IO_SLEW2 12 | ||
252 | #define M_IO_SLEW2 _SB_MAKEMASK(2,S_IO_SLEW2) | ||
253 | #define V_IO_SLEW2(x) _SB_MAKEVALUE(x,S_IO_SLEW2) | ||
254 | #define G_IO_SLEW2(x) _SB_GETVALUE(x,S_IO_SLEW2,M_IO_SLEW2) | ||
255 | |||
256 | #define S_IO_DRV_H 14 | ||
257 | #define M_IO_DRV_H _SB_MAKEMASK(2,S_IO_DRV_H) | ||
258 | #define V_IO_DRV_H(x) _SB_MAKEVALUE(x,S_IO_DRV_H) | ||
259 | #define G_IO_DRV_H(x) _SB_GETVALUE(x,S_IO_DRV_H,M_IO_DRV_H) | ||
260 | |||
261 | /* | ||
262 | * Generic Bus Output Drive Control Register 2 (Table 14-20) | ||
263 | */ | ||
264 | |||
265 | #define S_IO_DRV_J 2 | ||
266 | #define M_IO_DRV_J _SB_MAKEMASK(2,S_IO_DRV_J) | ||
267 | #define V_IO_DRV_J(x) _SB_MAKEVALUE(x,S_IO_DRV_J) | ||
268 | #define G_IO_DRV_J(x) _SB_GETVALUE(x,S_IO_DRV_J,M_IO_DRV_J) | ||
269 | |||
270 | #define S_IO_DRV_K 6 | ||
271 | #define M_IO_DRV_K _SB_MAKEMASK(2,S_IO_DRV_K) | ||
272 | #define V_IO_DRV_K(x) _SB_MAKEVALUE(x,S_IO_DRV_K) | ||
273 | #define G_IO_DRV_K(x) _SB_GETVALUE(x,S_IO_DRV_K,M_IO_DRV_K) | ||
274 | |||
275 | #define S_IO_DRV_L 10 | ||
276 | #define M_IO_DRV_L _SB_MAKEMASK(2,S_IO_DRV_L) | ||
277 | #define V_IO_DRV_L(x) _SB_MAKEVALUE(x,S_IO_DRV_L) | ||
278 | #define G_IO_DRV_L(x) _SB_GETVALUE(x,S_IO_DRV_L,M_IO_DRV_L) | ||
279 | |||
280 | #define S_IO_DRV_M 14 | ||
281 | #define M_IO_DRV_M _SB_MAKEMASK(2,S_IO_DRV_M) | ||
282 | #define V_IO_DRV_M(x) _SB_MAKEVALUE(x,S_IO_DRV_M) | ||
283 | #define G_IO_DRV_M(x) _SB_GETVALUE(x,S_IO_DRV_M,M_IO_DRV_M) | ||
284 | |||
285 | /* | ||
286 | * Generic Bus Output Drive Control Register 3 (Table 14-21) | ||
287 | */ | ||
288 | |||
289 | #define S_IO_SLEW3 0 | ||
290 | #define M_IO_SLEW3 _SB_MAKEMASK(2,S_IO_SLEW3) | ||
291 | #define V_IO_SLEW3(x) _SB_MAKEVALUE(x,S_IO_SLEW3) | ||
292 | #define G_IO_SLEW3(x) _SB_GETVALUE(x,S_IO_SLEW3,M_IO_SLEW3) | ||
293 | |||
294 | #define S_IO_DRV_N 2 | ||
295 | #define M_IO_DRV_N _SB_MAKEMASK(2,S_IO_DRV_N) | ||
296 | #define V_IO_DRV_N(x) _SB_MAKEVALUE(x,S_IO_DRV_N) | ||
297 | #define G_IO_DRV_N(x) _SB_GETVALUE(x,S_IO_DRV_N,M_IO_DRV_N) | ||
298 | |||
299 | #define S_IO_DRV_P 6 | ||
300 | #define M_IO_DRV_P _SB_MAKEMASK(2,S_IO_DRV_P) | ||
301 | #define V_IO_DRV_P(x) _SB_MAKEVALUE(x,S_IO_DRV_P) | ||
302 | #define G_IO_DRV_P(x) _SB_GETVALUE(x,S_IO_DRV_P,M_IO_DRV_P) | ||
303 | |||
304 | #define S_IO_DRV_Q 10 | ||
305 | #define M_IO_DRV_Q _SB_MAKEMASK(2,S_IO_DRV_Q) | ||
306 | #define V_IO_DRV_Q(x) _SB_MAKEVALUE(x,S_IO_DRV_Q) | ||
307 | #define G_IO_DRV_Q(x) _SB_GETVALUE(x,S_IO_DRV_Q,M_IO_DRV_Q) | ||
308 | |||
309 | #define S_IO_DRV_R 14 | ||
310 | #define M_IO_DRV_R _SB_MAKEMASK(2,S_IO_DRV_R) | ||
311 | #define V_IO_DRV_R(x) _SB_MAKEVALUE(x,S_IO_DRV_R) | ||
312 | #define G_IO_DRV_R(x) _SB_GETVALUE(x,S_IO_DRV_R,M_IO_DRV_R) | ||
313 | |||
189 | 314 | ||
190 | /* | 315 | /* |
191 | * PCMCIA configuration register (Table 12-6) | 316 | * PCMCIA configuration register (Table 12-6) |
@@ -202,6 +327,22 @@ | |||
202 | #define M_PCMCIA_CFG_RDYMASK _SB_MAKEMASK1(8) | 327 | #define M_PCMCIA_CFG_RDYMASK _SB_MAKEMASK1(8) |
203 | #define M_PCMCIA_CFG_PWRCTL _SB_MAKEMASK1(9) | 328 | #define M_PCMCIA_CFG_PWRCTL _SB_MAKEMASK1(9) |
204 | 329 | ||
330 | #if SIBYTE_HDR_FEATURE_CHIP(1480) | ||
331 | #define S_PCMCIA_MODE 16 | ||
332 | #define M_PCMCIA_MODE _SB_MAKEMASK(3,S_PCMCIA_MODE) | ||
333 | #define V_PCMCIA_MODE(x) _SB_MAKEVALUE(x,S_PCMCIA_MODE) | ||
334 | #define G_PCMCIA_MODE(x) _SB_GETVALUE(x,S_PCMCIA_MODE,M_PCMCIA_MODE) | ||
335 | |||
336 | #define K_PCMCIA_MODE_PCMA_NOB 0 /* standard PCMCIA "A", no "B" */ | ||
337 | #define K_PCMCIA_MODE_IDEA_NOB 1 /* IDE "A", no "B" */ | ||
338 | #define K_PCMCIA_MODE_PCMIOA_NOB 2 /* PCMCIA with I/O "A", no "B" */ | ||
339 | #define K_PCMCIA_MODE_PCMA_PCMB 4 /* standard PCMCIA "A", standard PCMCIA "B" */ | ||
340 | #define K_PCMCIA_MODE_IDEA_PCMB 5 /* IDE "A", standard PCMCIA "B" */ | ||
341 | #define K_PCMCIA_MODE_PCMA_IDEB 6 /* standard PCMCIA "A", IDE "B" */ | ||
342 | #define K_PCMCIA_MODE_IDEA_IDEB 7 /* IDE "A", IDE "B" */ | ||
343 | #endif | ||
344 | |||
345 | |||
205 | /* | 346 | /* |
206 | * PCMCIA status register (Table 12-7) | 347 | * PCMCIA status register (Table 12-7) |
207 | */ | 348 | */ |
@@ -272,5 +413,62 @@ | |||
272 | #define V_GPIO_INTR_TYPE14(x) _SB_MAKEVALUE(x,S_GPIO_INTR_TYPE14) | 413 | #define V_GPIO_INTR_TYPE14(x) _SB_MAKEVALUE(x,S_GPIO_INTR_TYPE14) |
273 | #define G_GPIO_INTR_TYPE14(x) _SB_GETVALUE(x,S_GPIO_INTR_TYPE14,M_GPIO_INTR_TYPE14) | 414 | #define G_GPIO_INTR_TYPE14(x) _SB_GETVALUE(x,S_GPIO_INTR_TYPE14,M_GPIO_INTR_TYPE14) |
274 | 415 | ||
416 | #if SIBYTE_HDR_FEATURE_CHIP(1480) | ||
417 | |||
418 | /* | ||
419 | * GPIO Interrupt Additional Type Register | ||
420 | */ | ||
421 | |||
422 | #define K_GPIO_INTR_BOTHEDGE 0 | ||
423 | #define K_GPIO_INTR_RISEEDGE 1 | ||
424 | #define K_GPIO_INTR_UNPRED1 2 | ||
425 | #define K_GPIO_INTR_UNPRED2 3 | ||
426 | |||
427 | #define S_GPIO_INTR_ATYPEX(n) (((n)/2)*2) | ||
428 | #define M_GPIO_INTR_ATYPEX(n) _SB_MAKEMASK(2,S_GPIO_INTR_ATYPEX(n)) | ||
429 | #define V_GPIO_INTR_ATYPEX(n,x) _SB_MAKEVALUE(x,S_GPIO_INTR_ATYPEX(n)) | ||
430 | #define G_GPIO_INTR_ATYPEX(n,x) _SB_GETVALUE(x,S_GPIO_INTR_ATYPEX(n),M_GPIO_INTR_ATYPEX(n)) | ||
431 | |||
432 | #define S_GPIO_INTR_ATYPE0 0 | ||
433 | #define M_GPIO_INTR_ATYPE0 _SB_MAKEMASK(2,S_GPIO_INTR_ATYPE0) | ||
434 | #define V_GPIO_INTR_ATYPE0(x) _SB_MAKEVALUE(x,S_GPIO_INTR_ATYPE0) | ||
435 | #define G_GPIO_INTR_ATYPE0(x) _SB_GETVALUE(x,S_GPIO_INTR_ATYPE0,M_GPIO_INTR_ATYPE0) | ||
436 | |||
437 | #define S_GPIO_INTR_ATYPE2 2 | ||
438 | #define M_GPIO_INTR_ATYPE2 _SB_MAKEMASK(2,S_GPIO_INTR_ATYPE2) | ||
439 | #define V_GPIO_INTR_ATYPE2(x) _SB_MAKEVALUE(x,S_GPIO_INTR_ATYPE2) | ||
440 | #define G_GPIO_INTR_ATYPE2(x) _SB_GETVALUE(x,S_GPIO_INTR_ATYPE2,M_GPIO_INTR_ATYPE2) | ||
441 | |||
442 | #define S_GPIO_INTR_ATYPE4 4 | ||
443 | #define M_GPIO_INTR_ATYPE4 _SB_MAKEMASK(2,S_GPIO_INTR_ATYPE4) | ||
444 | #define V_GPIO_INTR_ATYPE4(x) _SB_MAKEVALUE(x,S_GPIO_INTR_ATYPE4) | ||
445 | #define G_GPIO_INTR_ATYPE4(x) _SB_GETVALUE(x,S_GPIO_INTR_ATYPE4,M_GPIO_INTR_ATYPE4) | ||
446 | |||
447 | #define S_GPIO_INTR_ATYPE6 6 | ||
448 | #define M_GPIO_INTR_ATYPE6 _SB_MAKEMASK(2,S_GPIO_INTR_ATYPE6) | ||
449 | #define V_GPIO_INTR_ATYPE6(x) _SB_MAKEVALUE(x,S_GPIO_INTR_ATYPE6) | ||
450 | #define G_GPIO_INTR_ATYPE6(x) _SB_GETVALUE(x,S_GPIO_INTR_ATYPE6,M_GPIO_INTR_ATYPE6) | ||
451 | |||
452 | #define S_GPIO_INTR_ATYPE8 8 | ||
453 | #define M_GPIO_INTR_ATYPE8 _SB_MAKEMASK(2,S_GPIO_INTR_ATYPE8) | ||
454 | #define V_GPIO_INTR_ATYPE8(x) _SB_MAKEVALUE(x,S_GPIO_INTR_ATYPE8) | ||
455 | #define G_GPIO_INTR_ATYPE8(x) _SB_GETVALUE(x,S_GPIO_INTR_ATYPE8,M_GPIO_INTR_ATYPE8) | ||
456 | |||
457 | #define S_GPIO_INTR_ATYPE10 10 | ||
458 | #define M_GPIO_INTR_ATYPE10 _SB_MAKEMASK(2,S_GPIO_INTR_ATYPE10) | ||
459 | #define V_GPIO_INTR_ATYPE10(x) _SB_MAKEVALUE(x,S_GPIO_INTR_ATYPE10) | ||
460 | #define G_GPIO_INTR_ATYPE10(x) _SB_GETVALUE(x,S_GPIO_INTR_ATYPE10,M_GPIO_INTR_ATYPE10) | ||
461 | |||
462 | #define S_GPIO_INTR_ATYPE12 12 | ||
463 | #define M_GPIO_INTR_ATYPE12 _SB_MAKEMASK(2,S_GPIO_INTR_ATYPE12) | ||
464 | #define V_GPIO_INTR_ATYPE12(x) _SB_MAKEVALUE(x,S_GPIO_INTR_ATYPE12) | ||
465 | #define G_GPIO_INTR_ATYPE12(x) _SB_GETVALUE(x,S_GPIO_INTR_ATYPE12,M_GPIO_INTR_ATYPE12) | ||
466 | |||
467 | #define S_GPIO_INTR_ATYPE14 14 | ||
468 | #define M_GPIO_INTR_ATYPE14 _SB_MAKEMASK(2,S_GPIO_INTR_ATYPE14) | ||
469 | #define V_GPIO_INTR_ATYPE14(x) _SB_MAKEVALUE(x,S_GPIO_INTR_ATYPE14) | ||
470 | #define G_GPIO_INTR_ATYPE14(x) _SB_GETVALUE(x,S_GPIO_INTR_ATYPE14,M_GPIO_INTR_ATYPE14) | ||
471 | #endif | ||
472 | |||
275 | 473 | ||
276 | #endif | 474 | #endif |