[mcs814x] nuport-mac: properly protect the phy interrupt handler
[openwrt.git] / target / linux / lantiq / patches-3.3 / 300-svip_header.patch
1 Index: linux-3.3.8/arch/mips/include/asm/mach-lantiq/svip/irq.h
2 ===================================================================
3 --- /dev/null   1970-01-01 00:00:00.000000000 +0000
4 +++ linux-3.3.8/arch/mips/include/asm/mach-lantiq/svip/irq.h    2012-07-31 15:46:02.464476159 +0200
5 @@ -0,0 +1,36 @@
6 +/*
7 + *   arch/mips/include/asm/mach-lantiq/svip/irq.h
8 + *
9 + *   This program is free software; you can redistribute it and/or modify
10 + *   it under the terms of the GNU General Public License as published by
11 + *   the Free Software Foundation; either version 2 of the License, or
12 + *   (at your option) any later version.
13 + *
14 + *   This program is distributed in the hope that it will be useful,
15 + *   but WITHOUT ANY WARRANTY; without even the implied warranty of
16 + *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17 + *   GNU General Public License for more details.
18 + *
19 + *   You should have received a copy of the GNU General Public License
20 + *   along with this program; if not, write to the Free Software
21 + *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
22 + *
23 + *   Copyright (C) 2010 Lantiq
24 + *
25 + */
26 +
27 +#ifndef __IRQ_H
28 +#define __IRQ_H
29 +
30 +#include <svip_irq.h>
31 +
32 +#define NR_IRQS 264
33 +
34 +#include_next <irq.h>
35 +
36 +/* Functions for EXINT handling */
37 +extern int ifx_enable_external_int(u32 exint, u32 mode);
38 +extern int ifx_disable_external_int(u32 exint);
39 +extern int ifx_external_int_level(u32 exint);
40 +
41 +#endif
42 Index: linux-3.3.8/arch/mips/include/asm/mach-lantiq/svip/lantiq_soc.h
43 ===================================================================
44 --- /dev/null   1970-01-01 00:00:00.000000000 +0000
45 +++ linux-3.3.8/arch/mips/include/asm/mach-lantiq/svip/lantiq_soc.h     2012-07-31 15:58:41.312508597 +0200
46 @@ -0,0 +1,71 @@
47 +/*
48 + *  This program is free software; you can redistribute it and/or modify it
49 + *  under the terms of the GNU General Public License version 2 as published
50 + *  by the Free Software Foundation.
51 + *
52 + *  Copyright (C) 2010 John Crispin <blogic@openwrt.org>
53 + */
54 +
55 +#ifndef _LTQ_SVIP_H__
56 +#define _LTQ_SVIP_H__
57 +
58 +#ifdef CONFIG_SOC_SVIP
59 +
60 +#include <lantiq.h>
61 +
62 +/* Chip IDs */
63 +#define SOC_ID_SVIP            0x169
64 +
65 +/* SoC Types */
66 +#define SOC_TYPE_SVIP          0x01
67 +
68 +/* ASC0/1 - serial port */
69 +#define LTQ_ASC0_BASE_ADDR     0x14100100
70 +#define LTQ_ASC1_BASE_ADDR     0x14100200
71 +#define LTQ_ASC_SIZE           0x100
72 +#define LTQ_EARLY_ASC          KSEG1ADDR(LTQ_ASC0_BASE_ADDR)
73 +
74 +#define LTQ_ASC_TIR(x)         (INT_NUM_IM0_IRL0 + (x * 8))
75 +#define LTQ_ASC_RIR(x)         (INT_NUM_IM0_IRL0 + (x * 8) + 2)
76 +#define LTQ_ASC_EIR(x)         (INT_NUM_IM0_IRL0 + (x * 8) + 3)
77 +
78 +/* ICU - interrupt control unit */
79 +#define LTQ_ICU_BASE_ADDR      0x14106000
80 +#define LTQ_ICU_BASE_ADDR1     0x14106028
81 +#define LTQ_ICU_BASE_ADDR2     0x1E016000
82 +#define LTQ_ICU_BASE_ADDR3     0x1E016028
83 +#define LTQ_ICU_BASE_ADDR4     0x14106050
84 +#define LTQ_ICU_BASE_ADDR5     0x14106078
85 +#define LTQ_ICU_SIZE           0x100
86 +
87 +/* WDT */
88 +#define LTQ_WDT_BASE_ADDR      0x1F8803F0
89 +#define LTQ_WDT_SIZE           0x10
90 +
91 +/* Status */
92 +#define LTQ_STATUS_BASE_ADDR   (KSEG1 + 0x1E000500)
93 +#define LTQ_STATUS_CHIPID      ((u32 *)(LTQ_STATUS_BASE_ADDR + 0x000C))
94 +
95 +#define LTQ_EIU_BASE_ADDR      0
96 +
97 +#define ltq_ebu_w32(x, y)       ltq_w32((x), ltq_ebu_membase + (y))
98 +#define ltq_ebu_r32(x)          ltq_r32(ltq_ebu_membase + (x))
99 +
100 +extern __iomem void *ltq_ebu_membase;
101 +
102 +extern void ltq_gpio_configure(int port, int pin, bool dirin, bool puen,
103 +                              bool altsel0, bool altsel1);
104 +extern int ltq_port_get_dir(unsigned int port, unsigned int pin);
105 +extern int ltq_port_get_puden(unsigned int port, unsigned int pin);
106 +extern int ltq_port_get_altsel0(unsigned int port, unsigned int pin);
107 +extern int ltq_port_get_altsel1(unsigned int port, unsigned int pin);
108 +
109 +#define ltq_is_ar9()   0
110 +#define ltq_is_vr9()   0
111 +#define ltq_is_falcon()        0
112 +
113 +#define BS_FLASH                0
114 +#define LTQ_RST_CAUSE_WDTRST    0x2
115 +
116 +#endif /* CONFIG_SOC_SVIP */
117 +#endif /* _LTQ_SVIP_H__ */
118 Index: linux-3.3.8/arch/mips/include/asm/mach-lantiq/svip/svip_irq.h
119 ===================================================================
120 --- /dev/null   1970-01-01 00:00:00.000000000 +0000
121 +++ linux-3.3.8/arch/mips/include/asm/mach-lantiq/svip/svip_irq.h       2012-07-31 15:46:02.468476160 +0200
122 @@ -0,0 +1,35 @@
123 +/*
124 + *   This program is free software; you can redistribute it and/or modify
125 + *   it under the terms of the GNU General Public License as published by
126 + *   the Free Software Foundation; either version 2 of the License, or
127 + *   (at your option) any later version.
128 + *
129 + *   This program is distributed in the hope that it will be useful,
130 + *   but WITHOUT ANY WARRANTY; without even the implied warranty of
131 + *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
132 + *   GNU General Public License for more details.
133 + *
134 + *   You should have received a copy of the GNU General Public License
135 + *   along with this program; if not, write to the Free Software
136 + *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
137 + *
138 + *   Copyright (C) 2010 Lantiq
139 + */
140 +#ifndef __SVIP_IRQ_H
141 +#define __SVIP_IRQ_H
142 +
143 +#define IM_NUM                         6
144 +
145 +#define INT_NUM_IRQ0                   8
146 +#define INT_NUM_IM0_IRL0               (INT_NUM_IRQ0 + 0)
147 +#define INT_NUM_IM1_IRL0               (INT_NUM_IM0_IRL0 + 32)
148 +#define INT_NUM_IM2_IRL0               (INT_NUM_IM1_IRL0 + 32)
149 +#define INT_NUM_IM3_IRL0               (INT_NUM_IM2_IRL0 + 32)
150 +#define INT_NUM_IM4_IRL0               (INT_NUM_IM3_IRL0 + 32)
151 +#define INT_NUM_EXTRA_START            (INT_NUM_IM4_IRL0 + 32)
152 +#define INT_NUM_IM_OFFSET              (INT_NUM_IM1_IRL0 - INT_NUM_IM0_IRL0)
153 +
154 +#define INT_NUM_IM5_IRL0               (INT_NUM_IRQ0 + 160)
155 +#define MIPS_CPU_TIMER_IRQ             (INT_NUM_IM5_IRL0 + 2)
156 +
157 +#endif
158 Index: linux-3.3.8/arch/mips/include/asm/mach-lantiq/svip/base_reg.h
159 ===================================================================
160 --- /dev/null   1970-01-01 00:00:00.000000000 +0000
161 +++ linux-3.3.8/arch/mips/include/asm/mach-lantiq/svip/base_reg.h       2012-07-31 15:46:02.468476160 +0200
162 @@ -0,0 +1,56 @@
163 +/******************************************************************************
164 +
165 +  Copyright (c) 2007
166 +  Infineon Technologies AG
167 +  St. Martin Strasse 53; 81669 Munich, Germany
168 +
169 +  Any use of this Software is subject to the conclusion of a respective
170 +  License Agreement. Without such a License Agreement no rights to the
171 +  Software are granted.
172 +
173 + ******************************************************************************/
174 +
175 +#ifndef __BASE_REG_H
176 +#define __BASE_REG_H
177 +
178 +#ifndef KSEG1
179 +#define KSEG1 0xA0000000
180 +#endif
181 +
182 +#define LTQ_EBU_SEG1_BASE              (KSEG1 + 0x10000000)
183 +#define LTQ_EBU_SEG2_BASE              (KSEG1 + 0x11000000)
184 +#define LTQ_EBU_SEG3_BASE              (KSEG1 + 0x12000000)
185 +#define LTQ_EBU_SEG4_BASE              (KSEG1 + 0x13000000)
186 +
187 +#define LTQ_ASC0_BASE                  (KSEG1 + 0x14100100)
188 +#define LTQ_ASC1_BASE                  (KSEG1 + 0x14100200)
189 +
190 +#define LTQ_SSC0_BASE                  (0x14100300)
191 +#define LTQ_SSC1_BASE                  (0x14100400)
192 +
193 +#define LTQ_PORT_P0_BASE               (KSEG1 + 0x14100600)
194 +#define LTQ_PORT_P1_BASE               (KSEG1 + 0x14108100)
195 +#define LTQ_PORT_P2_BASE               (KSEG1 + 0x14100800)
196 +#define LTQ_PORT_P3_BASE               (KSEG1 + 0x14100900)
197 +#define LTQ_PORT_P4_BASE               (KSEG1 + 0x1E000400)
198 +
199 +#define LTQ_EBU_BASE                   (KSEG1 + 0x14102000)
200 +#define LTQ_DMA_BASE                   (KSEG1 + 0x14104000)
201 +
202 +#define LTQ_ICU0_IM3_IM2_BASE          (KSEG1 + 0x1E016000)
203 +#define LTQ_ICU0_IM5_IM4_IM1_IM0_BASE  (KSEG1 + 0x14106000)
204 +
205 +#define LTQ_ES_BASE                    (KSEG1 + 0x18000000)
206 +
207 +#define LTQ_SYS0_BASE                  (KSEG1 + 0x1C000000)
208 +#define LTQ_SYS1_BASE                  (KSEG1 + 0x1C000800)
209 +#define LTQ_SYS2_BASE                  (KSEG1 + 0x1E400000)
210 +
211 +#define LTQ_L2_SPRAM_BASE              (KSEG1 + 0x1F1E8000)
212 +
213 +#define LTQ_SWINT_BASE                 (KSEG1 + 0x1E000100)
214 +#define LTQ_MBS_BASE                   (KSEG1 + 0x1E000200)
215 +
216 +#define LTQ_STATUS_BASE                        (KSEG1 + 0x1E000500)
217 +
218 +#endif
219 Index: linux-3.3.8/arch/mips/include/asm/mach-lantiq/svip/sys1_reg.h
220 ===================================================================
221 --- /dev/null   1970-01-01 00:00:00.000000000 +0000
222 +++ linux-3.3.8/arch/mips/include/asm/mach-lantiq/svip/sys1_reg.h       2012-07-31 15:46:02.468476160 +0200
223 @@ -0,0 +1,370 @@
224 +/******************************************************************************
225 +
226 +  Copyright (c) 2007
227 +  Infineon Technologies AG
228 +  St. Martin Strasse 53; 81669 Munich, Germany
229 +
230 +  Any use of this Software is subject to the conclusion of a respective
231 +  License Agreement. Without such a License Agreement no rights to the
232 +  Software are granted.
233 +
234 + ******************************************************************************/
235 +
236 +#ifndef __SYS1_REG_H
237 +#define __SYS1_REG_H
238 +
239 +#define sys1_r32(reg) ltq_r32(&sys1->reg)
240 +#define sys1_w32(val, reg) ltq_w32(val, &sys1->reg)
241 +#define sys1_w32_mask(clear, set, reg) ltq_w32_mask(clear, set, &sys1->reg)
242 +
243 +/** SYS1 register structure */
244 +struct svip_reg_sys1 {
245 +       unsigned long clksr; /* 0x0000 */
246 +       unsigned long clkenr; /* 0x0004 */
247 +       unsigned long clkclr; /* 0x0008 */
248 +       unsigned long reserved0[1];
249 +       unsigned long l2ccr; /* 0x0010 */
250 +       unsigned long fpicr; /* 0x0014 */
251 +       unsigned long wdtcr; /* 0x0018 */
252 +       unsigned long reserved1[1];
253 +       unsigned long cpucr[6]; /* 0x0020 */
254 +       unsigned long reserved2[2];
255 +       unsigned long rsr; /* 0x0040 */
256 +       unsigned long rreqr; /* 0x0044 */
257 +       unsigned long rrlsr; /* 0x0048 */
258 +       unsigned long rbtr; /* 0x004c */
259 +       unsigned long irncr; /* 0x0050 */
260 +       unsigned long irnicr; /* 0x0054 */
261 +       unsigned long irnen; /* 0x0058 */
262 +       unsigned long reserved3[1];
263 +       unsigned long cpursr[6]; /* 0x0060 */
264 +       unsigned long reserved4[2];
265 +       unsigned long cpusrssr[6]; /* 0x0080 */
266 +       unsigned long reserved5[2];
267 +       unsigned long cpuwrssr[6]; /* 0x00a0 */
268 +};
269 +
270 +/*******************************************************************************
271 + * SYS1 Clock Status Register
272 + ******************************************************************************/
273 +/* (r) Clock Enable for L2C */
274 +#define SYS1_CLKSR_L2C (0x1 << 31)
275 +/* (r) Clock Enable for DDR2 */
276 +#define SYS1_CLKSR_DDR2 (0x1 << 30)
277 +/* (r) Clock Enable for SMI2 */
278 +#define SYS1_CLKSR_SMI2 (0x1 << 29)
279 +/* (r) Clock Enable for SMI1 */
280 +#define SYS1_CLKSR_SMI1 (0x1 << 28)
281 +/* (r) Clock Enable for SMI0 */
282 +#define SYS1_CLKSR_SMI0 (0x1 << 27)
283 +/* (r) Clock Enable for FMI0 */
284 +#define SYS1_CLKSR_FMI0 (0x1 << 26)
285 +/* (r) Clock Enable for PORT0 */
286 +#define SYS1_CLKSR_PORT0 (0x1 << 0)
287 +/* (r) Clock Enable for PCM3 */
288 +#define SYS1_CLKSR_PCM3 (0x1 << 19)
289 +/* (r) Clock Enable for PCM2 */
290 +#define SYS1_CLKSR_PCM2 (0x1 << 18)
291 +/* (r) Clock Enable for PCM1 */
292 +#define SYS1_CLKSR_PCM1 (0x1 << 17)
293 +/* (r) Clock Enable for PCM0 */
294 +#define SYS1_CLKSR_PCM0 (0x1 << 16)
295 +/* (r) Clock Enable for ASC1 */
296 +#define SYS1_CLKSR_ASC1 (0x1 << 15)
297 +/* (r) Clock Enable for ASC0 */
298 +#define SYS1_CLKSR_ASC0 (0x1 << 14)
299 +/* (r) Clock Enable for SSC2 */
300 +#define SYS1_CLKSR_SSC2 (0x1 << 13)
301 +/* (r) Clock Enable for SSC1 */
302 +#define SYS1_CLKSR_SSC1 (0x1 << 12)
303 +/* (r) Clock Enable for SSC0 */
304 +#define SYS1_CLKSR_SSC0 (0x1 << 11)
305 +/* (r) Clock Enable for GPTC */
306 +#define SYS1_CLKSR_GPTC (0x1 << 10)
307 +/* (r) Clock Enable for DMA */
308 +#define SYS1_CLKSR_DMA (0x1 << 9)
309 +/* (r) Clock Enable for FSCT */
310 +#define SYS1_CLKSR_FSCT (0x1 << 8)
311 +/* (r) Clock Enable for ETHSW */
312 +#define SYS1_CLKSR_ETHSW (0x1 << 7)
313 +/* (r) Clock Enable for EBU */
314 +#define SYS1_CLKSR_EBU (0x1 << 6)
315 +/* (r) Clock Enable for TRNG */
316 +#define SYS1_CLKSR_TRNG (0x1 << 5)
317 +/* (r) Clock Enable for DEU */
318 +#define SYS1_CLKSR_DEU (0x1 << 4)
319 +/* (r) Clock Enable for PORT3 */
320 +#define SYS1_CLKSR_PORT3 (0x1 << 3)
321 +/* (r) Clock Enable for PORT2 */
322 +#define SYS1_CLKSR_PORT2 (0x1 << 2)
323 +/* (r) Clock Enable for PORT1 */
324 +#define SYS1_CLKSR_PORT1 (0x1 << 1)
325 +
326 +/*******************************************************************************
327 + * SYS1 Clock Enable Register
328 + ******************************************************************************/
329 +/* (w) Clock Enable Request for L2C */
330 +#define SYS1_CLKENR_L2C (0x1 << 31)
331 +/* (w) Clock Enable Request for DDR2 */
332 +#define SYS1_CLKENR_DDR2 (0x1 << 30)
333 +/* (w) Clock Enable Request for SMI2 */
334 +#define SYS1_CLKENR_SMI2 (0x1 << 29)
335 +/* (w) Clock Enable Request for SMI1 */
336 +#define SYS1_CLKENR_SMI1 (0x1 << 28)
337 +/* (w) Clock Enable Request for SMI0 */
338 +#define SYS1_CLKENR_SMI0 (0x1 << 27)
339 +/* (w) Clock Enable Request for FMI0 */
340 +#define SYS1_CLKENR_FMI0 (0x1 << 26)
341 +/* (w) Clock Enable Request for PORT0 */
342 +#define SYS1_CLKENR_PORT0 (0x1 << 0)
343 +/* (w) Clock Enable Request for PCM3 */
344 +#define SYS1_CLKENR_PCM3 (0x1 << 19)
345 +/* (w) Clock Enable Request for PCM2 */
346 +#define SYS1_CLKENR_PCM2 (0x1 << 18)
347 +/* (w) Clock Enable Request for PCM1 */
348 +#define SYS1_CLKENR_PCM1 (0x1 << 17)
349 +/* (w) Clock Enable Request for PCM0 */
350 +#define SYS1_CLKENR_PCM0 (0x1 << 16)
351 +/* (w) Clock Enable Request for ASC1 */
352 +#define SYS1_CLKENR_ASC1 (0x1 << 15)
353 +/* (w) Clock Enable Request for ASC0 */
354 +#define SYS1_CLKENR_ASC0 (0x1 << 14)
355 +/* (w) Clock Enable Request for SSC2 */
356 +#define SYS1_CLKENR_SSC2 (0x1 << 13)
357 +/* (w) Clock Enable Request for SSC1 */
358 +#define SYS1_CLKENR_SSC1 (0x1 << 12)
359 +/* (w) Clock Enable Request for SSC0 */
360 +#define SYS1_CLKENR_SSC0 (0x1 << 11)
361 +/* (w) Clock Enable Request for GPTC */
362 +#define SYS1_CLKENR_GPTC (0x1 << 10)
363 +/* (w) Clock Enable Request for DMA */
364 +#define SYS1_CLKENR_DMA (0x1 << 9)
365 +/* (w) Clock Enable Request for FSCT */
366 +#define SYS1_CLKENR_FSCT (0x1 << 8)
367 +/* (w) Clock Enable Request for ETHSW */
368 +#define SYS1_CLKENR_ETHSW (0x1 << 7)
369 +/* (w) Clock Enable Request for EBU */
370 +#define SYS1_CLKENR_EBU (0x1 << 6)
371 +/* (w) Clock Enable Request for TRNG */
372 +#define SYS1_CLKENR_TRNG (0x1 << 5)
373 +/* (w) Clock Enable Request for DEU */
374 +#define SYS1_CLKENR_DEU (0x1 << 4)
375 +/* (w) Clock Enable Request for PORT3 */
376 +#define SYS1_CLKENR_PORT3 (0x1 << 3)
377 +/* (w) Clock Enable Request for PORT2 */
378 +#define SYS1_CLKENR_PORT2 (0x1 << 2)
379 +/* (w) Clock Enable Request for PORT1 */
380 +#define SYS1_CLKENR_PORT1 (0x1 << 1)
381 +
382 +/*******************************************************************************
383 + * SYS1 Clock Clear Register
384 + ******************************************************************************/
385 +/* (w) Clock Disable Request for L2C */
386 +#define SYS1_CLKCLR_L2C (0x1 << 31)
387 +/* (w) Clock Disable Request for DDR2 */
388 +#define SYS1_CLKCLR_DDR2 (0x1 << 30)
389 +/* (w) Clock Disable Request for SMI2 */
390 +#define SYS1_CLKCLR_SMI2 (0x1 << 29)
391 +/* (w) Clock Disable Request for SMI1 */
392 +#define SYS1_CLKCLR_SMI1 (0x1 << 28)
393 +/* (w) Clock Disable Request for SMI0 */
394 +#define SYS1_CLKCLR_SMI0 (0x1 << 27)
395 +/* (w) Clock Disable Request for FMI0 */
396 +#define SYS1_CLKCLR_FMI0 (0x1 << 26)
397 +/* (w) Clock Disable Request for PORT0 */
398 +#define SYS1_CLKCLR_PORT0 (0x1 << 0)
399 +/* (w) Clock Disable Request for PCM3 */
400 +#define SYS1_CLKCLR_PCM3 (0x1 << 19)
401 +/* (w) Clock Disable Request for PCM2 */
402 +#define SYS1_CLKCLR_PCM2 (0x1 << 18)
403 +/* (w) Clock Disable Request for PCM1 */
404 +#define SYS1_CLKCLR_PCM1 (0x1 << 17)
405 +/* (w) Clock Disable Request for PCM0 */
406 +#define SYS1_CLKCLR_PCM0 (0x1 << 16)
407 +/* (w) Clock Disable Request for ASC1 */
408 +#define SYS1_CLKCLR_ASC1 (0x1 << 15)
409 +/* (w) Clock Disable Request for ASC0 */
410 +#define SYS1_CLKCLR_ASC0 (0x1 << 14)
411 +/* (w) Clock Disable Request for SSC2 */
412 +#define SYS1_CLKCLR_SSC2 (0x1 << 13)
413 +/* (w) Clock Disable Request for SSC1 */
414 +#define SYS1_CLKCLR_SSC1 (0x1 << 12)
415 +/* (w) Clock Disable Request for SSC0 */
416 +#define SYS1_CLKCLR_SSC0 (0x1 << 11)
417 +/* (w) Clock Disable Request for GPTC */
418 +#define SYS1_CLKCLR_GPTC (0x1 << 10)
419 +/* (w) Clock Disable Request for DMA */
420 +#define SYS1_CLKCLR_DMA (0x1 << 9)
421 +/* (w) Clock Disable Request for FSCT */
422 +#define SYS1_CLKCLR_FSCT (0x1 << 8)
423 +/* (w) Clock Disable Request for ETHSW */
424 +#define SYS1_CLKCLR_ETHSW (0x1 << 7)
425 +/* (w) Clock Disable Request for EBU */
426 +#define SYS1_CLKCLR_EBU (0x1 << 6)
427 +/* (w) Clock Disable Request for TRNG */
428 +#define SYS1_CLKCLR_TRNG (0x1 << 5)
429 +/* (w) Clock Disable Request for DEU */
430 +#define SYS1_CLKCLR_DEU (0x1 << 4)
431 +/* (w) Clock Disable Request for PORT3 */
432 +#define SYS1_CLKCLR_PORT3 (0x1 << 3)
433 +/* (w) Clock Disable Request for PORT2 */
434 +#define SYS1_CLKCLR_PORT2 (0x1 << 2)
435 +/* (w) Clock Disable Request for PORT1 */
436 +#define SYS1_CLKCLR_PORT1 (0x1 << 1)
437 +
438 +/*******************************************************************************
439 + * SYS1 FPI Control Register
440 + ******************************************************************************/
441 +
442 +/* FPI Bus Clock divider (0) */
443 +#define SYS1_FPICR_FPIDIV   (0x1)
444 +#define SYS1_FPICR_FPIDIV_VAL(val)   (((val) & 0x1) << 0)
445 +#define SYS1_FPICR_FPIDIV_GET(val)   ((((val) & SYS1_FPICR_FPIDIV) >> 0) & 0x1)
446 +#define SYS1_FPICR_FPIDIV_SET(reg,val) (reg) = ((reg & ~SYS1_FPICR_FPIDIV) | (((val) & 0x1) << 0))
447 +
448 +/*******************************************************************************
449 + * SYS1 Clock Control Register for CPUn
450 + ******************************************************************************/
451 +
452 +/* Enable bit for clock of CPUn (1) */
453 +#define SYS1_CPUCR_CPUCLKEN    (0x1 << 1)
454 +#define SYS1_CPUCR_CPUCLKEN_VAL(val)   (((val) & 0x1) << 1)
455 +#define SYS1_CPUCR_CPUCLKEN_GET(val)   ((((val) & SYS1_CPUCR_CPUCLKEN) >> 1) & 0x1)
456 +#define SYS1_CPUCR_CPUCLKEN_SET(reg,val) (reg) = ((reg & ~SYS1_CPUCR_CPUCLKEN) | (((val) & 0x1) << 1))
457 +/* Divider factor for clock of CPUn (0) */
458 +#define SYS1_CPUCR_CPUDIV    (0x1)
459 +#define SYS1_CPUCR_CPUDIV_VAL(val)   (((val) & 0x1) << 0)
460 +#define SYS1_CPUCR_CPUDIV_GET(val)   ((((val) & SYS1_CPUCR_CPUDIV) >> 0) & 0x1)
461 +#define SYS1_CPUCR_CPUDIV_SET(reg,val) (reg) = ((reg & ~SYS1_CPUCR_CPUDIV) | (((val) & 0x1) << 0))
462 +
463 +/*******************************************************************************
464 + * SYS1 Reset Request Register
465 + ******************************************************************************/
466 +
467 +/* HRSTOUT Reset Request (18) */
468 +#define SYS1_RREQ_HRSTOUT   (0x1 << 18)
469 +#define SYS1_RREQ_HRSTOUT_VAL(val)   (((val) & 0x1) << 18)
470 +#define SYS1_RREQ_HRSTOUT_SET(reg,val) (reg) = (((reg & ~SYS1_RREQ_HRSTOUT) | (((val) & 1) << 18))
471 +                                                   /* FBS0 Reset Request (17) */
472 +#define SYS1_RREQ_FBS0   (0x1 << 17)
473 +#define SYS1_RREQ_FBS0_VAL(val)   (((val) & 0x1) << 17)
474 +#define SYS1_RREQ_FBS0_SET(reg,val) (reg) = (((reg & ~SYS1_RREQ_FBS0) | (((val) & 1) << 17))
475 +                                                /* SUBSYS Reset Request (16) */
476 +#define SYS1_RREQ_SUBSYS   (0x1 << 16)
477 +#define SYS1_RREQ_SUBSYS_VAL(val)   (((val) & 0x1) << 16)
478 +#define SYS1_RREQ_SUBSYS_SET(reg,val) (reg) = (((reg & ~SYS1_RREQ_SUBSYS) | (((val) & 1) << 16))
479 +                                                  /* Watchdog5 Reset Request (13) */
480 +#define SYS1_RREQ_WDT5   (0x1 << 13)
481 +#define SYS1_RREQ_WDT5_VAL(val)   (((val) & 0x1) << 13)
482 +#define SYS1_RREQ_WDT5_SET(reg,val) (reg) = (((reg & ~SYS1_RREQ_WDT5) | (((val) & 1) << 13))
483 +                                                /* Watchdog4 Reset Request (12) */
484 +#define SYS1_RREQ_WDT4   (0x1 << 12)
485 +#define SYS1_RREQ_WDT4_VAL(val)   (((val) & 0x1) << 12)
486 +#define SYS1_RREQ_WDT4_SET(reg,val) (reg) = (((reg & ~SYS1_RREQ_WDT4) | (((val) & 1) << 12))
487 +                                                /* Watchdog3 Reset Request (11) */
488 +#define SYS1_RREQ_WDT3   (0x1 << 11)
489 +#define SYS1_RREQ_WDT3_VAL(val)   (((val) & 0x1) << 11)
490 +#define SYS1_RREQ_WDT3_SET(reg,val) (reg) = (((reg & ~SYS1_RREQ_WDT3) | (((val) & 1) << 11))
491 +                                                /* Watchdog2 Reset Request (10) */
492 +#define SYS1_RREQ_WDT2   (0x1 << 10)
493 +#define SYS1_RREQ_WDT2_VAL(val)   (((val) & 0x1) << 10)
494 +#define SYS1_RREQ_WDT2_SET(reg,val) (reg) = (((reg & ~SYS1_RREQ_WDT2) | (((val) & 1) << 10))
495 +                                                /* Watchdog1 Reset Request (9) */
496 +#define SYS1_RREQ_WDT1   (0x1 << 9)
497 +#define SYS1_RREQ_WDT1_VAL(val)   (((val) & 0x1) << 9)
498 +#define SYS1_RREQ_WDT1_SET(reg,val) (reg) = (((reg & ~SYS1_RREQ_WDT1) | (((val) & 1) << 9))
499 +                                                /* Watchdog0 Reset Request (8) */
500 +#define SYS1_RREQ_WDT0   (0x1 << 8)
501 +#define SYS1_RREQ_WDT0_VAL(val)   (((val) & 0x1) << 8)
502 +#define SYS1_RREQ_WDT0_SET(reg,val) (reg) = (((reg & ~SYS1_RREQ_WDT0) | (((val) & 1) << 8))
503 +                                                /* CPU5 Reset Request (5) */
504 +#define SYS1_RREQ_CPU5   (0x1 << 5)
505 +#define SYS1_RREQ_CPU5_VAL(val)   (((val) & 0x1) << 5)
506 +#define SYS1_RREQ_CPU5_SET(reg,val) (reg) = ((reg & ~SYS1_RREQ_CPU5) | (((val) & 1) << 5))
507 +                                                /* CPU4 Reset Request (4) */
508 +#define SYS1_RREQ_CPU4   (0x1 << 4)
509 +#define SYS1_RREQ_CPU4_VAL(val)   (((val) & 0x1) << 4)
510 +#define SYS1_RREQ_CPU4_SET(reg,val) (reg) = ((reg & ~SYS1_RREQ_CPU4) | (((val) & 1) << 4))
511 +                                                /* CPU3 Reset Request (3) */
512 +#define SYS1_RREQ_CPU3   (0x1 << 3)
513 +#define SYS1_RREQ_CPU3_VAL(val)   (((val) & 0x1) << 3)
514 +#define SYS1_RREQ_CPU3_SET(reg,val) (reg) = ((reg & ~SYS1_RREQ_CPU3) | (((val) & 1) << 3))
515 +                                                /* CPU2 Reset Request (2) */
516 +#define SYS1_RREQ_CPU2   (0x1 << 2)
517 +#define SYS1_RREQ_CPU2_VAL(val)   (((val) & 0x1) << 2)
518 +#define SYS1_RREQ_CPU2_SET(reg,val) (reg) = ((reg & ~SYS1_RREQ_CPU2) | (((val) & 1) << 2))
519 +                                                /* CPU1 Reset Request (1) */
520 +#define SYS1_RREQ_CPU1   (0x1 << 1)
521 +#define SYS1_RREQ_CPU1_VAL(val)   (((val) & 0x1) << 1)
522 +#define SYS1_RREQ_CPU1_SET(reg,val) (reg) = ((reg & ~SYS1_RREQ_CPU1) | (((val) & 1) << 1))
523 +/* CPU0 Reset Request (0) */
524 +#define SYS1_RREQ_CPU0   (0x1)
525 +#define SYS1_RREQ_CPU0_VAL(val)   (((val) & 0x1) << 0)
526 +#define SYS1_RREQ_CPU0_SET(reg,val) (reg) = ((reg & ~SYS1_RREQ_CPU0) | (((val) & 1) << 0))
527 +
528 +/*******************************************************************************
529 + * SYS1 Reset Release Register
530 + ******************************************************************************/
531 +
532 +/* HRSTOUT Reset Release (18) */
533 +#define SYS1_RRLSR_HRSTOUT   (0x1 << 18)
534 +#define SYS1_RRLSR_HRSTOUT_VAL(val)   (((val) & 0x1) << 18)
535 +#define SYS1_RRLSR_HRSTOUT_SET(reg,val) (reg) = ((reg & ~SYS1_RRLSR_HRSTOUT) | (((val) & 1) << 18))
536 +/* FBS0 Reset Release (17) */
537 +#define SYS1_RRLSR_FBS0   (0x1 << 17)
538 +#define SYS1_RRLSR_FBS0_VAL(val)   (((val) & 0x1) << 17)
539 +#define SYS1_RRLSR_FBS0_SET(reg,val) (reg) = ((reg & ~SYS1_RRLSR_FBS0) | (((val) & 1) << 17))
540 +/* SUBSYS Reset Release (16) */
541 +#define SYS1_RRLSR_SUBSYS   (0x1 << 16)
542 +#define SYS1_RRLSR_SUBSYS_VAL(val)   (((val) & 0x1) << 16)
543 +#define SYS1_RRLSR_SUBSYS_SET(reg,val) (reg) = ((reg & ~SYS1_RRLSR_SUBSYS) | (((val) & 1) << 16))
544 +/* Watchdog5 Reset Release (13) */
545 +#define SYS1_RRLSR_WDT5   (0x1 << 13)
546 +#define SYS1_RRLSR_WDT5_VAL(val)   (((val) & 0x1) << 13)
547 +#define SYS1_RRLSR_WDT5_SET(reg,val) (reg) = ((reg & ~SYS1_RRLSR_WDT5) | (((val) & 1) << 13))
548 +/* Watchdog4 Reset Release (12) */
549 +#define SYS1_RRLSR_WDT4   (0x1 << 12)
550 +#define SYS1_RRLSR_WDT4_VAL(val)   (((val) & 0x1) << 12)
551 +#define SYS1_RRLSR_WDT4_SET(reg,val) (reg) = ((reg & ~SYS1_RRLSR_WDT4) | (((val) & 1) << 12))
552 +/* Watchdog3 Reset Release (11) */
553 +#define SYS1_RRLSR_WDT3   (0x1 << 11)
554 +#define SYS1_RRLSR_WDT3_VAL(val)   (((val) & 0x1) << 11)
555 +#define SYS1_RRLSR_WDT3_SET(reg,val) (reg) = ((reg & ~SYS1_RRLSR_WDT3) | (((val) & 1) << 11))
556 +/* Watchdog2 Reset Release (10) */
557 +#define SYS1_RRLSR_WDT2   (0x1 << 10)
558 +#define SYS1_RRLSR_WDT2_VAL(val)   (((val) & 0x1) << 10)
559 +#define SYS1_RRLSR_WDT2_SET(reg,val) (reg) = ((reg & ~SYS1_RRLSR_WDT2) | (((val) & 1) << 10))
560 +/* Watchdog1 Reset Release (9) */
561 +#define SYS1_RRLSR_WDT1   (0x1 << 9)
562 +#define SYS1_RRLSR_WDT1_VAL(val)   (((val) & 0x1) << 9)
563 +#define SYS1_RRLSR_WDT1_SET(reg,val) (reg) = ((reg & ~SYS1_RRLSR_WDT1) | (((val) & 1) << 9))
564 +/* Watchdog0 Reset Release (8) */
565 +#define SYS1_RRLSR_WDT0   (0x1 << 8)
566 +#define SYS1_RRLSR_WDT0_VAL(val)   (((val) & 0x1) << 8)
567 +#define SYS1_RRLSR_WDT0_SET(reg,val) (reg) = ((reg & ~SYS1_RRLSR_WDT0) | (((val) & 1) << 8))
568 +/* CPU5 Reset Release (5) */
569 +#define SYS1_RRLSR_CPU5   (0x1 << 5)
570 +#define SYS1_RRLSR_CPU5_VAL(val)   (((val) & 0x1) << 5)
571 +#define SYS1_RRLSR_CPU5_SET(reg,val) (reg) = ((reg & ~SYS1_RRLSR_CPU5) | (((val) & 1) << 5))
572 +/* CPU4 Reset Release (4) */
573 +#define SYS1_RRLSR_CPU4   (0x1 << 4)
574 +#define SYS1_RRLSR_CPU4_VAL(val)   (((val) & 0x1) << 4)
575 +#define SYS1_RRLSR_CPU4_SET(reg,val) (reg) = ((reg & ~SYS1_RRLSR_CPU4) | (((val) & 1) << 4))
576 +/* CPU3 Reset Release (3) */
577 +#define SYS1_RRLSR_CPU3   (0x1 << 3)
578 +#define SYS1_RRLSR_CPU3_VAL(val)   (((val) & 0x1) << 3)
579 +#define SYS1_RRLSR_CPU3_SET(reg,val) (reg) = ((reg & ~SYS1_RRLSR_CPU3) | (((val) & 1) << 3))
580 +/* CPU2 Reset Release (2) */
581 +#define SYS1_RRLSR_CPU2   (0x1 << 2)
582 +#define SYS1_RRLSR_CPU2_VAL(val)   (((val) & 0x1) << 2)
583 +#define SYS1_RRLSR_CPU2_SET(reg,val) (reg) = ((reg & ~SYS1_RRLSR_CPU2) | (((val) & 1) << 2))
584 +/* CPU1 Reset Release (1) */
585 +#define SYS1_RRLSR_CPU1   (0x1 << 1)
586 +#define SYS1_RRLSR_CPU1_VAL(val)   (((val) & 0x1) << 1)
587 +#define SYS1_RRLSR_CPU1_SET(reg,val) (reg) = ((reg & ~SYS1_RRLSR_CPU1) | (((val) & 1) << 1))
588 +/* CPU0 Reset Release (0) */
589 +#define SYS1_RRLSR_CPU0   (0x1)
590 +#define SYS1_RRLSR_CPU0_VAL(val)   (((val) & 0x1) << 0)
591 +#define SYS1_RRLSR_CPU0_SET(reg,val) (reg) = ((reg & ~SYS1_RRLSR_CPU0) | (((val) & 1) << 0))
592 +
593 +#endif
594 Index: linux-3.3.8/arch/mips/include/asm/mach-lantiq/svip/es_reg.h
595 ===================================================================
596 --- /dev/null   1970-01-01 00:00:00.000000000 +0000
597 +++ linux-3.3.8/arch/mips/include/asm/mach-lantiq/svip/es_reg.h 2012-07-31 15:46:02.476476158 +0200
598 @@ -0,0 +1,2098 @@
599 +/******************************************************************************
600 +
601 +  Copyright (c) 2007
602 +  Infineon Technologies AG
603 +  St. Martin Strasse 53; 81669 Munich, Germany
604 +
605 +  Any use of this Software is subject to the conclusion of a respective
606 +  License Agreement. Without such a License Agreement no rights to the
607 +  Software are granted.
608 +
609 + ******************************************************************************/
610 +
611 +#ifndef __ES_REG_H
612 +#define __ES_REG_H
613 +
614 +#define es_r32(reg) ltq_r32(&es->reg)
615 +#define es_w32(val, reg) ltq_w32(val, &es->reg)
616 +#define es_w32_mask(clear, set, reg) ltq_w32_mask(clear, set, &es->reg)
617 +
618 +/** ES register structure */
619 +struct svip_reg_es {
620 +       volatile unsigned long  ps;  /*  0x0000 */
621 +       volatile unsigned long  p0_ctl;  /*  0x0004 */
622 +       volatile unsigned long  p1_ctl;  /*  0x0008 */
623 +       volatile unsigned long  p2_ctl;  /*  0x000C */
624 +       volatile unsigned long  p0_vlan;  /*  0x0010 */
625 +       volatile unsigned long  p1_vlan;  /*  0x0014 */
626 +       volatile unsigned long  p2_vlan;  /*  0x0018 */
627 +       volatile unsigned long  reserved1[1];  /*  0x001C */
628 +       volatile unsigned long  p0_inctl;  /*  0x0020 */
629 +       volatile unsigned long  p1_inctl;  /*  0x0024 */
630 +       volatile unsigned long  p2_inctl;  /*  0x0028 */
631 +       volatile unsigned long  reserved2[1];  /*  0x002C */
632 +       volatile unsigned long  p0_ecs_q32;  /*  0x0030 */
633 +       volatile unsigned long  p0_ecs_q10;  /*  0x0034 */
634 +       volatile unsigned long  p0_ecw_q32;  /*  0x0038 */
635 +       volatile unsigned long  p0_ecw_q10;  /*  0x003C */
636 +       volatile unsigned long  p1_ecs_q32;  /*  0x0040 */
637 +       volatile unsigned long  p1_ecs_q10;  /*  0x0044 */
638 +       volatile unsigned long  p1_ecw_q32;  /*  0x0048 */
639 +       volatile unsigned long  p1_ecw_q10;  /*  0x004C */
640 +       volatile unsigned long  p2_ecs_q32;  /*  0x0050 */
641 +       volatile unsigned long  p2_ecs_q10;  /*  0x0054 */
642 +       volatile unsigned long  p2_ecw_q32;  /*  0x0058 */
643 +       volatile unsigned long  p2_ecw_q10;  /*  0x005C */
644 +       volatile unsigned long  int_ena;  /*  0x0060 */
645 +       volatile unsigned long  int_st;  /*  0x0064 */
646 +       volatile unsigned long  sw_gctl0;  /*  0x0068 */
647 +       volatile unsigned long  sw_gctl1;  /*  0x006C */
648 +       volatile unsigned long  arp;  /*  0x0070 */
649 +       volatile unsigned long  strm_ctl;  /*  0x0074 */
650 +       volatile unsigned long  rgmii_ctl;  /*  0x0078 */
651 +       volatile unsigned long  prt_1p;  /*  0x007C */
652 +       volatile unsigned long  gbkt_szbs;  /*  0x0080 */
653 +       volatile unsigned long  gbkt_szebs;  /*  0x0084 */
654 +       volatile unsigned long  bf_th;  /*  0x0088 */
655 +       volatile unsigned long  pmac_hd_ctl;  /*  0x008C */
656 +       volatile unsigned long  pmac_sa1;  /*  0x0090 */
657 +       volatile unsigned long  pmac_sa2;  /*  0x0094 */
658 +       volatile unsigned long  pmac_da1;  /*  0x0098 */
659 +       volatile unsigned long  pmac_da2;  /*  0x009C */
660 +       volatile unsigned long  pmac_vlan;  /*  0x00A0 */
661 +       volatile unsigned long  pmac_tx_ipg;  /*  0x00A4 */
662 +       volatile unsigned long  pmac_rx_ipg;  /*  0x00A8 */
663 +       volatile unsigned long  adr_tb_ctl0;  /*  0x00AC */
664 +       volatile unsigned long  adr_tb_ctl1;  /*  0x00B0 */
665 +       volatile unsigned long  adr_tb_ctl2;  /*  0x00B4 */
666 +       volatile unsigned long  adr_tb_st0;  /*  0x00B8 */
667 +       volatile unsigned long  adr_tb_st1;  /*  0x00BC */
668 +       volatile unsigned long  adr_tb_st2;  /*  0x00C0 */
669 +       volatile unsigned long  rmon_ctl;  /*  0x00C4 */
670 +       volatile unsigned long  rmon_st;  /*  0x00C8 */
671 +       volatile unsigned long  mdio_ctl;  /*  0x00CC */
672 +       volatile unsigned long  mdio_data;  /*  0x00D0 */
673 +       volatile unsigned long  tp_flt_act;  /*  0x00D4 */
674 +       volatile unsigned long  prtcl_flt_act;  /*  0x00D8 */
675 +       volatile unsigned long  reserved4[9];  /*  0xdc */
676 +       volatile unsigned long  vlan_flt0;  /*  0x0100 */
677 +       volatile unsigned long  vlan_flt1;  /*  0x0104 */
678 +       volatile unsigned long  vlan_flt2;  /*  0x0108 */
679 +       volatile unsigned long  vlan_flt3;  /*  0x010C */
680 +       volatile unsigned long  vlan_flt4;  /*  0x0110 */
681 +       volatile unsigned long  vlan_flt5;  /*  0x0114 */
682 +       volatile unsigned long  vlan_flt6;  /*  0x0118 */
683 +       volatile unsigned long  vlan_flt7;  /*  0x011C */
684 +       volatile unsigned long  vlan_flt8;  /*  0x0120 */
685 +       volatile unsigned long  vlan_flt9;  /*  0x0124 */
686 +       volatile unsigned long  vlan_flt10;  /*  0x0128 */
687 +       volatile unsigned long  vlan_flt11;  /*  0x012C */
688 +       volatile unsigned long  vlan_flt12;  /*  0x0130 */
689 +       volatile unsigned long  vlan_flt13;  /*  0x0134 */
690 +       volatile unsigned long  vlan_flt14;  /*  0x0138 */
691 +       volatile unsigned long  vlan_flt15;  /*  0x013C */
692 +       volatile unsigned long  tp_flt10;  /*  0x0140 */
693 +       volatile unsigned long  tp_flt32;  /*  0x0144 */
694 +       volatile unsigned long  tp_flt54;  /*  0x0148 */
695 +       volatile unsigned long  tp_flt76;  /*  0x014C */
696 +       volatile unsigned long  dfsrv_map0;  /*  0x0150 */
697 +       volatile unsigned long  dfsrv_map1;  /*  0x0154 */
698 +       volatile unsigned long  dfsrv_map2;  /*  0x0158 */
699 +       volatile unsigned long  dfsrv_map3;  /*  0x015C */
700 +       volatile unsigned long  tcp_pf0;  /*  0x0160 */
701 +       volatile unsigned long  tcp_pf1;  /*  0x0164 */
702 +       volatile unsigned long  tcp_pf2;  /*  0x0168 */
703 +       volatile unsigned long  tcp_pf3;  /*  0x016C */
704 +       volatile unsigned long  tcp_pf4;  /*  0x0170 */
705 +       volatile unsigned long  tcp_pf5;  /*  0x0174 */
706 +       volatile unsigned long  tcp_pf6;  /*  0x0178 */
707 +       volatile unsigned long  tcp_pf7;  /*  0x017C */
708 +       volatile unsigned long  ra_03_00;  /*  0x0180 */
709 +       volatile unsigned long  ra_07_04;  /*  0x0184 */
710 +       volatile unsigned long  ra_0b_08;  /*  0x0188 */
711 +       volatile unsigned long  ra_0f_0c;  /*  0x018C */
712 +       volatile unsigned long  ra_13_10;  /*  0x0190 */
713 +       volatile unsigned long  ra_17_14;  /*  0x0194 */
714 +       volatile unsigned long  ra_1b_18;  /*  0x0198 */
715 +       volatile unsigned long  ra_1f_1c;  /*  0x019C */
716 +       volatile unsigned long  ra_23_20;  /*  0x01A0 */
717 +       volatile unsigned long  ra_27_24;  /*  0x01A4 */
718 +       volatile unsigned long  ra_2b_28;  /*  0x01A8 */
719 +       volatile unsigned long  ra_2f_2c;  /*  0x01AC */
720 +       volatile unsigned long  prtcl_f0;  /*  0x01B0 */
721 +       volatile unsigned long  prtcl_f1;  /*  0x01B4 */
722 +};
723 +
724 +/*******************************************************************************
725 + * ES
726 + ******************************************************************************/
727 +#define LTQ_ES_PS_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0000))
728 +#define LTQ_ES_P0_CTL_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0004))
729 +#define LTQ_ES_P1_CTL_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0008))
730 +#define LTQ_ES_P2_CTL_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x000C))
731 +#define LTQ_ES_P0_VLAN_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0010))
732 +#define LTQ_ES_P1_VLAN_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0014))
733 +#define LTQ_ES_P2_VLAN_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0010))
734 +#define LTQ_ES_P0_INCTL_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0020))
735 +#define LTQ_ES_P1_INCTL_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0024))
736 +#define LTQ_ES_P2_INCTL_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0028))
737 +#define LTQ_ES_P0_ECS_Q32_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0030))
738 +#define LTQ_ES_P0_ECS_Q10_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0034))
739 +#define LTQ_ES_P0_ECW_Q32_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0038))
740 +#define LTQ_ES_P0_ECW_Q10_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x003C))
741 +#define LTQ_ES_P1_ECS_Q32_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0030))
742 +#define LTQ_ES_P1_ECS_Q10_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0034))
743 +#define LTQ_ES_P1_ECW_Q32_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0038))
744 +#define LTQ_ES_P1_ECW_Q10_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x003C))
745 +#define LTQ_ES_P2_ECS_Q32_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0030))
746 +#define LTQ_ES_P2_ECS_Q10_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0034))
747 +#define LTQ_ES_P2_ECW_Q32_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0038))
748 +#define LTQ_ES_P2_ECW_Q10_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x003C))
749 +#define LTQ_ES_INT_ENA_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0060))
750 +#define LTQ_ES_INT_ST_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0064))
751 +#define LTQ_ES_SW_GCTL0_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0068))
752 +#define LTQ_ES_SW_GCTL1_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x006C))
753 +#define LTQ_ES_ARP_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0070))
754 +#define LTQ_ES_STRM_CTL_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0074))
755 +#define LTQ_ES_RGMII_CTL_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0078))
756 +#define LTQ_ES_PRT_1P_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x007C))
757 +#define LTQ_ES_GBKT_SZBS_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0080))
758 +#define LTQ_ES_GBKT_SZEBS_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0084))
759 +#define LTQ_ES_BF_TH_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0088))
760 +#define LTQ_ES_PMAC_HD_CTL   ((volatile unsigned int*)(LTQ_ES_BASE + 0x008C))
761 +#define LTQ_ES_PMAC_SA1   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0090))
762 +#define LTQ_ES_PMAC_SA2   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0094))
763 +#define LTQ_ES_PMAC_DA1   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0098))
764 +#define LTQ_ES_PMAC_DA2   ((volatile unsigned int*)(LTQ_ES_BASE + 0x009C))
765 +#define LTQ_ES_PMAC_VLAN   ((volatile unsigned int*)(LTQ_ES_BASE + 0x00A0))
766 +#define LTQ_ES_PMAC_TX_IPG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x00A4))
767 +#define LTQ_ES_PMAC_RX_IPG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x00A8))
768 +#define LTQ_ES_ADR_TB_CTL0_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x00AC))
769 +#define LTQ_ES_ADR_TB_CTL1_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x00B0))
770 +#define LTQ_ES_ADR_TB_CTL2_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x00B4))
771 +#define LTQ_ES_ADR_TB_ST0_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x00B8))
772 +#define LTQ_ES_ADR_TB_ST1_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x00BC))
773 +#define LTQ_ES_ADR_TB_ST2_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x00C0))
774 +#define LTQ_ES_RMON_CTL_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x00C4))
775 +#define LTQ_ES_RMON_ST_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x00C8))
776 +#define LTQ_ES_MDIO_CTL_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x00CC))
777 +#define LTQ_ES_MDIO_DATA_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x00D0))
778 +#define LTQ_ES_TP_FLT_ACT_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x00D4))
779 +#define LTQ_ES_PRTCL_FLT_ACT_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x00D8))
780 +#define LTQ_ES_VLAN_FLT0_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0100))
781 +#define LTQ_ES_VLAN_FLT1_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0104))
782 +#define LTQ_ES_VLAN_FLT2_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0108))
783 +#define LTQ_ES_VLAN_FLT3_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x010C))
784 +#define LTQ_ES_VLAN_FLT4_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0110))
785 +#define LTQ_ES_VLAN_FLT5_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0114))
786 +#define LTQ_ES_VLAN_FLT6_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0118))
787 +#define LTQ_ES_VLAN_FLT7_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x011C))
788 +#define LTQ_ES_VLAN_FLT8_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0120))
789 +#define LTQ_ES_VLAN_FLT9_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0124))
790 +#define LTQ_ES_VLAN_FLT10_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0128))
791 +#define LTQ_ES_VLAN_FLT11_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x012C))
792 +#define LTQ_ES_VLAN_FLT12_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0130))
793 +#define LTQ_ES_VLAN_FLT13_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0134))
794 +#define LTQ_ES_VLAN_FLT14_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0138))
795 +#define LTQ_ES_VLAN_FLT15_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x013C))
796 +#define LTQ_ES_TP_FLT10_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0140))
797 +#define LTQ_ES_TP_FLT32_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0144))
798 +#define LTQ_ES_TP_FLT54_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0148))
799 +#define LTQ_ES_TP_FLT76_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x014C))
800 +#define LTQ_ES_DFSRV_MAP0_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0150))
801 +#define LTQ_ES_DFSRV_MAP1_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0154))
802 +#define LTQ_ES_DFSRV_MAP2_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0158))
803 +#define LTQ_ES_DFSRV_MAP3_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x015C))
804 +#define LTQ_ES_TCP_PF0_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0160))
805 +#define LTQ_ES_TCP_PF1_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0164))
806 +#define LTQ_ES_TCP_PF2_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0168))
807 +#define LTQ_ES_TCP_PF3_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x016C))
808 +#define LTQ_ES_TCP_PF4_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0170))
809 +#define LTQ_ES_TCP_PF5_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0174))
810 +#define LTQ_ES_TCP_PF6_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0178))
811 +#define LTQ_ES_TCP_PF7_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x017C))
812 +#define LTQ_ES_RA_03_00_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0180))
813 +#define LTQ_ES_RA_07_04_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0184))
814 +#define LTQ_ES_RA_0B_08_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0188))
815 +#define LTQ_ES_RA_0F_0C_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x018C))
816 +#define LTQ_ES_RA_13_10_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0190))
817 +#define LTQ_ES_RA_17_14_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0194))
818 +#define LTQ_ES_RA_1B_18_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x0198))
819 +#define LTQ_ES_RA_1F_1C_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x019C))
820 +#define LTQ_ES_RA_23_20_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x01A0))
821 +#define LTQ_ES_RA_27_24_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x01A4))
822 +#define LTQ_ES_RA_2B_28_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x01A8))
823 +#define LTQ_ES_RA_2F_2C_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x01AC))
824 +#define LTQ_ES_PRTCL_F0_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x01B0))
825 +#define LTQ_ES_PRTCL_F1_REG   ((volatile unsigned int*)(LTQ_ES_BASE + 0x01B4))
826 +
827 +/*******************************************************************************
828 + * Port Status Register
829 + ******************************************************************************/
830 +
831 +/* Port 1 Flow Control Status (12) */
832 +#define LTQ_ES_PS_REG_P1FCS   (0x1 << 12)
833 +#define LTQ_ES_PS_REG_P1FCS_GET(val)   ((((val) & LTQ_ES_PS_REG_P1FCS) >> 12) & 0x1)
834 +/* Port 1 Duplex Status (11) */
835 +#define LTQ_ES_PS_REG_P1DS   (0x1 << 11)
836 +#define LTQ_ES_PS_REG_P1DS_GET(val)   ((((val) & LTQ_ES_PS_REG_P1DS) >> 11) & 0x1)
837 +/* Port 1 Speed High Status (10) */
838 +#define LTQ_ES_PS_REG_P1SHS   (0x1 << 10)
839 +#define LTQ_ES_PS_REG_P1SHS_GET(val)   ((((val) & LTQ_ES_PS_REG_P1SHS) >> 10) & 0x1)
840 +/* Port 1 Speed Status (9) */
841 +#define LTQ_ES_PS_REG_P1SS   (0x1 << 9)
842 +#define LTQ_ES_PS_REG_P1SS_GET(val)   ((((val) & LTQ_ES_PS_REG_P1SS) >> 9) & 0x1)
843 +/* Port 1 Link Status (8) */
844 +#define LTQ_ES_PS_REG_P1LS   (0x1 << 8)
845 +#define LTQ_ES_PS_REG_P1LS_GET(val)   ((((val) & LTQ_ES_PS_REG_P1LS) >> 8) & 0x1)
846 +/* Port 0 Flow Control Status (4) */
847 +#define LTQ_ES_PS_REG_P0FCS   (0x1 << 4)
848 +#define LTQ_ES_PS_REG_P0FCS_GET(val)   ((((val) & LTQ_ES_PS_REG_P0FCS) >> 4) & 0x1)
849 +/* Port 0 Duplex Status (3) */
850 +#define LTQ_ES_PS_REG_P0DS   (0x1 << 3)
851 +#define LTQ_ES_PS_REG_P0DS_GET(val)   ((((val) & LTQ_ES_PS_REG_P0DS) >> 3) & 0x1)
852 +/* Port 0 Speed High Status (2) */
853 +#define LTQ_ES_PS_REG_P0SHS   (0x1 << 2)
854 +#define LTQ_ES_PS_REG_P0SHS_GET(val)   ((((val) & LTQ_ES_PS_REG_P0SHS) >> 2) & 0x1)
855 +/* Port 0 Speed Status (1) */
856 +#define LTQ_ES_PS_REG_P0SS   (0x1 << 1)
857 +#define LTQ_ES_PS_REG_P0SS_GET(val)   ((((val) & LTQ_ES_PS_REG_P0SS) >> 1) & 0x1)
858 +/* Port 0 Link Status (0) */
859 +#define LTQ_ES_PS_REG_P0LS   (0x1)
860 +#define LTQ_ES_PS_REG_P0LS_GET(val)   ((((val) & LTQ_ES_PS_REG_P0LS) >> 0) & 0x1)
861 +
862 +/*******************************************************************************
863 + * P0 Control Register
864 + ******************************************************************************/
865 +
866 +/* STP/RSTP port state (31:30) */
867 +#define LTQ_ES_P0_CTL_REG_SPS   (0x3 << 30)
868 +#define LTQ_ES_P0_CTL_REG_SPS_VAL(val)   (((val) & 0x3) << 30)
869 +#define LTQ_ES_P0_CTL_REG_SPS_GET(val)   ((((val) & LTQ_ES_P0_CTL_REG_SPS) >> 30) & 0x3)
870 +#define LTQ_ES_P0_CTL_REG_SPS_SET(reg,val) (reg) = ((reg & ~LTQ_ES_P0_CTL_REG_SPS) | (((val) & 0x3) << 30))
871 +/* TCP/UDP PRIEN (29) */
872 +#define LTQ_ES_P0_CTL_REG_TCPE   (0x1 << 29)
873 +#define LTQ_ES_P0_CTL_REG_TCPE_VAL(val)   (((val) & 0x1) << 29)
874 +#define LTQ_ES_P0_CTL_REG_TCPE_GET(val)   ((((val) & LTQ_ES_P0_CTL_REG_TCPE) >> 29) & 0x1)
875 +#define LTQ_ES_P0_CTL_REG_TCPE_SET(reg,val) (reg) = ((reg & ~LTQ_ES_P0_CTL_REG_TCPE) | (((val) & 0x1) << 29))
876 +/*  IP over TCP/UDP (28) */
877 +#define LTQ_ES_P0_CTL_REG_IPOVTU   (0x1 << 28)
878 +#define LTQ_ES_P0_CTL_REG_IPOVTU_VAL(val)   (((val) & 0x1) << 28)
879 +#define LTQ_ES_P0_CTL_REG_IPOVTU_GET(val)   ((((val) & LTQ_ES_P0_CTL_REG_IPOVTU) >> 28) & 0x1)
880 +#define LTQ_ES_P0_CTL_REG_IPOVTU_SET(reg,val) (reg) = ((reg & ~LTQ_ES_P0_CTL_REG_IPOVTU) | (((val) & 0x1) << 28))
881 +/* VLAN Priority Enable (27) */
882 +#define LTQ_ES_P0_CTL_REG_VPE   (0x1 << 27)
883 +#define LTQ_ES_P0_CTL_REG_VPE_VAL(val)   (((val) & 0x1) << 27)
884 +#define LTQ_ES_P0_CTL_REG_VPE_GET(val)   ((((val) & LTQ_ES_P0_CTL_REG_VPE) >> 27) & 0x1)
885 +#define LTQ_ES_P0_CTL_REG_VPE_SET(reg,val) (reg) = ((reg & ~LTQ_ES_P0_CTL_REG_VPE) | (((val) & 0x1) << 27))
886 +/* Service Priority Enable (26) */
887 +#define LTQ_ES_P0_CTL_REG_SPE   (0x1 << 26)
888 +#define LTQ_ES_P0_CTL_REG_SPE_VAL(val)   (((val) & 0x1) << 26)
889 +#define LTQ_ES_P0_CTL_REG_SPE_GET(val)   ((((val) & LTQ_ES_P0_CTL_REG_SPE) >> 26) & 0x1)
890 +#define LTQ_ES_P0_CTL_REG_SPE_SET(reg,val) (reg) = ((reg & ~LTQ_ES_P0_CTL_REG_SPE) | (((val) & 0x1) << 26))
891 +/* IP over VLAN PRI (25) */
892 +#define LTQ_ES_P0_CTL_REG_IPVLAN   (0x1 << 25)
893 +#define LTQ_ES_P0_CTL_REG_IPVLAN_VAL(val)   (((val) & 0x1) << 25)
894 +#define LTQ_ES_P0_CTL_REG_IPVLAN_GET(val)   ((((val) & LTQ_ES_P0_CTL_REG_IPVLAN) >> 25) & 0x1)
895 +#define LTQ_ES_P0_CTL_REG_IPVLAN_SET(reg,val) (reg) = ((reg & ~LTQ_ES_P0_CTL_REG_IPVLAN) | (((val) & 0x1) << 25))
896 +/* Ether Type Priority Enable (24) */
897 +#define LTQ_ES_P0_CTL_REG_TPE   (0x1 << 24)
898 +#define LTQ_ES_P0_CTL_REG_TPE_VAL(val)   (((val) & 0x1) << 24)
899 +#define LTQ_ES_P0_CTL_REG_TPE_GET(val)   ((((val) & LTQ_ES_P0_CTL_REG_TPE) >> 24) & 0x1)
900 +#define LTQ_ES_P0_CTL_REG_TPE_SET(reg,val) (reg) = ((reg & ~LTQ_ES_P0_CTL_REG_TPE) | (((val) & 0x1) << 24))
901 +/* Force Link Up (18) */
902 +#define LTQ_ES_P0_CTL_REG_FLP   (0x1 << 18)
903 +#define LTQ_ES_P0_CTL_REG_FLP_VAL(val)   (((val) & 0x1) << 18)
904 +#define LTQ_ES_P0_CTL_REG_FLP_GET(val)   ((((val) & LTQ_ES_P0_CTL_REG_FLP) >> 18) & 0x1)
905 +#define LTQ_ES_P0_CTL_REG_FLP_SET(reg,val) (reg) = ((reg & ~LTQ_ES_P0_CTL_REG_FLP) | (((val) & 0x1) << 18))
906 +/* Force Link Down (17) */
907 +#define LTQ_ES_P0_CTL_REG_FLD   (0x1 << 17)
908 +#define LTQ_ES_P0_CTL_REG_FLD_VAL(val)   (((val) & 0x1) << 17)
909 +#define LTQ_ES_P0_CTL_REG_FLD_GET(val)   ((((val) & LTQ_ES_P0_CTL_REG_FLD) >> 17) & 0x1)
910 +#define LTQ_ES_P0_CTL_REG_FLD_SET(reg,val) (reg) = ((reg & ~LTQ_ES_P0_CTL_REG_FLD) | (((val) & 0x1) << 17))
911 +/* Ratio Mode for WFQ (16) */
912 +#define LTQ_ES_P0_CTL_REG_RMWFQ   (0x1 << 16)
913 +#define LTQ_ES_P0_CTL_REG_RMWFQ_VAL(val)   (((val) & 0x1) << 16)
914 +#define LTQ_ES_P0_CTL_REG_RMWFQ_GET(val)   ((((val) & LTQ_ES_P0_CTL_REG_RMWFQ) >> 16) & 0x1)
915 +#define LTQ_ES_P0_CTL_REG_RMWFQ_SET(reg,val) (reg) = ((reg & ~LTQ_ES_P0_CTL_REG_RMWFQ) | (((val) & 0x1) << 16))
916 +/* Aging Disable (15) */
917 +#define LTQ_ES_P0_CTL_REG_AD   (0x1 << 15)
918 +#define LTQ_ES_P0_CTL_REG_AD_VAL(val)   (((val) & 0x1) << 15)
919 +#define LTQ_ES_P0_CTL_REG_AD_GET(val)   ((((val) & LTQ_ES_P0_CTL_REG_AD) >> 15) & 0x1)
920 +#define LTQ_ES_P0_CTL_REG_AD_SET(reg,val) (reg) = ((reg & ~LTQ_ES_P0_CTL_REG_AD) | (((val) & 0x1) << 15))
921 +/* Learning Disable (14) */
922 +#define LTQ_ES_P0_CTL_REG_LD   (0x1 << 14)
923 +#define LTQ_ES_P0_CTL_REG_LD_VAL(val)   (((val) & 0x1) << 14)
924 +#define LTQ_ES_P0_CTL_REG_LD_GET(val)   ((((val) & LTQ_ES_P0_CTL_REG_LD) >> 14) & 0x1)
925 +#define LTQ_ES_P0_CTL_REG_LD_SET(reg,val) (reg) = ((reg & ~LTQ_ES_P0_CTL_REG_LD) | (((val) & 0x1) << 14))
926 +/* Maximum Number of Addresses (12:8) */
927 +#define LTQ_ES_P0_CTL_REG_MNA024   (0x1f << 8)
928 +#define LTQ_ES_P0_CTL_REG_MNA024_VAL(val)   (((val) & 0x1f) << 8)
929 +#define LTQ_ES_P0_CTL_REG_MNA024_GET(val)   ((((val) & LTQ_ES_P0_CTL_REG_MNA024) >> 8) & 0x1f)
930 +#define LTQ_ES_P0_CTL_REG_MNA024_SET(reg,val) (reg) = ((reg & ~LTQ_ES_P0_CTL_REG_MNA024) | (((val) & 0x1f) << 8))
931 +/* PPPOE Port Only (7) */
932 +#define LTQ_ES_P0_CTL_REG_PPPOEP   (0x1 << 7)
933 +#define LTQ_ES_P0_CTL_REG_PPPOEP_VAL(val)   (((val) & 0x1) << 7)
934 +#define LTQ_ES_P0_CTL_REG_PPPOEP_GET(val)   ((((val) & LTQ_ES_P0_CTL_REG_PPPOEP) >> 7) & 0x1)
935 +#define LTQ_ES_P0_CTL_REG_PPPOEP_SET(reg,val) (reg) = ((reg & ~LTQ_ES_P0_CTL_REG_PPPOEP) | (((val) & 0x1) << 7))
936 +/* PPPOE Manage (6) */
937 +#define LTQ_ES_P0_CTL_REG_PM   (0x1 << 6)
938 +#define LTQ_ES_P0_CTL_REG_PM_VAL(val)   (((val) & 0x1) << 6)
939 +#define LTQ_ES_P0_CTL_REG_PM_GET(val)   ((((val) & LTQ_ES_P0_CTL_REG_PM) >> 6) & 0x1)
940 +#define LTQ_ES_P0_CTL_REG_PM_SET(reg,val) (reg) = ((reg & ~LTQ_ES_P0_CTL_REG_PM) | (((val) & 0x1) << 6))
941 +/* Port Mirror Option (5:4) */
942 +#define LTQ_ES_P0_CTL_REG_IPMO   (0x3 << 4)
943 +#define LTQ_ES_P0_CTL_REG_IPMO_VAL(val)   (((val) & 0x3) << 4)
944 +#define LTQ_ES_P0_CTL_REG_IPMO_GET(val)   ((((val) & LTQ_ES_P0_CTL_REG_IPMO) >> 4) & 0x3)
945 +#define LTQ_ES_P0_CTL_REG_IPMO_SET(reg,val) (reg) = ((reg & ~LTQ_ES_P0_CTL_REG_IPMO) | (((val) & 0x3) << 4))
946 +/* 802.1x Port Authorized state (3:2) */
947 +#define LTQ_ES_P0_CTL_REG_PAS   (0x3 << 2)
948 +#define LTQ_ES_P0_CTL_REG_PAS_VAL(val)   (((val) & 0x3) << 2)
949 +#define LTQ_ES_P0_CTL_REG_PAS_GET(val)   ((((val) & LTQ_ES_P0_CTL_REG_PAS) >> 2) & 0x3)
950 +#define LTQ_ES_P0_CTL_REG_PAS_SET(reg,val) (reg) = ((reg & ~LTQ_ES_P0_CTL_REG_PAS) | (((val) & 0x3) << 2))
951 +/* Drop Scheme for voilation 802.1x (1) */
952 +#define LTQ_ES_P0_CTL_REG_DSV8021X   (0x1 << 1)
953 +#define LTQ_ES_P0_CTL_REG_DSV8021X_VAL(val)   (((val) & 0x1) << 1)
954 +#define LTQ_ES_P0_CTL_REG_DSV8021X_GET(val)   ((((val) & LTQ_ES_P0_CTL_REG_DSV8021X) >> 1) & 0x1)
955 +#define LTQ_ES_P0_CTL_REG_DSV8021X_SET(reg,val) (reg) = ((reg & ~LTQ_ES_P0_CTL_REG_DSV8021X) | (((val) & 0x1) << 1))
956 +/* ByPass Mode for Output (0) */
957 +#define LTQ_ES_P0_CTL_REG_BYPASS   (0x1)
958 +#define LTQ_ES_P0_CTL_REG_BYPASS_VAL(val)   (((val) & 0x1) << 0)
959 +#define LTQ_ES_P0_CTL_REG_BYPASS_GET(val)   ((((val) & LTQ_ES_P0_CTL_REG_BYPASS) >> 0) & 0x1)
960 +#define LTQ_ES_P0_CTL_REG_BYPASS_SET(reg,val) (reg) = ((reg & ~LTQ_ES_P0_CTL_REG_BYPASS) | (((val) & 0x1) << 0))
961 +
962 +/*******************************************************************************
963 + * Port 0 VLAN Control Register
964 + ******************************************************************************/
965 +
966 +/* Default FID (31:30) */
967 +#define LTQ_ES_P0_VLAN_REG_DFID   (0x3 << 30)
968 +#define LTQ_ES_P0_VLAN_REG_DFID_VAL(val)   (((val) & 0x3) << 30)
969 +#define LTQ_ES_P0_VLAN_REG_DFID_GET(val)   ((((val) & LTQ_ES_P0_VLAN_REG_DFID) >> 30) & 0x3)
970 +#define LTQ_ES_P0_VLAN_REG_DFID_SET(reg,val) (reg) = ((reg & ~LTQ_ES_P0_VLAN_REG_DFID) | (((val) & 0x3) << 30))
971 +/* Tagged Base VLAN Enable (29) */
972 +#define LTQ_ES_P0_VLAN_REG_TBVE   (0x1 << 29)
973 +#define LTQ_ES_P0_VLAN_REG_TBVE_VAL(val)   (((val) & 0x1) << 29)
974 +#define LTQ_ES_P0_VLAN_REG_TBVE_GET(val)   ((((val) & LTQ_ES_P0_VLAN_REG_TBVE) >> 29) & 0x1)
975 +#define LTQ_ES_P0_VLAN_REG_TBVE_SET(reg,val) (reg) = ((reg & ~LTQ_ES_P0_VLAN_REG_TBVE) | (((val) & 0x1) << 29))
976 +/* Input Force No TAG Enable (28) */
977 +#define LTQ_ES_P0_VLAN_REG_IFNTE   (0x1 << 28)
978 +#define LTQ_ES_P0_VLAN_REG_IFNTE_VAL(val)   (((val) & 0x1) << 28)
979 +#define LTQ_ES_P0_VLAN_REG_IFNTE_GET(val)   ((((val) & LTQ_ES_P0_VLAN_REG_IFNTE) >> 28) & 0x1)
980 +#define LTQ_ES_P0_VLAN_REG_IFNTE_SET(reg,val) (reg) = ((reg & ~LTQ_ES_P0_VLAN_REG_IFNTE) | (((val) & 0x1) << 28))
981 +/* VID Check with the VID table (27) */
982 +#define LTQ_ES_P0_VLAN_REG_VC   (0x1 << 27)
983 +#define LTQ_ES_P0_VLAN_REG_VC_VAL(val)   (((val) & 0x1) << 27)
984 +#define LTQ_ES_P0_VLAN_REG_VC_GET(val)   ((((val) & LTQ_ES_P0_VLAN_REG_VC) >> 27) & 0x1)
985 +#define LTQ_ES_P0_VLAN_REG_VC_SET(reg,val) (reg) = ((reg & ~LTQ_ES_P0_VLAN_REG_VC) | (((val) & 0x1) << 27))
986 +/* VLAN Security Disable (26) */
987 +#define LTQ_ES_P0_VLAN_REG_VSD   (0x1 << 26)
988 +#define LTQ_ES_P0_VLAN_REG_VSD_VAL(val)   (((val) & 0x1) << 26)
989 +#define LTQ_ES_P0_VLAN_REG_VSD_GET(val)   ((((val) & LTQ_ES_P0_VLAN_REG_VSD) >> 26) & 0x1)
990 +#define LTQ_ES_P0_VLAN_REG_VSD_SET(reg,val) (reg) = ((reg & ~LTQ_ES_P0_VLAN_REG_VSD) | (((val) & 0x1) << 26))
991 +/* Admit Only VLAN_Tagged Packet (25) */
992 +#define LTQ_ES_P0_VLAN_REG_AOVTP   (0x1 << 25)
993 +#define LTQ_ES_P0_VLAN_REG_AOVTP_VAL(val)   (((val) & 0x1) << 25)
994 +#define LTQ_ES_P0_VLAN_REG_AOVTP_GET(val)   ((((val) & LTQ_ES_P0_VLAN_REG_AOVTP) >> 25) & 0x1)
995 +#define LTQ_ES_P0_VLAN_REG_AOVTP_SET(reg,val) (reg) = ((reg & ~LTQ_ES_P0_VLAN_REG_AOVTP) | (((val) & 0x1) << 25))
996 +/* VLAN Member Check Enable (24) */
997 +#define LTQ_ES_P0_VLAN_REG_VMCE   (0x1 << 24)
998 +#define LTQ_ES_P0_VLAN_REG_VMCE_VAL(val)   (((val) & 0x1) << 24)
999 +#define LTQ_ES_P0_VLAN_REG_VMCE_GET(val)   ((((val) & LTQ_ES_P0_VLAN_REG_VMCE) >> 24) & 0x1)
1000 +#define LTQ_ES_P0_VLAN_REG_VMCE_SET(reg,val) (reg) = ((reg & ~LTQ_ES_P0_VLAN_REG_VMCE) | (((val) & 0x1) << 24))
1001 +/* Reserved (23:19) */
1002 +#define LTQ_ES_P0_VLAN_REG_RES   (0x1f << 19)
1003 +#define LTQ_ES_P0_VLAN_REG_RES_GET(val)   ((((val) & LTQ_ES_P0_VLAN_REG_RES) >> 19) & 0x1f)
1004 +/* Default VLAN Port Map (18:16) */
1005 +#define LTQ_ES_P0_VLAN_REG_DVPM   (0x7 << 16)
1006 +#define LTQ_ES_P0_VLAN_REG_DVPM_VAL(val)   (((val) & 0x7) << 16)
1007 +#define LTQ_ES_P0_VLAN_REG_DVPM_GET(val)   ((((val) & LTQ_ES_P0_VLAN_REG_DVPM) >> 16) & 0x7)
1008 +#define LTQ_ES_P0_VLAN_REG_DVPM_SET(reg,val) (reg) = ((reg & ~LTQ_ES_P0_VLAN_REG_DVPM) | (((val) & 0x7) << 16))
1009 +/* Port Priority (15:14) */
1010 +#define LTQ_ES_P0_VLAN_REG_PP   (0x3 << 14)
1011 +#define LTQ_ES_P0_VLAN_REG_PP_VAL(val)   (((val) & 0x3) << 14)
1012 +#define LTQ_ES_P0_VLAN_REG_PP_GET(val)   ((((val) & LTQ_ES_P0_VLAN_REG_PP) >> 14) & 0x3)
1013 +#define LTQ_ES_P0_VLAN_REG_PP_SET(reg,val) (reg) = ((reg & ~LTQ_ES_P0_VLAN_REG_PP) | (((val) & 0x3) << 14))
1014 +/* Port Priority Enable (13) */
1015 +#define LTQ_ES_P0_VLAN_REG_PPE   (0x1 << 13)
1016 +#define LTQ_ES_P0_VLAN_REG_PPE_VAL(val)   (((val) & 0x1) << 13)
1017 +#define LTQ_ES_P0_VLAN_REG_PPE_GET(val)   ((((val) & LTQ_ES_P0_VLAN_REG_PPE) >> 13) & 0x1)
1018 +#define LTQ_ES_P0_VLAN_REG_PPE_SET(reg,val) (reg) = ((reg & ~LTQ_ES_P0_VLAN_REG_PPE) | (((val) & 0x1) << 13))
1019 +/* Portbase VLAN tag member for Port 0 (12) */
1020 +#define LTQ_ES_P0_VLAN_REG_PVTAGMP   (0x1 << 12)
1021 +#define LTQ_ES_P0_VLAN_REG_PVTAGMP_VAL(val)   (((val) & 0x1) << 12)
1022 +#define LTQ_ES_P0_VLAN_REG_PVTAGMP_GET(val)   ((((val) & LTQ_ES_P0_VLAN_REG_PVTAGMP) >> 12) & 0x1)
1023 +#define LTQ_ES_P0_VLAN_REG_PVTAGMP_SET(reg,val) (reg) = ((reg & ~LTQ_ES_P0_VLAN_REG_PVTAGMP) | (((val) & 0x1) << 12))
1024 +/* PVID (11:0) */
1025 +#define LTQ_ES_P0_VLAN_REG_PVID   (0xfff)
1026 +#define LTQ_ES_P0_VLAN_REG_PVID_VAL(val)   (((val) & 0xfff) << 0)
1027 +#define LTQ_ES_P0_VLAN_REG_PVID_GET(val)   ((((val) & LTQ_ES_P0_VLAN_REG_PVID) >> 0) & 0xfff)
1028 +#define LTQ_ES_P0_VLAN_REG_PVID_SET(reg,val) (reg) = ((reg & ~LTQ_ES_P0_VLAN_REG_PVID) | (((val) & 0xfff) << 0))
1029 +
1030 +/*******************************************************************************
1031 + * Port 0 Ingress Control Register
1032 + ******************************************************************************/
1033 +
1034 +/* Reserved  (31:13) */
1035 +#define LTQ_ES_P0_INCTL_REG_RES   (0x7ffff << 13)
1036 +#define LTQ_ES_P0_INCTL_REG_RES_GET(val)   ((((val) & LTQ_ES_P0_INCTL_REG_RES) >> 13) & 0x7ffff)
1037 +/* Port 0 Ingress/Egress Timer Tick T selection (12:11) */
1038 +#define LTQ_ES_P0_INCTL_REG_P0ITT   (0x3 << 11)
1039 +#define LTQ_ES_P0_INCTL_REG_P0ITT_VAL(val)   (((val) & 0x3) << 11)
1040 +#define LTQ_ES_P0_INCTL_REG_P0ITT_GET(val)   ((((val) & LTQ_ES_P0_INCTL_REG_P0ITT) >> 11) & 0x3)
1041 +#define LTQ_ES_P0_INCTL_REG_P0ITT_SET(reg,val) (reg) = ((reg & ~LTQ_ES_P0_INCTL_REG_P0ITT) | (((val) & 0x3) << 11))
1042 +/* Port 0 Igress Token R (10:0) */
1043 +#define LTQ_ES_P0_INCTL_REG_P0ITR   (0x7ff)
1044 +#define LTQ_ES_P0_INCTL_REG_P0ITR_VAL(val)   (((val) & 0x7ff) << 0)
1045 +#define LTQ_ES_P0_INCTL_REG_P0ITR_GET(val)   ((((val) & LTQ_ES_P0_INCTL_REG_P0ITR) >> 0) & 0x7ff)
1046 +#define LTQ_ES_P0_INCTL_REG_P0ITR_SET(reg,val) (reg) = ((reg & ~LTQ_ES_P0_INCTL_REG_P0ITR) | (((val) & 0x7ff) << 0))
1047 +
1048 +/*******************************************************************************
1049 + * Port 0 Egress Control for Strict Q32 Register
1050 + ******************************************************************************/
1051 +
1052 +/* Port 0 Egress Token R for Strict Priority Q3 (26:16) */
1053 +#define LTQ_ES_P0_ECS_Q32_REG_P0SPQ3TR   (0x7ff << 16)
1054 +#define LTQ_ES_P0_ECS_Q32_REG_P0SPQ3TR_VAL(val)   (((val) & 0x7ff) << 16)
1055 +#define LTQ_ES_P0_ECS_Q32_REG_P0SPQ3TR_GET(val)   ((((val) & LTQ_ES_P0_ECS_Q32_REG_P0SPQ3TR) >> 16) & 0x7ff)
1056 +#define LTQ_ES_P0_ECS_Q32_REG_P0SPQ3TR_SET(reg,val) (reg) = ((reg & ~LTQ_ES_P0_ECS_Q32_REG_P0SPQ3TR) | (((val) & 0x7ff) << 16))
1057 +/* Port 0 Egress Token R for Strict Priority Q2 (10:0) */
1058 +#define LTQ_ES_P0_ECS_Q32_REG_P0SPQ2TR   (0x7ff)
1059 +#define LTQ_ES_P0_ECS_Q32_REG_P0SPQ2TR_VAL(val)   (((val) & 0x7ff) << 0)
1060 +#define LTQ_ES_P0_ECS_Q32_REG_P0SPQ2TR_GET(val)   ((((val) & LTQ_ES_P0_ECS_Q32_REG_P0SPQ2TR) >> 0) & 0x7ff)
1061 +#define LTQ_ES_P0_ECS_Q32_REG_P0SPQ2TR_SET(reg,val) (reg) = ((reg & ~LTQ_ES_P0_ECS_Q32_REG_P0SPQ2TR) | (((val) & 0x7ff) << 0))
1062 +
1063 +/*******************************************************************************
1064 + * Port 0 Egress Control for Strict Q10 Register
1065 + ******************************************************************************/
1066 +
1067 +/* Reserved  (31:27) */
1068 +#define LTQ_ES_P0_ECS_Q10_REG_RES   (0x1f << 27)
1069 +#define LTQ_ES_P0_ECS_Q10_REG_RES_GET(val)   ((((val) & LTQ_ES_P0_ECS_Q10_REG_RES) >> 27) & 0x1f)
1070 +/* Port 0 Egress Token R for Strict Priority Q1 (26:16) */
1071 +#define LTQ_ES_P0_ECS_Q10_REG_P0SPQ1TR   (0x7ff << 16)
1072 +#define LTQ_ES_P0_ECS_Q10_REG_P0SPQ1TR_VAL(val)   (((val) & 0x7ff) << 16)
1073 +#define LTQ_ES_P0_ECS_Q10_REG_P0SPQ1TR_GET(val)   ((((val) & LTQ_ES_P0_ECS_Q10_REG_P0SPQ1TR) >> 16) & 0x7ff)
1074 +#define LTQ_ES_P0_ECS_Q10_REG_P0SPQ1TR_SET(reg,val) (reg) = ((reg & ~LTQ_ES_P0_ECS_Q10_REG_P0SPQ1TR) | (((val) & 0x7ff) << 16))
1075 +/* Port 0 Egress Token R for Strict Priority Q0 (10:0) */
1076 +#define LTQ_ES_P0_ECS_Q10_REG_P0SPQ0TR   (0x7ff)
1077 +#define LTQ_ES_P0_ECS_Q10_REG_P0SPQ0TR_VAL(val)   (((val) & 0x7ff) << 0)
1078 +#define LTQ_ES_P0_ECS_Q10_REG_P0SPQ0TR_GET(val)   ((((val) & LTQ_ES_P0_ECS_Q10_REG_P0SPQ0TR) >> 0) & 0x7ff)
1079 +#define LTQ_ES_P0_ECS_Q10_REG_P0SPQ0TR_SET(reg,val) (reg) = ((reg & ~LTQ_ES_P0_ECS_Q10_REG_P0SPQ0TR) | (((val) & 0x7ff) << 0))
1080 +
1081 +/*******************************************************************************
1082 + * Port 0 Egress Control for WFQ Q32 Register
1083 + ******************************************************************************/
1084 +
1085 +/* Reserved  (31:27) */
1086 +#define LTQ_ES_P0_ECW_Q32_REG_RES   (0x1f << 27)
1087 +#define LTQ_ES_P0_ECW_Q32_REG_RES_GET(val)   ((((val) & LTQ_ES_P0_ECW_Q32_REG_RES) >> 27) & 0x1f)
1088 +/* Port 0 Egress Token R for WFQ Q3 (26:16) */
1089 +#define LTQ_ES_P0_ECW_Q32_REG_P0WQ3TR   (0x7ff << 16)
1090 +#define LTQ_ES_P0_ECW_Q32_REG_P0WQ3TR_VAL(val)   (((val) & 0x7ff) << 16)
1091 +#define LTQ_ES_P0_ECW_Q32_REG_P0WQ3TR_GET(val)   ((((val) & LTQ_ES_P0_ECW_Q32_REG_P0WQ3TR) >> 16) & 0x7ff)
1092 +#define LTQ_ES_P0_ECW_Q32_REG_P0WQ3TR_SET(reg,val) (reg) = ((reg & ~LTQ_ES_P0_ECW_Q32_REG_P0WQ3TR) | (((val) & 0x7ff) << 16))
1093 +/* Port 0 Egress Token R for WFQ Q2 (10:0) */
1094 +#define LTQ_ES_P0_ECW_Q32_REG_P0WQ2TR   (0x7ff)
1095 +#define LTQ_ES_P0_ECW_Q32_REG_P0WQ2TR_VAL(val)   (((val) & 0x7ff) << 0)
1096 +#define LTQ_ES_P0_ECW_Q32_REG_P0WQ2TR_GET(val)   ((((val) & LTQ_ES_P0_ECW_Q32_REG_P0WQ2TR) >> 0) & 0x7ff)
1097 +#define LTQ_ES_P0_ECW_Q32_REG_P0WQ2TR_SET(reg,val) (reg) = ((reg & ~LTQ_ES_P0_ECW_Q32_REG_P0WQ2TR) | (((val) & 0x7ff) << 0))
1098 +
1099 +/*******************************************************************************
1100 + * Port 0 Egress Control for WFQ Q10 Register
1101 + ******************************************************************************/
1102 +
1103 +/* Reserved  (31:27) */
1104 +#define LTQ_ES_P0_ECW_Q10_REG_RES   (0x1f << 27)
1105 +#define LTQ_ES_P0_ECW_Q10_REG_RES_GET(val)   ((((val) & LTQ_ES_P0_ECW_Q10_REG_RES) >> 27) & 0x1f)
1106 +/* Port 0 Egress Token R for WFQ Q1 (26:16) */
1107 +#define LTQ_ES_P0_ECW_Q10_REG_P0WQ1TR   (0x7ff << 16)
1108 +#define LTQ_ES_P0_ECW_Q10_REG_P0WQ1TR_VAL(val)   (((val) & 0x7ff) << 16)
1109 +#define LTQ_ES_P0_ECW_Q10_REG_P0WQ1TR_GET(val)   ((((val) & LTQ_ES_P0_ECW_Q10_REG_P0WQ1TR) >> 16) & 0x7ff)
1110 +#define LTQ_ES_P0_ECW_Q10_REG_P0WQ1TR_SET(reg,val) (reg) = ((reg & ~LTQ_ES_P0_ECW_Q10_REG_P0WQ1TR) | (((val) & 0x7ff) << 16))
1111 +/* Port 0 Egress Token R for WFQ Q0 (10:0) */
1112 +#define LTQ_ES_P0_ECW_Q10_REG_P0WQ0TR   (0x7ff)
1113 +#define LTQ_ES_P0_ECW_Q10_REG_P0WQ0TR_VAL(val)   (((val) & 0x7ff) << 0)
1114 +#define LTQ_ES_P0_ECW_Q10_REG_P0WQ0TR_GET(val)   ((((val) & LTQ_ES_P0_ECW_Q10_REG_P0WQ0TR) >> 0) & 0x7ff)
1115 +#define LTQ_ES_P0_ECW_Q10_REG_P0WQ0TR_SET(reg,val) (reg) = ((reg & ~LTQ_ES_P0_ECW_Q10_REG_P0WQ0TR) | (((val) & 0x7ff) << 0))
1116 +
1117 +/*******************************************************************************
1118 + * Interrupt Enable Register
1119 + ******************************************************************************/
1120 +
1121 +/* Reserved (31:8) */
1122 +#define LTQ_ES_INT_ENA_REG_RES   (0xffffff << 8)
1123 +#define LTQ_ES_INT_ENA_REG_RES_GET(val)   ((((val) & LTQ_ES_INT_ENA_REG_RES) >> 8) & 0xffffff)
1124 +/* Data Buffer is Full Interrupt Enable (7) */
1125 +#define LTQ_ES_INT_ENA_REG_DBFIE   (0x1 << 7)
1126 +#define LTQ_ES_INT_ENA_REG_DBFIE_VAL(val)   (((val) & 0x1) << 7)
1127 +#define LTQ_ES_INT_ENA_REG_DBFIE_GET(val)   ((((val) & LTQ_ES_INT_ENA_REG_DBFIE) >> 7) & 0x1)
1128 +#define LTQ_ES_INT_ENA_REG_DBFIE_SET(reg,val) (reg) = ((reg & ~LTQ_ES_INT_ENA_REG_DBFIE) | (((val) & 0x1) << 7))
1129 +/* Data Buffer is nearly Full Interrupt Enable (6) */
1130 +#define LTQ_ES_INT_ENA_REG_DBNFIE   (0x1 << 6)
1131 +#define LTQ_ES_INT_ENA_REG_DBNFIE_VAL(val)   (((val) & 0x1) << 6)
1132 +#define LTQ_ES_INT_ENA_REG_DBNFIE_GET(val)   ((((val) & LTQ_ES_INT_ENA_REG_DBNFIE) >> 6) & 0x1)
1133 +#define LTQ_ES_INT_ENA_REG_DBNFIE_SET(reg,val) (reg) = ((reg & ~LTQ_ES_INT_ENA_REG_DBNFIE) | (((val) & 0x1) << 6))
1134 +/* Learning Table Full Interrupt Enable (5) */
1135 +#define LTQ_ES_INT_ENA_REG_LTFIE   (0x1 << 5)
1136 +#define LTQ_ES_INT_ENA_REG_LTFIE_VAL(val)   (((val) & 0x1) << 5)
1137 +#define LTQ_ES_INT_ENA_REG_LTFIE_GET(val)   ((((val) & LTQ_ES_INT_ENA_REG_LTFIE) >> 5) & 0x1)
1138 +#define LTQ_ES_INT_ENA_REG_LTFIE_SET(reg,val) (reg) = ((reg & ~LTQ_ES_INT_ENA_REG_LTFIE) | (((val) & 0x1) << 5))
1139 +/* Leaning Table Access Done Interrupt Enable (4) */
1140 +#define LTQ_ES_INT_ENA_REG_LTADIE   (0x1 << 4)
1141 +#define LTQ_ES_INT_ENA_REG_LTADIE_VAL(val)   (((val) & 0x1) << 4)
1142 +#define LTQ_ES_INT_ENA_REG_LTADIE_GET(val)   ((((val) & LTQ_ES_INT_ENA_REG_LTADIE) >> 4) & 0x1)
1143 +#define LTQ_ES_INT_ENA_REG_LTADIE_SET(reg,val) (reg) = ((reg & ~LTQ_ES_INT_ENA_REG_LTADIE) | (((val) & 0x1) << 4))
1144 +/* Port Security Violation Interrupt Enable (3:1) */
1145 +#define LTQ_ES_INT_ENA_REG_PSVIE   (0x7 << 1)
1146 +#define LTQ_ES_INT_ENA_REG_PSVIE_VAL(val)   (((val) & 0x7) << 1)
1147 +#define LTQ_ES_INT_ENA_REG_PSVIE_GET(val)   ((((val) & LTQ_ES_INT_ENA_REG_PSVIE) >> 1) & 0x7)
1148 +#define LTQ_ES_INT_ENA_REG_PSVIE_SET(reg,val) (reg) = ((reg & ~LTQ_ES_INT_ENA_REG_PSVIE) | (((val) & 0x7) << 1))
1149 +/* Port Status Change Interrupt Enable (0) */
1150 +#define LTQ_ES_INT_ENA_REG_PSCIE   (0x1)
1151 +#define LTQ_ES_INT_ENA_REG_PSCIE_VAL(val)   (((val) & 0x1) << 0)
1152 +#define LTQ_ES_INT_ENA_REG_PSCIE_GET(val)   ((((val) & LTQ_ES_INT_ENA_REG_PSCIE) >> 0) & 0x1)
1153 +#define LTQ_ES_INT_ENA_REG_PSCIE_SET(reg,val) (reg) = ((reg & ~LTQ_ES_INT_ENA_REG_PSCIE) | (((val) & 0x1) << 0))
1154 +
1155 +/*******************************************************************************
1156 + * Interrupt Status Register
1157 + ******************************************************************************/
1158 +
1159 +/* Reserved (31:8) */
1160 +#define LTQ_ES_INT_ST_REG_RES   (0xffffff << 8)
1161 +#define LTQ_ES_INT_ST_REG_RES_GET(val)   ((((val) & LTQ_ES_INT_ST_REG_RES) >> 8) & 0xffffff)
1162 +/* Data Buffer is Full (7) */
1163 +#define LTQ_ES_INT_ST_REG_DBF   (0x1 << 7)
1164 +#define LTQ_ES_INT_ST_REG_DBF_GET(val)   ((((val) & LTQ_ES_INT_ST_REG_DBF) >> 7) & 0x1)
1165 +/* Data Buffer is nearly Full (6) */
1166 +#define LTQ_ES_INT_ST_REG_DBNF   (0x1 << 6)
1167 +#define LTQ_ES_INT_ST_REG_DBNF_GET(val)   ((((val) & LTQ_ES_INT_ST_REG_DBNF) >> 6) & 0x1)
1168 +/* Learning Table Full (5) */
1169 +#define LTQ_ES_INT_ST_REG_LTF   (0x1 << 5)
1170 +#define LTQ_ES_INT_ST_REG_LTF_GET(val)   ((((val) & LTQ_ES_INT_ST_REG_LTF) >> 5) & 0x1)
1171 +/* Leaning Table Access Done (4) */
1172 +#define LTQ_ES_INT_ST_REG_LTAD   (0x1 << 4)
1173 +#define LTQ_ES_INT_ST_REG_LTAD_GET(val)   ((((val) & LTQ_ES_INT_ST_REG_LTAD) >> 4) & 0x1)
1174 +/* Port Security Violation (3:1) */
1175 +#define LTQ_ES_INT_ST_REG_PSV   (0x7 << 1)
1176 +#define LTQ_ES_INT_ST_REG_PSV_GET(val)   ((((val) & LTQ_ES_INT_ST_REG_PSV) >> 1) & 0x7)
1177 +/* Port Status Change (0) */
1178 +#define LTQ_ES_INT_ST_REG_PSC   (0x1)
1179 +#define LTQ_ES_INT_ST_REG_PSC_GET(val)   ((((val) & LTQ_ES_INT_ST_REG_PSC) >> 0) & 0x1)
1180 +
1181 +/*******************************************************************************
1182 + * Switch Global Control Register 0
1183 + ******************************************************************************/
1184 +
1185 +/* Switch Enable (31) */
1186 +#define LTQ_ES_SW_GCTL0_REG_SE   (0x1 << 31)
1187 +#define LTQ_ES_SW_GCTL0_REG_SE_VAL(val)   (((val) & 0x1) << 31)
1188 +#define LTQ_ES_SW_GCTL0_REG_SE_GET(val)   ((((val) & LTQ_ES_SW_GCTL0_REG_SE) >> 31) & 0x1)
1189 +#define LTQ_ES_SW_GCTL0_REG_SE_SET(reg,val) (reg) = ((reg & ~LTQ_ES_SW_GCTL0_REG_SE) | (((val) & 0x1) << 31))
1190 +/* CRC Check Disable (30) */
1191 +#define LTQ_ES_SW_GCTL0_REG_ICRCCD   (0x1 << 30)
1192 +#define LTQ_ES_SW_GCTL0_REG_ICRCCD_VAL(val)   (((val) & 0x1) << 30)
1193 +#define LTQ_ES_SW_GCTL0_REG_ICRCCD_GET(val)   ((((val) & LTQ_ES_SW_GCTL0_REG_ICRCCD) >> 30) & 0x1)
1194 +#define LTQ_ES_SW_GCTL0_REG_ICRCCD_SET(reg,val) (reg) = ((reg & ~LTQ_ES_SW_GCTL0_REG_ICRCCD) | (((val) & 0x1) << 30))
1195 +/* Replace VID0 (28) */
1196 +#define LTQ_ES_SW_GCTL0_REG_RVID0   (0x1 << 28)
1197 +#define LTQ_ES_SW_GCTL0_REG_RVID0_VAL(val)   (((val) & 0x1) << 28)
1198 +#define LTQ_ES_SW_GCTL0_REG_RVID0_GET(val)   ((((val) & LTQ_ES_SW_GCTL0_REG_RVID0) >> 28) & 0x1)
1199 +#define LTQ_ES_SW_GCTL0_REG_RVID0_SET(reg,val) (reg) = ((reg & ~LTQ_ES_SW_GCTL0_REG_RVID0) | (((val) & 0x1) << 28))
1200 +/* Replace VID1 (27) */
1201 +#define LTQ_ES_SW_GCTL0_REG_RVID1   (0x1 << 27)
1202 +#define LTQ_ES_SW_GCTL0_REG_RVID1_VAL(val)   (((val) & 0x1) << 27)
1203 +#define LTQ_ES_SW_GCTL0_REG_RVID1_GET(val)   ((((val) & LTQ_ES_SW_GCTL0_REG_RVID1) >> 27) & 0x1)
1204 +#define LTQ_ES_SW_GCTL0_REG_RVID1_SET(reg,val) (reg) = ((reg & ~LTQ_ES_SW_GCTL0_REG_RVID1) | (((val) & 0x1) << 27))
1205 +/* Replace VIDFFF (26) */
1206 +#define LTQ_ES_SW_GCTL0_REG_RVIDFFF   (0x1 << 26)
1207 +#define LTQ_ES_SW_GCTL0_REG_RVIDFFF_VAL(val)   (((val) & 0x1) << 26)
1208 +#define LTQ_ES_SW_GCTL0_REG_RVIDFFF_GET(val)   ((((val) & LTQ_ES_SW_GCTL0_REG_RVIDFFF) >> 26) & 0x1)
1209 +#define LTQ_ES_SW_GCTL0_REG_RVIDFFF_SET(reg,val) (reg) = ((reg & ~LTQ_ES_SW_GCTL0_REG_RVIDFFF) | (((val) & 0x1) << 26))
1210 +/* Priority Change Rule (25) */
1211 +#define LTQ_ES_SW_GCTL0_REG_PCR   (0x1 << 25)
1212 +#define LTQ_ES_SW_GCTL0_REG_PCR_VAL(val)   (((val) & 0x1) << 25)
1213 +#define LTQ_ES_SW_GCTL0_REG_PCR_GET(val)   ((((val) & LTQ_ES_SW_GCTL0_REG_PCR) >> 25) & 0x1)
1214 +#define LTQ_ES_SW_GCTL0_REG_PCR_SET(reg,val) (reg) = ((reg & ~LTQ_ES_SW_GCTL0_REG_PCR) | (((val) & 0x1) << 25))
1215 +/* Priority Change Enable (24) */
1216 +#define LTQ_ES_SW_GCTL0_REG_PCE   (0x1 << 24)
1217 +#define LTQ_ES_SW_GCTL0_REG_PCE_VAL(val)   (((val) & 0x1) << 24)
1218 +#define LTQ_ES_SW_GCTL0_REG_PCE_GET(val)   ((((val) & LTQ_ES_SW_GCTL0_REG_PCE) >> 24) & 0x1)
1219 +#define LTQ_ES_SW_GCTL0_REG_PCE_SET(reg,val) (reg) = ((reg & ~LTQ_ES_SW_GCTL0_REG_PCE) | (((val) & 0x1) << 24))
1220 +/* Transmit Short IPG Enable (23) */
1221 +#define LTQ_ES_SW_GCTL0_REG_TSIPGE   (0x1 << 23)
1222 +#define LTQ_ES_SW_GCTL0_REG_TSIPGE_VAL(val)   (((val) & 0x1) << 23)
1223 +#define LTQ_ES_SW_GCTL0_REG_TSIPGE_GET(val)   ((((val) & LTQ_ES_SW_GCTL0_REG_TSIPGE) >> 23) & 0x1)
1224 +#define LTQ_ES_SW_GCTL0_REG_TSIPGE_SET(reg,val) (reg) = ((reg & ~LTQ_ES_SW_GCTL0_REG_TSIPGE) | (((val) & 0x1) << 23))
1225 +/* PHY Base Address (22) */
1226 +#define LTQ_ES_SW_GCTL0_REG_PHYBA   (0x1 << 22)
1227 +#define LTQ_ES_SW_GCTL0_REG_PHYBA_VAL(val)   (((val) & 0x1) << 22)
1228 +#define LTQ_ES_SW_GCTL0_REG_PHYBA_GET(val)   ((((val) & LTQ_ES_SW_GCTL0_REG_PHYBA) >> 22) & 0x1)
1229 +#define LTQ_ES_SW_GCTL0_REG_PHYBA_SET(reg,val) (reg) = ((reg & ~LTQ_ES_SW_GCTL0_REG_PHYBA) | (((val) & 0x1) << 22))
1230 +/* Drop Packet When Excessive Collision Happen (21) */
1231 +#define LTQ_ES_SW_GCTL0_REG_DPWECH   (0x1 << 21)
1232 +#define LTQ_ES_SW_GCTL0_REG_DPWECH_VAL(val)   (((val) & 0x1) << 21)
1233 +#define LTQ_ES_SW_GCTL0_REG_DPWECH_GET(val)   ((((val) & LTQ_ES_SW_GCTL0_REG_DPWECH) >> 21) & 0x1)
1234 +#define LTQ_ES_SW_GCTL0_REG_DPWECH_SET(reg,val) (reg) = ((reg & ~LTQ_ES_SW_GCTL0_REG_DPWECH) | (((val) & 0x1) << 21))
1235 +/* Aging Timer Select (20:18) */
1236 +#define LTQ_ES_SW_GCTL0_REG_ATS   (0x7 << 18)
1237 +#define LTQ_ES_SW_GCTL0_REG_ATS_VAL(val)   (((val) & 0x7) << 18)
1238 +#define LTQ_ES_SW_GCTL0_REG_ATS_GET(val)   ((((val) & LTQ_ES_SW_GCTL0_REG_ATS) >> 18) & 0x7)
1239 +#define LTQ_ES_SW_GCTL0_REG_ATS_SET(reg,val) (reg) = ((reg & ~LTQ_ES_SW_GCTL0_REG_ATS) | (((val) & 0x7) << 18))
1240 +/* Mirror CRC Also (17) */
1241 +#define LTQ_ES_SW_GCTL0_REG_MCA   (0x1 << 17)
1242 +#define LTQ_ES_SW_GCTL0_REG_MCA_VAL(val)   (((val) & 0x1) << 17)
1243 +#define LTQ_ES_SW_GCTL0_REG_MCA_GET(val)   ((((val) & LTQ_ES_SW_GCTL0_REG_MCA) >> 17) & 0x1)
1244 +#define LTQ_ES_SW_GCTL0_REG_MCA_SET(reg,val) (reg) = ((reg & ~LTQ_ES_SW_GCTL0_REG_MCA) | (((val) & 0x1) << 17))
1245 +/* Mirror RXER Also (16) */
1246 +#define LTQ_ES_SW_GCTL0_REG_MRA   (0x1 << 16)
1247 +#define LTQ_ES_SW_GCTL0_REG_MRA_VAL(val)   (((val) & 0x1) << 16)
1248 +#define LTQ_ES_SW_GCTL0_REG_MRA_GET(val)   ((((val) & LTQ_ES_SW_GCTL0_REG_MRA) >> 16) & 0x1)
1249 +#define LTQ_ES_SW_GCTL0_REG_MRA_SET(reg,val) (reg) = ((reg & ~LTQ_ES_SW_GCTL0_REG_MRA) | (((val) & 0x1) << 16))
1250 +/* Mirror PAUSE Also (15) */
1251 +#define LTQ_ES_SW_GCTL0_REG_MPA   (0x1 << 15)
1252 +#define LTQ_ES_SW_GCTL0_REG_MPA_VAL(val)   (((val) & 0x1) << 15)
1253 +#define LTQ_ES_SW_GCTL0_REG_MPA_GET(val)   ((((val) & LTQ_ES_SW_GCTL0_REG_MPA) >> 15) & 0x1)
1254 +#define LTQ_ES_SW_GCTL0_REG_MPA_SET(reg,val) (reg) = ((reg & ~LTQ_ES_SW_GCTL0_REG_MPA) | (((val) & 0x1) << 15))
1255 +/* Mirror Long Also (14) */
1256 +#define LTQ_ES_SW_GCTL0_REG_MLA   (0x1 << 14)
1257 +#define LTQ_ES_SW_GCTL0_REG_MLA_VAL(val)   (((val) & 0x1) << 14)
1258 +#define LTQ_ES_SW_GCTL0_REG_MLA_GET(val)   ((((val) & LTQ_ES_SW_GCTL0_REG_MLA) >> 14) & 0x1)
1259 +#define LTQ_ES_SW_GCTL0_REG_MLA_SET(reg,val) (reg) = ((reg & ~LTQ_ES_SW_GCTL0_REG_MLA) | (((val) & 0x1) << 14))
1260 +/* Mirror Short Also (13) */
1261 +#define LTQ_ES_SW_GCTL0_REG_MSA   (0x1 << 13)
1262 +#define LTQ_ES_SW_GCTL0_REG_MSA_VAL(val)   (((val) & 0x1) << 13)
1263 +#define LTQ_ES_SW_GCTL0_REG_MSA_GET(val)   ((((val) & LTQ_ES_SW_GCTL0_REG_MSA) >> 13) & 0x1)
1264 +#define LTQ_ES_SW_GCTL0_REG_MSA_SET(reg,val) (reg) = ((reg & ~LTQ_ES_SW_GCTL0_REG_MSA) | (((val) & 0x1) << 13))
1265 +/* Sniffer port number (12:11) */
1266 +#define LTQ_ES_SW_GCTL0_REG_SNIFFPN   (0x3 << 11)
1267 +#define LTQ_ES_SW_GCTL0_REG_SNIFFPN_VAL(val)   (((val) & 0x3) << 11)
1268 +#define LTQ_ES_SW_GCTL0_REG_SNIFFPN_GET(val)   ((((val) & LTQ_ES_SW_GCTL0_REG_SNIFFPN) >> 11) & 0x3)
1269 +#define LTQ_ES_SW_GCTL0_REG_SNIFFPN_SET(reg,val) (reg) = ((reg & ~LTQ_ES_SW_GCTL0_REG_SNIFFPN) | (((val) & 0x3) << 11))
1270 +/* Max Packet Length (MAXPKTLEN) (9:8) */
1271 +#define LTQ_ES_SW_GCTL0_REG_MPL   (0x3 << 8)
1272 +#define LTQ_ES_SW_GCTL0_REG_MPL_VAL(val)   (((val) & 0x3) << 8)
1273 +#define LTQ_ES_SW_GCTL0_REG_MPL_GET(val)   ((((val) & LTQ_ES_SW_GCTL0_REG_MPL) >> 8) & 0x3)
1274 +#define LTQ_ES_SW_GCTL0_REG_MPL_SET(reg,val) (reg) = ((reg & ~LTQ_ES_SW_GCTL0_REG_MPL) | (((val) & 0x3) << 8))
1275 +/* Discard Mode (Drop scheme for Packets Classified as Q3) (7:6) */
1276 +#define LTQ_ES_SW_GCTL0_REG_DMQ3   (0x3 << 6)
1277 +#define LTQ_ES_SW_GCTL0_REG_DMQ3_VAL(val)   (((val) & 0x3) << 6)
1278 +#define LTQ_ES_SW_GCTL0_REG_DMQ3_GET(val)   ((((val) & LTQ_ES_SW_GCTL0_REG_DMQ3) >> 6) & 0x3)
1279 +#define LTQ_ES_SW_GCTL0_REG_DMQ3_SET(reg,val) (reg) = ((reg & ~LTQ_ES_SW_GCTL0_REG_DMQ3) | (((val) & 0x3) << 6))
1280 +/* Discard Mode (Drop scheme for Packets Classified as Q2) (5:4) */
1281 +#define LTQ_ES_SW_GCTL0_REG_DMQ2   (0x3 << 4)
1282 +#define LTQ_ES_SW_GCTL0_REG_DMQ2_VAL(val)   (((val) & 0x3) << 4)
1283 +#define LTQ_ES_SW_GCTL0_REG_DMQ2_GET(val)   ((((val) & LTQ_ES_SW_GCTL0_REG_DMQ2) >> 4) & 0x3)
1284 +#define LTQ_ES_SW_GCTL0_REG_DMQ2_SET(reg,val) (reg) = ((reg & ~LTQ_ES_SW_GCTL0_REG_DMQ2) | (((val) & 0x3) << 4))
1285 +/* Discard Mode (Drop scheme for Packets Classified as Q1) (3:2) */
1286 +#define LTQ_ES_SW_GCTL0_REG_DMQ1   (0x3 << 2)
1287 +#define LTQ_ES_SW_GCTL0_REG_DMQ1_VAL(val)   (((val) & 0x3) << 2)
1288 +#define LTQ_ES_SW_GCTL0_REG_DMQ1_GET(val)   ((((val) & LTQ_ES_SW_GCTL0_REG_DMQ1) >> 2) & 0x3)
1289 +#define LTQ_ES_SW_GCTL0_REG_DMQ1_SET(reg,val) (reg) = ((reg & ~LTQ_ES_SW_GCTL0_REG_DMQ1) | (((val) & 0x3) << 2))
1290 +/* Discard Mode (Drop scheme for Packets Classified as Q0) (1:0) */
1291 +#define LTQ_ES_SW_GCTL0_REG_DMQ0   (0x3)
1292 +#define LTQ_ES_SW_GCTL0_REG_DMQ0_VAL(val)   (((val) & 0x3) << 0)
1293 +#define LTQ_ES_SW_GCTL0_REG_DMQ0_GET(val)   ((((val) & LTQ_ES_SW_GCTL0_REG_DMQ0) >> 0) & 0x3)
1294 +#define LTQ_ES_SW_GCTL0_REG_DMQ0_SET(reg,val) (reg) = ((reg & ~LTQ_ES_SW_GCTL0_REG_DMQ0) | (((val) & 0x3) << 0))
1295 +
1296 +/*******************************************************************************
1297 + * Switch Global Control Register 1
1298 + ******************************************************************************/
1299 +
1300 +/* BIST Done (27) */
1301 +#define LTQ_ES_SW_GCTL1_REG_BISTDN   (0x1 << 27)
1302 +#define LTQ_ES_SW_GCTL1_REG_BISTDN_GET(val)   ((((val) & LTQ_ES_SW_GCTL1_REG_BISTDN) >> 27) & 0x1)
1303 +/* Enable drop scheme of TX and RX (26) */
1304 +#define LTQ_ES_SW_GCTL1_REG_EDSTX   (0x1 << 26)
1305 +#define LTQ_ES_SW_GCTL1_REG_EDSTX_VAL(val)   (((val) & 0x1) << 26)
1306 +#define LTQ_ES_SW_GCTL1_REG_EDSTX_GET(val)   ((((val) & LTQ_ES_SW_GCTL1_REG_EDSTX) >> 26) & 0x1)
1307 +#define LTQ_ES_SW_GCTL1_REG_EDSTX_SET(reg,val) (reg) = ((reg & ~LTQ_ES_SW_GCTL1_REG_EDSTX) | (((val) & 0x1) << 26))
1308 +/* Congestion threshold for TX queue (25:24) */
1309 +#define LTQ_ES_SW_GCTL1_REG_CTTX   (0x3 << 24)
1310 +#define LTQ_ES_SW_GCTL1_REG_CTTX_VAL(val)   (((val) & 0x3) << 24)
1311 +#define LTQ_ES_SW_GCTL1_REG_CTTX_GET(val)   ((((val) & LTQ_ES_SW_GCTL1_REG_CTTX) >> 24) & 0x3)
1312 +#define LTQ_ES_SW_GCTL1_REG_CTTX_SET(reg,val) (reg) = ((reg & ~LTQ_ES_SW_GCTL1_REG_CTTX) | (((val) & 0x3) << 24))
1313 +/* Input Jam Threshold (23:21) */
1314 +#define LTQ_ES_SW_GCTL1_REG_IJT   (0x7 << 21)
1315 +#define LTQ_ES_SW_GCTL1_REG_IJT_VAL(val)   (((val) & 0x7) << 21)
1316 +#define LTQ_ES_SW_GCTL1_REG_IJT_GET(val)   ((((val) & LTQ_ES_SW_GCTL1_REG_IJT) >> 21) & 0x7)
1317 +#define LTQ_ES_SW_GCTL1_REG_IJT_SET(reg,val) (reg) = ((reg & ~LTQ_ES_SW_GCTL1_REG_IJT) | (((val) & 0x7) << 21))
1318 +/* Do not Identify VLAN after SNAP (20) */
1319 +#define LTQ_ES_SW_GCTL1_REG_DIVS   (0x1 << 20)
1320 +#define LTQ_ES_SW_GCTL1_REG_DIVS_VAL(val)   (((val) & 0x1) << 20)
1321 +#define LTQ_ES_SW_GCTL1_REG_DIVS_GET(val)   ((((val) & LTQ_ES_SW_GCTL1_REG_DIVS) >> 20) & 0x1)
1322 +#define LTQ_ES_SW_GCTL1_REG_DIVS_SET(reg,val) (reg) = ((reg & ~LTQ_ES_SW_GCTL1_REG_DIVS) | (((val) & 0x1) << 20))
1323 +/* Do not Identify IPV6 in PPPOE (19) */
1324 +#define LTQ_ES_SW_GCTL1_REG_DII6P   (0x1 << 19)
1325 +#define LTQ_ES_SW_GCTL1_REG_DII6P_VAL(val)   (((val) & 0x1) << 19)
1326 +#define LTQ_ES_SW_GCTL1_REG_DII6P_GET(val)   ((((val) & LTQ_ES_SW_GCTL1_REG_DII6P) >> 19) & 0x1)
1327 +#define LTQ_ES_SW_GCTL1_REG_DII6P_SET(reg,val) (reg) = ((reg & ~LTQ_ES_SW_GCTL1_REG_DII6P) | (((val) & 0x1) << 19))
1328 +/* Do not Identify IP in PPPOE after SNAP (18) */
1329 +#define LTQ_ES_SW_GCTL1_REG_DIIPS   (0x1 << 18)
1330 +#define LTQ_ES_SW_GCTL1_REG_DIIPS_VAL(val)   (((val) & 0x1) << 18)
1331 +#define LTQ_ES_SW_GCTL1_REG_DIIPS_GET(val)   ((((val) & LTQ_ES_SW_GCTL1_REG_DIIPS) >> 18) & 0x1)
1332 +#define LTQ_ES_SW_GCTL1_REG_DIIPS_SET(reg,val) (reg) = ((reg & ~LTQ_ES_SW_GCTL1_REG_DIIPS) | (((val) & 0x1) << 18))
1333 +/* Do not Identify Ether-Type = 0x0800, IP VER = 6 as IPV6 packets (17) */
1334 +#define LTQ_ES_SW_GCTL1_REG_DIE   (0x1 << 17)
1335 +#define LTQ_ES_SW_GCTL1_REG_DIE_VAL(val)   (((val) & 0x1) << 17)
1336 +#define LTQ_ES_SW_GCTL1_REG_DIE_GET(val)   ((((val) & LTQ_ES_SW_GCTL1_REG_DIE) >> 17) & 0x1)
1337 +#define LTQ_ES_SW_GCTL1_REG_DIE_SET(reg,val) (reg) = ((reg & ~LTQ_ES_SW_GCTL1_REG_DIE) | (((val) & 0x1) << 17))
1338 +/* Do not Identify IP in PPPOE (16) */
1339 +#define LTQ_ES_SW_GCTL1_REG_DIIP   (0x1 << 16)
1340 +#define LTQ_ES_SW_GCTL1_REG_DIIP_VAL(val)   (((val) & 0x1) << 16)
1341 +#define LTQ_ES_SW_GCTL1_REG_DIIP_GET(val)   ((((val) & LTQ_ES_SW_GCTL1_REG_DIIP) >> 16) & 0x1)
1342 +#define LTQ_ES_SW_GCTL1_REG_DIIP_SET(reg,val) (reg) = ((reg & ~LTQ_ES_SW_GCTL1_REG_DIIP) | (((val) & 0x1) << 16))
1343 +/* Do not Identify SNAP (15) */
1344 +#define LTQ_ES_SW_GCTL1_REG_DIS   (0x1 << 15)
1345 +#define LTQ_ES_SW_GCTL1_REG_DIS_VAL(val)   (((val) & 0x1) << 15)
1346 +#define LTQ_ES_SW_GCTL1_REG_DIS_GET(val)   ((((val) & LTQ_ES_SW_GCTL1_REG_DIS) >> 15) & 0x1)
1347 +#define LTQ_ES_SW_GCTL1_REG_DIS_SET(reg,val) (reg) = ((reg & ~LTQ_ES_SW_GCTL1_REG_DIS) | (((val) & 0x1) << 15))
1348 +/* Unicast Portmap (14:12) */
1349 +#define LTQ_ES_SW_GCTL1_REG_UP   (0x7 << 12)
1350 +#define LTQ_ES_SW_GCTL1_REG_UP_VAL(val)   (((val) & 0x7) << 12)
1351 +#define LTQ_ES_SW_GCTL1_REG_UP_GET(val)   ((((val) & LTQ_ES_SW_GCTL1_REG_UP) >> 12) & 0x7)
1352 +#define LTQ_ES_SW_GCTL1_REG_UP_SET(reg,val) (reg) = ((reg & ~LTQ_ES_SW_GCTL1_REG_UP) | (((val) & 0x7) << 12))
1353 +/* Broadcast Portmap (10:8) */
1354 +#define LTQ_ES_SW_GCTL1_REG_BP   (0x7 << 8)
1355 +#define LTQ_ES_SW_GCTL1_REG_BP_VAL(val)   (((val) & 0x7) << 8)
1356 +#define LTQ_ES_SW_GCTL1_REG_BP_GET(val)   ((((val) & LTQ_ES_SW_GCTL1_REG_BP) >> 8) & 0x7)
1357 +#define LTQ_ES_SW_GCTL1_REG_BP_SET(reg,val) (reg) = ((reg & ~LTQ_ES_SW_GCTL1_REG_BP) | (((val) & 0x7) << 8))
1358 +/* Multicast Portmap (6:4) */
1359 +#define LTQ_ES_SW_GCTL1_REG_MP   (0x7 << 4)
1360 +#define LTQ_ES_SW_GCTL1_REG_MP_VAL(val)   (((val) & 0x7) << 4)
1361 +#define LTQ_ES_SW_GCTL1_REG_MP_GET(val)   ((((val) & LTQ_ES_SW_GCTL1_REG_MP) >> 4) & 0x7)
1362 +#define LTQ_ES_SW_GCTL1_REG_MP_SET(reg,val) (reg) = ((reg & ~LTQ_ES_SW_GCTL1_REG_MP) | (((val) & 0x7) << 4))
1363 +/* Reserve Portmap (2:0) */
1364 +#define LTQ_ES_SW_GCTL1_REG_RP   (0x7)
1365 +#define LTQ_ES_SW_GCTL1_REG_RP_VAL(val)   (((val) & 0x7) << 0)
1366 +#define LTQ_ES_SW_GCTL1_REG_RP_GET(val)   ((((val) & LTQ_ES_SW_GCTL1_REG_RP) >> 0) & 0x7)
1367 +#define LTQ_ES_SW_GCTL1_REG_RP_SET(reg,val) (reg) = ((reg & ~LTQ_ES_SW_GCTL1_REG_RP) | (((val) & 0x7) << 0))
1368 +
1369 +/*******************************************************************************
1370 + * ARP/RARP Register
1371 + ******************************************************************************/
1372 +
1373 +/* MAC Control Action (15:14) */
1374 +#define LTQ_ES_ARP_REG_MACA   (0x3 << 14)
1375 +#define LTQ_ES_ARP_REG_MACA_VAL(val)   (((val) & 0x3) << 14)
1376 +#define LTQ_ES_ARP_REG_MACA_GET(val)   ((((val) & LTQ_ES_ARP_REG_MACA) >> 14) & 0x3)
1377 +#define LTQ_ES_ARP_REG_MACA_SET(reg,val) (reg) = ((reg & ~LTQ_ES_ARP_REG_MACA) | (((val) & 0x3) << 14))
1378 +/* Unicast packet Treated as Cross_VLAN packet (13) */
1379 +#define LTQ_ES_ARP_REG_UPT   (0x1 << 13)
1380 +#define LTQ_ES_ARP_REG_UPT_VAL(val)   (((val) & 0x1) << 13)
1381 +#define LTQ_ES_ARP_REG_UPT_GET(val)   ((((val) & LTQ_ES_ARP_REG_UPT) >> 13) & 0x1)
1382 +#define LTQ_ES_ARP_REG_UPT_SET(reg,val) (reg) = ((reg & ~LTQ_ES_ARP_REG_UPT) | (((val) & 0x1) << 13))
1383 +/* RARP Packet Treated as Cross_VLAN Packet (12) */
1384 +#define LTQ_ES_ARP_REG_RPT   (0x1 << 12)
1385 +#define LTQ_ES_ARP_REG_RPT_VAL(val)   (((val) & 0x1) << 12)
1386 +#define LTQ_ES_ARP_REG_RPT_GET(val)   ((((val) & LTQ_ES_ARP_REG_RPT) >> 12) & 0x1)
1387 +#define LTQ_ES_ARP_REG_RPT_SET(reg,val) (reg) = ((reg & ~LTQ_ES_ARP_REG_RPT) | (((val) & 0x1) << 12))
1388 +/* RARP/ARP Packet Action (11:10) */
1389 +#define LTQ_ES_ARP_REG_RAPA   (0x3 << 10)
1390 +#define LTQ_ES_ARP_REG_RAPA_VAL(val)   (((val) & 0x3) << 10)
1391 +#define LTQ_ES_ARP_REG_RAPA_GET(val)   ((((val) & LTQ_ES_ARP_REG_RAPA) >> 10) & 0x3)
1392 +#define LTQ_ES_ARP_REG_RAPA_SET(reg,val) (reg) = ((reg & ~LTQ_ES_ARP_REG_RAPA) | (((val) & 0x3) << 10))
1393 +/* RARP/ARP Packet Priority Enable (9) */
1394 +#define LTQ_ES_ARP_REG_RAPPE   (0x1 << 9)
1395 +#define LTQ_ES_ARP_REG_RAPPE_VAL(val)   (((val) & 0x1) << 9)
1396 +#define LTQ_ES_ARP_REG_RAPPE_GET(val)   ((((val) & LTQ_ES_ARP_REG_RAPPE) >> 9) & 0x1)
1397 +#define LTQ_ES_ARP_REG_RAPPE_SET(reg,val) (reg) = ((reg & ~LTQ_ES_ARP_REG_RAPPE) | (((val) & 0x1) << 9))
1398 +/* RARP/ARP Packet Priority (8:7) */
1399 +#define LTQ_ES_ARP_REG_RAPP   (0x3 << 7)
1400 +#define LTQ_ES_ARP_REG_RAPP_VAL(val)   (((val) & 0x3) << 7)
1401 +#define LTQ_ES_ARP_REG_RAPP_GET(val)   ((((val) & LTQ_ES_ARP_REG_RAPP) >> 7) & 0x3)
1402 +#define LTQ_ES_ARP_REG_RAPP_SET(reg,val) (reg) = ((reg & ~LTQ_ES_ARP_REG_RAPP) | (((val) & 0x3) << 7))
1403 +/* RARP/ARP Packet Output Tag Handle (6:5) */
1404 +#define LTQ_ES_ARP_REG_RAPOTH   (0x3 << 5)
1405 +#define LTQ_ES_ARP_REG_RAPOTH_VAL(val)   (((val) & 0x3) << 5)
1406 +#define LTQ_ES_ARP_REG_RAPOTH_GET(val)   ((((val) & LTQ_ES_ARP_REG_RAPOTH) >> 5) & 0x3)
1407 +#define LTQ_ES_ARP_REG_RAPOTH_SET(reg,val) (reg) = ((reg & ~LTQ_ES_ARP_REG_RAPOTH) | (((val) & 0x3) << 5))
1408 +/* ARP Packet Treated as Cross _ VLAN Packet (4) */
1409 +#define LTQ_ES_ARP_REG_APT   (0x1 << 4)
1410 +#define LTQ_ES_ARP_REG_APT_VAL(val)   (((val) & 0x1) << 4)
1411 +#define LTQ_ES_ARP_REG_APT_GET(val)   ((((val) & LTQ_ES_ARP_REG_APT) >> 4) & 0x1)
1412 +#define LTQ_ES_ARP_REG_APT_SET(reg,val) (reg) = ((reg & ~LTQ_ES_ARP_REG_APT) | (((val) & 0x1) << 4))
1413 +/* RARP/ARP Packet Treated as Management Packet (3) */
1414 +#define LTQ_ES_ARP_REG_RAPTM   (0x1 << 3)
1415 +#define LTQ_ES_ARP_REG_RAPTM_VAL(val)   (((val) & 0x1) << 3)
1416 +#define LTQ_ES_ARP_REG_RAPTM_GET(val)   ((((val) & LTQ_ES_ARP_REG_RAPTM) >> 3) & 0x1)
1417 +#define LTQ_ES_ARP_REG_RAPTM_SET(reg,val) (reg) = ((reg & ~LTQ_ES_ARP_REG_RAPTM) | (((val) & 0x1) << 3))
1418 +/* RARP/ARP Packet Treated as Span Packet (2) */
1419 +#define LTQ_ES_ARP_REG_TAPTS   (0x1 << 2)
1420 +#define LTQ_ES_ARP_REG_TAPTS_VAL(val)   (((val) & 0x1) << 2)
1421 +#define LTQ_ES_ARP_REG_TAPTS_GET(val)   ((((val) & LTQ_ES_ARP_REG_TAPTS) >> 2) & 0x1)
1422 +#define LTQ_ES_ARP_REG_TAPTS_SET(reg,val) (reg) = ((reg & ~LTQ_ES_ARP_REG_TAPTS) | (((val) & 0x1) << 2))
1423 +/* Trap ARP Packet (1) */
1424 +#define LTQ_ES_ARP_REG_TAP   (0x1 << 1)
1425 +#define LTQ_ES_ARP_REG_TAP_VAL(val)   (((val) & 0x1) << 1)
1426 +#define LTQ_ES_ARP_REG_TAP_GET(val)   ((((val) & LTQ_ES_ARP_REG_TAP) >> 1) & 0x1)
1427 +#define LTQ_ES_ARP_REG_TAP_SET(reg,val) (reg) = ((reg & ~LTQ_ES_ARP_REG_TAP) | (((val) & 0x1) << 1))
1428 +/* Trap RARP Packet (0) */
1429 +#define LTQ_ES_ARP_REG_TRP   (0x1)
1430 +#define LTQ_ES_ARP_REG_TRP_VAL(val)   (((val) & 0x1) << 0)
1431 +#define LTQ_ES_ARP_REG_TRP_GET(val)   ((((val) & LTQ_ES_ARP_REG_TRP) >> 0) & 0x1)
1432 +#define LTQ_ES_ARP_REG_TRP_SET(reg,val) (reg) = ((reg & ~LTQ_ES_ARP_REG_TRP) | (((val) & 0x1) << 0))
1433 +
1434 +/*******************************************************************************
1435 + * Storm control Register
1436 + ******************************************************************************/
1437 +
1438 +/* Reserved (31:29) */
1439 +#define LTQ_ES_STRM_CTL_REG_RES   (0x7 << 29)
1440 +#define LTQ_ES_STRM_CTL_REG_RES_GET(val)   ((((val) & LTQ_ES_STRM_CTL_REG_RES) >> 29) & 0x7)
1441 +/* 10M Threshold (28:16) */
1442 +#define LTQ_ES_STRM_CTL_REG_STORM_10_TH   (0x1fff << 16)
1443 +#define LTQ_ES_STRM_CTL_REG_STORM_10_TH_VAL(val)   (((val) & 0x1fff) << 16)
1444 +#define LTQ_ES_STRM_CTL_REG_STORM_10_TH_GET(val)   ((((val) & LTQ_ES_STRM_CTL_REG_STORM_10_TH) >> 16) & 0x1fff)
1445 +#define LTQ_ES_STRM_CTL_REG_STORM_10_TH_SET(reg,val) (reg) = ((reg & ~LTQ_ES_STRM_CTL_REG_STORM_10_TH) | (((val) & 0x1fff) << 16))
1446 +/* Storm Enable for Broadcast Packets (15) */
1447 +#define LTQ_ES_STRM_CTL_REG_STORM_B   (0x1 << 15)
1448 +#define LTQ_ES_STRM_CTL_REG_STORM_B_VAL(val)   (((val) & 0x1) << 15)
1449 +#define LTQ_ES_STRM_CTL_REG_STORM_B_GET(val)   ((((val) & LTQ_ES_STRM_CTL_REG_STORM_B) >> 15) & 0x1)
1450 +#define LTQ_ES_STRM_CTL_REG_STORM_B_SET(reg,val) (reg) = ((reg & ~LTQ_ES_STRM_CTL_REG_STORM_B) | (((val) & 0x1) << 15))
1451 +/* Storm Enable for Multicast Packets (14) */
1452 +#define LTQ_ES_STRM_CTL_REG_STORM_M   (0x1 << 14)
1453 +#define LTQ_ES_STRM_CTL_REG_STORM_M_VAL(val)   (((val) & 0x1) << 14)
1454 +#define LTQ_ES_STRM_CTL_REG_STORM_M_GET(val)   ((((val) & LTQ_ES_STRM_CTL_REG_STORM_M) >> 14) & 0x1)
1455 +#define LTQ_ES_STRM_CTL_REG_STORM_M_SET(reg,val) (reg) = ((reg & ~LTQ_ES_STRM_CTL_REG_STORM_M) | (((val) & 0x1) << 14))
1456 +/* Storm Enable for Un-learned Unicast Packets (13) */
1457 +#define LTQ_ES_STRM_CTL_REG_STORM_U   (0x1 << 13)
1458 +#define LTQ_ES_STRM_CTL_REG_STORM_U_VAL(val)   (((val) & 0x1) << 13)
1459 +#define LTQ_ES_STRM_CTL_REG_STORM_U_GET(val)   ((((val) & LTQ_ES_STRM_CTL_REG_STORM_U) >> 13) & 0x1)
1460 +#define LTQ_ES_STRM_CTL_REG_STORM_U_SET(reg,val) (reg) = ((reg & ~LTQ_ES_STRM_CTL_REG_STORM_U) | (((val) & 0x1) << 13))
1461 +/* 100M Threshold (12:0) */
1462 +#define LTQ_ES_STRM_CTL_REG_STORM_100_TH   (0x1fff)
1463 +#define LTQ_ES_STRM_CTL_REG_STORM_100_TH_VAL(val)   (((val) & 0x1fff) << 0)
1464 +#define LTQ_ES_STRM_CTL_REG_STORM_100_TH_GET(val)   ((((val) & LTQ_ES_STRM_CTL_REG_STORM_100_TH) >> 0) & 0x1fff)
1465 +#define LTQ_ES_STRM_CTL_REG_STORM_100_TH_SET(reg,val) (reg) = ((reg & ~LTQ_ES_STRM_CTL_REG_STORM_100_TH) | (((val) & 0x1fff) << 0))
1466 +
1467 +/*******************************************************************************
1468 + * RGMII/GMII Port Control Register
1469 + ******************************************************************************/
1470 +
1471 +/* Management Clock Select (31:24) */
1472 +#define LTQ_ES_RGMII_CTL_REG_MCS   (0xff << 24)
1473 +#define LTQ_ES_RGMII_CTL_REG_MCS_VAL(val)   (((val) & 0xff) << 24)
1474 +#define LTQ_ES_RGMII_CTL_REG_MCS_GET(val)   ((((val) & LTQ_ES_RGMII_CTL_REG_MCS) >> 24) & 0xff)
1475 +#define LTQ_ES_RGMII_CTL_REG_MCS_SET(reg,val) (reg) = ((reg & ~LTQ_ES_RGMII_CTL_REG_MCS) | (((val) & 0xff) << 24))
1476 +/* Interface Selection (19:18) */
1477 +#define LTQ_ES_RGMII_CTL_REG_IS   (0x3 << 18)
1478 +#define LTQ_ES_RGMII_CTL_REG_IS_GET(val)   ((((val) & LTQ_ES_RGMII_CTL_REG_IS) >> 18) & 0x3)
1479 +/* Port 1 RGMII Rx Clock Delay (17:16) */
1480 +#define LTQ_ES_RGMII_CTL_REG_P1RDLY   (0x3 << 16)
1481 +#define LTQ_ES_RGMII_CTL_REG_P1RDLY_VAL(val)   (((val) & 0x3) << 16)
1482 +#define LTQ_ES_RGMII_CTL_REG_P1RDLY_GET(val)   ((((val) & LTQ_ES_RGMII_CTL_REG_P1RDLY) >> 16) & 0x3)
1483 +#define LTQ_ES_RGMII_CTL_REG_P1RDLY_SET(reg,val) (reg) = ((reg & ~LTQ_ES_RGMII_CTL_REG_P1RDLY) | (((val) & 0x3) << 16))
1484 +/* Port 1 RGMII Tx Clock Delay (15:14) */
1485 +#define LTQ_ES_RGMII_CTL_REG_P1TDLY   (0x3 << 14)
1486 +#define LTQ_ES_RGMII_CTL_REG_P1TDLY_VAL(val)   (((val) & 0x3) << 14)
1487 +#define LTQ_ES_RGMII_CTL_REG_P1TDLY_GET(val)   ((((val) & LTQ_ES_RGMII_CTL_REG_P1TDLY) >> 14) & 0x3)
1488 +#define LTQ_ES_RGMII_CTL_REG_P1TDLY_SET(reg,val) (reg) = ((reg & ~LTQ_ES_RGMII_CTL_REG_P1TDLY) | (((val) & 0x3) << 14))
1489 +/* Port 1 Speed (13:12) */
1490 +#define LTQ_ES_RGMII_CTL_REG_P1SPD   (0x3 << 12)
1491 +#define LTQ_ES_RGMII_CTL_REG_P1SPD_VAL(val)   (((val) & 0x3) << 12)
1492 +#define LTQ_ES_RGMII_CTL_REG_P1SPD_GET(val)   ((((val) & LTQ_ES_RGMII_CTL_REG_P1SPD) >> 12) & 0x3)
1493 +#define LTQ_ES_RGMII_CTL_REG_P1SPD_SET(reg,val) (reg) = ((reg & ~LTQ_ES_RGMII_CTL_REG_P1SPD) | (((val) & 0x3) << 12))
1494 +/* Port 1 Duplex mode (11) */
1495 +#define LTQ_ES_RGMII_CTL_REG_P1DUP   (0x1 << 11)
1496 +#define LTQ_ES_RGMII_CTL_REG_P1DUP_VAL(val)   (((val) & 0x1) << 11)
1497 +#define LTQ_ES_RGMII_CTL_REG_P1DUP_GET(val)   ((((val) & LTQ_ES_RGMII_CTL_REG_P1DUP) >> 11) & 0x1)
1498 +#define LTQ_ES_RGMII_CTL_REG_P1DUP_SET(reg,val) (reg) = ((reg & ~LTQ_ES_RGMII_CTL_REG_P1DUP) | (((val) & 0x1) << 11))
1499 +/* Port 1 Flow Control Enable (10) */
1500 +#define LTQ_ES_RGMII_CTL_REG_P1FCE   (0x1 << 10)
1501 +#define LTQ_ES_RGMII_CTL_REG_P1FCE_VAL(val)   (((val) & 0x1) << 10)
1502 +#define LTQ_ES_RGMII_CTL_REG_P1FCE_GET(val)   ((((val) & LTQ_ES_RGMII_CTL_REG_P1FCE) >> 10) & 0x1)
1503 +#define LTQ_ES_RGMII_CTL_REG_P1FCE_SET(reg,val) (reg) = ((reg & ~LTQ_ES_RGMII_CTL_REG_P1FCE) | (((val) & 0x1) << 10))
1504 +/* Port 0 RGMII Rx Clock Delay (7:6) */
1505 +#define LTQ_ES_RGMII_CTL_REG_P0RDLY   (0x3 << 6)
1506 +#define LTQ_ES_RGMII_CTL_REG_P0RDLY_VAL(val)   (((val) & 0x3) << 6)
1507 +#define LTQ_ES_RGMII_CTL_REG_P0RDLY_GET(val)   ((((val) & LTQ_ES_RGMII_CTL_REG_P0RDLY) >> 6) & 0x3)
1508 +#define LTQ_ES_RGMII_CTL_REG_P0RDLY_SET(reg,val) (reg) = ((reg & ~LTQ_ES_RGMII_CTL_REG_P0RDLY) | (((val) & 0x3) << 6))
1509 +/* Port 0 RGMII Tx Clock Delay (5:4) */
1510 +#define LTQ_ES_RGMII_CTL_REG_P0TDLY   (0x3 << 4)
1511 +#define LTQ_ES_RGMII_CTL_REG_P0TDLY_VAL(val)   (((val) & 0x3) << 4)
1512 +#define LTQ_ES_RGMII_CTL_REG_P0TDLY_GET(val)   ((((val) & LTQ_ES_RGMII_CTL_REG_P0TDLY) >> 4) & 0x3)
1513 +#define LTQ_ES_RGMII_CTL_REG_P0TDLY_SET(reg,val) (reg) = ((reg & ~LTQ_ES_RGMII_CTL_REG_P0TDLY) | (((val) & 0x3) << 4))
1514 +/* Port 0 Speed (3:2) */
1515 +#define LTQ_ES_RGMII_CTL_REG_P0SPD   (0x3 << 2)
1516 +#define LTQ_ES_RGMII_CTL_REG_P0SPD_VAL(val)   (((val) & 0x3) << 2)
1517 +#define LTQ_ES_RGMII_CTL_REG_P0SPD_GET(val)   ((((val) & LTQ_ES_RGMII_CTL_REG_P0SPD) >> 2) & 0x3)
1518 +#define LTQ_ES_RGMII_CTL_REG_P0SPD_SET(reg,val) (reg) = ((reg & ~LTQ_ES_RGMII_CTL_REG_P0SPD) | (((val) & 0x3) << 2))
1519 +/* Port 0 Duplex mode (1) */
1520 +#define LTQ_ES_RGMII_CTL_REG_P0DUP   (0x1 << 1)
1521 +#define LTQ_ES_RGMII_CTL_REG_P0DUP_VAL(val)   (((val) & 0x1) << 1)
1522 +#define LTQ_ES_RGMII_CTL_REG_P0DUP_GET(val)   ((((val) & LTQ_ES_RGMII_CTL_REG_P0DUP) >> 1) & 0x1)
1523 +#define LTQ_ES_RGMII_CTL_REG_P0DUP_SET(reg,val) (reg) = ((reg & ~LTQ_ES_RGMII_CTL_REG_P0DUP) | (((val) & 0x1) << 1))
1524 +/* Port 0 Flow Control Enable (0) */
1525 +#define LTQ_ES_RGMII_CTL_REG_P0FCE   (0x1)
1526 +#define LTQ_ES_RGMII_CTL_REG_P0FCE_VAL(val)   (((val) & 0x1) << 0)
1527 +#define LTQ_ES_RGMII_CTL_REG_P0FCE_GET(val)   ((((val) & LTQ_ES_RGMII_CTL_REG_P0FCE) >> 0) & 0x1)
1528 +#define LTQ_ES_RGMII_CTL_REG_P0FCE_SET(reg,val) (reg) = ((reg & ~LTQ_ES_RGMII_CTL_REG_P0FCE) | (((val) & 0x1) << 0))
1529 +
1530 +/*******************************************************************************
1531 + * 802.1p Priority Map Register
1532 + ******************************************************************************/
1533 +
1534 +/* Priority Queue 7 (15:14) */
1535 +#define LTQ_ES_PRT_1P_REG_1PPQ7   (0x3 << 14)
1536 +#define LTQ_ES_PRT_1P_REG_1PPQ7_VAL(val)   (((val) & 0x3) << 14)
1537 +#define LTQ_ES_PRT_1P_REG_1PPQ7_GET(val)   ((((val) & LTQ_ES_PRT_1P_REG_1PPQ7) >> 14) & 0x3)
1538 +#define LTQ_ES_PRT_1P_REG_1PPQ7_SET(reg,val) (reg) = ((reg & ~LTQ_ES_PRT_1P_REG_1PPQ7) | (((val) & 0x3) << 14))
1539 +/* Priority Queue 6 (13:12) */
1540 +#define LTQ_ES_PRT_1P_REG_1PPQ6   (0x3 << 12)
1541 +#define LTQ_ES_PRT_1P_REG_1PPQ6_VAL(val)   (((val) & 0x3) << 12)
1542 +#define LTQ_ES_PRT_1P_REG_1PPQ6_GET(val)   ((((val) & LTQ_ES_PRT_1P_REG_1PPQ6) >> 12) & 0x3)
1543 +#define LTQ_ES_PRT_1P_REG_1PPQ6_SET(reg,val) (reg) = ((reg & ~LTQ_ES_PRT_1P_REG_1PPQ6) | (((val) & 0x3) << 12))
1544 +/* Priority Queue 5 (11:10) */
1545 +#define LTQ_ES_PRT_1P_REG_1PPQ5   (0x3 << 10)
1546 +#define LTQ_ES_PRT_1P_REG_1PPQ5_VAL(val)   (((val) & 0x3) << 10)
1547 +#define LTQ_ES_PRT_1P_REG_1PPQ5_GET(val)   ((((val) & LTQ_ES_PRT_1P_REG_1PPQ5) >> 10) & 0x3)
1548 +#define LTQ_ES_PRT_1P_REG_1PPQ5_SET(reg,val) (reg) = ((reg & ~LTQ_ES_PRT_1P_REG_1PPQ5) | (((val) & 0x3) << 10))
1549 +/* Priority Queue 4 (9:8) */
1550 +#define LTQ_ES_PRT_1P_REG_1PPQ4   (0x3 << 8)
1551 +#define LTQ_ES_PRT_1P_REG_1PPQ4_VAL(val)   (((val) & 0x3) << 8)
1552 +#define LTQ_ES_PRT_1P_REG_1PPQ4_GET(val)   ((((val) & LTQ_ES_PRT_1P_REG_1PPQ4) >> 8) & 0x3)
1553 +#define LTQ_ES_PRT_1P_REG_1PPQ4_SET(reg,val) (reg) = ((reg & ~LTQ_ES_PRT_1P_REG_1PPQ4) | (((val) & 0x3) << 8))
1554 +/* Priority Queue 3 (7:6) */
1555 +#define LTQ_ES_PRT_1P_REG_1PPQ3   (0x3 << 6)
1556 +#define LTQ_ES_PRT_1P_REG_1PPQ3_VAL(val)   (((val) & 0x3) << 6)
1557 +#define LTQ_ES_PRT_1P_REG_1PPQ3_GET(val)   ((((val) & LTQ_ES_PRT_1P_REG_1PPQ3) >> 6) & 0x3)
1558 +#define LTQ_ES_PRT_1P_REG_1PPQ3_SET(reg,val) (reg) = ((reg & ~LTQ_ES_PRT_1P_REG_1PPQ3) | (((val) & 0x3) << 6))
1559 +/* Priority Queue 2 (5:4) */
1560 +#define LTQ_ES_PRT_1P_REG_1PPQ2   (0x3 << 4)
1561 +#define LTQ_ES_PRT_1P_REG_1PPQ2_VAL(val)   (((val) & 0x3) << 4)
1562 +#define LTQ_ES_PRT_1P_REG_1PPQ2_GET(val)   ((((val) & LTQ_ES_PRT_1P_REG_1PPQ2) >> 4) & 0x3)
1563 +#define LTQ_ES_PRT_1P_REG_1PPQ2_SET(reg,val) (reg) = ((reg & ~LTQ_ES_PRT_1P_REG_1PPQ2) | (((val) & 0x3) << 4))
1564 +/* Priority Queue 1 (3:2) */
1565 +#define LTQ_ES_PRT_1P_REG_1PPQ1   (0x3 << 2)
1566 +#define LTQ_ES_PRT_1P_REG_1PPQ1_VAL(val)   (((val) & 0x3) << 2)
1567 +#define LTQ_ES_PRT_1P_REG_1PPQ1_GET(val)   ((((val) & LTQ_ES_PRT_1P_REG_1PPQ1) >> 2) & 0x3)
1568 +#define LTQ_ES_PRT_1P_REG_1PPQ1_SET(reg,val) (reg) = ((reg & ~LTQ_ES_PRT_1P_REG_1PPQ1) | (((val) & 0x3) << 2))
1569 +/* Priority Queue 0 (1:0) */
1570 +#define LTQ_ES_PRT_1P_REG_1PPQ0   (0x3)
1571 +#define LTQ_ES_PRT_1P_REG_1PPQ0_VAL(val)   (((val) & 0x3) << 0)
1572 +#define LTQ_ES_PRT_1P_REG_1PPQ0_GET(val)   ((((val) & LTQ_ES_PRT_1P_REG_1PPQ0) >> 0) & 0x3)
1573 +#define LTQ_ES_PRT_1P_REG_1PPQ0_SET(reg,val) (reg) = ((reg & ~LTQ_ES_PRT_1P_REG_1PPQ0) | (((val) & 0x3) << 0))
1574 +
1575 +/*******************************************************************************
1576 + * Global Bucket Size Base counter
1577 + ******************************************************************************/
1578 +
1579 +/* Reserved (31:18) */
1580 +#define LTQ_ES_GBKT_SZBS_REG_REV   (0x3fff << 18)
1581 +#define LTQ_ES_GBKT_SZBS_REG_REV_GET(val)   ((((val) & LTQ_ES_GBKT_SZBS_REG_REV) >> 18) & 0x3fff)
1582 +/* Base[17:0] (17:0) */
1583 +#define LTQ_ES_GBKT_SZBS_REG_BASE17_0   (0x3ffff)
1584 +#define LTQ_ES_GBKT_SZBS_REG_BASE17_0_VAL(val)   (((val) & 0x3ffff) << 0)
1585 +#define LTQ_ES_GBKT_SZBS_REG_BASE17_0_GET(val)   ((((val) & LTQ_ES_GBKT_SZBS_REG_BASE17_0) >> 0) & 0x3ffff)
1586 +#define LTQ_ES_GBKT_SZBS_REG_BASE17_0_SET(reg,val) (reg) = ((reg & ~LTQ_ES_GBKT_SZBS_REG_BASE17_0) | (((val) & 0x3ffff) << 0))
1587 +
1588 +/*******************************************************************************
1589 + * Global Bucket Size Extend Base Counter
1590 + ******************************************************************************/
1591 +
1592 +/* Reserved (31:18) */
1593 +#define LTQ_ES_GBKT_SZEBS_REG_REV   (0x3fff << 18)
1594 +#define LTQ_ES_GBKT_SZEBS_REG_REV_GET(val)   ((((val) & LTQ_ES_GBKT_SZEBS_REG_REV) >> 18) & 0x3fff)
1595 +/* Extend Base[17:0] (17:0) */
1596 +#define LTQ_ES_GBKT_SZEBS_REG_EBASE17_0   (0x3ffff)
1597 +#define LTQ_ES_GBKT_SZEBS_REG_EBASE17_0_VAL(val)   (((val) & 0x3ffff) << 0)
1598 +#define LTQ_ES_GBKT_SZEBS_REG_EBASE17_0_GET(val)   ((((val) & LTQ_ES_GBKT_SZEBS_REG_EBASE17_0) >> 0) & 0x3ffff)
1599 +#define LTQ_ES_GBKT_SZEBS_REG_EBASE17_0_SET(reg,val) (reg) = ((reg & ~LTQ_ES_GBKT_SZEBS_REG_EBASE17_0) | (((val) & 0x3ffff) << 0))
1600 +
1601 +/*******************************************************************************
1602 + * Buffer Threshold Register
1603 + ******************************************************************************/
1604 +
1605 +/* Port Unfull Offset 3 (31:30) */
1606 +#define LTQ_ES_BF_TH_REG_PUO3   (0x3 << 30)
1607 +#define LTQ_ES_BF_TH_REG_PUO3_VAL(val)   (((val) & 0x3) << 30)
1608 +#define LTQ_ES_BF_TH_REG_PUO3_GET(val)   ((((val) & LTQ_ES_BF_TH_REG_PUO3) >> 30) & 0x3)
1609 +#define LTQ_ES_BF_TH_REG_PUO3_SET(reg,val) (reg) = ((reg & ~LTQ_ES_BF_TH_REG_PUO3) | (((val) & 0x3) << 30))
1610 +/* Port Unfull Offset 2 (29:28) */
1611 +#define LTQ_ES_BF_TH_REG_PUO2   (0x3 << 28)
1612 +#define LTQ_ES_BF_TH_REG_PUO2_VAL(val)   (((val) & 0x3) << 28)
1613 +#define LTQ_ES_BF_TH_REG_PUO2_GET(val)   ((((val) & LTQ_ES_BF_TH_REG_PUO2) >> 28) & 0x3)
1614 +#define LTQ_ES_BF_TH_REG_PUO2_SET(reg,val) (reg) = ((reg & ~LTQ_ES_BF_TH_REG_PUO2) | (((val) & 0x3) << 28))
1615 +/* Port Unfull Offset 1 (27:26) */
1616 +#define LTQ_ES_BF_TH_REG_PUO1   (0x3 << 26)
1617 +#define LTQ_ES_BF_TH_REG_PUO1_VAL(val)   (((val) & 0x3) << 26)
1618 +#define LTQ_ES_BF_TH_REG_PUO1_GET(val)   ((((val) & LTQ_ES_BF_TH_REG_PUO1) >> 26) & 0x3)
1619 +#define LTQ_ES_BF_TH_REG_PUO1_SET(reg,val) (reg) = ((reg & ~LTQ_ES_BF_TH_REG_PUO1) | (((val) & 0x3) << 26))
1620 +/* Port Unfull Offset 0 (25:24) */
1621 +#define LTQ_ES_BF_TH_REG_PUO0   (0x3 << 24)
1622 +#define LTQ_ES_BF_TH_REG_PUO0_VAL(val)   (((val) & 0x3) << 24)
1623 +#define LTQ_ES_BF_TH_REG_PUO0_GET(val)   ((((val) & LTQ_ES_BF_TH_REG_PUO0) >> 24) & 0x3)
1624 +#define LTQ_ES_BF_TH_REG_PUO0_SET(reg,val) (reg) = ((reg & ~LTQ_ES_BF_TH_REG_PUO0) | (((val) & 0x3) << 24))
1625 +/* Port Full Offset 3 (23:22) */
1626 +#define LTQ_ES_BF_TH_REG_PFO3   (0x3 << 22)
1627 +#define LTQ_ES_BF_TH_REG_PFO3_VAL(val)   (((val) & 0x3) << 22)
1628 +#define LTQ_ES_BF_TH_REG_PFO3_GET(val)   ((((val) & LTQ_ES_BF_TH_REG_PFO3) >> 22) & 0x3)
1629 +#define LTQ_ES_BF_TH_REG_PFO3_SET(reg,val) (reg) = ((reg & ~LTQ_ES_BF_TH_REG_PFO3) | (((val) & 0x3) << 22))
1630 +/* Port Full Offset 2 (21:20) */
1631 +#define LTQ_ES_BF_TH_REG_PFO2   (0x3 << 20)
1632 +#define LTQ_ES_BF_TH_REG_PFO2_VAL(val)   (((val) & 0x3) << 20)
1633 +#define LTQ_ES_BF_TH_REG_PFO2_GET(val)   ((((val) & LTQ_ES_BF_TH_REG_PFO2) >> 20) & 0x3)
1634 +#define LTQ_ES_BF_TH_REG_PFO2_SET(reg,val) (reg) = ((reg & ~LTQ_ES_BF_TH_REG_PFO2) | (((val) & 0x3) << 20))
1635 +/* Port Full Offset 1 (19:18) */
1636 +#define LTQ_ES_BF_TH_REG_PFO1   (0x3 << 18)
1637 +#define LTQ_ES_BF_TH_REG_PFO1_VAL(val)   (((val) & 0x3) << 18)
1638 +#define LTQ_ES_BF_TH_REG_PFO1_GET(val)   ((((val) & LTQ_ES_BF_TH_REG_PFO1) >> 18) & 0x3)
1639 +#define LTQ_ES_BF_TH_REG_PFO1_SET(reg,val) (reg) = ((reg & ~LTQ_ES_BF_TH_REG_PFO1) | (((val) & 0x3) << 18))
1640 +/* Port Full Offset 0 (17:16) */
1641 +#define LTQ_ES_BF_TH_REG_PFO0   (0x3 << 16)
1642 +#define LTQ_ES_BF_TH_REG_PFO0_VAL(val)   (((val) & 0x3) << 16)
1643 +#define LTQ_ES_BF_TH_REG_PFO0_GET(val)   ((((val) & LTQ_ES_BF_TH_REG_PFO0) >> 16) & 0x3)
1644 +#define LTQ_ES_BF_TH_REG_PFO0_SET(reg,val) (reg) = ((reg & ~LTQ_ES_BF_TH_REG_PFO0) | (((val) & 0x3) << 16))
1645 +/* Reserved (15:14) */
1646 +#define LTQ_ES_BF_TH_REG_RES   (0x3 << 14)
1647 +#define LTQ_ES_BF_TH_REG_RES_GET(val)   ((((val) & LTQ_ES_BF_TH_REG_RES) >> 14) & 0x3)
1648 +/* Total Low Add (13) */
1649 +#define LTQ_ES_BF_TH_REG_TLA   (0x1 << 13)
1650 +#define LTQ_ES_BF_TH_REG_TLA_VAL(val)   (((val) & 0x1) << 13)
1651 +#define LTQ_ES_BF_TH_REG_TLA_GET(val)   ((((val) & LTQ_ES_BF_TH_REG_TLA) >> 13) & 0x1)
1652 +#define LTQ_ES_BF_TH_REG_TLA_SET(reg,val) (reg) = ((reg & ~LTQ_ES_BF_TH_REG_TLA) | (((val) & 0x1) << 13))
1653 +/* Total High Add (12) */
1654 +#define LTQ_ES_BF_TH_REG_THA   (0x1 << 12)
1655 +#define LTQ_ES_BF_TH_REG_THA_VAL(val)   (((val) & 0x1) << 12)
1656 +#define LTQ_ES_BF_TH_REG_THA_GET(val)   ((((val) & LTQ_ES_BF_TH_REG_THA) >> 12) & 0x1)
1657 +#define LTQ_ES_BF_TH_REG_THA_SET(reg,val) (reg) = ((reg & ~LTQ_ES_BF_TH_REG_THA) | (((val) & 0x1) << 12))
1658 +/* Total Low Offset (11:10) */
1659 +#define LTQ_ES_BF_TH_REG_TLO   (0x3 << 10)
1660 +#define LTQ_ES_BF_TH_REG_TLO_VAL(val)   (((val) & 0x3) << 10)
1661 +#define LTQ_ES_BF_TH_REG_TLO_GET(val)   ((((val) & LTQ_ES_BF_TH_REG_TLO) >> 10) & 0x3)
1662 +#define LTQ_ES_BF_TH_REG_TLO_SET(reg,val) (reg) = ((reg & ~LTQ_ES_BF_TH_REG_TLO) | (((val) & 0x3) << 10))
1663 +/* Total High Offset (9:8) */
1664 +#define LTQ_ES_BF_TH_REG_THO   (0x3 << 8)
1665 +#define LTQ_ES_BF_TH_REG_THO_VAL(val)   (((val) & 0x3) << 8)
1666 +#define LTQ_ES_BF_TH_REG_THO_GET(val)   ((((val) & LTQ_ES_BF_TH_REG_THO) >> 8) & 0x3)
1667 +#define LTQ_ES_BF_TH_REG_THO_SET(reg,val) (reg) = ((reg & ~LTQ_ES_BF_TH_REG_THO) | (((val) & 0x3) << 8))
1668 +/* Port Unfull Add (7:4) */
1669 +#define LTQ_ES_BF_TH_REG_PUA   (0xf << 4)
1670 +#define LTQ_ES_BF_TH_REG_PUA_VAL(val)   (((val) & 0xf) << 4)
1671 +#define LTQ_ES_BF_TH_REG_PUA_GET(val)   ((((val) & LTQ_ES_BF_TH_REG_PUA) >> 4) & 0xf)
1672 +#define LTQ_ES_BF_TH_REG_PUA_SET(reg,val) (reg) = ((reg & ~LTQ_ES_BF_TH_REG_PUA) | (((val) & 0xf) << 4))
1673 +/* Port Full Add (3:0) */
1674 +#define LTQ_ES_BF_TH_REG_PFA   (0xf)
1675 +#define LTQ_ES_BF_TH_REG_PFA_VAL(val)   (((val) & 0xf) << 0)
1676 +#define LTQ_ES_BF_TH_REG_PFA_GET(val)   ((((val) & LTQ_ES_BF_TH_REG_PFA) >> 0) & 0xf)
1677 +#define LTQ_ES_BF_TH_REG_PFA_SET(reg,val) (reg) = ((reg & ~LTQ_ES_BF_TH_REG_PFA) | (((val) & 0xf) << 0))
1678 +
1679 +/*******************************************************************************
1680 + * PMAC Header Control Register
1681 + ******************************************************************************/
1682 +
1683 +/* Reserved (31:22) */
1684 +#define LTQ_ES_PMAC_HD_CTL_RES   (0x3ff << 22)
1685 +#define LTQ_ES_PMAC_HD_CTL_RES_GET(val)   ((((val) & LTQ_ES_PMAC_HD_CTL_RES) >> 22) & 0x3ff)
1686 +/* Remove Layer-2 Header from Packets Going from PMAC to DMA (21) */
1687 +#define LTQ_ES_PMAC_HD_CTL_RL2   (0x1 << 21)
1688 +#define LTQ_ES_PMAC_HD_CTL_RL2_VAL(val)   (((val) & 0x1) << 21)
1689 +#define LTQ_ES_PMAC_HD_CTL_RL2_GET(val)   ((((val) & LTQ_ES_PMAC_HD_CTL_RL2) >> 21) & 0x1)
1690 +#define LTQ_ES_PMAC_HD_CTL_RL2_SET(reg,val) (reg) = ((reg & ~LTQ_ES_PMAC_HD_CTL_RL2) | (((val) & 0x1) << 21))
1691 +/* Remove CRC from Packets Going from PMAC to DMA (20) */
1692 +#define LTQ_ES_PMAC_HD_CTL_RC   (0x1 << 20)
1693 +#define LTQ_ES_PMAC_HD_CTL_RC_VAL(val)   (((val) & 0x1) << 20)
1694 +#define LTQ_ES_PMAC_HD_CTL_RC_GET(val)   ((((val) & LTQ_ES_PMAC_HD_CTL_RC) >> 20) & 0x1)
1695 +#define LTQ_ES_PMAC_HD_CTL_RC_SET(reg,val) (reg) = ((reg & ~LTQ_ES_PMAC_HD_CTL_RC) | (((val) & 0x1) << 20))
1696 +/* Status Header for Packets from PMAC to DMA (19) */
1697 +#define LTQ_ES_PMAC_HD_CTL_AS   (0x1 << 19)
1698 +#define LTQ_ES_PMAC_HD_CTL_AS_VAL(val)   (((val) & 0x1) << 19)
1699 +#define LTQ_ES_PMAC_HD_CTL_AS_GET(val)   ((((val) & LTQ_ES_PMAC_HD_CTL_AS) >> 19) & 0x1)
1700 +#define LTQ_ES_PMAC_HD_CTL_AS_SET(reg,val) (reg) = ((reg & ~LTQ_ES_PMAC_HD_CTL_AS) | (((val) & 0x1) << 19))
1701 +/* Add CRC for packets from DMA to PMAC (18) */
1702 +#define LTQ_ES_PMAC_HD_CTL_AC   (0x1 << 18)
1703 +#define LTQ_ES_PMAC_HD_CTL_AC_VAL(val)   (((val) & 0x1) << 18)
1704 +#define LTQ_ES_PMAC_HD_CTL_AC_GET(val)   ((((val) & LTQ_ES_PMAC_HD_CTL_AC) >> 18) & 0x1)
1705 +#define LTQ_ES_PMAC_HD_CTL_AC_SET(reg,val) (reg) = ((reg & ~LTQ_ES_PMAC_HD_CTL_AC) | (((val) & 0x1) << 18))
1706 +/* Contains the length/type value to the added to packets from DMA to PMAC (17:2) */
1707 +#define LTQ_ES_PMAC_HD_CTL_TYPE_LEN   (0xffff << 2)
1708 +#define LTQ_ES_PMAC_HD_CTL_TYPE_LEN_VAL(val)   (((val) & 0xffff) << 2)
1709 +#define LTQ_ES_PMAC_HD_CTL_TYPE_LEN_GET(val)   ((((val) & LTQ_ES_PMAC_HD_CTL_TYPE_LEN) >> 2) & 0xffff)
1710 +#define LTQ_ES_PMAC_HD_CTL_TYPE_LEN_SET(reg,val) (reg) = ((reg & ~LTQ_ES_PMAC_HD_CTL_TYPE_LEN) | (((val) & 0xffff) << 2))
1711 +/* Add TAG to Packets from DMA to PMAC (1) */
1712 +#define LTQ_ES_PMAC_HD_CTL_TAG   (0x1 << 1)
1713 +#define LTQ_ES_PMAC_HD_CTL_TAG_VAL(val)   (((val) & 0x1) << 1)
1714 +#define LTQ_ES_PMAC_HD_CTL_TAG_GET(val)   ((((val) & LTQ_ES_PMAC_HD_CTL_TAG) >> 1) & 0x1)
1715 +#define LTQ_ES_PMAC_HD_CTL_TAG_SET(reg,val) (reg) = ((reg & ~LTQ_ES_PMAC_HD_CTL_TAG) | (((val) & 0x1) << 1))
1716 +/* ADD Header to Packets from DMA to PMAC (0) */
1717 +#define LTQ_ES_PMAC_HD_CTL_ADD   (0x1)
1718 +#define LTQ_ES_PMAC_HD_CTL_ADD_VAL(val)   (((val) & 0x1) << 0)
1719 +#define LTQ_ES_PMAC_HD_CTL_ADD_GET(val)   ((((val) & LTQ_ES_PMAC_HD_CTL_ADD) >> 0) & 0x1)
1720 +#define LTQ_ES_PMAC_HD_CTL_ADD_SET(reg,val) (reg) = ((reg & ~LTQ_ES_PMAC_HD_CTL_ADD) | (((val) & 0x1) << 0))
1721 +
1722 +/*******************************************************************************
1723 + * PMAC Source Address Register 1
1724 + ******************************************************************************/
1725 +
1726 +/* Source Address to be inserted as a part of the Ethernet header. (15:0) */
1727 +#define LTQ_ES_PMAC_SA1_SA_47_32   (0xffff)
1728 +#define LTQ_ES_PMAC_SA1_SA_47_32_VAL(val)   (((val) & 0xffff) << 0)
1729 +#define LTQ_ES_PMAC_SA1_SA_47_32_GET(val)   ((((val) & LTQ_ES_PMAC_SA1_SA_47_32) >> 0) & 0xffff)
1730 +#define LTQ_ES_PMAC_SA1_SA_47_32_SET(reg,val) (reg) = ((reg & ~LTQ_ES_PMAC_SA1_SA_47_32) | (((val) & 0xffff) << 0))
1731 +
1732 +/*******************************************************************************
1733 + * PMAC Source Address Register 2
1734 + ******************************************************************************/
1735 +
1736 +/* Source Address (31:0) */
1737 +#define LTQ_ES_PMAC_SA2_SA_31_0   (0xFFFFFFFFL)
1738 +#define LTQ_ES_PMAC_SA2_SA_31_0_VAL(val)   (((val) & 0xFFFFFFFFL) << 0)
1739 +#define LTQ_ES_PMAC_SA2_SA_31_0_GET(val)   ((((val) & LTQ_ES_PMAC_SA2_SA_31_0) >> 0) & 0xFFFFFFFFL)
1740 +#define LTQ_ES_PMAC_SA2_SA_31_0_SET(reg,val) (reg) = ((reg & ~LTQ_ES_PMAC_SA2_SA_31_0) | (((val) & 0xFFFFFFFFL) << 0))
1741 +
1742 +/*******************************************************************************
1743 + * PMAC Destination Address Register 1
1744 + ******************************************************************************/
1745 +
1746 +/* Destination Address (15:0) */
1747 +#define LTQ_ES_PMAC_DA1_DA_47_32   (0xffff)
1748 +#define LTQ_ES_PMAC_DA1_DA_47_32_VAL(val)   (((val) & 0xffff) << 0)
1749 +#define LTQ_ES_PMAC_DA1_DA_47_32_GET(val)   ((((val) & LTQ_ES_PMAC_DA1_DA_47_32) >> 0) & 0xffff)
1750 +#define LTQ_ES_PMAC_DA1_DA_47_32_SET(reg,val) (reg) = ((reg & ~LTQ_ES_PMAC_DA1_DA_47_32) | (((val) & 0xffff) << 0))
1751 +
1752 +/*******************************************************************************
1753 + * PMAC Destination Address Register 2
1754 + ******************************************************************************/
1755 +
1756 +/* Destination Address to be inserted as a part of the Ethernet header. (31:0) */
1757 +#define LTQ_ES_PMAC_DA2_DA_31_0   (0xFFFFFFFFL)
1758 +#define LTQ_ES_PMAC_DA2_DA_31_0_VAL(val)   (((val) & 0xFFFFFFFFL) << 0)
1759 +#define LTQ_ES_PMAC_DA2_DA_31_0_GET(val)   ((((val) & LTQ_ES_PMAC_DA2_DA_31_0) >> 0) & 0xFFFFFFFFL)
1760 +#define LTQ_ES_PMAC_DA2_DA_31_0_SET(reg,val) (reg) = ((reg & ~LTQ_ES_PMAC_DA2_DA_31_0) | (((val) & 0xFFFFFFFFL) << 0))
1761 +
1762 +/*******************************************************************************
1763 + * PMAC VLAN Register
1764 + ******************************************************************************/
1765 +
1766 +/* Priority to be inserted as a part of VLAN tag (15:13) */
1767 +#define LTQ_ES_PMAC_VLAN_PRI   (0x7 << 13)
1768 +#define LTQ_ES_PMAC_VLAN_PRI_VAL(val)   (((val) & 0x7) << 13)
1769 +#define LTQ_ES_PMAC_VLAN_PRI_GET(val)   ((((val) & LTQ_ES_PMAC_VLAN_PRI) >> 13) & 0x7)
1770 +#define LTQ_ES_PMAC_VLAN_PRI_SET(reg,val) (reg) = ((reg & ~LTQ_ES_PMAC_VLAN_PRI) | (((val) & 0x7) << 13))
1771 +/* CFI bit to be inserted as a part of VLAN tag (12) */
1772 +#define LTQ_ES_PMAC_VLAN_CFI   (0x1 << 12)
1773 +#define LTQ_ES_PMAC_VLAN_CFI_VAL(val)   (((val) & 0x1) << 12)
1774 +#define LTQ_ES_PMAC_VLAN_CFI_GET(val)   ((((val) & LTQ_ES_PMAC_VLAN_CFI) >> 12) & 0x1)
1775 +#define LTQ_ES_PMAC_VLAN_CFI_SET(reg,val) (reg) = ((reg & ~LTQ_ES_PMAC_VLAN_CFI) | (((val) & 0x1) << 12))
1776 +/* VLAN ID to be inserted as a part of VLAN tag (11:0) */
1777 +#define LTQ_ES_PMAC_VLAN_VLAN_ID   (0xfff)
1778 +#define LTQ_ES_PMAC_VLAN_VLAN_ID_VAL(val)   (((val) & 0xfff) << 0)
1779 +#define LTQ_ES_PMAC_VLAN_VLAN_ID_GET(val)   ((((val) & LTQ_ES_PMAC_VLAN_VLAN_ID) >> 0) & 0xfff)
1780 +#define LTQ_ES_PMAC_VLAN_VLAN_ID_SET(reg,val) (reg) = ((reg & ~LTQ_ES_PMAC_VLAN_VLAN ID) | (((val) & 0xfff) << 0))
1781 +
1782 +/*******************************************************************************
1783 + * PMAC TX IPG Counter Register
1784 + ******************************************************************************/
1785 +
1786 +/* IPG Counter (7:0) */
1787 +#define LTQ_ES_PMAC_TX_IPG_IPG_CNT   (0xff)
1788 +#define LTQ_ES_PMAC_TX_IPG_IPG_CNT_VAL(val)   (((val) & 0xff) << 0)
1789 +#define LTQ_ES_PMAC_TX_IPG_IPG_CNT_GET(val)   ((((val) & LTQ_ES_PMAC_TX_IPG_IPG_CNT) >> 0) & 0xff)
1790 +#define LTQ_ES_PMAC_TX_IPG_IPG_CNT_SET(reg,val) (reg) = ((reg & ~LTQ_ES_PMAC_TX_IPG_IPG_CNT) | (((val) & 0xff) << 0))
1791 +
1792 +/*******************************************************************************
1793 + * PMAC RX IPG Counter Register
1794 + ******************************************************************************/
1795 +
1796 +/* IPG Counter (7:0) */
1797 +#define LTQ_ES_PMAC_RX_IPG_IPG_CNT   (0xff)
1798 +#define LTQ_ES_PMAC_RX_IPG_IPG_CNT_VAL(val)   (((val) & 0xff) << 0)
1799 +#define LTQ_ES_PMAC_RX_IPG_IPG_CNT_GET(val)   ((((val) & LTQ_ES_PMAC_RX_IPG_IPG_CNT) >> 0) & 0xff)
1800 +#define LTQ_ES_PMAC_RX_IPG_IPG_CNT_SET(reg,val) (reg) = ((reg & ~LTQ_ES_PMAC_RX_IPG_IPG_CNT) | (((val) & 0xff) << 0))
1801 +
1802 +/*******************************************************************************
1803 + * Address Table Control 0 Register
1804 + ******************************************************************************/
1805 +
1806 +/* Address [31:0] (31:0) */
1807 +#define LTQ_ES_ADR_TB_CTL0_REG_ADDR31_0   (0xFFFFFFFFL)
1808 +#define LTQ_ES_ADR_TB_CTL0_REG_ADDR31_0_VAL(val)   (((val) & 0xFFFFFFFFL) << 0)
1809 +#define LTQ_ES_ADR_TB_CTL0_REG_ADDR31_0_GET(val)   ((((val) & LTQ_ES_ADR_TB_CTL0_REG_ADDR31_0) >> 0) & 0xFFFFFFFFL)
1810 +#define LTQ_ES_ADR_TB_CTL0_REG_ADDR31_0_SET(reg,val) (reg) = ((reg & ~LTQ_ES_ADR_TB_CTL0_REG_ADDR31_0) | (((val) & 0xFFFFFFFFL) << 0))
1811 +
1812 +/*******************************************************************************
1813 + * Address Table Control 1 Register
1814 + ******************************************************************************/
1815 +
1816 +/* Port Map (22:20) */
1817 +#define LTQ_ES_ADR_TB_CTL1_REG_PMAP   (0x7 << 20)
1818 +#define LTQ_ES_ADR_TB_CTL1_REG_PMAP_VAL(val)   (((val) & 0x7) << 20)
1819 +#define LTQ_ES_ADR_TB_CTL1_REG_PMAP_GET(val)   ((((val) & LTQ_ES_ADR_TB_CTL1_REG_PMAP) >> 20) & 0x7)
1820 +#define LTQ_ES_ADR_TB_CTL1_REG_PMAP_SET(reg,val) (reg) = ((reg & ~LTQ_ES_ADR_TB_CTL1_REG_PMAP) | (((val) & 0x7) << 20))
1821 +/* FID group (17:16) */
1822 +#define LTQ_ES_ADR_TB_CTL1_REG_FID   (0x3 << 16)
1823 +#define LTQ_ES_ADR_TB_CTL1_REG_FID_VAL(val)   (((val) & 0x3) << 16)
1824 +#define LTQ_ES_ADR_TB_CTL1_REG_FID_GET(val)   ((((val) & LTQ_ES_ADR_TB_CTL1_REG_FID) >> 16) & 0x3)
1825 +#define LTQ_ES_ADR_TB_CTL1_REG_FID_SET(reg,val) (reg) = ((reg & ~LTQ_ES_ADR_TB_CTL1_REG_FID) | (((val) & 0x3) << 16))
1826 +/* Address [47:32] (15:0) */
1827 +#define LTQ_ES_ADR_TB_CTL1_REG_ADDR47_32   (0xffff)
1828 +#define LTQ_ES_ADR_TB_CTL1_REG_ADDR47_32_VAL(val)   (((val) & 0xffff) << 0)
1829 +#define LTQ_ES_ADR_TB_CTL1_REG_ADDR47_32_GET(val)   ((((val) & LTQ_ES_ADR_TB_CTL1_REG_ADDR47_32) >> 0) & 0xffff)
1830 +#define LTQ_ES_ADR_TB_CTL1_REG_ADDR47_32_SET(reg,val) (reg) = ((reg & ~LTQ_ES_ADR_TB_CTL1_REG_ADDR47_32) | (((val) & 0xffff) << 0))
1831 +
1832 +/*******************************************************************************
1833 + * Address Table Control 2 Register
1834 + ******************************************************************************/
1835 +
1836 +/* Command (22:20) */
1837 +#define LTQ_ES_ADR_TB_CTL2_REG_CMD   (0x7 << 20)
1838 +#define LTQ_ES_ADR_TB_CTL2_REG_CMD_VAL(val)   (((val) & 0x7) << 20)
1839 +#define LTQ_ES_ADR_TB_CTL2_REG_CMD_GET(val)   ((((val) & LTQ_ES_ADR_TB_CTL2_REG_CMD) >> 20) & 0x7)
1840 +#define LTQ_ES_ADR_TB_CTL2_REG_CMD_SET(reg,val) (reg) = ((reg & ~LTQ_ES_ADR_TB_CTL2_REG_CMD) | (((val) & 0x7) << 20))
1841 +/* Access Control (19:16) */
1842 +#define LTQ_ES_ADR_TB_CTL2_REG_AC   (0xf << 16)
1843 +#define LTQ_ES_ADR_TB_CTL2_REG_AC_VAL(val)   (((val) & 0xf) << 16)
1844 +#define LTQ_ES_ADR_TB_CTL2_REG_AC_GET(val)   ((((val) & LTQ_ES_ADR_TB_CTL2_REG_AC) >> 16) & 0xf)
1845 +#define LTQ_ES_ADR_TB_CTL2_REG_AC_SET(reg,val) (reg) = ((reg & ~LTQ_ES_ADR_TB_CTL2_REG_AC) | (((val) & 0xf) << 16))
1846 +/* Info Type: Static address (12) */
1847 +#define LTQ_ES_ADR_TB_CTL2_REG_INFOT   (0x1 << 12)
1848 +#define LTQ_ES_ADR_TB_CTL2_REG_INFOT_VAL(val)   (((val) & 0x1) << 12)
1849 +#define LTQ_ES_ADR_TB_CTL2_REG_INFOT_GET(val)   ((((val) & LTQ_ES_ADR_TB_CTL2_REG_INFOT) >> 12) & 0x1)
1850 +#define LTQ_ES_ADR_TB_CTL2_REG_INFOT_SET(reg,val) (reg) = ((reg & ~LTQ_ES_ADR_TB_CTL2_REG_INFOT) | (((val) & 0x1) << 12))
1851 +/* Info_Ctrl/Age Timer (10:0) */
1852 +#define LTQ_ES_ADR_TB_CTL2_REG_ITAT   (0x7ff)
1853 +#define LTQ_ES_ADR_TB_CTL2_REG_ITAT_VAL(val)   (((val) & 0x7ff) << 0)
1854 +#define LTQ_ES_ADR_TB_CTL2_REG_ITAT_GET(val)   ((((val) & LTQ_ES_ADR_TB_CTL2_REG_ITAT) >> 0) & 0x7ff)
1855 +#define LTQ_ES_ADR_TB_CTL2_REG_ITAT_SET(reg,val) (reg) = ((reg & ~LTQ_ES_ADR_TB_CTL2_REG_ITAT) | (((val) & 0x7ff) << 0))
1856 +
1857 +/*******************************************************************************
1858 + * Address Table Status 0 Register
1859 + ******************************************************************************/
1860 +
1861 +/* Address [31:0] (31:0) */
1862 +#define LTQ_ES_ADR_TB_ST0_REG_ADDRS31_0   (0xFFFFFFFFL)
1863 +#define LTQ_ES_ADR_TB_ST0_REG_ADDRS31_0_GET(val)   ((((val) & LTQ_ES_ADR_TB_ST0_REG_ADDRS31_0) >> 0) & 0xFFFFFFFFL)
1864 +
1865 +/*******************************************************************************
1866 + * Address Table Status 1 Register
1867 + ******************************************************************************/
1868 +
1869 +/* Port Map (22:20) */
1870 +#define LTQ_ES_ADR_TB_ST1_REG_PMAPS   (0x7 << 20)
1871 +#define LTQ_ES_ADR_TB_ST1_REG_PMAPS_GET(val)   ((((val) & LTQ_ES_ADR_TB_ST1_REG_PMAPS) >> 20) & 0x7)
1872 +/* FID group (17:16) */
1873 +#define LTQ_ES_ADR_TB_ST1_REG_FIDS   (0x3 << 16)
1874 +#define LTQ_ES_ADR_TB_ST1_REG_FIDS_GET(val)   ((((val) & LTQ_ES_ADR_TB_ST1_REG_FIDS) >> 16) & 0x3)
1875 +/* Address [47:32] (15:0) */
1876 +#define LTQ_ES_ADR_TB_ST1_REG_ADDRS47_32   (0xffff)
1877 +#define LTQ_ES_ADR_TB_ST1_REG_ADDRS47_32_GET(val)   ((((val) & LTQ_ES_ADR_TB_ST1_REG_ADDRS47_32) >> 0) & 0xffff)
1878 +
1879 +/*******************************************************************************
1880 + * Address Table Status 2 Register
1881 + ******************************************************************************/
1882 +
1883 +/* Busy (31) */
1884 +#define LTQ_ES_ADR_TB_ST2_REG_BUSY   (0x1 << 31)
1885 +#define LTQ_ES_ADR_TB_ST2_REG_BUSY_GET(val)   ((((val) & LTQ_ES_ADR_TB_ST2_REG_BUSY) >> 31) & 0x1)
1886 +/* Result (30:28) */
1887 +#define LTQ_ES_ADR_TB_ST2_REG_RSLT   (0x7 << 28)
1888 +#define LTQ_ES_ADR_TB_ST2_REG_RSLT_GET(val)   ((((val) & LTQ_ES_ADR_TB_ST2_REG_RSLT) >> 28) & 0x7)
1889 +/* Command (22:20) */
1890 +#define LTQ_ES_ADR_TB_ST2_REG_CMD   (0x7 << 20)
1891 +#define LTQ_ES_ADR_TB_ST2_REG_CMD_GET(val)   ((((val) & LTQ_ES_ADR_TB_ST2_REG_CMD) >> 20) & 0x7)
1892 +/* Access Control (19:16) */
1893 +#define LTQ_ES_ADR_TB_ST2_REG_AC   (0xf << 16)
1894 +#define LTQ_ES_ADR_TB_ST2_REG_AC_GET(val)   ((((val) & LTQ_ES_ADR_TB_ST2_REG_AC) >> 16) & 0xf)
1895 +/* Bad Status (14) */
1896 +#define LTQ_ES_ADR_TB_ST2_REG_BAD   (0x1 << 14)
1897 +#define LTQ_ES_ADR_TB_ST2_REG_BAD_GET(val)   ((((val) & LTQ_ES_ADR_TB_ST2_REG_BAD) >> 14) & 0x1)
1898 +/* Occupy (13) */
1899 +#define LTQ_ES_ADR_TB_ST2_REG_OCP   (0x1 << 13)
1900 +#define LTQ_ES_ADR_TB_ST2_REG_OCP_GET(val)   ((((val) & LTQ_ES_ADR_TB_ST2_REG_OCP) >> 13) & 0x1)
1901 +/* Info Type: Static address (12) */
1902 +#define LTQ_ES_ADR_TB_ST2_REG_INFOTS   (0x1 << 12)
1903 +#define LTQ_ES_ADR_TB_ST2_REG_INFOTS_GET(val)   ((((val) & LTQ_ES_ADR_TB_ST2_REG_INFOTS) >> 12) & 0x1)
1904 +/* Info_Ctrl/Age Timer Status (10:0) */
1905 +#define LTQ_ES_ADR_TB_ST2_REG_ITATS   (0x7ff)
1906 +#define LTQ_ES_ADR_TB_ST2_REG_ITATS_GET(val)   ((((val) & LTQ_ES_ADR_TB_ST2_REG_ITATS) >> 0) & 0x7ff)
1907 +
1908 +/*******************************************************************************
1909 + * RMON Counter Control Register
1910 + ******************************************************************************/
1911 +
1912 +/* Reserved (31:12) */
1913 +#define LTQ_ES_RMON_CTL_REG_RES   (0xfffff << 12)
1914 +#define LTQ_ES_RMON_CTL_REG_RES_GET(val)   ((((val) & LTQ_ES_RMON_CTL_REG_RES) >> 12) & 0xfffff)
1915 +/* Busy/Access Start (11) */
1916 +#define LTQ_ES_RMON_CTL_REG_BAS   (0x1 << 11)
1917 +#define LTQ_ES_RMON_CTL_REG_BAS_VAL(val)   (((val) & 0x1) << 11)
1918 +#define LTQ_ES_RMON_CTL_REG_BAS_GET(val)   ((((val) & LTQ_ES_RMON_CTL_REG_BAS) >> 11) & 0x1)
1919 +#define LTQ_ES_RMON_CTL_REG_BAS_SET(reg,val) (reg) = ((reg & ~LTQ_ES_RMON_CTL_REG_BAS) | (((val) & 0x1) << 11))
1920 +/* Command for access counter (10:9) */
1921 +#define LTQ_ES_RMON_CTL_REG_CAC   (0x3 << 9)
1922 +#define LTQ_ES_RMON_CTL_REG_CAC_VAL(val)   (((val) & 0x3) << 9)
1923 +#define LTQ_ES_RMON_CTL_REG_CAC_GET(val)   ((((val) & LTQ_ES_RMON_CTL_REG_CAC) >> 9) & 0x3)
1924 +#define LTQ_ES_RMON_CTL_REG_CAC_SET(reg,val) (reg) = ((reg & ~LTQ_ES_RMON_CTL_REG_CAC) | (((val) & 0x3) << 9))
1925 +/* Port (8:6) */
1926 +#define LTQ_ES_RMON_CTL_REG_PORTC   (0x7 << 6)
1927 +#define LTQ_ES_RMON_CTL_REG_PORTC_VAL(val)   (((val) & 0x7) << 6)
1928 +#define LTQ_ES_RMON_CTL_REG_PORTC_GET(val)   ((((val) & LTQ_ES_RMON_CTL_REG_PORTC) >> 6) & 0x7)
1929 +#define LTQ_ES_RMON_CTL_REG_PORTC_SET(reg,val) (reg) = ((reg & ~LTQ_ES_RMON_CTL_REG_PORTC) | (((val) & 0x7) << 6))
1930 +/* Counter Offset (5:0) */
1931 +#define LTQ_ES_RMON_CTL_REG_OFFSET   (0x3f)
1932 +#define LTQ_ES_RMON_CTL_REG_OFFSET_VAL(val)   (((val) & 0x3f) << 0)
1933 +#define LTQ_ES_RMON_CTL_REG_OFFSET_GET(val)   ((((val) & LTQ_ES_RMON_CTL_REG_OFFSET) >> 0) & 0x3f)
1934 +#define LTQ_ES_RMON_CTL_REG_OFFSET_SET(reg,val) (reg) = ((reg & ~LTQ_ES_RMON_CTL_REG_OFFSET) | (((val) & 0x3f) << 0))
1935 +
1936 +/*******************************************************************************
1937 + * RMON Counter Status Register
1938 + ******************************************************************************/
1939 +
1940 +/* Counter [31:0] or Counter[63:32] for byte count (31:0) */
1941 +#define LTQ_ES_RMON_ST_REG_COUNTER   (0xFFFFFFFFL)
1942 +#define LTQ_ES_RMON_ST_REG_COUNTER_GET(val)   ((((val) & LTQ_ES_RMON_ST_REG_COUNTER) >> 0) & 0xFFFFFFFFL)
1943 +
1944 +/*******************************************************************************
1945 + * MDIO Indirect Access Control
1946 + ******************************************************************************/
1947 +
1948 +/* The Write Data to the MDIO register (31:16) */
1949 +#define LTQ_ES_MDIO_CTL_REG_WD   (0xffff << 16)
1950 +#define LTQ_ES_MDIO_CTL_REG_WD_VAL(val)   (((val) & 0xffff) << 16)
1951 +#define LTQ_ES_MDIO_CTL_REG_WD_GET(val)   ((((val) & LTQ_ES_MDIO_CTL_REG_WD) >> 16) & 0xffff)
1952 +#define LTQ_ES_MDIO_CTL_REG_WD_SET(reg,val) (reg) = ((reg & ~LTQ_ES_MDIO_CTL_REG_WD) | (((val) & 0xffff) << 16))
1953 +/* Busy state (15) */
1954 +#define LTQ_ES_MDIO_CTL_REG_MBUSY   (0x1 << 15)
1955 +#define LTQ_ES_MDIO_CTL_REG_MBUSY_VAL(val)   (((val) & 0x1) << 15)
1956 +#define LTQ_ES_MDIO_CTL_REG_MBUSY_GET(val)   ((((val) & LTQ_ES_MDIO_CTL_REG_MBUSY) >> 15) & 0x1)
1957 +#define LTQ_ES_MDIO_CTL_REG_MBUSY_SET(reg,val) (reg) = ((reg & ~LTQ_ES_MDIO_CTL_REG_MBUSY) | (((val) & 0x1) << 15))
1958 +/* Reserved (14:12) */
1959 +#define LTQ_ES_MDIO_CTL_REG_RES   (0x7 << 12)
1960 +#define LTQ_ES_MDIO_CTL_REG_RES_GET(val)   ((((val) & LTQ_ES_MDIO_CTL_REG_RES) >> 12) & 0x7)
1961 +/* Operation Code (11:10) */
1962 +#define LTQ_ES_MDIO_CTL_REG_OP   (0x3 << 10)
1963 +#define LTQ_ES_MDIO_CTL_REG_OP_VAL(val)   (((val) & 0x3) << 10)
1964 +#define LTQ_ES_MDIO_CTL_REG_OP_GET(val)   ((((val) & LTQ_ES_MDIO_CTL_REG_OP) >> 10) & 0x3)
1965 +#define LTQ_ES_MDIO_CTL_REG_OP_SET(reg,val) (reg) = ((reg & ~LTQ_ES_MDIO_CTL_REG_OP) | (((val) & 0x3) << 10))
1966 +/* PHY Address (9:5) */
1967 +#define LTQ_ES_MDIO_CTL_REG_PHYAD   (0x1f << 5)
1968 +#define LTQ_ES_MDIO_CTL_REG_PHYAD_VAL(val)   (((val) & 0x1f) << 5)
1969 +#define LTQ_ES_MDIO_CTL_REG_PHYAD_GET(val)   ((((val) & LTQ_ES_MDIO_CTL_REG_PHYAD) >> 5) & 0x1f)
1970 +#define LTQ_ES_MDIO_CTL_REG_PHYAD_SET(reg,val) (reg) = ((reg & ~LTQ_ES_MDIO_CTL_REG_PHYAD) | (((val) & 0x1f) << 5))
1971 +/* Register Address (4:0) */
1972 +#define LTQ_ES_MDIO_CTL_REG_REGAD   (0x1f)
1973 +#define LTQ_ES_MDIO_CTL_REG_REGAD_VAL(val)   (((val) & 0x1f) << 0)
1974 +#define LTQ_ES_MDIO_CTL_REG_REGAD_GET(val)   ((((val) & LTQ_ES_MDIO_CTL_REG_REGAD) >> 0) & 0x1f)
1975 +#define LTQ_ES_MDIO_CTL_REG_REGAD_SET(reg,val) (reg) = ((reg & ~LTQ_ES_MDIO_CTL_REG_REGAD) | (((val) & 0x1f) << 0))
1976 +
1977 +/*******************************************************************************
1978 + * MDIO Indirect Read Data
1979 + ******************************************************************************/
1980 +
1981 +/* Reserved (31:16) */
1982 +#define LTQ_ES_MDIO_DATA_REG_RES   (0xffff << 16)
1983 +#define LTQ_ES_MDIO_DATA_REG_RES_GET(val)   ((((val) & LTQ_ES_MDIO_DATA_REG_RES) >> 16) & 0xffff)
1984 +/* The Read Data (15:0) */
1985 +#define LTQ_ES_MDIO_DATA_REG_RD   (0xffff)
1986 +#define LTQ_ES_MDIO_DATA_REG_RD_GET(val)   ((((val) & LTQ_ES_MDIO_DATA_REG_RD) >> 0) & 0xffff)
1987 +
1988 +/*******************************************************************************
1989 + * Type Filter Action
1990 + ******************************************************************************/
1991 +
1992 +/* Destination Queue for Type Filter 7 (31:30) */
1993 +#define LTQ_ES_TP_FLT_ACT_REG_QATF7   (0x3 << 30)
1994 +#define LTQ_ES_TP_FLT_ACT_REG_QATF7_VAL(val)   (((val) & 0x3) << 30)
1995 +#define LTQ_ES_TP_FLT_ACT_REG_QATF7_GET(val)   ((((val) & LTQ_ES_TP_FLT_ACT_REG_QATF7) >> 30) & 0x3)
1996 +#define LTQ_ES_TP_FLT_ACT_REG_QATF7_SET(reg,val) (reg) = ((reg & ~LTQ_ES_TP_FLT_ACT_REG_QATF7) | (((val) & 0x3) << 30))
1997 +/* Destination Queue for Type Filter 6 (29:28) */
1998 +#define LTQ_ES_TP_FLT_ACT_REG_QATF6   (0x3 << 28)
1999 +#define LTQ_ES_TP_FLT_ACT_REG_QATF6_VAL(val)   (((val) & 0x3) << 28)
2000 +#define LTQ_ES_TP_FLT_ACT_REG_QATF6_GET(val)   ((((val) & LTQ_ES_TP_FLT_ACT_REG_QATF6) >> 28) & 0x3)
2001 +#define LTQ_ES_TP_FLT_ACT_REG_QATF6_SET(reg,val) (reg) = ((reg & ~LTQ_ES_TP_FLT_ACT_REG_QATF6) | (((val) & 0x3) << 28))
2002 +/* Destination Queue for Type Filter 5 (27:26) */
2003 +#define LTQ_ES_TP_FLT_ACT_REG_QTF5   (0x3 << 26)
2004 +#define LTQ_ES_TP_FLT_ACT_REG_QTF5_VAL(val)   (((val) & 0x3) << 26)
2005 +#define LTQ_ES_TP_FLT_ACT_REG_QTF5_GET(val)   ((((val) & LTQ_ES_TP_FLT_ACT_REG_QTF5) >> 26) & 0x3)
2006 +#define LTQ_ES_TP_FLT_ACT_REG_QTF5_SET(reg,val) (reg) = ((reg & ~LTQ_ES_TP_FLT_ACT_REG_QTF5) | (((val) & 0x3) << 26))
2007 +/* Destination Queue for Type Filter 4 (25:24) */
2008 +#define LTQ_ES_TP_FLT_ACT_REG_QTF4   (0x3 << 24)
2009 +#define LTQ_ES_TP_FLT_ACT_REG_QTF4_VAL(val)   (((val) & 0x3) << 24)
2010 +#define LTQ_ES_TP_FLT_ACT_REG_QTF4_GET(val)   ((((val) & LTQ_ES_TP_FLT_ACT_REG_QTF4) >> 24) & 0x3)
2011 +#define LTQ_ES_TP_FLT_ACT_REG_QTF4_SET(reg,val) (reg) = ((reg & ~LTQ_ES_TP_FLT_ACT_REG_QTF4) | (((val) & 0x3) << 24))
2012 +/* Destination Queue for Type Filter 3 (23:22) */
2013 +#define LTQ_ES_TP_FLT_ACT_REG_QTF3   (0x3 << 22)
2014 +#define LTQ_ES_TP_FLT_ACT_REG_QTF3_VAL(val)   (((val) & 0x3) << 22)
2015 +#define LTQ_ES_TP_FLT_ACT_REG_QTF3_GET(val)   ((((val) & LTQ_ES_TP_FLT_ACT_REG_QTF3) >> 22) & 0x3)
2016 +#define LTQ_ES_TP_FLT_ACT_REG_QTF3_SET(reg,val) (reg) = ((reg & ~LTQ_ES_TP_FLT_ACT_REG_QTF3) | (((val) & 0x3) << 22))
2017 +/* Destination Queue for Type Filter 2 (21:20) */
2018 +#define LTQ_ES_TP_FLT_ACT_REG_QTF2   (0x3 << 20)
2019 +#define LTQ_ES_TP_FLT_ACT_REG_QTF2_VAL(val)   (((val) & 0x3) << 20)
2020 +#define LTQ_ES_TP_FLT_ACT_REG_QTF2_GET(val)   ((((val) & LTQ_ES_TP_FLT_ACT_REG_QTF2) >> 20) & 0x3)
2021 +#define LTQ_ES_TP_FLT_ACT_REG_QTF2_SET(reg,val) (reg) = ((reg & ~LTQ_ES_TP_FLT_ACT_REG_QTF2) | (((val) & 0x3) << 20))
2022 +/* Destination Queue for Type Filter 1 (19:18) */
2023 +#define LTQ_ES_TP_FLT_ACT_REG_QTF1   (0x3 << 18)
2024 +#define LTQ_ES_TP_FLT_ACT_REG_QTF1_VAL(val)   (((val) & 0x3) << 18)
2025 +#define LTQ_ES_TP_FLT_ACT_REG_QTF1_GET(val)   ((((val) & LTQ_ES_TP_FLT_ACT_REG_QTF1) >> 18) & 0x3)
2026 +#define LTQ_ES_TP_FLT_ACT_REG_QTF1_SET(reg,val) (reg) = ((reg & ~LTQ_ES_TP_FLT_ACT_REG_QTF1) | (((val) & 0x3) << 18))
2027 +/* Destination Queue for Type Filter 0 (17:16) */
2028 +#define LTQ_ES_TP_FLT_ACT_REG_QTF0   (0x3 << 16)
2029 +#define LTQ_ES_TP_FLT_ACT_REG_QTF0_VAL(val)   (((val) & 0x3) << 16)
2030 +#define LTQ_ES_TP_FLT_ACT_REG_QTF0_GET(val)   ((((val) & LTQ_ES_TP_FLT_ACT_REG_QTF0) >> 16) & 0x3)
2031 +#define LTQ_ES_TP_FLT_ACT_REG_QTF0_SET(reg,val) (reg) = ((reg & ~LTQ_ES_TP_FLT_ACT_REG_QTF0) | (((val) & 0x3) << 16))
2032 +/* Action for Type Filter 7 (15:14) */
2033 +#define LTQ_ES_TP_FLT_ACT_REG_ATF7   (0x3 << 14)
2034 +#define LTQ_ES_TP_FLT_ACT_REG_ATF7_VAL(val)   (((val) & 0x3) << 14)
2035 +#define LTQ_ES_TP_FLT_ACT_REG_ATF7_GET(val)   ((((val) & LTQ_ES_TP_FLT_ACT_REG_ATF7) >> 14) & 0x3)
2036 +#define LTQ_ES_TP_FLT_ACT_REG_ATF7_SET(reg,val) (reg) = ((reg & ~LTQ_ES_TP_FLT_ACT_REG_ATF7) | (((val) & 0x3) << 14))
2037 +/* Action for Type Filter 6 (13:12) */
2038 +#define LTQ_ES_TP_FLT_ACT_REG_ATF6   (0x3 << 12)
2039 +#define LTQ_ES_TP_FLT_ACT_REG_ATF6_VAL(val)   (((val) & 0x3) << 12)
2040 +#define LTQ_ES_TP_FLT_ACT_REG_ATF6_GET(val)   ((((val) & LTQ_ES_TP_FLT_ACT_REG_ATF6) >> 12) & 0x3)
2041 +#define LTQ_ES_TP_FLT_ACT_REG_ATF6_SET(reg,val) (reg) = ((reg & ~LTQ_ES_TP_FLT_ACT_REG_ATF6) | (((val) & 0x3) << 12))
2042 +/* Action for Type Filter 5 (11:10) */
2043 +#define LTQ_ES_TP_FLT_ACT_REG_ATF5   (0x3 << 10)
2044 +#define LTQ_ES_TP_FLT_ACT_REG_ATF5_VAL(val)   (((val) & 0x3) << 10)
2045 +#define LTQ_ES_TP_FLT_ACT_REG_ATF5_GET(val)   ((((val) & LTQ_ES_TP_FLT_ACT_REG_ATF5) >> 10) & 0x3)
2046 +#define LTQ_ES_TP_FLT_ACT_REG_ATF5_SET(reg,val) (reg) = ((reg & ~LTQ_ES_TP_FLT_ACT_REG_ATF5) | (((val) & 0x3) << 10))
2047 +/* Action for Type Filter 4 (9:8) */
2048 +#define LTQ_ES_TP_FLT_ACT_REG_ATF4   (0x3 << 8)
2049 +#define LTQ_ES_TP_FLT_ACT_REG_ATF4_VAL(val)   (((val) & 0x3) << 8)
2050 +#define LTQ_ES_TP_FLT_ACT_REG_ATF4_GET(val)   ((((val) & LTQ_ES_TP_FLT_ACT_REG_ATF4) >> 8) & 0x3)
2051 +#define LTQ_ES_TP_FLT_ACT_REG_ATF4_SET(reg,val) (reg) = ((reg & ~LTQ_ES_TP_FLT_ACT_REG_ATF4) | (((val) & 0x3) << 8))
2052 +/* Action for Type Filter 3 (7:6) */
2053 +#define LTQ_ES_TP_FLT_ACT_REG_ATF3   (0x3 << 6)
2054 +#define LTQ_ES_TP_FLT_ACT_REG_ATF3_VAL(val)   (((val) & 0x3) << 6)
2055 +#define LTQ_ES_TP_FLT_ACT_REG_ATF3_GET(val)   ((((val) & LTQ_ES_TP_FLT_ACT_REG_ATF3) >> 6) & 0x3)
2056 +#define LTQ_ES_TP_FLT_ACT_REG_ATF3_SET(reg,val) (reg) = ((reg & ~LTQ_ES_TP_FLT_ACT_REG_ATF3) | (((val) & 0x3) << 6))
2057 +/* Action for Type Filter 2 (5:4) */
2058 +#define LTQ_ES_TP_FLT_ACT_REG_ATF2   (0x3 << 4)
2059 +#define LTQ_ES_TP_FLT_ACT_REG_ATF2_VAL(val)   (((val) & 0x3) << 4)
2060 +#define LTQ_ES_TP_FLT_ACT_REG_ATF2_GET(val)   ((((val) & LTQ_ES_TP_FLT_ACT_REG_ATF2) >> 4) & 0x3)
2061 +#define LTQ_ES_TP_FLT_ACT_REG_ATF2_SET(reg,val) (reg) = ((reg & ~LTQ_ES_TP_FLT_ACT_REG_ATF2) | (((val) & 0x3) << 4))
2062 +/* Action for Type Filter 1 (3:2) */
2063 +#define LTQ_ES_TP_FLT_ACT_REG_ATF1   (0x3 << 2)
2064 +#define LTQ_ES_TP_FLT_ACT_REG_ATF1_VAL(val)   (((val) & 0x3) << 2)
2065 +#define LTQ_ES_TP_FLT_ACT_REG_ATF1_GET(val)   ((((val) & LTQ_ES_TP_FLT_ACT_REG_ATF1) >> 2) & 0x3)
2066 +#define LTQ_ES_TP_FLT_ACT_REG_ATF1_SET(reg,val) (reg) = ((reg & ~LTQ_ES_TP_FLT_ACT_REG_ATF1) | (((val) & 0x3) << 2))
2067 +/* Action for Type Filter 0 (1:0) */
2068 +#define LTQ_ES_TP_FLT_ACT_REG_ATF0   (0x3)
2069 +#define LTQ_ES_TP_FLT_ACT_REG_ATF0_VAL(val)   (((val) & 0x3) << 0)
2070 +#define LTQ_ES_TP_FLT_ACT_REG_ATF0_GET(val)   ((((val) & LTQ_ES_TP_FLT_ACT_REG_ATF0) >> 0) & 0x3)
2071 +#define LTQ_ES_TP_FLT_ACT_REG_ATF0_SET(reg,val) (reg) = ((reg & ~LTQ_ES_TP_FLT_ACT_REG_ATF0) | (((val) & 0x3) << 0))
2072 +
2073 +/*******************************************************************************
2074 + * Protocol Filter Action
2075 + ******************************************************************************/
2076 +
2077 +/* Action for Protocol Filter 7 (15:14) */
2078 +#define LTQ_ES_PRTCL_FLT_ACT_REG_APF7   (0x3 << 14)
2079 +#define LTQ_ES_PRTCL_FLT_ACT_REG_APF7_VAL(val)   (((val) & 0x3) << 14)
2080 +#define LTQ_ES_PRTCL_FLT_ACT_REG_APF7_GET(val)   ((((val) & LTQ_ES_PRTCL_FLT_ACT_REG_APF7) >> 14) & 0x3)
2081 +#define LTQ_ES_PRTCL_FLT_ACT_REG_APF7_SET(reg,val) (reg) = ((reg & ~LTQ_ES_PRTCL_FLT_ACT_REG_APF7) | (((val) & 0x3) << 14))
2082 +/* Action for Protocol Filter 6 (13:12) */
2083 +#define LTQ_ES_PRTCL_FLT_ACT_REG_APF6   (0x3 << 12)
2084 +#define LTQ_ES_PRTCL_FLT_ACT_REG_APF6_VAL(val)   (((val) & 0x3) << 12)
2085 +#define LTQ_ES_PRTCL_FLT_ACT_REG_APF6_GET(val)   ((((val) & LTQ_ES_PRTCL_FLT_ACT_REG_APF6) >> 12) & 0x3)
2086 +#define LTQ_ES_PRTCL_FLT_ACT_REG_APF6_SET(reg,val) (reg) = ((reg & ~LTQ_ES_PRTCL_FLT_ACT_REG_APF6) | (((val) & 0x3) << 12))
2087 +/* Action for Protocol Filter 5 (11:10) */
2088 +#define LTQ_ES_PRTCL_FLT_ACT_REG_APF5   (0x3 << 10)
2089 +#define LTQ_ES_PRTCL_FLT_ACT_REG_APF5_VAL(val)   (((val) & 0x3) << 10)
2090 +#define LTQ_ES_PRTCL_FLT_ACT_REG_APF5_GET(val)   ((((val) & LTQ_ES_PRTCL_FLT_ACT_REG_APF5) >> 10) & 0x3)
2091 +#define LTQ_ES_PRTCL_FLT_ACT_REG_APF5_SET(reg,val) (reg) = ((reg & ~LTQ_ES_PRTCL_FLT_ACT_REG_APF5) | (((val) & 0x3) << 10))
2092 +/* Action for Protocol Filter 4 (9:8) */
2093 +#define LTQ_ES_PRTCL_FLT_ACT_REG_APF4   (0x3 << 8)
2094 +#define LTQ_ES_PRTCL_FLT_ACT_REG_APF4_VAL(val)   (((val) & 0x3) << 8)
2095 +#define LTQ_ES_PRTCL_FLT_ACT_REG_APF4_GET(val)   ((((val) & LTQ_ES_PRTCL_FLT_ACT_REG_APF4) >> 8) & 0x3)
2096 +#define LTQ_ES_PRTCL_FLT_ACT_REG_APF4_SET(reg,val) (reg) = ((reg & ~LTQ_ES_PRTCL_FLT_ACT_REG_APF4) | (((val) & 0x3) << 8))
2097 +/* Action for Protocol Filter 3 (7:6) */
2098 +#define LTQ_ES_PRTCL_FLT_ACT_REG_APF3   (0x3 << 6)
2099 +#define LTQ_ES_PRTCL_FLT_ACT_REG_APF3_VAL(val)   (((val) & 0x3) << 6)
2100 +#define LTQ_ES_PRTCL_FLT_ACT_REG_APF3_GET(val)   ((((val) & LTQ_ES_PRTCL_FLT_ACT_REG_APF3) >> 6) & 0x3)
2101 +#define LTQ_ES_PRTCL_FLT_ACT_REG_APF3_SET(reg,val) (reg) = ((reg & ~LTQ_ES_PRTCL_FLT_ACT_REG_APF3) | (((val) & 0x3) << 6))
2102 +/* Action for Protocol Filter 2 (5:4) */
2103 +#define LTQ_ES_PRTCL_FLT_ACT_REG_APF2   (0x3 << 4)
2104 +#define LTQ_ES_PRTCL_FLT_ACT_REG_APF2_VAL(val)   (((val) & 0x3) << 4)
2105 +#define LTQ_ES_PRTCL_FLT_ACT_REG_APF2_GET(val)   ((((val) & LTQ_ES_PRTCL_FLT_ACT_REG_APF2) >> 4) & 0x3)
2106 +#define LTQ_ES_PRTCL_FLT_ACT_REG_APF2_SET(reg,val) (reg) = ((reg & ~LTQ_ES_PRTCL_FLT_ACT_REG_APF2) | (((val) & 0x3) << 4))
2107 +/* Action for Protocol Filter 1 (3:2) */
2108 +#define LTQ_ES_PRTCL_FLT_ACT_REG_APF1   (0x3 << 2)
2109 +#define LTQ_ES_PRTCL_FLT_ACT_REG_APF1_VAL(val)   (((val) & 0x3) << 2)
2110 +#define LTQ_ES_PRTCL_FLT_ACT_REG_APF1_GET(val)   ((((val) & LTQ_ES_PRTCL_FLT_ACT_REG_APF1) >> 2) & 0x3)
2111 +#define LTQ_ES_PRTCL_FLT_ACT_REG_APF1_SET(reg,val) (reg) = ((reg & ~LTQ_ES_PRTCL_FLT_ACT_REG_APF1) | (((val) & 0x3) << 2))
2112 +/* Action for Protocol Filter 0 (1:0) */
2113 +#define LTQ_ES_PRTCL_FLT_ACT_REG_APF0   (0x3)
2114 +#define LTQ_ES_PRTCL_FLT_ACT_REG_APF0_VAL(val)   (((val) & 0x3) << 0)
2115 +#define LTQ_ES_PRTCL_FLT_ACT_REG_APF0_GET(val)   ((((val) & LTQ_ES_PRTCL_FLT_ACT_REG_APF0) >> 0) & 0x3)
2116 +#define LTQ_ES_PRTCL_FLT_ACT_REG_APF0_SET(reg,val) (reg) = ((reg & ~LTQ_ES_PRTCL_FLT_ACT_REG_APF0) | (((val) & 0x3) << 0))
2117 +
2118 +/*******************************************************************************
2119 + * VLAN Filter 0
2120 + ******************************************************************************/
2121 +
2122 +/* Res (31:24) */
2123 +#define LTQ_ES_VLAN_FLT0_REG_RES   (0xff << 24)
2124 +#define LTQ_ES_VLAN_FLT0_REG_RES_VAL(val)   (((val) & 0xff) << 24)
2125 +#define LTQ_ES_VLAN_FLT0_REG_RES_GET(val)   ((((val) & LTQ_ES_VLAN_FLT0_REG_RES) >> 24) & 0xff)
2126 +#define LTQ_ES_VLAN_FLT0_REG_RES_SET(reg,val) (reg) = ((reg & ~LTQ_ES_VLAN_FLT0_REG_RES) | (((val) & 0xff) << 24))
2127 +/* FID (23:22) */
2128 +#define LTQ_ES_VLAN_FLT0_REG_FID   (0x3 << 22)
2129 +#define LTQ_ES_VLAN_FLT0_REG_FID_VAL(val)   (((val) & 0x3) << 22)
2130 +#define LTQ_ES_VLAN_FLT0_REG_FID_GET(val)   ((((val) & LTQ_ES_VLAN_FLT0_REG_FID) >> 22) & 0x3)
2131 +#define LTQ_ES_VLAN_FLT0_REG_FID_SET(reg,val) (reg) = ((reg & ~LTQ_ES_VLAN_FLT0_REG_FID) | (((val) & 0x3) << 22))
2132 +/* Tagged Member (21:19) */
2133 +#define LTQ_ES_VLAN_FLT0_REG_TM   (0x7 << 19)
2134 +#define LTQ_ES_VLAN_FLT0_REG_TM_VAL(val)   (((val) & 0x7) << 19)
2135 +#define LTQ_ES_VLAN_FLT0_REG_TM_GET(val)   ((((val) & LTQ_ES_VLAN_FLT0_REG_TM) >> 19) & 0x7)
2136 +#define LTQ_ES_VLAN_FLT0_REG_TM_SET(reg,val) (reg) = ((reg & ~LTQ_ES_VLAN_FLT0_REG_TM) | (((val) & 0x7) << 19))
2137 +/* Member (18:16) */
2138 +#define LTQ_ES_VLAN_FLT0_REG_M   (0x7 << 16)
2139 +#define LTQ_ES_VLAN_FLT0_REG_M_VAL(val)   (((val) & 0x7) << 16)
2140 +#define LTQ_ES_VLAN_FLT0_REG_M_GET(val)   ((((val) & LTQ_ES_VLAN_FLT0_REG_M) >> 16) & 0x7)
2141 +#define LTQ_ES_VLAN_FLT0_REG_M_SET(reg,val) (reg) = ((reg & ~LTQ_ES_VLAN_FLT0_REG_M) | (((val) & 0x7) << 16))
2142 +/* VLAN_Valid (15) */
2143 +#define LTQ_ES_VLAN_FLT0_REG_VV   (0x1 << 15)
2144 +#define LTQ_ES_VLAN_FLT0_REG_VV_VAL(val)   (((val) & 0x1) << 15)
2145 +#define LTQ_ES_VLAN_FLT0_REG_VV_GET(val)   ((((val) & LTQ_ES_VLAN_FLT0_REG_VV) >> 15) & 0x1)
2146 +#define LTQ_ES_VLAN_FLT0_REG_VV_SET(reg,val) (reg) = ((reg & ~LTQ_ES_VLAN_FLT0_REG_VV) | (((val) & 0x1) << 15))
2147 +/* VLAN PRI (14:12) */
2148 +#define LTQ_ES_VLAN_FLT0_REG_VP   (0x7 << 12)
2149 +#define LTQ_ES_VLAN_FLT0_REG_VP_VAL(val)   (((val) & 0x7) << 12)
2150 +#define LTQ_ES_VLAN_FLT0_REG_VP_GET(val)   ((((val) & LTQ_ES_VLAN_FLT0_REG_VP) >> 12) & 0x7)
2151 +#define LTQ_ES_VLAN_FLT0_REG_VP_SET(reg,val) (reg) = ((reg & ~LTQ_ES_VLAN_FLT0_REG_VP) | (((val) & 0x7) << 12))
2152 +/* VID (11:0) */
2153 +#define LTQ_ES_VLAN_FLT0_REG_VID   (0xfff)
2154 +#define LTQ_ES_VLAN_FLT0_REG_VID_VAL(val)   (((val) & 0xfff) << 0)
2155 +#define LTQ_ES_VLAN_FLT0_REG_VID_GET(val)   ((((val) & LTQ_ES_VLAN_FLT0_REG_VID) >> 0) & 0xfff)
2156 +#define LTQ_ES_VLAN_FLT0_REG_VID_SET(reg,val) (reg) = ((reg & ~LTQ_ES_VLAN_FLT0_REG_VID) | (((val) & 0xfff) << 0))
2157 +
2158 +/*******************************************************************************
2159 + * Type Filter 10
2160 + ******************************************************************************/
2161 +
2162 +/* Value 1 Compared with Ether-Type (31:16) */
2163 +#define LTQ_ES_TP_FLT10_REG_VCET1   (0xffff << 16)
2164 +#define LTQ_ES_TP_FLT10_REG_VCET1_VAL(val)   (((val) & 0xffff) << 16)
2165 +#define LTQ_ES_TP_FLT10_REG_VCET1_GET(val)   ((((val) & LTQ_ES_TP_FLT10_REG_VCET1) >> 16) & 0xffff)
2166 +#define LTQ_ES_TP_FLT10_REG_VCET1_SET(reg,val) (reg) = ((reg & ~LTQ_ES_TP_FLT10_REG_VCET1) | (((val) & 0xffff) << 16))
2167 +/* Value 0 Compared with Ether-Type (15:0) */
2168 +#define LTQ_ES_TP_FLT10_REG_VCET0   (0xffff)
2169 +#define LTQ_ES_TP_FLT10_REG_VCET0_VAL(val)   (((val) & 0xffff) << 0)
2170 +#define LTQ_ES_TP_FLT10_REG_VCET0_GET(val)   ((((val) & LTQ_ES_TP_FLT10_REG_VCET0) >> 0) & 0xffff)
2171 +#define LTQ_ES_TP_FLT10_REG_VCET0_SET(reg,val) (reg) = ((reg & ~LTQ_ES_TP_FLT10_REG_VCET0) | (((val) & 0xffff) << 0))
2172 +
2173 +/*******************************************************************************
2174 + * DiffServMapping 0
2175 + ******************************************************************************/
2176 +
2177 +/* Priority Queue F (31:30) */
2178 +#define LTQ_ES_DFSRV_MAP0_REG_PQF   (0x3 << 30)
2179 +#define LTQ_ES_DFSRV_MAP0_REG_PQF_VAL(val)   (((val) & 0x3) << 30)
2180 +#define LTQ_ES_DFSRV_MAP0_REG_PQF_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP0_REG_PQF) >> 30) & 0x3)
2181 +#define LTQ_ES_DFSRV_MAP0_REG_PQF_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP0_REG_PQF) | (((val) & 0x3) << 30))
2182 +/* Priority Queue E (29:28) */
2183 +#define LTQ_ES_DFSRV_MAP0_REG_PQE   (0x3 << 28)
2184 +#define LTQ_ES_DFSRV_MAP0_REG_PQE_VAL(val)   (((val) & 0x3) << 28)
2185 +#define LTQ_ES_DFSRV_MAP0_REG_PQE_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP0_REG_PQE) >> 28) & 0x3)
2186 +#define LTQ_ES_DFSRV_MAP0_REG_PQE_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP0_REG_PQE) | (((val) & 0x3) << 28))
2187 +/* Priority Queue D (27:26) */
2188 +#define LTQ_ES_DFSRV_MAP0_REG_PQD   (0x3 << 26)
2189 +#define LTQ_ES_DFSRV_MAP0_REG_PQD_VAL(val)   (((val) & 0x3) << 26)
2190 +#define LTQ_ES_DFSRV_MAP0_REG_PQD_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP0_REG_PQD) >> 26) & 0x3)
2191 +#define LTQ_ES_DFSRV_MAP0_REG_PQD_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP0_REG_PQD) | (((val) & 0x3) << 26))
2192 +/* Priority Queue C (25:24) */
2193 +#define LTQ_ES_DFSRV_MAP0_REG_PQC   (0x3 << 24)
2194 +#define LTQ_ES_DFSRV_MAP0_REG_PQC_VAL(val)   (((val) & 0x3) << 24)
2195 +#define LTQ_ES_DFSRV_MAP0_REG_PQC_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP0_REG_PQC) >> 24) & 0x3)
2196 +#define LTQ_ES_DFSRV_MAP0_REG_PQC_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP0_REG_PQC) | (((val) & 0x3) << 24))
2197 +/* Priority Queue B (23:22) */
2198 +#define LTQ_ES_DFSRV_MAP0_REG_PQB   (0x3 << 22)
2199 +#define LTQ_ES_DFSRV_MAP0_REG_PQB_VAL(val)   (((val) & 0x3) << 22)
2200 +#define LTQ_ES_DFSRV_MAP0_REG_PQB_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP0_REG_PQB) >> 22) & 0x3)
2201 +#define LTQ_ES_DFSRV_MAP0_REG_PQB_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP0_REG_PQB) | (((val) & 0x3) << 22))
2202 +/* Priority Queue A (21:20) */
2203 +#define LTQ_ES_DFSRV_MAP0_REG_PQA   (0x3 << 20)
2204 +#define LTQ_ES_DFSRV_MAP0_REG_PQA_VAL(val)   (((val) & 0x3) << 20)
2205 +#define LTQ_ES_DFSRV_MAP0_REG_PQA_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP0_REG_PQA) >> 20) & 0x3)
2206 +#define LTQ_ES_DFSRV_MAP0_REG_PQA_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP0_REG_PQA) | (((val) & 0x3) << 20))
2207 +/* Priority Queue 9 (19:18) */
2208 +#define LTQ_ES_DFSRV_MAP0_REG_PQ9   (0x3 << 18)
2209 +#define LTQ_ES_DFSRV_MAP0_REG_PQ9_VAL(val)   (((val) & 0x3) << 18)
2210 +#define LTQ_ES_DFSRV_MAP0_REG_PQ9_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP0_REG_PQ9) >> 18) & 0x3)
2211 +#define LTQ_ES_DFSRV_MAP0_REG_PQ9_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP0_REG_PQ9) | (((val) & 0x3) << 18))
2212 +/* Priority Queue 8 (17:16) */
2213 +#define LTQ_ES_DFSRV_MAP0_REG_PQ8   (0x3 << 16)
2214 +#define LTQ_ES_DFSRV_MAP0_REG_PQ8_VAL(val)   (((val) & 0x3) << 16)
2215 +#define LTQ_ES_DFSRV_MAP0_REG_PQ8_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP0_REG_PQ8) >> 16) & 0x3)
2216 +#define LTQ_ES_DFSRV_MAP0_REG_PQ8_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP0_REG_PQ8) | (((val) & 0x3) << 16))
2217 +/* Priority Queue 7 (15:14) */
2218 +#define LTQ_ES_DFSRV_MAP0_REG_PQ7   (0x3 << 14)
2219 +#define LTQ_ES_DFSRV_MAP0_REG_PQ7_VAL(val)   (((val) & 0x3) << 14)
2220 +#define LTQ_ES_DFSRV_MAP0_REG_PQ7_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP0_REG_PQ7) >> 14) & 0x3)
2221 +#define LTQ_ES_DFSRV_MAP0_REG_PQ7_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP0_REG_PQ7) | (((val) & 0x3) << 14))
2222 +/* Priority Queue 6 (13:12) */
2223 +#define LTQ_ES_DFSRV_MAP0_REG_PQ6   (0x3 << 12)
2224 +#define LTQ_ES_DFSRV_MAP0_REG_PQ6_VAL(val)   (((val) & 0x3) << 12)
2225 +#define LTQ_ES_DFSRV_MAP0_REG_PQ6_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP0_REG_PQ6) >> 12) & 0x3)
2226 +#define LTQ_ES_DFSRV_MAP0_REG_PQ6_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP0_REG_PQ6) | (((val) & 0x3) << 12))
2227 +/* Priority Queue 5 (11:10) */
2228 +#define LTQ_ES_DFSRV_MAP0_REG_PQ5   (0x3 << 10)
2229 +#define LTQ_ES_DFSRV_MAP0_REG_PQ5_VAL(val)   (((val) & 0x3) << 10)
2230 +#define LTQ_ES_DFSRV_MAP0_REG_PQ5_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP0_REG_PQ5) >> 10) & 0x3)
2231 +#define LTQ_ES_DFSRV_MAP0_REG_PQ5_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP0_REG_PQ5) | (((val) & 0x3) << 10))
2232 +/* Priority Queue 4 (9:8) */
2233 +#define LTQ_ES_DFSRV_MAP0_REG_PQ4   (0x3 << 8)
2234 +#define LTQ_ES_DFSRV_MAP0_REG_PQ4_VAL(val)   (((val) & 0x3) << 8)
2235 +#define LTQ_ES_DFSRV_MAP0_REG_PQ4_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP0_REG_PQ4) >> 8) & 0x3)
2236 +#define LTQ_ES_DFSRV_MAP0_REG_PQ4_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP0_REG_PQ4) | (((val) & 0x3) << 8))
2237 +/* Priority Queue 3 (7:6) */
2238 +#define LTQ_ES_DFSRV_MAP0_REG_PQ3   (0x3 << 6)
2239 +#define LTQ_ES_DFSRV_MAP0_REG_PQ3_VAL(val)   (((val) & 0x3) << 6)
2240 +#define LTQ_ES_DFSRV_MAP0_REG_PQ3_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP0_REG_PQ3) >> 6) & 0x3)
2241 +#define LTQ_ES_DFSRV_MAP0_REG_PQ3_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP0_REG_PQ3) | (((val) & 0x3) << 6))
2242 +/* Priority Queue 2 (5:4) */
2243 +#define LTQ_ES_DFSRV_MAP0_REG_PQ2   (0x3 << 4)
2244 +#define LTQ_ES_DFSRV_MAP0_REG_PQ2_VAL(val)   (((val) & 0x3) << 4)
2245 +#define LTQ_ES_DFSRV_MAP0_REG_PQ2_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP0_REG_PQ2) >> 4) & 0x3)
2246 +#define LTQ_ES_DFSRV_MAP0_REG_PQ2_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP0_REG_PQ2) | (((val) & 0x3) << 4))
2247 +/* Priority Queue 1 (3:2) */
2248 +#define LTQ_ES_DFSRV_MAP0_REG_PQ1   (0x3 << 2)
2249 +#define LTQ_ES_DFSRV_MAP0_REG_PQ1_VAL(val)   (((val) & 0x3) << 2)
2250 +#define LTQ_ES_DFSRV_MAP0_REG_PQ1_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP0_REG_PQ1) >> 2) & 0x3)
2251 +#define LTQ_ES_DFSRV_MAP0_REG_PQ1_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP0_REG_PQ1) | (((val) & 0x3) << 2))
2252 +/* Priority Queue 0 (1:0) */
2253 +#define LTQ_ES_DFSRV_MAP0_REG_PQ0   (0x3)
2254 +#define LTQ_ES_DFSRV_MAP0_REG_PQ0_VAL(val)   (((val) & 0x3) << 0)
2255 +#define LTQ_ES_DFSRV_MAP0_REG_PQ0_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP0_REG_PQ0) >> 0) & 0x3)
2256 +#define LTQ_ES_DFSRV_MAP0_REG_PQ0_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP0_REG_PQ0) | (((val) & 0x3) << 0))
2257 +
2258 +/*******************************************************************************
2259 + * DiffServMapping 1
2260 + ******************************************************************************/
2261 +
2262 +/* Priority Queue 1F (31:30) */
2263 +#define LTQ_ES_DFSRV_MAP1_REG_PQ1F   (0x3 << 30)
2264 +#define LTQ_ES_DFSRV_MAP1_REG_PQ1F_VAL(val)   (((val) & 0x3) << 30)
2265 +#define LTQ_ES_DFSRV_MAP1_REG_PQ1F_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP1_REG_PQ1F) >> 30) & 0x3)
2266 +#define LTQ_ES_DFSRV_MAP1_REG_PQ1F_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP1_REG_PQ1F) | (((val) & 0x3) << 30))
2267 +/* Priority Queue 1E (29:28) */
2268 +#define LTQ_ES_DFSRV_MAP1_REG_PQ1E   (0x3 << 28)
2269 +#define LTQ_ES_DFSRV_MAP1_REG_PQ1E_VAL(val)   (((val) & 0x3) << 28)
2270 +#define LTQ_ES_DFSRV_MAP1_REG_PQ1E_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP1_REG_PQ1E) >> 28) & 0x3)
2271 +#define LTQ_ES_DFSRV_MAP1_REG_PQ1E_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP1_REG_PQ1E) | (((val) & 0x3) << 28))
2272 +/* Priority Queue 1D (27:26) */
2273 +#define LTQ_ES_DFSRV_MAP1_REG_PQ1D   (0x3 << 26)
2274 +#define LTQ_ES_DFSRV_MAP1_REG_PQ1D_VAL(val)   (((val) & 0x3) << 26)
2275 +#define LTQ_ES_DFSRV_MAP1_REG_PQ1D_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP1_REG_PQ1D) >> 26) & 0x3)
2276 +#define LTQ_ES_DFSRV_MAP1_REG_PQ1D_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP1_REG_PQ1D) | (((val) & 0x3) << 26))
2277 +/* Priority Queue 1C (25:24) */
2278 +#define LTQ_ES_DFSRV_MAP1_REG_PQ1C   (0x3 << 24)
2279 +#define LTQ_ES_DFSRV_MAP1_REG_PQ1C_VAL(val)   (((val) & 0x3) << 24)
2280 +#define LTQ_ES_DFSRV_MAP1_REG_PQ1C_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP1_REG_PQ1C) >> 24) & 0x3)
2281 +#define LTQ_ES_DFSRV_MAP1_REG_PQ1C_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP1_REG_PQ1C) | (((val) & 0x3) << 24))
2282 +/* Priority Queue 1B (23:22) */
2283 +#define LTQ_ES_DFSRV_MAP1_REG_PQ1B   (0x3 << 22)
2284 +#define LTQ_ES_DFSRV_MAP1_REG_PQ1B_VAL(val)   (((val) & 0x3) << 22)
2285 +#define LTQ_ES_DFSRV_MAP1_REG_PQ1B_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP1_REG_PQ1B) >> 22) & 0x3)
2286 +#define LTQ_ES_DFSRV_MAP1_REG_PQ1B_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP1_REG_PQ1B) | (((val) & 0x3) << 22))
2287 +/* Priority Queue 1A (21:20) */
2288 +#define LTQ_ES_DFSRV_MAP1_REG_PQ1A   (0x3 << 20)
2289 +#define LTQ_ES_DFSRV_MAP1_REG_PQ1A_VAL(val)   (((val) & 0x3) << 20)
2290 +#define LTQ_ES_DFSRV_MAP1_REG_PQ1A_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP1_REG_PQ1A) >> 20) & 0x3)
2291 +#define LTQ_ES_DFSRV_MAP1_REG_PQ1A_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP1_REG_PQ1A) | (((val) & 0x3) << 20))
2292 +/* Priority Queue 19 (19:18) */
2293 +#define LTQ_ES_DFSRV_MAP1_REG_PQ19   (0x3 << 18)
2294 +#define LTQ_ES_DFSRV_MAP1_REG_PQ19_VAL(val)   (((val) & 0x3) << 18)
2295 +#define LTQ_ES_DFSRV_MAP1_REG_PQ19_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP1_REG_PQ19) >> 18) & 0x3)
2296 +#define LTQ_ES_DFSRV_MAP1_REG_PQ19_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP1_REG_PQ19) | (((val) & 0x3) << 18))
2297 +/* Priority Queue 18 (17:16) */
2298 +#define LTQ_ES_DFSRV_MAP1_REG_PQ18   (0x3 << 16)
2299 +#define LTQ_ES_DFSRV_MAP1_REG_PQ18_VAL(val)   (((val) & 0x3) << 16)
2300 +#define LTQ_ES_DFSRV_MAP1_REG_PQ18_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP1_REG_PQ18) >> 16) & 0x3)
2301 +#define LTQ_ES_DFSRV_MAP1_REG_PQ18_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP1_REG_PQ18) | (((val) & 0x3) << 16))
2302 +/* Priority Queue 17 (15:14) */
2303 +#define LTQ_ES_DFSRV_MAP1_REG_PQ17   (0x3 << 14)
2304 +#define LTQ_ES_DFSRV_MAP1_REG_PQ17_VAL(val)   (((val) & 0x3) << 14)
2305 +#define LTQ_ES_DFSRV_MAP1_REG_PQ17_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP1_REG_PQ17) >> 14) & 0x3)
2306 +#define LTQ_ES_DFSRV_MAP1_REG_PQ17_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP1_REG_PQ17) | (((val) & 0x3) << 14))
2307 +/* Priority Queue 16 (13:12) */
2308 +#define LTQ_ES_DFSRV_MAP1_REG_PQ16   (0x3 << 12)
2309 +#define LTQ_ES_DFSRV_MAP1_REG_PQ16_VAL(val)   (((val) & 0x3) << 12)
2310 +#define LTQ_ES_DFSRV_MAP1_REG_PQ16_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP1_REG_PQ16) >> 12) & 0x3)
2311 +#define LTQ_ES_DFSRV_MAP1_REG_PQ16_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP1_REG_PQ16) | (((val) & 0x3) << 12))
2312 +/* Priority Queue 15 (11:10) */
2313 +#define LTQ_ES_DFSRV_MAP1_REG_PQ15   (0x3 << 10)
2314 +#define LTQ_ES_DFSRV_MAP1_REG_PQ15_VAL(val)   (((val) & 0x3) << 10)
2315 +#define LTQ_ES_DFSRV_MAP1_REG_PQ15_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP1_REG_PQ15) >> 10) & 0x3)
2316 +#define LTQ_ES_DFSRV_MAP1_REG_PQ15_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP1_REG_PQ15) | (((val) & 0x3) << 10))
2317 +/* Priority Queue 14 (9:8) */
2318 +#define LTQ_ES_DFSRV_MAP1_REG_PQ14   (0x3 << 8)
2319 +#define LTQ_ES_DFSRV_MAP1_REG_PQ14_VAL(val)   (((val) & 0x3) << 8)
2320 +#define LTQ_ES_DFSRV_MAP1_REG_PQ14_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP1_REG_PQ14) >> 8) & 0x3)
2321 +#define LTQ_ES_DFSRV_MAP1_REG_PQ14_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP1_REG_PQ14) | (((val) & 0x3) << 8))
2322 +/* Priority Queue 13 (7:6) */
2323 +#define LTQ_ES_DFSRV_MAP1_REG_PQ13   (0x3 << 6)
2324 +#define LTQ_ES_DFSRV_MAP1_REG_PQ13_VAL(val)   (((val) & 0x3) << 6)
2325 +#define LTQ_ES_DFSRV_MAP1_REG_PQ13_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP1_REG_PQ13) >> 6) & 0x3)
2326 +#define LTQ_ES_DFSRV_MAP1_REG_PQ13_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP1_REG_PQ13) | (((val) & 0x3) << 6))
2327 +/* Priority Queue 12 (5:4) */
2328 +#define LTQ_ES_DFSRV_MAP1_REG_PQ12   (0x3 << 4)
2329 +#define LTQ_ES_DFSRV_MAP1_REG_PQ12_VAL(val)   (((val) & 0x3) << 4)
2330 +#define LTQ_ES_DFSRV_MAP1_REG_PQ12_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP1_REG_PQ12) >> 4) & 0x3)
2331 +#define LTQ_ES_DFSRV_MAP1_REG_PQ12_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP1_REG_PQ12) | (((val) & 0x3) << 4))
2332 +/* Priority Queue 11 (3:2) */
2333 +#define LTQ_ES_DFSRV_MAP1_REG_PQ11   (0x3 << 2)
2334 +#define LTQ_ES_DFSRV_MAP1_REG_PQ11_VAL(val)   (((val) & 0x3) << 2)
2335 +#define LTQ_ES_DFSRV_MAP1_REG_PQ11_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP1_REG_PQ11) >> 2) & 0x3)
2336 +#define LTQ_ES_DFSRV_MAP1_REG_PQ11_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP1_REG_PQ11) | (((val) & 0x3) << 2))
2337 +/* Priority Queue 10 (1:0) */
2338 +#define LTQ_ES_DFSRV_MAP1_REG_PQ10   (0x3)
2339 +#define LTQ_ES_DFSRV_MAP1_REG_PQ10_VAL(val)   (((val) & 0x3) << 0)
2340 +#define LTQ_ES_DFSRV_MAP1_REG_PQ10_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP1_REG_PQ10) >> 0) & 0x3)
2341 +#define LTQ_ES_DFSRV_MAP1_REG_PQ10_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP1_REG_PQ10) | (((val) & 0x3) << 0))
2342 +
2343 +/*******************************************************************************
2344 + * DiffServMapping 2
2345 + ******************************************************************************/
2346 +
2347 +/* Priority Queue 2F (31:30) */
2348 +#define LTQ_ES_DFSRV_MAP2_REG_PQ2F   (0x3 << 30)
2349 +#define LTQ_ES_DFSRV_MAP2_REG_PQ2F_VAL(val)   (((val) & 0x3) << 30)
2350 +#define LTQ_ES_DFSRV_MAP2_REG_PQ2F_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP2_REG_PQ2F) >> 30) & 0x3)
2351 +#define LTQ_ES_DFSRV_MAP2_REG_PQ2F_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP2_REG_PQ2F) | (((val) & 0x3) << 30))
2352 +/* Priority Queue 2E (29:28) */
2353 +#define LTQ_ES_DFSRV_MAP2_REG_PQ2E   (0x3 << 28)
2354 +#define LTQ_ES_DFSRV_MAP2_REG_PQ2E_VAL(val)   (((val) & 0x3) << 28)
2355 +#define LTQ_ES_DFSRV_MAP2_REG_PQ2E_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP2_REG_PQ2E) >> 28) & 0x3)
2356 +#define LTQ_ES_DFSRV_MAP2_REG_PQ2E_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP2_REG_PQ2E) | (((val) & 0x3) << 28))
2357 +/* Priority Queue 2D (27:26) */
2358 +#define LTQ_ES_DFSRV_MAP2_REG_PQ2D   (0x3 << 26)
2359 +#define LTQ_ES_DFSRV_MAP2_REG_PQ2D_VAL(val)   (((val) & 0x3) << 26)
2360 +#define LTQ_ES_DFSRV_MAP2_REG_PQ2D_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP2_REG_PQ2D) >> 26) & 0x3)
2361 +#define LTQ_ES_DFSRV_MAP2_REG_PQ2D_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP2_REG_PQ2D) | (((val) & 0x3) << 26))
2362 +/* Priority Queue 2C (25:24) */
2363 +#define LTQ_ES_DFSRV_MAP2_REG_PQ2C   (0x3 << 24)
2364 +#define LTQ_ES_DFSRV_MAP2_REG_PQ2C_VAL(val)   (((val) & 0x3) << 24)
2365 +#define LTQ_ES_DFSRV_MAP2_REG_PQ2C_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP2_REG_PQ2C) >> 24) & 0x3)
2366 +#define LTQ_ES_DFSRV_MAP2_REG_PQ2C_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP2_REG_PQ2C) | (((val) & 0x3) << 24))
2367 +/* Priority Queue 2B (23:22) */
2368 +#define LTQ_ES_DFSRV_MAP2_REG_PQ2B   (0x3 << 22)
2369 +#define LTQ_ES_DFSRV_MAP2_REG_PQ2B_VAL(val)   (((val) & 0x3) << 22)
2370 +#define LTQ_ES_DFSRV_MAP2_REG_PQ2B_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP2_REG_PQ2B) >> 22) & 0x3)
2371 +#define LTQ_ES_DFSRV_MAP2_REG_PQ2B_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP2_REG_PQ2B) | (((val) & 0x3) << 22))
2372 +/* Priority Queue 2A (21:20) */
2373 +#define LTQ_ES_DFSRV_MAP2_REG_PQ2A   (0x3 << 20)
2374 +#define LTQ_ES_DFSRV_MAP2_REG_PQ2A_VAL(val)   (((val) & 0x3) << 20)
2375 +#define LTQ_ES_DFSRV_MAP2_REG_PQ2A_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP2_REG_PQ2A) >> 20) & 0x3)
2376 +#define LTQ_ES_DFSRV_MAP2_REG_PQ2A_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP2_REG_PQ2A) | (((val) & 0x3) << 20))
2377 +/* Priority Queue 29 (19:18) */
2378 +#define LTQ_ES_DFSRV_MAP2_REG_PQ29   (0x3 << 18)
2379 +#define LTQ_ES_DFSRV_MAP2_REG_PQ29_VAL(val)   (((val) & 0x3) << 18)
2380 +#define LTQ_ES_DFSRV_MAP2_REG_PQ29_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP2_REG_PQ29) >> 18) & 0x3)
2381 +#define LTQ_ES_DFSRV_MAP2_REG_PQ29_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP2_REG_PQ29) | (((val) & 0x3) << 18))
2382 +/* Priority Queue 28 (17:16) */
2383 +#define LTQ_ES_DFSRV_MAP2_REG_PQ28   (0x3 << 16)
2384 +#define LTQ_ES_DFSRV_MAP2_REG_PQ28_VAL(val)   (((val) & 0x3) << 16)
2385 +#define LTQ_ES_DFSRV_MAP2_REG_PQ28_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP2_REG_PQ28) >> 16) & 0x3)
2386 +#define LTQ_ES_DFSRV_MAP2_REG_PQ28_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP2_REG_PQ28) | (((val) & 0x3) << 16))
2387 +/* Priority Queue 27 (15:14) */
2388 +#define LTQ_ES_DFSRV_MAP2_REG_PQ27   (0x3 << 14)
2389 +#define LTQ_ES_DFSRV_MAP2_REG_PQ27_VAL(val)   (((val) & 0x3) << 14)
2390 +#define LTQ_ES_DFSRV_MAP2_REG_PQ27_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP2_REG_PQ27) >> 14) & 0x3)
2391 +#define LTQ_ES_DFSRV_MAP2_REG_PQ27_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP2_REG_PQ27) | (((val) & 0x3) << 14))
2392 +/* Priority Queue 26 (13:12) */
2393 +#define LTQ_ES_DFSRV_MAP2_REG_PQ26   (0x3 << 12)
2394 +#define LTQ_ES_DFSRV_MAP2_REG_PQ26_VAL(val)   (((val) & 0x3) << 12)
2395 +#define LTQ_ES_DFSRV_MAP2_REG_PQ26_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP2_REG_PQ26) >> 12) & 0x3)
2396 +#define LTQ_ES_DFSRV_MAP2_REG_PQ26_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP2_REG_PQ26) | (((val) & 0x3) << 12))
2397 +/* Priority Queue 25 (11:10) */
2398 +#define LTQ_ES_DFSRV_MAP2_REG_PQ25   (0x3 << 10)
2399 +#define LTQ_ES_DFSRV_MAP2_REG_PQ25_VAL(val)   (((val) & 0x3) << 10)
2400 +#define LTQ_ES_DFSRV_MAP2_REG_PQ25_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP2_REG_PQ25) >> 10) & 0x3)
2401 +#define LTQ_ES_DFSRV_MAP2_REG_PQ25_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP2_REG_PQ25) | (((val) & 0x3) << 10))
2402 +/* Priority Queue 24 (9:8) */
2403 +#define LTQ_ES_DFSRV_MAP2_REG_PQ24   (0x3 << 8)
2404 +#define LTQ_ES_DFSRV_MAP2_REG_PQ24_VAL(val)   (((val) & 0x3) << 8)
2405 +#define LTQ_ES_DFSRV_MAP2_REG_PQ24_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP2_REG_PQ24) >> 8) & 0x3)
2406 +#define LTQ_ES_DFSRV_MAP2_REG_PQ24_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP2_REG_PQ24) | (((val) & 0x3) << 8))
2407 +/* Priority Queue 23 (7:6) */
2408 +#define LTQ_ES_DFSRV_MAP2_REG_PQ23   (0x3 << 6)
2409 +#define LTQ_ES_DFSRV_MAP2_REG_PQ23_VAL(val)   (((val) & 0x3) << 6)
2410 +#define LTQ_ES_DFSRV_MAP2_REG_PQ23_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP2_REG_PQ23) >> 6) & 0x3)
2411 +#define LTQ_ES_DFSRV_MAP2_REG_PQ23_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP2_REG_PQ23) | (((val) & 0x3) << 6))
2412 +/* Priority Queue 22 (5:4) */
2413 +#define LTQ_ES_DFSRV_MAP2_REG_PQ22   (0x3 << 4)
2414 +#define LTQ_ES_DFSRV_MAP2_REG_PQ22_VAL(val)   (((val) & 0x3) << 4)
2415 +#define LTQ_ES_DFSRV_MAP2_REG_PQ22_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP2_REG_PQ22) >> 4) & 0x3)
2416 +#define LTQ_ES_DFSRV_MAP2_REG_PQ22_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP2_REG_PQ22) | (((val) & 0x3) << 4))
2417 +/* Priority Queue 21 (3:2) */
2418 +#define LTQ_ES_DFSRV_MAP2_REG_PQ21   (0x3 << 2)
2419 +#define LTQ_ES_DFSRV_MAP2_REG_PQ21_VAL(val)   (((val) & 0x3) << 2)
2420 +#define LTQ_ES_DFSRV_MAP2_REG_PQ21_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP2_REG_PQ21) >> 2) & 0x3)
2421 +#define LTQ_ES_DFSRV_MAP2_REG_PQ21_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP2_REG_PQ21) | (((val) & 0x3) << 2))
2422 +/* Priority Queue 20 (1:0) */
2423 +#define LTQ_ES_DFSRV_MAP2_REG_PQ20   (0x3)
2424 +#define LTQ_ES_DFSRV_MAP2_REG_PQ20_VAL(val)   (((val) & 0x3) << 0)
2425 +#define LTQ_ES_DFSRV_MAP2_REG_PQ20_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP2_REG_PQ20) >> 0) & 0x3)
2426 +#define LTQ_ES_DFSRV_MAP2_REG_PQ20_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP2_REG_PQ20) | (((val) & 0x3) << 0))
2427 +
2428 +/*******************************************************************************
2429 + * DiffServMapping 3
2430 + ******************************************************************************/
2431 +
2432 +/* Priority Queue 3F (31:30) */
2433 +#define LTQ_ES_DFSRV_MAP3_REG_PQ3F   (0x3 << 30)
2434 +#define LTQ_ES_DFSRV_MAP3_REG_PQ3F_VAL(val)   (((val) & 0x3) << 30)
2435 +#define LTQ_ES_DFSRV_MAP3_REG_PQ3F_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP3_REG_PQ3F) >> 30) & 0x3)
2436 +#define LTQ_ES_DFSRV_MAP3_REG_PQ3F_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP3_REG_PQ3F) | (((val) & 0x3) << 30))
2437 +/* Priority Queue 3E (29:28) */
2438 +#define LTQ_ES_DFSRV_MAP3_REG_PQ3E   (0x3 << 28)
2439 +#define LTQ_ES_DFSRV_MAP3_REG_PQ3E_VAL(val)   (((val) & 0x3) << 28)
2440 +#define LTQ_ES_DFSRV_MAP3_REG_PQ3E_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP3_REG_PQ3E) >> 28) & 0x3)
2441 +#define LTQ_ES_DFSRV_MAP3_REG_PQ3E_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP3_REG_PQ3E) | (((val) & 0x3) << 28))
2442 +/* Priority Queue 3D (27:26) */
2443 +#define LTQ_ES_DFSRV_MAP3_REG_PQ3D   (0x3 << 26)
2444 +#define LTQ_ES_DFSRV_MAP3_REG_PQ3D_VAL(val)   (((val) & 0x3) << 26)
2445 +#define LTQ_ES_DFSRV_MAP3_REG_PQ3D_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP3_REG_PQ3D) >> 26) & 0x3)
2446 +#define LTQ_ES_DFSRV_MAP3_REG_PQ3D_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP3_REG_PQ3D) | (((val) & 0x3) << 26))
2447 +/* Priority Queue 3C (25:24) */
2448 +#define LTQ_ES_DFSRV_MAP3_REG_PQ3C   (0x3 << 24)
2449 +#define LTQ_ES_DFSRV_MAP3_REG_PQ3C_VAL(val)   (((val) & 0x3) << 24)
2450 +#define LTQ_ES_DFSRV_MAP3_REG_PQ3C_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP3_REG_PQ3C) >> 24) & 0x3)
2451 +#define LTQ_ES_DFSRV_MAP3_REG_PQ3C_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP3_REG_PQ3C) | (((val) & 0x3) << 24))
2452 +/* Priority Queue 3B (23:22) */
2453 +#define LTQ_ES_DFSRV_MAP3_REG_PQ3B   (0x3 << 22)
2454 +#define LTQ_ES_DFSRV_MAP3_REG_PQ3B_VAL(val)   (((val) & 0x3) << 22)
2455 +#define LTQ_ES_DFSRV_MAP3_REG_PQ3B_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP3_REG_PQ3B) >> 22) & 0x3)
2456 +#define LTQ_ES_DFSRV_MAP3_REG_PQ3B_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP3_REG_PQ3B) | (((val) & 0x3) << 22))
2457 +/* Priority Queue 3A (21:20) */
2458 +#define LTQ_ES_DFSRV_MAP3_REG_PQ3A   (0x3 << 20)
2459 +#define LTQ_ES_DFSRV_MAP3_REG_PQ3A_VAL(val)   (((val) & 0x3) << 20)
2460 +#define LTQ_ES_DFSRV_MAP3_REG_PQ3A_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP3_REG_PQ3A) >> 20) & 0x3)
2461 +#define LTQ_ES_DFSRV_MAP3_REG_PQ3A_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP3_REG_PQ3A) | (((val) & 0x3) << 20))
2462 +/* Priority Queue 39 (19:18) */
2463 +#define LTQ_ES_DFSRV_MAP3_REG_PQ39   (0x3 << 18)
2464 +#define LTQ_ES_DFSRV_MAP3_REG_PQ39_VAL(val)   (((val) & 0x3) << 18)
2465 +#define LTQ_ES_DFSRV_MAP3_REG_PQ39_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP3_REG_PQ39) >> 18) & 0x3)
2466 +#define LTQ_ES_DFSRV_MAP3_REG_PQ39_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP3_REG_PQ39) | (((val) & 0x3) << 18))
2467 +/* Priority Queue 38 (17:16) */
2468 +#define LTQ_ES_DFSRV_MAP3_REG_PQ38   (0x3 << 16)
2469 +#define LTQ_ES_DFSRV_MAP3_REG_PQ38_VAL(val)   (((val) & 0x3) << 16)
2470 +#define LTQ_ES_DFSRV_MAP3_REG_PQ38_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP3_REG_PQ38) >> 16) & 0x3)
2471 +#define LTQ_ES_DFSRV_MAP3_REG_PQ38_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP3_REG_PQ38) | (((val) & 0x3) << 16))
2472 +/* Priority Queue 37 (15:14) */
2473 +#define LTQ_ES_DFSRV_MAP3_REG_PQ37   (0x3 << 14)
2474 +#define LTQ_ES_DFSRV_MAP3_REG_PQ37_VAL(val)   (((val) & 0x3) << 14)
2475 +#define LTQ_ES_DFSRV_MAP3_REG_PQ37_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP3_REG_PQ37) >> 14) & 0x3)
2476 +#define LTQ_ES_DFSRV_MAP3_REG_PQ37_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP3_REG_PQ37) | (((val) & 0x3) << 14))
2477 +/* Priority Queue 36 (13:12) */
2478 +#define LTQ_ES_DFSRV_MAP3_REG_PQ36   (0x3 << 12)
2479 +#define LTQ_ES_DFSRV_MAP3_REG_PQ36_VAL(val)   (((val) & 0x3) << 12)
2480 +#define LTQ_ES_DFSRV_MAP3_REG_PQ36_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP3_REG_PQ36) >> 12) & 0x3)
2481 +#define LTQ_ES_DFSRV_MAP3_REG_PQ36_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP3_REG_PQ36) | (((val) & 0x3) << 12))
2482 +/* Priority Queue 35 (11:10) */
2483 +#define LTQ_ES_DFSRV_MAP3_REG_PQ35   (0x3 << 10)
2484 +#define LTQ_ES_DFSRV_MAP3_REG_PQ35_VAL(val)   (((val) & 0x3) << 10)
2485 +#define LTQ_ES_DFSRV_MAP3_REG_PQ35_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP3_REG_PQ35) >> 10) & 0x3)
2486 +#define LTQ_ES_DFSRV_MAP3_REG_PQ35_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP3_REG_PQ35) | (((val) & 0x3) << 10))
2487 +/* Priority Queue 34 (9:8) */
2488 +#define LTQ_ES_DFSRV_MAP3_REG_PQ34   (0x3 << 8)
2489 +#define LTQ_ES_DFSRV_MAP3_REG_PQ34_VAL(val)   (((val) & 0x3) << 8)
2490 +#define LTQ_ES_DFSRV_MAP3_REG_PQ34_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP3_REG_PQ34) >> 8) & 0x3)
2491 +#define LTQ_ES_DFSRV_MAP3_REG_PQ34_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP3_REG_PQ34) | (((val) & 0x3) << 8))
2492 +/* Priority Queue 33 (7:6) */
2493 +#define LTQ_ES_DFSRV_MAP3_REG_PQ33   (0x3 << 6)
2494 +#define LTQ_ES_DFSRV_MAP3_REG_PQ33_VAL(val)   (((val) & 0x3) << 6)
2495 +#define LTQ_ES_DFSRV_MAP3_REG_PQ33_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP3_REG_PQ33) >> 6) & 0x3)
2496 +#define LTQ_ES_DFSRV_MAP3_REG_PQ33_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP3_REG_PQ33) | (((val) & 0x3) << 6))
2497 +/* Priority Queue 32 (5:4) */
2498 +#define LTQ_ES_DFSRV_MAP3_REG_PQ32   (0x3 << 4)
2499 +#define LTQ_ES_DFSRV_MAP3_REG_PQ32_VAL(val)   (((val) & 0x3) << 4)
2500 +#define LTQ_ES_DFSRV_MAP3_REG_PQ32_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP3_REG_PQ32) >> 4) & 0x3)
2501 +#define LTQ_ES_DFSRV_MAP3_REG_PQ32_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP3_REG_PQ32) | (((val) & 0x3) << 4))
2502 +/* Priority Queue 31 (3:2) */
2503 +#define LTQ_ES_DFSRV_MAP3_REG_PQ31   (0x3 << 2)
2504 +#define LTQ_ES_DFSRV_MAP3_REG_PQ31_VAL(val)   (((val) & 0x3) << 2)
2505 +#define LTQ_ES_DFSRV_MAP3_REG_PQ31_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP3_REG_PQ31) >> 2) & 0x3)
2506 +#define LTQ_ES_DFSRV_MAP3_REG_PQ31_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP3_REG_PQ31) | (((val) & 0x3) << 2))
2507 +/* Priority Queue 30 (1:0) */
2508 +#define LTQ_ES_DFSRV_MAP3_REG_PQ30   (0x3)
2509 +#define LTQ_ES_DFSRV_MAP3_REG_PQ30_VAL(val)   (((val) & 0x3) << 0)
2510 +#define LTQ_ES_DFSRV_MAP3_REG_PQ30_GET(val)   ((((val) & LTQ_ES_DFSRV_MAP3_REG_PQ30) >> 0) & 0x3)
2511 +#define LTQ_ES_DFSRV_MAP3_REG_PQ30_SET(reg,val) (reg) = ((reg & ~LTQ_ES_DFSRV_MAP3_REG_PQ30) | (((val) & 0x3) << 0))
2512 +
2513 +/*******************************************************************************
2514 + * TCP/UDP Port Filter 0
2515 + ******************************************************************************/
2516 +
2517 +/* Reserved (31:30) */
2518 +#define LTQ_ES_TCP_PF0_REG_RES   (0x3 << 30)
2519 +#define LTQ_ES_TCP_PF0_REG_RES_GET(val)   ((((val) & LTQ_ES_TCP_PF0_REG_RES) >> 30) & 0x3)
2520 +/* Action for TCP/UDP Port Filter 0 (29:28) */
2521 +#define LTQ_ES_TCP_PF0_REG_ATUF0   (0x3 << 28)
2522 +#define LTQ_ES_TCP_PF0_REG_ATUF0_VAL(val)   (((val) & 0x3) << 28)
2523 +#define LTQ_ES_TCP_PF0_REG_ATUF0_GET(val)   ((((val) & LTQ_ES_TCP_PF0_REG_ATUF0) >> 28) & 0x3)
2524 +#define LTQ_ES_TCP_PF0_REG_ATUF0_SET(reg,val) (reg) = ((reg & ~LTQ_ES_TCP_PF0_REG_ATUF0) | (((val) & 0x3) << 28))
2525 +/* TCP/UDP PRI for TCP/UDP Port Filter 0 (27:26) */
2526 +#define LTQ_ES_TCP_PF0_REG_TUPF0   (0x3 << 26)
2527 +#define LTQ_ES_TCP_PF0_REG_TUPF0_VAL(val)   (((val) & 0x3) << 26)
2528 +#define LTQ_ES_TCP_PF0_REG_TUPF0_GET(val)   ((((val) & LTQ_ES_TCP_PF0_REG_TUPF0) >> 26) & 0x3)
2529 +#define LTQ_ES_TCP_PF0_REG_TUPF0_SET(reg,val) (reg) = ((reg & ~LTQ_ES_TCP_PF0_REG_TUPF0) | (((val) & 0x3) << 26))
2530 +/* Compare TCP/UDP Source Port or Destination Port (25:24) */
2531 +#define LTQ_ES_TCP_PF0_REG_COMP0   (0x3 << 24)
2532 +#define LTQ_ES_TCP_PF0_REG_COMP0_VAL(val)   (((val) & 0x3) << 24)
2533 +#define LTQ_ES_TCP_PF0_REG_COMP0_GET(val)   ((((val) & LTQ_ES_TCP_PF0_REG_COMP0) >> 24) & 0x3)
2534 +#define LTQ_ES_TCP_PF0_REG_COMP0_SET(reg,val) (reg) = ((reg & ~LTQ_ES_TCP_PF0_REG_COMP0) | (((val) & 0x3) << 24))
2535 +/* Port Range in TCP/UDP (23:16) */
2536 +#define LTQ_ES_TCP_PF0_REG_PRANGE0   (0xff << 16)
2537 +#define LTQ_ES_TCP_PF0_REG_PRANGE0_VAL(val)   (((val) & 0xff) << 16)
2538 +#define LTQ_ES_TCP_PF0_REG_PRANGE0_GET(val)   ((((val) & LTQ_ES_TCP_PF0_REG_PRANGE0) >> 16) & 0xff)
2539 +#define LTQ_ES_TCP_PF0_REG_PRANGE0_SET(reg,val) (reg) = ((reg & ~LTQ_ES_TCP_PF0_REG_PRANGE0) | (((val) & 0xff) << 16))
2540 +/* Base Port number 0 (15:0) */
2541 +#define LTQ_ES_TCP_PF0_REG_BASEPT0   (0xffff)
2542 +#define LTQ_ES_TCP_PF0_REG_BASEPT0_VAL(val)   (((val) & 0xffff) << 0)
2543 +#define LTQ_ES_TCP_PF0_REG_BASEPT0_GET(val)   ((((val) & LTQ_ES_TCP_PF0_REG_BASEPT0) >> 0) & 0xffff)
2544 +#define LTQ_ES_TCP_PF0_REG_BASEPT0_SET(reg,val) (reg) = ((reg & ~LTQ_ES_TCP_PF0_REG_BASEPT0) | (((val) & 0xffff) << 0))
2545 +
2546 +/*******************************************************************************
2547 + * Reserved DA(0180C2000003~0180C2000000) control register
2548 + ******************************************************************************/
2549 +
2550 +/* Valid bit for 0180C2000003 (31) */
2551 +#define LTQ_ES_RA_03_00_REG_RA03_VALID   (0x1 << 31)
2552 +#define LTQ_ES_RA_03_00_REG_RA03_VALID_VAL(val)   (((val) & 0x1) << 31)
2553 +#define LTQ_ES_RA_03_00_REG_RA03_VALID_GET(val)   ((((val) & LTQ_ES_RA_03_00_REG_RA03_VALID) >> 31) & 0x1)
2554 +#define LTQ_ES_RA_03_00_REG_RA03_VALID_SET(reg,val) (reg) = ((reg & ~LTQ_ES_RA_03_00_REG_RA03_VALID) | (((val) & 0x1) << 31))
2555 +/* Span bit for 0180C2000003 (30) */
2556 +#define LTQ_ES_RA_03_00_REG_RA03_SPAN   (0x1 << 30)
2557 +#define LTQ_ES_RA_03_00_REG_RA03_SPAN_VAL(val)   (((val) & 0x1) << 30)
2558 +#define LTQ_ES_RA_03_00_REG_RA03_SPAN_GET(val)   ((((val) & LTQ_ES_RA_03_00_REG_RA03_SPAN) >> 30) & 0x1)
2559 +#define LTQ_ES_RA_03_00_REG_RA03_SPAN_SET(reg,val) (reg) = ((reg & ~LTQ_ES_RA_03_00_REG_RA03_SPAN) | (((val) & 0x1) << 30))
2560 +/* Management bit for 0180C2000003 (29) */
2561 +#define LTQ_ES_RA_03_00_REG_RA03_MG   (0x1 << 29)
2562 +#define LTQ_ES_RA_03_00_REG_RA03_MG_VAL(val)   (((val) & 0x1) << 29)
2563 +#define LTQ_ES_RA_03_00_REG_RA03_MG_GET(val)   ((((val) & LTQ_ES_RA_03_00_REG_RA03_MG) >> 29) & 0x1)
2564 +#define LTQ_ES_RA_03_00_REG_RA03_MG_SET(reg,val) (reg) = ((reg & ~LTQ_ES_RA_03_00_REG_RA03_MG) | (((val) & 0x1) << 29))
2565 +/* Cross_VLAN bit for 0180C2000003 (28) */
2566 +#define LTQ_ES_RA_03_00_REG_RA03_CV   (0x1 << 28)
2567 +#define LTQ_ES_RA_03_00_REG_RA03_CV_VAL(val)   (((val) & 0x1) << 28)
2568 +#define LTQ_ES_RA_03_00_REG_RA03_CV_GET(val)   ((((val) & LTQ_ES_RA_03_00_REG_RA03_CV) >> 28) & 0x1)
2569 +#define LTQ_ES_RA_03_00_REG_RA03_CV_SET(reg,val) (reg) = ((reg & ~LTQ_ES_RA_03_00_REG_RA03_CV) | (((val) & 0x1) << 28))
2570 +/* TXTAG bit for 0180C2000003 (27:26) */
2571 +#define LTQ_ES_RA_03_00_REG_RA03_TXTAG   (0x3 << 26)
2572 +#define LTQ_ES_RA_03_00_REG_RA03_TXTAG_VAL(val)   (((val) & 0x3) << 26)
2573 +#define LTQ_ES_RA_03_00_REG_RA03_TXTAG_GET(val)   ((((val) & LTQ_ES_RA_03_00_REG_RA03_TXTAG) >> 26) & 0x3)
2574 +#define LTQ_ES_RA_03_00_REG_RA03_TXTAG_SET(reg,val) (reg) = ((reg & ~LTQ_ES_RA_03_00_REG_RA03_TXTAG) | (((val) & 0x3) << 26))
2575 +/* Action bit for 0180C2000003 (25:24) */
2576 +#define LTQ_ES_RA_03_00_REG_RA03_ACT   (0x3 << 24)
2577 +#define LTQ_ES_RA_03_00_REG_RA03_ACT_VAL(val)   (((val) & 0x3) << 24)
2578 +#define LTQ_ES_RA_03_00_REG_RA03_ACT_GET(val)   ((((val) & LTQ_ES_RA_03_00_REG_RA03_ACT) >> 24) & 0x3)
2579 +#define LTQ_ES_RA_03_00_REG_RA03_ACT_SET(reg,val) (reg) = ((reg & ~LTQ_ES_RA_03_00_REG_RA03_ACT) | (((val) & 0x3) << 24))
2580 +/* Valid bit for 0180C2000002 (23) */
2581 +#define LTQ_ES_RA_03_00_REG_RA02_VALID   (0x1 << 23)
2582 +#define LTQ_ES_RA_03_00_REG_RA02_VALID_VAL(val)   (((val) & 0x1) << 23)
2583 +#define LTQ_ES_RA_03_00_REG_RA02_VALID_GET(val)   ((((val) & LTQ_ES_RA_03_00_REG_RA02_VALID) >> 23) & 0x1)
2584 +#define LTQ_ES_RA_03_00_REG_RA02_VALID_SET(reg,val) (reg) = ((reg & ~LTQ_ES_RA_03_00_REG_RA02_VALID) | (((val) & 0x1) << 23))
2585 +/* Span bit for 0180C2000002 (22) */
2586 +#define LTQ_ES_RA_03_00_REG_RA02_SPAN   (0x1 << 22)
2587 +#define LTQ_ES_RA_03_00_REG_RA02_SPAN_VAL(val)   (((val) & 0x1) << 22)
2588 +#define LTQ_ES_RA_03_00_REG_RA02_SPAN_GET(val)   ((((val) & LTQ_ES_RA_03_00_REG_RA02_SPAN) >> 22) & 0x1)
2589 +#define LTQ_ES_RA_03_00_REG_RA02_SPAN_SET(reg,val) (reg) = ((reg & ~LTQ_ES_RA_03_00_REG_RA02_SPAN) | (((val) & 0x1) << 22))
2590 +/* Management bit for 0180C2000002 (21) */
2591 +#define LTQ_ES_RA_03_00_REG_RA02_MG   (0x1 << 21)
2592 +#define LTQ_ES_RA_03_00_REG_RA02_MG_VAL(val)   (((val) & 0x1) << 21)
2593 +#define LTQ_ES_RA_03_00_REG_RA02_MG_GET(val)   ((((val) & LTQ_ES_RA_03_00_REG_RA02_MG) >> 21) & 0x1)
2594 +#define LTQ_ES_RA_03_00_REG_RA02_MG_SET(reg,val) (reg) = ((reg & ~LTQ_ES_RA_03_00_REG_RA02_MG) | (((val) & 0x1) << 21))
2595 +/* Cross_VLAN bit for 0180C2000002 (20) */
2596 +#define LTQ_ES_RA_03_00_REG_RA02_CV   (0x1 << 20)
2597 +#define LTQ_ES_RA_03_00_REG_RA02_CV_VAL(val)   (((val) & 0x1) << 20)
2598 +#define LTQ_ES_RA_03_00_REG_RA02_CV_GET(val)   ((((val) & LTQ_ES_RA_03_00_REG_RA02_CV) >> 20) & 0x1)
2599 +#define LTQ_ES_RA_03_00_REG_RA02_CV_SET(reg,val) (reg) = ((reg & ~LTQ_ES_RA_03_00_REG_RA02_CV) | (((val) & 0x1) << 20))
2600 +/* TXTAG bit for 0180C2000002 (19:18) */
2601 +#define LTQ_ES_RA_03_00_REG_RA02_TXTAG   (0x3 << 18)
2602 +#define LTQ_ES_RA_03_00_REG_RA02_TXTAG_VAL(val)   (((val) & 0x3) << 18)
2603 +#define LTQ_ES_RA_03_00_REG_RA02_TXTAG_GET(val)   ((((val) & LTQ_ES_RA_03_00_REG_RA02_TXTAG) >> 18) & 0x3)
2604 +#define LTQ_ES_RA_03_00_REG_RA02_TXTAG_SET(reg,val) (reg) = ((reg & ~LTQ_ES_RA_03_00_REG_RA02_TXTAG) | (((val) & 0x3) << 18))
2605 +/* Action bit for 0180C2000002 (17:16) */
2606 +#define LTQ_ES_RA_03_00_REG_RA02_ACT   (0x3 << 16)
2607 +#define LTQ_ES_RA_03_00_REG_RA02_ACT_VAL(val)   (((val) & 0x3) << 16)
2608 +#define LTQ_ES_RA_03_00_REG_RA02_ACT_GET(val)   ((((val) & LTQ_ES_RA_03_00_REG_RA02_ACT) >> 16) & 0x3)
2609 +#define LTQ_ES_RA_03_00_REG_RA02_ACT_SET(reg,val) (reg) = ((reg & ~LTQ_ES_RA_03_00_REG_RA02_ACT) | (((val) & 0x3) << 16))
2610 +/* Valid bit for 0180C2000001 (15) */
2611 +#define LTQ_ES_RA_03_00_REG_RA01_VALID   (0x1 << 15)
2612 +#define LTQ_ES_RA_03_00_REG_RA01_VALID_VAL(val)   (((val) & 0x1) << 15)
2613 +#define LTQ_ES_RA_03_00_REG_RA01_VALID_GET(val)   ((((val) & LTQ_ES_RA_03_00_REG_RA01_VALID) >> 15) & 0x1)
2614 +#define LTQ_ES_RA_03_00_REG_RA01_VALID_SET(reg,val) (reg) = ((reg & ~LTQ_ES_RA_03_00_REG_RA01_VALID) | (((val) & 0x1) << 15))
2615 +/* Span bit for 0180C2000001 (14) */
2616 +#define LTQ_ES_RA_03_00_REG_RA01_SPAN   (0x1 << 14)
2617 +#define LTQ_ES_RA_03_00_REG_RA01_SPAN_VAL(val)   (((val) & 0x1) << 14)
2618 +#define LTQ_ES_RA_03_00_REG_RA01_SPAN_GET(val)   ((((val) & LTQ_ES_RA_03_00_REG_RA01_SPAN) >> 14) & 0x1)
2619 +#define LTQ_ES_RA_03_00_REG_RA01_SPAN_SET(reg,val) (reg) = ((reg & ~LTQ_ES_RA_03_00_REG_RA01_SPAN) | (((val) & 0x1) << 14))
2620 +/* Management bit for 0180C2000001 (13) */
2621 +#define LTQ_ES_RA_03_00_REG_RA01_MG   (0x1 << 13)
2622 +#define LTQ_ES_RA_03_00_REG_RA01_MG_VAL(val)   (((val) & 0x1) << 13)
2623 +#define LTQ_ES_RA_03_00_REG_RA01_MG_GET(val)   ((((val) & LTQ_ES_RA_03_00_REG_RA01_MG) >> 13) & 0x1)
2624 +#define LTQ_ES_RA_03_00_REG_RA01_MG_SET(reg,val) (reg) = ((reg & ~LTQ_ES_RA_03_00_REG_RA01_MG) | (((val) & 0x1) << 13))
2625 +/* Cross_VLAN bit for 0180C2000001 (12) */
2626 +#define LTQ_ES_RA_03_00_REG_RA01_CV   (0x1 << 12)
2627 +#define LTQ_ES_RA_03_00_REG_RA01_CV_VAL(val)   (((val) & 0x1) << 12)
2628 +#define LTQ_ES_RA_03_00_REG_RA01_CV_GET(val)   ((((val) & LTQ_ES_RA_03_00_REG_RA01_CV) >> 12) & 0x1)
2629 +#define LTQ_ES_RA_03_00_REG_RA01_CV_SET(reg,val) (reg) = ((reg & ~LTQ_ES_RA_03_00_REG_RA01_CV) | (((val) & 0x1) << 12))
2630 +/* TXTAG bit for 0180C2000001 (11:10) */
2631 +#define LTQ_ES_RA_03_00_REG_RA01_TXTAG   (0x3 << 10)
2632 +#define LTQ_ES_RA_03_00_REG_RA01_TXTAG_VAL(val)   (((val) & 0x3) << 10)
2633 +#define LTQ_ES_RA_03_00_REG_RA01_TXTAG_GET(val)   ((((val) & LTQ_ES_RA_03_00_REG_RA01_TXTAG) >> 10) & 0x3)
2634 +#define LTQ_ES_RA_03_00_REG_RA01_TXTAG_SET(reg,val) (reg) = ((reg & ~LTQ_ES_RA_03_00_REG_RA01_TXTAG) | (((val) & 0x3) << 10))
2635 +/* Action bit for 0180C2000001 (9:8) */
2636 +#define LTQ_ES_RA_03_00_REG_RA01_ACT   (0x3 << 8)
2637 +#define LTQ_ES_RA_03_00_REG_RA01_ACT_VAL(val)   (((val) & 0x3) << 8)
2638 +#define LTQ_ES_RA_03_00_REG_RA01_ACT_GET(val)   ((((val) & LTQ_ES_RA_03_00_REG_RA01_ACT) >> 8) & 0x3)
2639 +#define LTQ_ES_RA_03_00_REG_RA01_ACT_SET(reg,val) (reg) = ((reg & ~LTQ_ES_RA_03_00_REG_RA01_ACT) | (((val) & 0x3) << 8))
2640 +/* Valid bit for 0180C2000000 (7) */
2641 +#define LTQ_ES_RA_03_00_REG_RA00_VALID   (0x1 << 7)
2642 +#define LTQ_ES_RA_03_00_REG_RA00_VALID_VAL(val)   (((val) & 0x1) << 7)
2643 +#define LTQ_ES_RA_03_00_REG_RA00_VALID_GET(val)   ((((val) & LTQ_ES_RA_03_00_REG_RA00_VALID) >> 7) & 0x1)
2644 +#define LTQ_ES_RA_03_00_REG_RA00_VALID_SET(reg,val) (reg) = ((reg & ~LTQ_ES_RA_03_00_REG_RA00_VALID) | (((val) & 0x1) << 7))
2645 +/* Span bit for 0180C2000000 (6) */
2646 +#define LTQ_ES_RA_03_00_REG_RA00_SPAN   (0x1 << 6)
2647 +#define LTQ_ES_RA_03_00_REG_RA00_SPAN_VAL(val)   (((val) & 0x1) << 6)
2648 +#define LTQ_ES_RA_03_00_REG_RA00_SPAN_GET(val)   ((((val) & LTQ_ES_RA_03_00_REG_RA00_SPAN) >> 6) & 0x1)
2649 +#define LTQ_ES_RA_03_00_REG_RA00_SPAN_SET(reg,val) (reg) = ((reg & ~LTQ_ES_RA_03_00_REG_RA00_SPAN) | (((val) & 0x1) << 6))
2650 +/* Management bit for 0180C2000000 (5) */
2651 +#define LTQ_ES_RA_03_00_REG_RA00_MG   (0x1 << 5)
2652 +#define LTQ_ES_RA_03_00_REG_RA00_MG_VAL(val)   (((val) & 0x1) << 5)
2653 +#define LTQ_ES_RA_03_00_REG_RA00_MG_GET(val)   ((((val) & LTQ_ES_RA_03_00_REG_RA00_MG) >> 5) & 0x1)
2654 +#define LTQ_ES_RA_03_00_REG_RA00_MG_SET(reg,val) (reg) = ((reg & ~LTQ_ES_RA_03_00_REG_RA00_MG) | (((val) & 0x1) << 5))
2655 +/* Cross_VLAN bit for 0180C2000000 (4) */
2656 +#define LTQ_ES_RA_03_00_REG_RA00_CV   (0x1 << 4)
2657 +#define LTQ_ES_RA_03_00_REG_RA00_CV_VAL(val)   (((val) & 0x1) << 4)
2658 +#define LTQ_ES_RA_03_00_REG_RA00_CV_GET(val)   ((((val) & LTQ_ES_RA_03_00_REG_RA00_CV) >> 4) & 0x1)
2659 +#define LTQ_ES_RA_03_00_REG_RA00_CV_SET(reg,val) (reg) = ((reg & ~LTQ_ES_RA_03_00_REG_RA00_CV) | (((val) & 0x1) << 4))
2660 +/* TXTAG bit for 0180C2000000 (3:2) */
2661 +#define LTQ_ES_RA_03_00_REG_RA00_TXTAG   (0x3 << 2)
2662 +#define LTQ_ES_RA_03_00_REG_RA00_TXTAG_VAL(val)   (((val) & 0x3) << 2)
2663 +#define LTQ_ES_RA_03_00_REG_RA00_TXTAG_GET(val)   ((((val) & LTQ_ES_RA_03_00_REG_RA00_TXTAG) >> 2) & 0x3)
2664 +#define LTQ_ES_RA_03_00_REG_RA00_TXTAG_SET(reg,val) (reg) = ((reg & ~LTQ_ES_RA_03_00_REG_RA00_TXTAG) | (((val) & 0x3) << 2))
2665 +/* Action bit for 0180C2000000 (1:0) */
2666 +#define LTQ_ES_RA_03_00_REG_RA00_ACT   (0x3)
2667 +#define LTQ_ES_RA_03_00_REG_RA00_ACT_VAL(val)   (((val) & 0x3) << 0)
2668 +#define LTQ_ES_RA_03_00_REG_RA00_ACT_GET(val)   ((((val) & LTQ_ES_RA_03_00_REG_RA00_ACT) >> 0) & 0x3)
2669 +#define LTQ_ES_RA_03_00_REG_RA00_ACT_SET(reg,val) (reg) = ((reg & ~LTQ_ES_RA_03_00_REG_RA00_ACT) | (((val) & 0x3) << 0))
2670 +
2671 +/*******************************************************************************
2672 + * Protocol Filter 0
2673 + ******************************************************************************/
2674 +
2675 +/* Value Compared with Protocol in IP Header (31:24) */
2676 +#define LTQ_ES_PRTCL_F0_REG_PFR3   (0xff << 24)
2677 +#define LTQ_ES_PRTCL_F0_REG_PFR3_VAL(val)   (((val) & 0xff) << 24)
2678 +#define LTQ_ES_PRTCL_F0_REG_PFR3_GET(val)   ((((val) & LTQ_ES_PRTCL_F0_REG_PFR3) >> 24) & 0xff)
2679 +#define LTQ_ES_PRTCL_F0_REG_PFR3_SET(reg,val) (reg) = ((reg & ~LTQ_ES_PRTCL_F0_REG_PFR3) | (((val) & 0xff) << 24))
2680 +/* Value Compared with Protocol in IP Header (23:16) */
2681 +#define LTQ_ES_PRTCL_F0_REG_PFR2   (0xff << 16)
2682 +#define LTQ_ES_PRTCL_F0_REG_PFR2_VAL(val)   (((val) & 0xff) << 16)
2683 +#define LTQ_ES_PRTCL_F0_REG_PFR2_GET(val)   ((((val) & LTQ_ES_PRTCL_F0_REG_PFR2) >> 16) & 0xff)
2684 +#define LTQ_ES_PRTCL_F0_REG_PFR2_SET(reg,val) (reg) = ((reg & ~LTQ_ES_PRTCL_F0_REG_PFR2) | (((val) & 0xff) << 16))
2685 +/* Value Compared with Protocol in IP Header (15:8) */
2686 +#define LTQ_ES_PRTCL_F0_REG_PFR1   (0xff << 8)
2687 +#define LTQ_ES_PRTCL_F0_REG_PFR1_VAL(val)   (((val) & 0xff) << 8)
2688 +#define LTQ_ES_PRTCL_F0_REG_PFR1_GET(val)   ((((val) & LTQ_ES_PRTCL_F0_REG_PFR1) >> 8) & 0xff)
2689 +#define LTQ_ES_PRTCL_F0_REG_PFR1_SET(reg,val) (reg) = ((reg & ~LTQ_ES_PRTCL_F0_REG_PFR1) | (((val) & 0xff) << 8))
2690 +/* Value Compared with Protocol in IP Header (7:0) */
2691 +#define LTQ_ES_PRTCL_F0_REG_PFR0   (0xff)
2692 +#define LTQ_ES_PRTCL_F0_REG_PFR0_VAL(val)   (((val) & 0xff) << 0)
2693 +#define LTQ_ES_PRTCL_F0_REG_PFR0_GET(val)   ((((val) & LTQ_ES_PRTCL_F0_REG_PFR0) >> 0) & 0xff)
2694 +#define LTQ_ES_PRTCL_F0_REG_PFR0_SET(reg,val) (reg) = ((reg & ~LTQ_ES_PRTCL_F0_REG_PFR0) | (((val) & 0xff) << 0))
2695 +
2696 +#endif
2697 Index: linux-3.3.8/include/linux/svip_nat.h
2698 ===================================================================
2699 --- /dev/null   1970-01-01 00:00:00.000000000 +0000
2700 +++ linux-3.3.8/include/linux/svip_nat.h        2012-07-31 15:46:02.476476158 +0200
2701 @@ -0,0 +1,37 @@
2702 +/******************************************************************************
2703 +
2704 +                               Copyright (c) 2007
2705 +                            Infineon Technologies AG
2706 +                     Am Campeon 1-12; 81726 Munich, Germany
2707 +
2708 +  THE DELIVERY OF THIS SOFTWARE AS WELL AS THE HEREBY GRANTED NON-EXCLUSIVE,
2709 +  WORLDWIDE LICENSE TO USE, COPY, MODIFY, DISTRIBUTE AND SUBLICENSE THIS
2710 +  SOFTWARE IS FREE OF CHARGE.
2711 +
2712 +  THE LICENSED SOFTWARE IS PROVIDED "AS IS" AND INFINEON EXPRESSLY DISCLAIMS
2713 +  ALL REPRESENTATIONS AND WARRANTIES, WHETHER EXPRESS OR IMPLIED, INCLUDING
2714 +  WITHOUT LIMITATION, WARRANTIES OR REPRESENTATIONS OF WORKMANSHIP,
2715 +  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, DURABILITY, THAT THE
2716 +  OPERATING OF THE LICENSED SOFTWARE WILL BE ERROR FREE OR FREE OF ANY THIRD
2717 +  PARTY CLAIMS, INCLUDING WITHOUT LIMITATION CLAIMS OF THIRD PARTY INTELLECTUAL
2718 +  PROPERTY INFRINGEMENT.
2719 +
2720 +  EXCEPT FOR ANY LIABILITY DUE TO WILFUL ACTS OR GROSS NEGLIGENCE AND EXCEPT
2721 +  FOR ANY PERSONAL INJURY INFINEON SHALL IN NO EVENT BE LIABLE FOR ANY CLAIM
2722 +  OR DAMAGES OF ANY KIND, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
2723 +  ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
2724 +  DEALINGS IN THE SOFTWARE.
2725 +*******************************************************************************/
2726 +#ifndef _SVIP_NAT_H
2727 +#define _SVIP_NAT_H
2728 +
2729 +/*  The declarations here have to be in a header file, because
2730 + *  they need to be known both to the kernel module
2731 + *  (in chardev.c) and the process calling ioctl (ioctl.c)
2732 + */
2733 +#include <linux/svip_nat_io.h>
2734 +
2735 +#define SVIP_NAT_VERSION "3.1"
2736 +extern int do_SVIP_NAT(struct sk_buff *);
2737 +
2738 +#endif
2739 Index: linux-3.3.8/include/linux/svip_nat_io.h
2740 ===================================================================
2741 --- /dev/null   1970-01-01 00:00:00.000000000 +0000
2742 +++ linux-3.3.8/include/linux/svip_nat_io.h     2012-07-31 15:46:02.476476158 +0200
2743 @@ -0,0 +1,103 @@
2744 +/******************************************************************************
2745 +
2746 +                               Copyright (c) 2007
2747 +                            Infineon Technologies AG
2748 +                     Am Campeon 1-12; 81726 Munich, Germany
2749 +
2750 +  THE DELIVERY OF THIS SOFTWARE AS WELL AS THE HEREBY GRANTED NON-EXCLUSIVE,
2751 +  WORLDWIDE LICENSE TO USE, COPY, MODIFY, DISTRIBUTE AND SUBLICENSE THIS
2752 +  SOFTWARE IS FREE OF CHARGE.
2753 +
2754 +  THE LICENSED SOFTWARE IS PROVIDED "AS IS" AND INFINEON EXPRESSLY DISCLAIMS
2755 +  ALL REPRESENTATIONS AND WARRANTIES, WHETHER EXPRESS OR IMPLIED, INCLUDING
2756 +  WITHOUT LIMITATION, WARRANTIES OR REPRESENTATIONS OF WORKMANSHIP,
2757 +  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, DURABILITY, THAT THE
2758 +  OPERATING OF THE LICENSED SOFTWARE WILL BE ERROR FREE OR FREE OF ANY THIRD
2759 +  PARTY CLAIMS, INCLUDING WITHOUT LIMITATION CLAIMS OF THIRD PARTY INTELLECTUAL
2760 +  PROPERTY INFRINGEMENT.
2761 +
2762 +  EXCEPT FOR ANY LIABILITY DUE TO WILFUL ACTS OR GROSS NEGLIGENCE AND EXCEPT
2763 +  FOR ANY PERSONAL INJURY INFINEON SHALL IN NO EVENT BE LIABLE FOR ANY CLAIM
2764 +  OR DAMAGES OF ANY KIND, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
2765 +  ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
2766 +  DEALINGS IN THE SOFTWARE.
2767 + *******************************************************************************/
2768 +#ifndef _SVIP_NAT_IO_H_
2769 +#define _SVIP_NAT_IO_H_
2770 +
2771 +#include <asm/ioctl.h>
2772 +
2773 +#define SVIP_NAT_DEVICE_NAME           "svip_nat"
2774 +#define PATH_SVIP_NAT_DEVICE_NAME      "/dev/"SVIP_NAT_DEVICE_NAME
2775 +
2776 +#define MAJOR_NUM_SVIP_NAT             10
2777 +#define MINOR_NUM_SVIP_NAT             120
2778 +
2779 +/** maximum SVIP devices supported on a Line card system */
2780 +#define SVIP_SYS_NUM                   12
2781 +
2782 +/** maximum voice packet channels possible per SVIP device */
2783 +#define SVIP_CODEC_NUM                 16
2784 +
2785 +/** start UDP port number of the SVIP Linecard System */
2786 +#define SVIP_UDP_FROM                  50000
2787 +
2788 +/** @defgroup SVIP_NATAPI  SVIP Custom NAT ioctl interface.
2789 +  An ioctl interface is provided to add a rule into the SVIP NAT table and
2790 +  to respectively remove the rule form it. The ioctl interface is accessible
2791 +  using the fd issued upon opening the special device node /dev/svip_nat.
2792 +  @{  */
2793 +
2794 +/** Used to add a new rule to the SVIP Custom NAT table. If a rule already
2795 +  exists for the target UDP port, that rule shall be overwritten.
2796 +
2797 +  \param SVIP_NAT_IO_Rule_t* The parameter points to a
2798 +  \ref SVIP_NAT_IO_Rule_t structure.
2799 +  */
2800 +#define FIO_SVIP_NAT_RULE_ADD \
2801 +       _IOW(MAJOR_NUM_SVIP_NAT, 1, SVIP_NAT_IO_Rule_t)
2802 +
2803 +/** Used to remove a rule from the SVIP Custom NAT table. No check is
2804 +  performed whether the rule already exists or not. The remove operation is
2805 +  performed as long as the target UDP port is within the defined port range.
2806 +
2807 +  \param SVIP_NAT_IO_Rule_t* The parameter points to a
2808 +  \ref SVIP_NAT_IO_Rule_t structure.
2809 +  */
2810 +#define FIO_SVIP_NAT_RULE_REMOVE \
2811 +       _IOW(MAJOR_NUM_SVIP_NAT, 2, SVIP_NAT_IO_Rule_t)
2812 +
2813 +/** Used to list all rules in the SVIP Custom NAT table.
2814 +
2815 +  \param <none>
2816 +  */
2817 +#define FIO_SVIP_NAT_RULE_LIST \
2818 +       _IO(MAJOR_NUM_SVIP_NAT, 3)
2819 +
2820 +/** IP address in network-byte order */
2821 +typedef u32 SVIP_IP_ADDR_t;
2822 +/** UDP port in network-byte order */
2823 +typedef u16 SVIP_UDP_PORT_t;
2824 +
2825 +#ifndef ETH_ALEN
2826 +#define ETH_ALEN                       6 /* Octets in one ethernet address */
2827 +#endif
2828 +
2829 +/** NAT parameters part of the NAT table.
2830 +  These paramters are configurable through the NAT API. */
2831 +typedef struct SVIP_NAT_IO_Rule
2832 +{
2833 +       /** Remote peer, IP address */
2834 +       SVIP_IP_ADDR_t remIP;
2835 +       /** Remote peer, MAC address */
2836 +       u8 remMAC[ETH_ALEN];
2837 +       /** Target SVIP, IP address (local peer) */
2838 +       SVIP_IP_ADDR_t locIP;
2839 +       /** Target SVIP, MAC address */
2840 +       u8 locMAC[ETH_ALEN];
2841 +       /** Target SVIP, UDP port number */
2842 +       SVIP_UDP_PORT_t locUDP;
2843 +} SVIP_NAT_IO_Rule_t;
2844 +
2845 +/** @} */
2846 +#endif
2847 Index: linux-3.3.8/arch/mips/include/asm/mach-lantiq/svip/mps_reg.h
2848 ===================================================================
2849 --- /dev/null   1970-01-01 00:00:00.000000000 +0000
2850 +++ linux-3.3.8/arch/mips/include/asm/mach-lantiq/svip/mps_reg.h        2012-07-31 15:46:02.476476158 +0200
2851 @@ -0,0 +1,242 @@
2852 +/******************************************************************************
2853 +
2854 +  Copyright (c) 2007
2855 +  Infineon Technologies AG
2856 +  St. Martin Strasse 53; 81669 Munich, Germany
2857 +
2858 +  Any use of this Software is subject to the conclusion of a respective
2859 +  License Agreement. Without such a License Agreement no rights to the
2860 +  Software are granted.
2861 +
2862 + ******************************************************************************/
2863 +
2864 +#ifndef __MPS_REG_H
2865 +#define __MPS_REG_H
2866 +
2867 +#define mbs_r32(reg) ltq_r32(&mbs->reg)
2868 +#define mbs_w32(val, reg) ltq_w32(val, &mbs->reg)
2869 +#define mbs_w32_mask(clear, set, reg) ltq_w32_mask(clear, set, &mbs->reg)
2870 +
2871 +/** MBS register structure */
2872 +struct svip_reg_mbs {
2873 +       unsigned long reserved0[4];
2874 +       unsigned long mbsr0; /* 0x0010 */
2875 +       unsigned long mbsr1; /* 0x0014 */
2876 +       unsigned long mbsr2; /* 0x0018 */
2877 +       unsigned long mbsr3; /* 0x001c */
2878 +       unsigned long mbsr4; /* 0x0020 */
2879 +       unsigned long mbsr5; /* 0x0024 */
2880 +       unsigned long mbsr6; /* 0x0028 */
2881 +       unsigned long mbsr7; /* 0x002c */
2882 +       unsigned long mbsr8; /* 0x0030 */
2883 +       unsigned long mbsr9; /* 0x0034 */
2884 +       unsigned long mbsr10; /* 0x0038 */
2885 +       unsigned long mbsr11; /* 0x003c */
2886 +       unsigned long mbsr12; /* 0x0040 */
2887 +       unsigned long mbsr13; /* 0x0044 */
2888 +       unsigned long mbsr14; /* 0x0048 */
2889 +       unsigned long mbsr15; /* 0x004c */
2890 +       unsigned long mbsr16; /* 0x0050 */
2891 +       unsigned long mbsr17; /* 0x0054 */
2892 +       unsigned long mbsr18; /* 0x0058 */
2893 +       unsigned long mbsr19; /* 0x005c */
2894 +       unsigned long mbsr20; /* 0x0060 */
2895 +       unsigned long mbsr21; /* 0x0064 */
2896 +       unsigned long mbsr22; /* 0x0068 */
2897 +       unsigned long mbsr23; /* 0x006c */
2898 +       unsigned long mbsr24; /* 0x0070 */
2899 +       unsigned long mbsr25; /* 0x0074 */
2900 +       unsigned long mbsr26; /* 0x0078 */
2901 +       unsigned long mbsr27; /* 0x007c */
2902 +       unsigned long mbsr28; /* 0x0080 */
2903 +};
2904 +
2905 +/** MPS register structure */
2906 +struct svip_reg_mps {
2907 +       volatile unsigned long  mps_swirn0set;  /*  0x0000 */
2908 +       volatile unsigned long  mps_swirn0en;  /*  0x0004 */
2909 +       volatile unsigned long  mps_swirn0cr;  /*  0x0008 */
2910 +       volatile unsigned long  mps_swirn0icr;  /*  0x000C */
2911 +       volatile unsigned long  mps_swirn1set;  /*  0x0010 */
2912 +       volatile unsigned long  mps_swirn1en;  /*  0x0014 */
2913 +       volatile unsigned long  mps_swirn1cr;  /*  0x0018 */
2914 +       volatile unsigned long  mps_swirn1icr;  /*  0x001C */
2915 +       volatile unsigned long  mps_swirn2set;  /*  0x0020 */
2916 +       volatile unsigned long  mps_swirn2en;  /*  0x0024 */
2917 +       volatile unsigned long  mps_swirn2cr;  /*  0x0028 */
2918 +       volatile unsigned long  mps_swirn2icr;  /*  0x002C */
2919 +       volatile unsigned long  mps_swirn3set;  /*  0x0030 */
2920 +       volatile unsigned long  mps_swirn3en;  /*  0x0034 */
2921 +       volatile unsigned long  mps_swirn3cr;  /*  0x0038 */
2922 +       volatile unsigned long  mps_swirn3icr;  /*  0x003C */
2923 +       volatile unsigned long  mps_swirn4set;  /*  0x0040 */
2924 +       volatile unsigned long  mps_swirn4en;  /*  0x0044 */
2925 +       volatile unsigned long  mps_swirn4cr;  /*  0x0048 */
2926 +       volatile unsigned long  mps_swirn4icr;  /*  0x004C */
2927 +       volatile unsigned long  mps_swirn5set;  /*  0x0050 */
2928 +       volatile unsigned long  mps_swirn5en;  /*  0x0054 */
2929 +       volatile unsigned long  mps_swirn5cr;  /*  0x0058 */
2930 +       volatile unsigned long  mps_swirn5icr;  /*  0x005C */
2931 +       volatile unsigned long  mps_swirn6set;  /*  0x0060 */
2932 +       volatile unsigned long  mps_swirn6en;  /*  0x0064 */
2933 +       volatile unsigned long  mps_swirn6cr;  /*  0x0068 */
2934 +       volatile unsigned long  mps_swirn6icr;  /*  0x006C */
2935 +       volatile unsigned long  mps_swirn7set;  /*  0x0070 */
2936 +       volatile unsigned long  mps_swirn7en;  /*  0x0074 */
2937 +       volatile unsigned long  mps_swirn7cr;  /*  0x0078 */
2938 +       volatile unsigned long  mps_swirn7icr;  /*  0x007C */
2939 +       volatile unsigned long  mps_swirn8set;  /*  0x0080 */
2940 +       volatile unsigned long  mps_swirn8en;  /*  0x0084 */
2941 +       volatile unsigned long  mps_swirn8cr;  /*  0x0088 */
2942 +       volatile unsigned long  mps_swirn8icr;  /*  0x008C */
2943 +};
2944 +
2945 +/* Software Interrupt */
2946 +#define IFX_MPS_SWIRN0SET   ((volatile unsigned int*)(LTQ_SWINT_BASE + 0x0000))
2947 +#define IFX_MPS_SWIRN0EN   ((volatile unsigned int*)(LTQ_SWINT_BASE + 0x0004))
2948 +#define IFX_MPS_SWIRN0CR   ((volatile unsigned int*)(LTQ_SWINT_BASE + 0x0008))
2949 +#define IFX_MPS_SWIRN0ICR   ((volatile unsigned int*)(LTQ_SWINT_BASE + 0x000C))
2950 +#define IFX_MPS_SWIRN1SET   ((volatile unsigned int*)(LTQ_SWINT_BASE + 0x0010))
2951 +#define IFX_MPS_SWIRN1EN   ((volatile unsigned int*)(LTQ_SWINT_BASE + 0x0014))
2952 +#define IFX_MPS_SWIRN1CR   ((volatile unsigned int*)(LTQ_SWINT_BASE + 0x0018))
2953 +#define IFX_MPS_SWIRN1ICR   ((volatile unsigned int*)(LTQ_SWINT_BASE + 0x001C))
2954 +#define IFX_MPS_SWIRN2SET   ((volatile unsigned int*)(LTQ_SWINT_BASE + 0x0020))
2955 +#define IFX_MPS_SWIRN2EN   ((volatile unsigned int*)(LTQ_SWINT_BASE + 0x0024))
2956 +#define IFX_MPS_SWIRN2CR   ((volatile unsigned int*)(LTQ_SWINT_BASE + 0x0028))
2957 +#define IFX_MPS_SWIRN2ICR   ((volatile unsigned int*)(LTQ_SWINT_BASE + 0x002C))
2958 +#define IFX_MPS_SWIRN3SET   ((volatile unsigned int*)(LTQ_SWINT_BASE + 0x0030))
2959 +#define IFX_MPS_SWIRN3EN   ((volatile unsigned int*)(LTQ_SWINT_BASE + 0x0034))
2960 +#define IFX_MPS_SWIRN3CR   ((volatile unsigned int*)(LTQ_SWINT_BASE + 0x0038))
2961 +#define IFX_MPS_SWIRN3ICR   ((volatile unsigned int*)(LTQ_SWINT_BASE + 0x003C))
2962 +#define IFX_MPS_SWIRN4SET   ((volatile unsigned int*)(LTQ_SWINT_BASE + 0x0040))
2963 +#define IFX_MPS_SWIRN4EN   ((volatile unsigned int*)(LTQ_SWINT_BASE + 0x0044))
2964 +#define IFX_MPS_SWIRN4CR   ((volatile unsigned int*)(LTQ_SWINT_BASE + 0x0048))
2965 +#define IFX_MPS_SWIRN4ICR   ((volatile unsigned int*)(LTQ_SWINT_BASE + 0x004C))
2966 +#define IFX_MPS_SWIRN5SET   ((volatile unsigned int*)(LTQ_SWINT_BASE + 0x0050))
2967 +#define IFX_MPS_SWIRN5EN   ((volatile unsigned int*)(LTQ_SWINT_BASE + 0x0054))
2968 +#define IFX_MPS_SWIRN5CR   ((volatile unsigned int*)(LTQ_SWINT_BASE + 0x0058))
2969 +#define IFX_MPS_SWIRN5ICR   ((volatile unsigned int*)(LTQ_SWINT_BASE + 0x005C))
2970 +#define IFX_MPS_SWIRN6SET   ((volatile unsigned int*)(LTQ_SWINT_BASE + 0x0060))
2971 +#define IFX_MPS_SWIRN6EN   ((volatile unsigned int*)(LTQ_SWINT_BASE + 0x0064))
2972 +#define IFX_MPS_SWIRN6CR   ((volatile unsigned int*)(LTQ_SWINT_BASE + 0x0068))
2973 +#define IFX_MPS_SWIRN6ICR   ((volatile unsigned int*)(LTQ_SWINT_BASE + 0x006C))
2974 +#define IFX_MPS_SWIRN7SET   ((volatile unsigned int*)(LTQ_SWINT_BASE + 0x0070))
2975 +#define IFX_MPS_SWIRN7EN   ((volatile unsigned int*)(LTQ_SWINT_BASE + 0x0074))
2976 +#define IFX_MPS_SWIRN7CR   ((volatile unsigned int*)(LTQ_SWINT_BASE + 0x0078))
2977 +#define IFX_MPS_SWIRN7ICR   ((volatile unsigned int*)(LTQ_SWINT_BASE + 0x007C))
2978 +#define IFX_MPS_SWIRN8SET   ((volatile unsigned int*)(LTQ_SWINT_BASE + 0x0080))
2979 +#define IFX_MPS_SWIRN8EN   ((volatile unsigned int*)(LTQ_SWINT_BASE + 0x0084))
2980 +#define IFX_MPS_SWIRN8ICR   ((volatile unsigned int*)(LTQ_SWINT_BASE + 0x008C))
2981 +#define IFX_MPS_SWIRN8CR   ((volatile unsigned int*)(LTQ_SWINT_BASE + 0x0088))
2982 +
2983 +/*******************************************************************************
2984 + * MPS_SWIRNSET Register
2985 + ******************************************************************************/
2986 +
2987 +/* Software Interrupt Request IR5 (5) */
2988 +#define IFX_MPS_SWIRNSET_IR5   (0x1 << 5)
2989 +#define IFX_MPS_SWIRNSET_IR5_VAL(val)   (((val) & 0x1) << 5)
2990 +#define IFX_MPS_SWIRNSET_IR5_SET(reg,val) (reg) = (((reg & ~IFX_MPS_SWIRNSET_IR5) | (val) & 1) << 5)
2991 +/* Software Interrupt Request IR4 (4) */
2992 +#define IFX_MPS_SWIRNSET_IR4   (0x1 << 4)
2993 +#define IFX_MPS_SWIRNSET_IR4_VAL(val)   (((val) & 0x1) << 4)
2994 +#define IFX_MPS_SWIRNSET_IR4_SET(reg,val) (reg) = (((reg & ~IFX_MPS_SWIRNSET_IR4) | (val) & 1) << 4)
2995 +/* Software Interrupt Request IR3 (3) */
2996 +#define IFX_MPS_SWIRNSET_IR3   (0x1 << 3)
2997 +#define IFX_MPS_SWIRNSET_IR3_VAL(val)   (((val) & 0x1) << 3)
2998 +#define IFX_MPS_SWIRNSET_IR3_SET(reg,val) (reg) = (((reg & ~IFX_MPS_SWIRNSET_IR3) | (val) & 1) << 3)
2999 +/* Software Interrupt Request IR2 (2) */
3000 +#define IFX_MPS_SWIRNSET_IR2   (0x1 << 2)
3001 +#define IFX_MPS_SWIRNSET_IR2_VAL(val)   (((val) & 0x1) << 2)
3002 +#define IFX_MPS_SWIRNSET_IR2_SET(reg,val) (reg) = (((reg & ~IFX_MPS_SWIRNSET_IR2) | (val) & 1) << 2)
3003 +/* Software Interrupt Request IR1 (1) */
3004 +#define IFX_MPS_SWIRNSET_IR1   (0x1 << 1)
3005 +#define IFX_MPS_SWIRNSET_IR1_VAL(val)   (((val) & 0x1) << 1)
3006 +#define IFX_MPS_SWIRNSET_IR1_SET(reg,val) (reg) = (((reg & ~IFX_MPS_SWIRNSET_IR1) | (val) & 1) << 1)
3007 +/* Software Interrupt Request IR0 (0) */
3008 +#define IFX_MPS_SWIRNSET_IR0   (0x1)
3009 +#define IFX_MPS_SWIRNSET_IR0_VAL(val)   (((val) & 0x1) << 0)
3010 +#define IFX_MPS_SWIRNSET_IR0_SET(reg,val) (reg) = (((reg & ~IFX_MPS_SWIRNSET_IR0) | (val) & 1) << 0)
3011 +
3012 +/*******************************************************************************
3013 + * MPS_SWIRNEN Register
3014 + ******************************************************************************/
3015 +
3016 +/* Software Interrupt Request IR5 (5) */
3017 +#define IFX_MPS_SWIRNEN_IR5   (0x1 << 5)
3018 +#define IFX_MPS_SWIRNEN_IR5_VAL(val)   (((val) & 0x1) << 5)
3019 +#define IFX_MPS_SWIRNEN_IR5_GET(val)   ((((val) & IFX_MPS_SWIRNEN_IR5) >> 5) & 0x1)
3020 +#define IFX_MPS_SWIRNEN_IR5_SET(reg,val) (reg) = ((reg & ~IFX_MPS_SWIRNEN_IR5) | (((val) & 0x1) << 5))
3021 +/* Software Interrupt Request IR4 (4) */
3022 +#define IFX_MPS_SWIRNEN_IR4   (0x1 << 4)
3023 +#define IFX_MPS_SWIRNEN_IR4_VAL(val)   (((val) & 0x1) << 4)
3024 +#define IFX_MPS_SWIRNEN_IR4_GET(val)   ((((val) & IFX_MPS_SWIRNEN_IR4) >> 4) & 0x1)
3025 +#define IFX_MPS_SWIRNEN_IR4_SET(reg,val) (reg) = ((reg & ~IFX_MPS_SWIRNEN_IR4) | (((val) & 0x1) << 4))
3026 +/* Software Interrupt Request IR3 (3) */
3027 +#define IFX_MPS_SWIRNEN_IR3   (0x1 << 3)
3028 +#define IFX_MPS_SWIRNEN_IR3_VAL(val)   (((val) & 0x1) << 3)
3029 +#define IFX_MPS_SWIRNEN_IR3_GET(val)   ((((val) & IFX_MPS_SWIRNEN_IR3) >> 3) & 0x1)
3030 +#define IFX_MPS_SWIRNEN_IR3_SET(reg,val) (reg) = ((reg & ~IFX_MPS_SWIRNEN_IR3) | (((val) & 0x1) << 3))
3031 +/* Software Interrupt Request IR2 (2) */
3032 +#define IFX_MPS_SWIRNEN_IR2   (0x1 << 2)
3033 +#define IFX_MPS_SWIRNEN_IR2_VAL(val)   (((val) & 0x1) << 2)
3034 +#define IFX_MPS_SWIRNEN_IR2_GET(val)   ((((val) & IFX_MPS_SWIRNEN_IR2) >> 2) & 0x1)
3035 +#define IFX_MPS_SWIRNEN_IR2_SET(reg,val) (reg) = ((reg & ~IFX_MPS_SWIRNEN_IR2) | (((val) & 0x1) << 2))
3036 +/* Software Interrupt Request IR1 (1) */
3037 +#define IFX_MPS_SWIRNEN_IR1   (0x1 << 1)
3038 +#define IFX_MPS_SWIRNEN_IR1_VAL(val)   (((val) & 0x1) << 1)
3039 +#define IFX_MPS_SWIRNEN_IR1_GET(val)   ((((val) & IFX_MPS_SWIRNEN_IR1) >> 1) & 0x1)
3040 +#define IFX_MPS_SWIRNEN_IR1_SET(reg,val) (reg) = ((reg & ~IFX_MPS_SWIRNEN_IR1) | (((val) & 0x1) << 1))
3041 +/* Software Interrupt Request IR0 (0) */
3042 +#define IFX_MPS_SWIRNEN_IR0   (0x1)
3043 +#define IFX_MPS_SWIRNEN_IR0_VAL(val)   (((val) & 0x1) << 0)
3044 +#define IFX_MPS_SWIRNEN_IR0_GET(val)   ((((val) & IFX_MPS_SWIRNEN_IR0) >> 0) & 0x1)
3045 +#define IFX_MPS_SWIRNEN_IR0_SET(reg,val) (reg) = ((reg & ~IFX_MPS_SWIRNEN_IR0) | (((val) & 0x1) << 0))
3046 +
3047 +/*******************************************************************************
3048 + * MPS_SWIRNICR Register
3049 + ******************************************************************************/
3050 +
3051 +/* Software Interrupt Request IR5 (5) */
3052 +#define IFX_MPS_SWIRNICR_IR5   (0x1 << 5)
3053 +#define IFX_MPS_SWIRNICR_IR5_GET(val)   ((((val) & IFX_MPS_SWIRNICR_IR5) >> 5) & 0x1)
3054 +/* Software Interrupt Request IR4 (4) */
3055 +#define IFX_MPS_SWIRNICR_IR4   (0x1 << 4)
3056 +#define IFX_MPS_SWIRNICR_IR4_GET(val)   ((((val) & IFX_MPS_SWIRNICR_IR4) >> 4) & 0x1)
3057 +/* Software Interrupt Request IR3 (3) */
3058 +#define IFX_MPS_SWIRNICR_IR3   (0x1 << 3)
3059 +#define IFX_MPS_SWIRNICR_IR3_GET(val)   ((((val) & IFX_MPS_SWIRNICR_IR3) >> 3) & 0x1)
3060 +/* Software Interrupt Request IR2 (2) */
3061 +#define IFX_MPS_SWIRNICR_IR2   (0x1 << 2)
3062 +#define IFX_MPS_SWIRNICR_IR2_GET(val)   ((((val) & IFX_MPS_SWIRNICR_IR2) >> 2) & 0x1)
3063 +/* Software Interrupt Request IR1 (1) */
3064 +#define IFX_MPS_SWIRNICR_IR1   (0x1 << 1)
3065 +#define IFX_MPS_SWIRNICR_IR1_GET(val)   ((((val) & IFX_MPS_SWIRNICR_IR1) >> 1) & 0x1)
3066 +/* Software Interrupt Request IR0 (0) */
3067 +#define IFX_MPS_SWIRNICR_IR0   (0x1)
3068 +#define IFX_MPS_SWIRNICR_IR0_GET(val)   ((((val) & IFX_MPS_SWIRNICR_IR0) >> 0) & 0x1)
3069 +
3070 +/*******************************************************************************
3071 + * MPS_SWIRNCR Register
3072 + ******************************************************************************/
3073 +
3074 +/* Software Interrupt Request IR5 (5) */
3075 +#define IFX_MPS_SWIRNCR_IR5   (0x1 << 5)
3076 +#define IFX_MPS_SWIRNCR_IR5_GET(val)   ((((val) & IFX_MPS_SWIRNCR_IR5) >> 5) & 0x1)
3077 +/* Software Interrupt Request IR4 (4) */
3078 +#define IFX_MPS_SWIRNCR_IR4   (0x1 << 4)
3079 +#define IFX_MPS_SWIRNCR_IR4_GET(val)   ((((val) & IFX_MPS_SWIRNCR_IR4) >> 4) & 0x1)
3080 +/* Software Interrupt Request IR3 (3) */
3081 +#define IFX_MPS_SWIRNCR_IR3   (0x1 << 3)
3082 +#define IFX_MPS_SWIRNCR_IR3_GET(val)   ((((val) & IFX_MPS_SWIRNCR_IR3) >> 3) & 0x1)
3083 +/* Software Interrupt Request IR2 (2) */
3084 +#define IFX_MPS_SWIRNCR_IR2   (0x1 << 2)
3085 +#define IFX_MPS_SWIRNCR_IR2_GET(val)   ((((val) & IFX_MPS_SWIRNCR_IR2) >> 2) & 0x1)
3086 +/* Software Interrupt Request IR1 (1) */
3087 +#define IFX_MPS_SWIRNCR_IR1   (0x1 << 1)
3088 +#define IFX_MPS_SWIRNCR_IR1_GET(val)   ((((val) & IFX_MPS_SWIRNCR_IR1) >> 1) & 0x1)
3089 +/* Software Interrupt Request IR0 (0) */
3090 +#define IFX_MPS_SWIRNCR_IR0   (0x1)
3091 +#define IFX_MPS_SWIRNCR_IR0_GET(val)   ((((val) & IFX_MPS_SWIRNCR_IR0) >> 0) & 0x1)
3092 +
3093 +#endif
3094 Index: linux-3.3.8/arch/mips/include/asm/mach-lantiq/svip/status_reg.h
3095 ===================================================================
3096 --- /dev/null   1970-01-01 00:00:00.000000000 +0000
3097 +++ linux-3.3.8/arch/mips/include/asm/mach-lantiq/svip/status_reg.h     2012-07-31 15:46:02.476476158 +0200
3098 @@ -0,0 +1,130 @@
3099 +/******************************************************************************
3100 +
3101 +  Copyright (c) 2007
3102 +  Infineon Technologies AG
3103 +  St. Martin Strasse 53; 81669 Munich, Germany
3104 +
3105 +  Any use of this Software is subject to the conclusion of a respective
3106 +  License Agreement. Without such a License Agreement no rights to the
3107 +  Software are granted.
3108 +
3109 + ******************************************************************************/
3110 +
3111 +#ifndef __STATUS_REG_H
3112 +#define __STATUS_REG_H
3113 +
3114 +#define status_r32(reg) ltq_r32(&status->reg)
3115 +#define status_w32(val, reg) ltq_w32(val, &status->reg)
3116 +#define status_w32_mask(clear, set, reg) ltq_w32_mask(clear, set, &status->reg)
3117 +
3118 +/** STATUS register structure */
3119 +struct svip_reg_status {
3120 +       unsigned long fuse_deu; /*  0x0000 */
3121 +       unsigned long fuse_cpu; /*  0x0004 */
3122 +       unsigned long fuse_pll; /*  0x0008 */
3123 +       unsigned long chipid; /*  0x000C */
3124 +       unsigned long config; /*  0x0010 */
3125 +       unsigned long chip_loc; /*  0x0014 */
3126 +       unsigned long fuse_spare; /*  0x0018 */
3127 +};
3128 +
3129 +/*******************************************************************************
3130 + * Fuse for DEU Settings
3131 + ******************************************************************************/
3132 +
3133 +/* Fuse for Enabling the TRNG (6) */
3134 +#define STATUS_FUSE_DEU_TRNG   (0x1 << 6)
3135 +#define STATUS_FUSE_DEU_TRNG_GET(val)   ((((val) & STATUS_FUSE_DEU_TRNG) >> 6) & 0x1)
3136 +/* Fuse for Enabling the DES Submodule (5) */
3137 +#define STATUS_FUSE_DEU_DES   (0x1 << 5)
3138 +#define STATUS_FUSE_DEU_DES_GET(val)   ((((val) & STATUS_FUSE_DEU_DES) >> 5) & 0x1)
3139 +/* Fuse for Enabling the 3DES Submodule (4) */
3140 +#define STATUS_FUSE_DEU_3DES   (0x1 << 4)
3141 +#define STATUS_FUSE_DEU_3DES_GET(val)   ((((val) & STATUS_FUSE_DEU_3DES) >> 4) & 0x1)
3142 +/* Fuse for Enabling the AES Submodule (3) */
3143 +#define STATUS_FUSE_DEU_AES   (0x1 << 3)
3144 +#define STATUS_FUSE_DEU_AES_GET(val)   ((((val) & STATUS_FUSE_DEU_AES) >> 3) & 0x1)
3145 +/* Fuse for Enabling the HASH Submodule (2) */
3146 +#define STATUS_FUSE_DEU_HASH   (0x1 << 2)
3147 +#define STATUS_FUSE_DEU_HASH_GET(val)   ((((val) & STATUS_FUSE_DEU_HASH) >> 2) & 0x1)
3148 +/* Fuse for Enabling the ARC4 Submodule (1) */
3149 +#define STATUS_FUSE_DEU_ARC4   (0x1 << 1)
3150 +#define STATUS_FUSE_DEU_ARC4_GET(val)   ((((val) & STATUS_FUSE_DEU_ARC4) >> 1) & 0x1)
3151 +/* Fuse for Enabling the DEU Module (0) */
3152 +#define STATUS_FUSE_DEU_DEU   (0x1)
3153 +#define STATUS_FUSE_DEU_DEU_GET(val)   ((((val) & STATUS_FUSE_DEU_DEU) >> 0) & 0x1)
3154 +
3155 +/*******************************************************************************
3156 + * Fuse for CPU Settings
3157 + ******************************************************************************/
3158 +
3159 +/* Fuse for Enabling CPU5 (5) */
3160 +#define STATUS_FUSE_CPU_CPU5   (0x1 << 5)
3161 +#define STATUS_FUSE_CPU_CPU5_GET(val)   ((((val) & STATUS_FUSE_CPU_CPU5) >> 5) & 0x1)
3162 +/* Fuse for Enabling the CPU4 (4) */
3163 +#define STATUS_FUSE_CPU_CPU4   (0x1 << 4)
3164 +#define STATUS_FUSE_CPU_CPU4_GET(val)   ((((val) & STATUS_FUSE_CPU_CPU4) >> 4) & 0x1)
3165 +/* Fuse for Enabling the CPU3 (3) */
3166 +#define STATUS_FUSE_CPU_CPU3   (0x1 << 3)
3167 +#define STATUS_FUSE_CPU_CPU3_GET(val)   ((((val) & STATUS_FUSE_CPU_CPU3) >> 3) & 0x1)
3168 +/* Fuse for Enabling the CPU2 (2) */
3169 +#define STATUS_FUSE_CPU_CPU2   (0x1 << 2)
3170 +#define STATUS_FUSE_CPU_CPU2_GET(val)   ((((val) & STATUS_FUSE_CPU_CPU2) >> 2) & 0x1)
3171 +/* Fuse for Enabling the CPU1 (1) */
3172 +#define STATUS_FUSE_CPU_CPU1   (0x1 << 1)
3173 +#define STATUS_FUSE_CPU_CPU1_GET(val)   ((((val) & STATUS_FUSE_CPU_CPU1) >> 1) & 0x1)
3174 +/* Fuse for Enabling the CPU0 (0) */
3175 +#define STATUS_FUSE_CPU_CPU0   (0x1)
3176 +#define STATUS_FUSE_CPU_CPU0_GET(val)   ((((val) & STATUS_FUSE_CPU_CPU0) >> 0) & 0x1)
3177 +
3178 +/*******************************************************************************
3179 + * Fuse for PLL Settings
3180 + ******************************************************************************/
3181 +
3182 +/* Fuse for Enabling PLL (7:0) */
3183 +#define STATUS_FUSE_PLL_PLL   (0xff)
3184 +#define STATUS_FUSE_PLL_PLL_GET(val)   ((((val) & STATUS_FUSE_PLL_PLL) >> 0) & 0xff)
3185 +
3186 +/*******************************************************************************
3187 + * Chip Identification Register
3188 + ******************************************************************************/
3189 +
3190 +/* Chip Version Number (31:28) */
3191 +#define STATUS_CHIPID_VERSION   (0xf << 28)
3192 +#define STATUS_CHIPID_VERSION_GET(val)   ((((val) & STATUS_CHIPID_VERSION) >> 28) & 0xf)
3193 +/* Part Number (27:12) */
3194 +#define STATUS_CHIPID_PART_NUMBER   (0xffff << 12)
3195 +#define STATUS_CHIPID_PART_NUMBER_GET(val)   ((((val) & STATUS_CHIPID_PART_NUMBER) >> 12) & 0xffff)
3196 +/* Manufacturer ID (11:1) */
3197 +#define STATUS_CHIPID_MANID   (0x7ff << 1)
3198 +#define STATUS_CHIPID_MANID_GET(val)   ((((val) & STATUS_CHIPID_MANID) >> 1) & 0x7ff)
3199 +
3200 +/*******************************************************************************
3201 + * Chip Configuration Register
3202 + ******************************************************************************/
3203 +
3204 +/* Number of Analog Channels (8:5) */
3205 +#define STATUS_CONFIG_ANA_CHAN   (0xf << 5)
3206 +#define STATUS_CONFIG_ANA_CHAN_GET(val)   ((((val) & STATUS_CONFIG_ANA_CHAN) >> 5) & 0xf)
3207 +/* Clock Mode (4) */
3208 +#define STATUS_CONFIG_CLK_MODE   (0x1 << 1)
3209 +#define STATUS_CONFIG_CLK_MODE_GET(val)   ((((val) & STATUS_CONFIG_CLK_MODE) >> 4) & 0x1)
3210 +/* Subversion Number (3:0) */
3211 +#define STATUS_CONFIG_SUB_VERS   (0xF)
3212 +#define STATUS_CONFIG_SUB_VERS_GET(val)   ((((val) & STATUS_SUBVER_SUB_VERS) >> 0) & 0xF)
3213 +
3214 +/*******************************************************************************
3215 + * Chip Location Register
3216 + ******************************************************************************/
3217 +
3218 +/* Chip Lot ID (31:16) */
3219 +#define STATUS_CHIP_LOC_CHIP_LOT   (0xffff << 16)
3220 +#define STATUS_CHIP_LOC_CHIP_LOT_GET(val)   ((((val) & STATUS_CHIP_LOC_CHIP_LOT) >> 16) & 0xffff)
3221 +/* Chip X Coordinate (15:8) */
3222 +#define STATUS_CHIP_LOC_CHIP_X   (0xff << 8)
3223 +#define STATUS_CHIP_LOC_CHIP_X_GET(val)   ((((val) & STATUS_CHIP_LOC_CHIP_X) >> 8) & 0xff)
3224 +/* Chip Y Coordinate (7:0) */
3225 +#define STATUS_CHIP_LOC_CHIP_Y   (0xff)
3226 +#define STATUS_CHIP_LOC_CHIP_Y_GET(val)   ((((val) & STATUS_CHIP_LOC_CHIP_Y) >> 0) & 0xff)
3227 +
3228 +#endif
3229 Index: linux-3.3.8/arch/mips/include/asm/mach-lantiq/svip/boot_reg.h
3230 ===================================================================
3231 --- /dev/null   1970-01-01 00:00:00.000000000 +0000
3232 +++ linux-3.3.8/arch/mips/include/asm/mach-lantiq/svip/boot_reg.h       2012-07-31 15:46:02.476476158 +0200
3233 @@ -0,0 +1,37 @@
3234 +/******************************************************************************
3235 +
3236 +                            Copyright (c) 2007
3237 +                         Infineon Technologies AG
3238 +               St. Martin Strasse 53; 81669 Munich, Germany
3239 +
3240 +  Any use of this Software is subject to the conclusion of a respective
3241 +  License Agreement. Without such a License Agreement no rights to the
3242 +  Software are granted.
3243 +
3244 +******************************************************************************/
3245 +
3246 +#ifndef __BOOT_REG_H
3247 +#define __BOOT_REG_H
3248 +
3249 +#define LTQ_BOOT_CPU_OFFSET            0x20
3250 +
3251 +#define LTQ_BOOT_RVEC(cpu)             (volatile u32*)(LTQ_L2_SPRAM_BASE + \
3252 +       (cpu * LTQ_BOOT_CPU_OFFSET) + 0x00)
3253 +#define LTQ_BOOT_NVEC(cpu)             (volatile u32*)(LTQ_L2_SPRAM_BASE + \
3254 +       (cpu * LTQ_BOOT_CPU_OFFSET) + 0x04)
3255 +#define LTQ_BOOT_EVEC(cpu)             (volatile u32*)(LTQ_L2_SPRAM_BASE + \
3256 +       (cpu * LTQ_BOOT_CPU_OFFSET) + 0x08)
3257 +#define LTQ_BOOT_CP0_STATUS(cpu)       (volatile u32*)(LTQ_L2_SPRAM_BASE + \
3258 +       (cpu * LTQ_BOOT_CPU_OFFSET) + 0x0C)
3259 +#define LTQ_BOOT_CP0_EPC(cpu)          (volatile u32*)(LTQ_L2_SPRAM_BASE + \
3260 +       (cpu * LTQ_BOOT_CPU_OFFSET) + 0x10)
3261 +#define LTQ_BOOT_CP0_EEPC(cpu)         (volatile u32*)(LTQ_L2_SPRAM_BASE + \
3262 +       (cpu * LTQ_BOOT_CPU_OFFSET) + 0x14)
3263 +#define LTQ_BOOT_SIZE(cpu)             (volatile u32*)(LTQ_L2_SPRAM_BASE + \
3264 +       (cpu * LTQ_BOOT_CPU_OFFSET) + 0x18) /* only for CP1 */
3265 +#define LTQ_BOOT_RCU_SR(cpu)           (volatile u32*)(LTQ_L2_SPRAM_BASE + \
3266 +       (cpu * LTQ_BOOT_CPU_OFFSET) + 0x18) /* only for CP0 */
3267 +#define LTQ_BOOT_CFG_STAT(cpu)         (volatile u32*)(LTQ_L2_SPRAM_BASE + \
3268 +       (cpu * LTQ_BOOT_CPU_OFFSET) + 0x1C)
3269 +
3270 +#endif
3271 Index: linux-3.3.8/arch/mips/include/asm/mach-lantiq/svip/sys0_reg.h
3272 ===================================================================
3273 --- /dev/null   1970-01-01 00:00:00.000000000 +0000
3274 +++ linux-3.3.8/arch/mips/include/asm/mach-lantiq/svip/sys0_reg.h       2012-07-31 15:46:02.480476158 +0200
3275 @@ -0,0 +1,165 @@
3276 +/******************************************************************************
3277 +
3278 +  Copyright (c) 2007
3279 +  Infineon Technologies AG
3280 +  St. Martin Strasse 53; 81669 Munich, Germany
3281 +
3282 +  Any use of this Software is subject to the conclusion of a respective
3283 +  License Agreement. Without such a License Agreement no rights to the
3284 +  Software are granted.
3285 +
3286 + ******************************************************************************/
3287 +
3288 +#ifndef __SYS0_REG_H
3289 +#define __SYS0_REG_H
3290 +
3291 +#define sys0_r32(reg) ltq_r32(&sys0->reg)
3292 +#define sys0_w32(val, reg) ltq_w32(val, &sys0->reg)
3293 +#define sys0_w32_mask(clear, set, reg) ltq_w32_mask(clear, set, &sys0->reg)
3294 +
3295 +/** SYS0 register structure */
3296 +struct svip_reg_sys0 {
3297 +       unsigned long sr; /* 0x0000 */
3298 +       unsigned long bcr; /* 0x0004 */
3299 +       unsigned long pll1cr; /* 0x0008 */
3300 +       unsigned long pll2cr; /* 0x000c */
3301 +       unsigned long tscr; /* 0x0010 */
3302 +       unsigned long phyclkr; /* 0x0014 */
3303 +};
3304 +
3305 +/*******************************************************************************
3306 + * SYS0 Status Register
3307 + ******************************************************************************/
3308 +
3309 +/* Endian select pin (31) */
3310 +#define SYS0_SR_ESEL   (0x1 << 31)
3311 +#define SYS0_SR_ESEL_GET(val)   ((((val) & SYS0_SR_ESEL) >> 31) & 0x1)
3312 +/* Boot mode pins (27:24) */
3313 +#define SYS0_SR_BMODE   (0xf << 24)
3314 +#define SYS0_SR_BMODE_GET(val)   ((((val) & SYS0_SR_BMODE) >> 24) & 0xf)
3315 +/* PLL2 Lock (18) */
3316 +#define SYS0_SR_PLL2LOCK   (0x1 << 18)
3317 +#define SYS0_SR_PLL2LOCK_GET(val)   ((((val) & SYS0_SR_PLL2LOCK) >> 18) & 0x1)
3318 +/* PLL1 Lock (17) */
3319 +#define SYS0_SR_PLL1LOCK   (0x1 << 17)
3320 +#define SYS0_SR_PLL1LOCK_GET(val)   ((((val) & SYS0_SR_PLL1LOCK) >> 17) & 0x1)
3321 +/* Discrete Timing Oscillator Lock (16) */
3322 +#define SYS0_SR_DTOLOCK   (0x1 << 16)
3323 +#define SYS0_SR_DTOLOCK_GET(val)   ((((val) & SYS0_SR_DTOLOCK) >> 16) & 0x1)
3324 +/* Hardware Reset Indication (1) */
3325 +#define SYS0_SR_HRSTIN   (0x1 << 1)
3326 +#define SYS0_SR_HRSTIN_VAL(val)   (((val) & 0x1) << 1)
3327 +#define SYS0_SR_HRSTIN_GET(val)   ((((val) & SYS0_SR_HRSTIN) >> 1) & 0x1)
3328 +#define SYS0_SR_HRSTIN_SET(reg,val) (reg) = ((reg & ~SYS0_SR_HRSTIN) | (((val) & 0x1) << 1))
3329 +/* Power-on Reset Indication (0) */
3330 +#define SYS0_SR_POR   (0x1 << 0)
3331 +#define SYS0_SR_POR_VAL(val)   (((val) & 0x1) << 0)
3332 +#define SYS0_SR_POR_GET(val)   ((((val) & SYS0_SR_POR) >> 0) & 0x1)
3333 +#define SYS0_SR_POR_SET(reg,val) (reg) = ((reg & ~SYS0_SR_POR) | (((val) & 0x1) << 0))
3334 +
3335 +/*******************************************************************************
3336 + * SYS0 Boot Control Register
3337 + ******************************************************************************/
3338 +
3339 +/* Configuration of Boot Source for CPU5 (25) */
3340 +#define SYS0_BCR_BMODECPU5   (0x1 << 25)
3341 +#define SYS0_BCR_BMODECPU5_VAL(val)   (((val) & 0x1) << 25)
3342 +#define SYS0_BCR_BMODECPU5_GET(val)   ((((val) & SYS0_BCR_BMODECPU5) >> 25) & 0x1)
3343 +#define SYS0_BCR_BMODECPU5_SET(reg,val) (reg) = ((reg & ~SYS0_BCR_BMODECPU5) | (((val) & 0x1) << 25))
3344 +/* Configuration of Boot Source for CPU4 (24) */
3345 +#define SYS0_BCR_BMODECPU4   (0x1 << 24)
3346 +#define SYS0_BCR_BMODECPU4_VAL(val)   (((val) & 0x1) << 24)
3347 +#define SYS0_BCR_BMODECPU4_GET(val)   ((((val) & SYS0_BCR_BMODECPU4) >> 24) & 0x1)
3348 +#define SYS0_BCR_BMODECPU4_SET(reg,val) (reg) = ((reg & ~SYS0_BCR_BMODECPU4) | (((val) & 0x1) << 24))
3349 +/* Configuration of Boot Source for CPU3 (23) */
3350 +#define SYS0_BCR_BMODECPU3   (0x1 << 23)
3351 +#define SYS0_BCR_BMODECPU3_VAL(val)   (((val) & 0x1) << 23)
3352 +#define SYS0_BCR_BMODECPU3_GET(val)   ((((val) & SYS0_BCR_BMODECPU3) >> 23) & 0x1)
3353 +#define SYS0_BCR_BMODECPU3_SET(reg,val) (reg) = ((reg & ~SYS0_BCR_BMODECPU3) | (((val) & 0x1) << 23))
3354 +/* Configuration of Boot Source for CPU2 (22) */
3355 +#define SYS0_BCR_BMODECPU2   (0x1 << 22)
3356 +#define SYS0_BCR_BMODECPU2_VAL(val)   (((val) & 0x1) << 22)
3357 +#define SYS0_BCR_BMODECPU2_GET(val)   ((((val) & SYS0_BCR_BMODECPU2) >> 22) & 0x1)
3358 +#define SYS0_BCR_BMODECPU2_SET(reg,val) (reg) = ((reg & ~SYS0_BCR_BMODECPU2) | (((val) & 0x1) << 22))
3359 +/* Configuration of Boot Source for CPU1 (21) */
3360 +#define SYS0_BCR_BMODECPU1   (0x1 << 21)
3361 +#define SYS0_BCR_BMODECPU1_VAL(val)   (((val) & 0x1) << 21)
3362 +#define SYS0_BCR_BMODECPU1_GET(val)   ((((val) & SYS0_BCR_BMODECPU1) >> 21) & 0x1)
3363 +#define SYS0_BCR_BMODECPU1_SET(reg,val) (reg) = ((reg & ~SYS0_BCR_BMODECPU1) | (((val) & 0x1) << 21))
3364 +/* Configuration of Boot Source for CPU0 (20:16) */
3365 +#define SYS0_BCR_BMODECPU0   (0x1f << 16)
3366 +#define SYS0_BCR_BMODECPU0_VAL(val)   (((val) & 0x1f) << 16)
3367 +#define SYS0_BCR_BMODECPU0_GET(val)   ((((val) & SYS0_BCR_BMODECPU0) >> 16) & 0x1f)
3368 +#define SYS0_BCR_BMODECPU0_SET(reg,val) (reg) = ((reg & ~SYS0_BCR_BMODECPU0) | (((val) & 0x1f) << 16))
3369 +/* Configuration of Endianess for CPU5 (5) */
3370 +#define SYS0_BCR_ESELCPU5   (0x1 << 5)
3371 +#define SYS0_BCR_ESELCPU5_VAL(val)   (((val) & 0x1) << 5)
3372 +#define SYS0_BCR_ESELCPU5_GET(val)   ((((val) & SYS0_BCR_ESELCPU5) >> 5) & 0x1)
3373 +#define SYS0_BCR_ESELCPU5_SET(reg,val) (reg) = ((reg & ~SYS0_BCR_ESELCPU5) | (((val) & 0x1) << 5))
3374 +/* Configuration of Endianess for CPU4 (4) */
3375 +#define SYS0_BCR_ESELCPU4   (0x1 << 4)
3376 +#define SYS0_BCR_ESELCPU4_VAL(val)   (((val) & 0x1) << 4)
3377 +#define SYS0_BCR_ESELCPU4_GET(val)   ((((val) & SYS0_BCR_ESELCPU4) >> 4) & 0x1)
3378 +#define SYS0_BCR_ESELCPU4_SET(reg,val) (reg) = ((reg & ~SYS0_BCR_ESELCPU4) | (((val) & 0x1) << 4))
3379 +/* Configuration of Endianess for CPU3 (3) */
3380 +#define SYS0_BCR_ESELCPU3   (0x1 << 3)
3381 +#define SYS0_BCR_ESELCPU3_VAL(val)   (((val) & 0x1) << 3)
3382 +#define SYS0_BCR_ESELCPU3_GET(val)   ((((val) & SYS0_BCR_ESELCPU3) >> 3) & 0x1)
3383 +#define SYS0_BCR_ESELCPU3_SET(reg,val) (reg) = ((reg & ~SYS0_BCR_ESELCPU3) | (((val) & 0x1) << 3))
3384 +/* Configuration of Endianess for CPU2 (2) */
3385 +#define SYS0_BCR_ESELCPU2   (0x1 << 2)
3386 +#define SYS0_BCR_ESELCPU2_VAL(val)   (((val) & 0x1) << 2)
3387 +#define SYS0_BCR_ESELCPU2_GET(val)   ((((val) & SYS0_BCR_ESELCPU2) >> 2) & 0x1)
3388 +#define SYS0_BCR_ESELCPU2_SET(reg,val) (reg) = ((reg & ~SYS0_BCR_ESELCPU2) | (((val) & 0x1) << 2))
3389 +/* Configuration of Endianess for CPU1 (1) */
3390 +#define SYS0_BCR_ESELCPU1   (0x1 << 1)
3391 +#define SYS0_BCR_ESELCPU1_VAL(val)   (((val) & 0x1) << 1)
3392 +#define SYS0_BCR_ESELCPU1_GET(val)   ((((val) & SYS0_BCR_ESELCPU1) >> 1) & 0x1)
3393 +#define SYS0_BCR_ESELCPU1_SET(reg,val) (reg) = ((reg & ~SYS0_BCR_ESELCPU1) | (((val) & 0x1) << 1))
3394 +/* Configuration of Endianess for CPU0  (0) */
3395 +#define SYS0_BCR_ESELCPU0   (0x1)
3396 +#define SYS0_BCR_ESELCPU0_VAL(val)   (((val) & 0x1) << 0)
3397 +#define SYS0_BCR_ESELCPU0_GET(val)   ((((val) & SYS0_BCR_ESELCPU0) >> 0) & 0x1)
3398 +#define SYS0_BCR_ESELCPU0_SET(reg,val) (reg) = ((reg & ~SYS0_BCR_ESELCPU0) | (((val) & 0x1) << 0))
3399 +
3400 +/*******************************************************************************
3401 + * PLL1 Control Register
3402 + ******************************************************************************/
3403 +
3404 +/* PLL1 Bypass Enable (31) */
3405 +#define SYS0_PLL1CR_OSCBYP   (0x1 << 31)
3406 +#define SYS0_PLL1CR_OSCBYP_VAL(val)   (((val) & 0x1) << 31)
3407 +#define SYS0_PLL1CR_OSCBYP_GET(val)   ((((val) & SYS0_PLL1CR_OSCBYP) >> 31) & 0x1)
3408 +#define SYS0_PLL1CR_OSCBYP_SET(reg,val) (reg) = ((reg & ~SYS0_PLL1CR_OSCBYP) | (((val) & 0x1) << 31))
3409 +/* PLL1 Divider Value (1:0) */
3410 +#define SYS0_PLL1CR_PLLDIV   (0x3)
3411 +#define SYS0_PLL1CR_PLLDIV_VAL(val)   (((val) & 0x3) << 0)
3412 +#define SYS0_PLL1CR_PLLDIV_GET(val)   ((((val) & SYS0_PLL1CR_PLLDIV) >> 0) & 0x3)
3413 +#define SYS0_PLL1CR_PLLDIV_SET(reg,val) (reg) = ((reg & ~SYS0_PLL1CR_PLLDIV) | (((val) & 0x3) << 0))
3414 +
3415 +/*******************************************************************************
3416 + * PLL2 Control Register
3417 + ******************************************************************************/
3418 +
3419 +/* PLL2 clear deepsleep (31) */
3420 +#define SYS0_PLL2CR_CLRDS   (0x1 << 31)
3421 +#define SYS0_PLL2CR_CLRDS_VAL(val)   (((val) & 0x1) << 31)
3422 +#define SYS0_PLL2CR_CLRDS_GET(val)   ((((val) & SYS0_PLL2CR_CLRDS) >> 31) & 0x1)
3423 +#define SYS0_PLL2CR_CLRDS_SET(reg,val) (reg) = ((reg & ~SYS0_PLL2CR_CLRDS) | (((val) & 0x1) << 31))
3424 +/* PLL2 set deepsleep (30) */
3425 +#define SYS0_PLL2CR_SETDS   (0x1 << 30)
3426 +#define SYS0_PLL2CR_SETDS_VAL(val)   (((val) & 0x1) << 30)
3427 +#define SYS0_PLL2CR_SETDS_GET(val)   ((((val) & SYS0_PLL2CR_SETDS) >> 30) & 0x1)
3428 +#define SYS0_PLL2CR_SETDS_SET(reg,val) (reg) = ((reg & ~SYS0_PLL2CR_SETDS) | (((val) & 0x1) << 30))
3429 +/* PLL2 Fractional division enable (16) */
3430 +#define SYS0_PLL2CR_FRACTEN   (0x1 << 16)
3431 +#define SYS0_PLL2CR_FRACTEN_VAL(val)   (((val) & 0x1) << 16)
3432 +#define SYS0_PLL2CR_FRACTEN_GET(val)   ((((val) & SYS0_PLL2CR_FRACTEN) >> 16) & 0x1)
3433 +#define SYS0_PLL2CR_FRACTEN_SET(reg,val) (reg) = ((reg & ~SYS0_PLL2CR_FRACTEN) | (((val) & 0x1) << 16))
3434 +/* PLL2 Fractional division value (9:0) */
3435 +#define SYS0_FRACTVAL   (0x3f)
3436 +#define SYS0_FRACTVAL_VAL(val)   (((val) & 0x3f) << 0)
3437 +#define SYS0_FRACTVAL_GET(val)   ((((val) & SYS0_FRACTVAL) >> 0) & 0x3f)
3438 +#define SYS0_FRACTVAL_SET(reg,val) (reg) = ((reg & ~SYS0_FRACTVAL) | (((val) & 0x3f) << 0))
3439 +
3440 +#endif
3441 Index: linux-3.3.8/arch/mips/include/asm/mach-lantiq/svip/dma_reg.h
3442 ===================================================================
3443 --- /dev/null   1970-01-01 00:00:00.000000000 +0000
3444 +++ linux-3.3.8/arch/mips/include/asm/mach-lantiq/svip/dma_reg.h        2012-07-31 15:46:02.480476158 +0200
3445 @@ -0,0 +1,308 @@
3446 +/******************************************************************************
3447 +
3448 +  Copyright (c) 2007
3449 +  Infineon Technologies AG
3450 +  St. Martin Strasse 53; 81669 Munich, Germany
3451 +
3452 +  Any use of this Software is subject to the conclusion of a respective
3453 +  License Agreement. Without such a License Agreement no rights to the
3454 +  Software are granted.
3455 +
3456 + ******************************************************************************/
3457 +
3458 +#ifndef __DMA_REG_H
3459 +#define __DMA_REG_H
3460 +
3461 +#define dma_r32(reg) ltq_r32(&dma->reg)
3462 +#define dma_w32(val, reg) ltq_w32(val, &dma->reg)
3463 +#define dma_w32_mask(clear, set, reg) ltq_w32_mask(clear, set, &dma->reg)
3464 +
3465 +/** DMA register structure */
3466 +struct svip_reg_dma {
3467 +       volatile unsigned long  clc;  /*  0x00 */
3468 +       volatile unsigned long  reserved0;  /*  0x04 */
3469 +       volatile unsigned long  id;  /*  0x08 */
3470 +       volatile unsigned long  reserved1;  /*  0x0c */
3471 +       volatile unsigned long  ctrl;  /*  0x10 */
3472 +       volatile unsigned long  cpoll;  /*  0x14 */
3473 +       volatile unsigned long  cs;  /*  0x18 */
3474 +       volatile unsigned long  cctrl;  /*  0x1C */
3475 +       volatile unsigned long  cdba;  /*  0x20 */
3476 +       volatile unsigned long  cdlen;  /*  0x24 */
3477 +       volatile unsigned long  cis;  /*  0x28 */
3478 +       volatile unsigned long  cie;  /*  0x2C */
3479 +       volatile unsigned long  cgbl;  /*  0x30 */
3480 +       volatile unsigned long  reserved2[3];  /*  0x34 */
3481 +       volatile unsigned long  ps;  /*  0x40 */
3482 +       volatile unsigned long  pctrl;  /*  0x44 */
3483 +       volatile unsigned long  reserved3[43];  /*  0x48 */
3484 +       volatile unsigned long  irnen;  /*  0xF4 */
3485 +       volatile unsigned long  irncr;  /*  0xF8 */
3486 +       volatile unsigned long  irnicr;  /*  0xFC */
3487 +};
3488 +
3489 +/*******************************************************************************
3490 + * CLC Register
3491 + ******************************************************************************/
3492 +
3493 +/* Fast Shut-Off Enable Bit (5) */
3494 +#define DMA_CLC_FSOE   (0x1 << 5)
3495 +#define DMA_CLC_FSOE_VAL(val)   (((val) & 0x1) << 5)
3496 +#define DMA_CLC_FSOE_GET(val)   ((((val) & DMA_CLC_FSOE) >> 5) & 0x1)
3497 +#define DMA_CLC_FSOE_SET(reg,val) (reg) = ((reg & ~DMA_CLC_FSOE) | (((val) & 0x1) << 5))
3498 +/* Suspend Bit Write Enable for OCDS (4) */
3499 +#define DMA_CLC_SBWE   (0x1 << 4)
3500 +#define DMA_CLC_SBWE_VAL(val)   (((val) & 0x1) << 4)
3501 +#define DMA_CLC_SBWE_SET(reg,val) (reg) = (((reg & ~DMA_CLC_SBWE) | (val) & 1) << 4)
3502 +/* External Request Disable (3) */
3503 +#define DMA_CLC_EDIS   (0x1 << 3)
3504 +#define DMA_CLC_EDIS_VAL(val)   (((val) & 0x1) << 3)
3505 +#define DMA_CLC_EDIS_GET(val)   ((((val) & DMA_CLC_EDIS) >> 3) & 0x1)
3506 +#define DMA_CLC_EDIS_SET(reg,val) (reg) = ((reg & ~DMA_CLC_EDIS) | (((val) & 0x1) << 3))
3507 +/* Suspend Enable Bit for OCDS (2) */
3508 +#define DMA_CLC_SPEN   (0x1 << 2)
3509 +#define DMA_CLC_SPEN_VAL(val)   (((val) & 0x1) << 2)
3510 +#define DMA_CLC_SPEN_GET(val)   ((((val) & DMA_CLC_SPEN) >> 2) & 0x1)
3511 +#define DMA_CLC_SPEN_SET(reg,val) (reg) = ((reg & ~DMA_CLC_SPEN) | (((val) & 0x1) << 2))
3512 +/* Disable Status Bit (1) */
3513 +#define DMA_CLC_DISS   (0x1 << 1)
3514 +#define DMA_CLC_DISS_GET(val)   ((((val) & DMA_CLC_DISS) >> 1) & 0x1)
3515 +/* Disable Request Bit (0) */
3516 +#define DMA_CLC_DISR   (0x1)
3517 +#define DMA_CLC_DISR_VAL(val)   (((val) & 0x1) << 0)
3518 +#define DMA_CLC_DISR_GET(val)   ((((val) & DMA_CLC_DISR) >> 0) & 0x1)
3519 +#define DMA_CLC_DISR_SET(reg,val) (reg) = ((reg & ~DMA_CLC_DISR) | (((val) & 0x1) << 0))
3520 +
3521 +/*******************************************************************************
3522 + * ID Register
3523 + ******************************************************************************/
3524 +
3525 +/* Number of Channels (25:20) */
3526 +#define DMA_ID_CHNR   (0x3f << 20)
3527 +#define DMA_ID_CHNR_GET(val)   ((((val) & DMA_ID_CHNR) >> 20) & 0x3f)
3528 +/* Number of Ports (19:16) */
3529 +#define DMA_ID_PRTNR   (0xf << 16)
3530 +#define DMA_ID_PRTNR_GET(val)   ((((val) & DMA_ID_PRTNR) >> 16) & 0xf)
3531 +/* Module ID (15:8) */
3532 +#define DMA_ID_ID   (0xff << 8)
3533 +#define DMA_ID_ID_GET(val)   ((((val) & DMA_ID_ID) >> 8) & 0xff)
3534 +/* Revision (4:0) */
3535 +#define DMA_ID_REV   (0x1f)
3536 +#define DMA_ID_REV_GET(val)   ((((val) & DMA_ID_REV) >> 0) & 0x1f)
3537 +
3538 +/*******************************************************************************
3539 + * Control Register
3540 + ******************************************************************************/
3541 +
3542 +/* Global Software Reset (0) */
3543 +#define DMA_CTRL_RST   (0x1)
3544 +#define DMA_CTRL_RST_GET(val)   ((((val) & DMA_CTRL_RST) >> 0) & 0x1)
3545 +
3546 +/*******************************************************************************
3547 + * Channel Polling Register
3548 + ******************************************************************************/
3549 +
3550 +/* Enable (31) */
3551 +#define DMA_CPOLL_EN   (0x1 << 31)
3552 +#define DMA_CPOLL_EN_VAL(val)   (((val) & 0x1) << 31)
3553 +#define DMA_CPOLL_EN_GET(val)   ((((val) & DMA_CPOLL_EN) >> 31) & 0x1)
3554 +#define DMA_CPOLL_EN_SET(reg,val) (reg) = ((reg & ~DMA_CPOLL_EN) | (((val) & 0x1) << 31))
3555 +/* Counter (15:4) */
3556 +#define DMA_CPOLL_CNT   (0xfff << 4)
3557 +#define DMA_CPOLL_CNT_VAL(val)   (((val) & 0xfff) << 4)
3558 +#define DMA_CPOLL_CNT_GET(val)   ((((val) & DMA_CPOLL_CNT) >> 4) & 0xfff)
3559 +#define DMA_CPOLL_CNT_SET(reg,val) (reg) = ((reg & ~DMA_CPOLL_CNT) | (((val) & 0xfff) << 4))
3560 +
3561 +/*******************************************************************************
3562 + * Global Buffer Length Register
3563 + ******************************************************************************/
3564 +
3565 +/* Global Buffer Length (15:0) */
3566 +#define DMA_CGBL_GBL   (0xffff)
3567 +#define DMA_CGBL_GBL_VAL(val)   (((val) & 0xffff) << 0)
3568 +#define DMA_CGBL_GBL_GET(val)   ((((val) & DMA_CGBL_GBL) >> 0) & 0xffff)
3569 +#define DMA_CGBL_GBL_SET(reg,val) (reg) = ((reg & ~DMA_CGBL_GBL) | (((val) & 0xffff) << 0))
3570 +
3571 +/*******************************************************************************
3572 + * Channel Select Register
3573 + ******************************************************************************/
3574 +
3575 +/* Channel Selection (4:0) */
3576 +#define DMA_CS_CS   (0x1f)
3577 +#define DMA_CS_CS_VAL(val)   (((val) & 0x1f) << 0)
3578 +#define DMA_CS_CS_GET(val)   ((((val) & DMA_CS_CS) >> 0) & 0x1f)
3579 +#define DMA_CS_CS_SET(reg,val) (reg) = ((reg & ~DMA_CS_CS) | (((val) & 0x1f) << 0))
3580 +
3581 +/*******************************************************************************
3582 + * Channel Control Register
3583 + ******************************************************************************/
3584 +
3585 +/* Peripheral to Peripheral Copy (24) */
3586 +#define DMA_CCTRL_P2PCPY   (0x1 << 24)
3587 +#define DMA_CCTRL_P2PCPY_VAL(val)   (((val) & 0x1) << 24)
3588 +#define DMA_CCTRL_P2PCPY_GET(val)   ((((val) & DMA_CCTRL_P2PCPY) >> 24) & 0x1)
3589 +#define DMA_CCTRL_P2PCPY_SET(reg,val) (reg) = ((reg & ~DMA_CCTRL_P2PCPY) | (((val) & 0x1) << 24))
3590 +/* Channel Weight for Transmit Direction (17:16) */
3591 +#define DMA_CCTRL_TXWGT   (0x3 << 16)
3592 +#define DMA_CCTRL_TXWGT_VAL(val)   (((val) & 0x3) << 16)
3593 +#define DMA_CCTRL_TXWGT_GET(val)   ((((val) & DMA_CCTRL_TXWGT) >> 16) & 0x3)
3594 +#define DMA_CCTRL_TXWGT_SET(reg,val) (reg) = ((reg & ~DMA_CCTRL_TXWGT) | (((val) & 0x3) << 16))
3595 +/* Port Assignment (13:11) */
3596 +#define DMA_CCTRL_PRTNR   (0x7 << 11)
3597 +#define DMA_CCTRL_PRTNR_GET(val)   ((((val) & DMA_CCTRL_PRTNR) >> 11) & 0x7)
3598 +/* Class (10:9) */
3599 +#define DMA_CCTRL_CLASS   (0x3 << 9)
3600 +#define DMA_CCTRL_CLASS_VAL(val)   (((val) & 0x3) << 9)
3601 +#define DMA_CCTRL_CLASS_GET(val)   ((((val) & DMA_CCTRL_CLASS) >> 9) & 0x3)
3602 +#define DMA_CCTRL_CLASS_SET(reg,val) (reg) = ((reg & ~DMA_CCTRL_CLASS) | (((val) & 0x3) << 9))
3603 +/* Direction (8) */
3604 +#define DMA_CCTRL_DIR   (0x1 << 8)
3605 +#define DMA_CCTRL_DIR_GET(val)   ((((val) & DMA_CCTRL_DIR) >> 8) & 0x1)
3606 +/* Reset (1) */
3607 +#define DMA_CCTRL_RST   (0x1 << 1)
3608 +#define DMA_CCTRL_RST_VAL(val)   (((val) & 0x1) << 1)
3609 +#define DMA_CCTRL_RST_GET(val)   ((((val) & DMA_CCTRL_RST) >> 1) & 0x1)
3610 +#define DMA_CCTRL_RST_SET(reg,val) (reg) = ((reg & ~DMA_CCTRL_RST) | (((val) & 0x1) << 1))
3611 +/* Channel On or Off (0) */
3612 +#define DMA_CCTRL_ON_OFF   (0x1)
3613 +#define DMA_CCTRL_ON_OFF_VAL(val)   (((val) & 0x1) << 0)
3614 +#define DMA_CCTRL_ON_OFF_GET(val)   ((((val) & DMA_CCTRL_ON_OFF) >> 0) & 0x1)
3615 +#define DMA_CCTRL_ON_OFF_SET(reg,val) (reg) = ((reg & ~DMA_CCTRL_ON_OFF) | (((val) & 0x1) << 0))
3616 +
3617 +/*******************************************************************************
3618 + * Channel Descriptor Base Address Register
3619 + ******************************************************************************/
3620 +
3621 +/* Channel Descriptor Base Address (29:3) */
3622 +#define DMA_CDBA_CDBA   (0x7ffffff << 3)
3623 +#define DMA_CDBA_CDBA_VAL(val)   (((val) & 0x7ffffff) << 3)
3624 +#define DMA_CDBA_CDBA_GET(val)   ((((val) & DMA_CDBA_CDBA) >> 3) & 0x7ffffff)
3625 +#define DMA_CDBA_CDBA_SET(reg,val) (reg) = ((reg & ~DMA_CDBA_CDBA) | (((val) & 0x7ffffff) << 3))
3626 +
3627 +/*******************************************************************************
3628 + * Channel Descriptor Length Register
3629 + ******************************************************************************/
3630 +
3631 +/* Channel Descriptor Length (7:0) */
3632 +#define DMA_CDLEN_CDLEN   (0xff)
3633 +#define DMA_CDLEN_CDLEN_VAL(val)   (((val) & 0xff) << 0)
3634 +#define DMA_CDLEN_CDLEN_GET(val)   ((((val) & DMA_CDLEN_CDLEN) >> 0) & 0xff)
3635 +#define DMA_CDLEN_CDLEN_SET(reg,val) (reg) = ((reg & ~DMA_CDLEN_CDLEN) | (((val) & 0xff) << 0))
3636 +
3637 +/*******************************************************************************
3638 + * Channel Interrupt Status Register
3639 + ******************************************************************************/
3640 +
3641 +/* SAI Read Error Interrupt (5) */
3642 +#define DMA_CIS_RDERR   (0x1 << 5)
3643 +#define DMA_CIS_RDERR_GET(val)   ((((val) & DMA_CIS_RDERR) >> 5) & 0x1)
3644 +/* Channel Off Interrupt (4) */
3645 +#define DMA_CIS_CHOFF   (0x1 << 4)
3646 +#define DMA_CIS_CHOFF_GET(val)   ((((val) & DMA_CIS_CHOFF) >> 4) & 0x1)
3647 +/* Descriptor Complete Interrupt (3) */
3648 +#define DMA_CIS_DESCPT   (0x1 << 3)
3649 +#define DMA_CIS_DESCPT_GET(val)   ((((val) & DMA_CIS_DESCPT) >> 3) & 0x1)
3650 +/* Descriptor Under-Run Interrupt (2) */
3651 +#define DMA_CIS_DUR   (0x1 << 2)
3652 +#define DMA_CIS_DUR_GET(val)   ((((val) & DMA_CIS_DUR) >> 2) & 0x1)
3653 +/* End of Packet Interrupt (1) */
3654 +#define DMA_CIS_EOP   (0x1 << 1)
3655 +#define DMA_CIS_EOP_GET(val)   ((((val) & DMA_CIS_EOP) >> 1) & 0x1)
3656 +
3657 +/*******************************************************************************
3658 + * Channel Interrupt Enable Register
3659 + ******************************************************************************/
3660 +
3661 +/* SAI Read Error Interrupt (5) */
3662 +#define DMA_CIE_RDERR   (0x1 << 5)
3663 +#define DMA_CIE_RDERR_GET(val)   ((((val) & DMA_CIE_RDERR) >> 5) & 0x1)
3664 +/* Channel Off Interrupt (4) */
3665 +#define DMA_CIE_CHOFF   (0x1 << 4)
3666 +#define DMA_CIE_CHOFF_GET(val)   ((((val) & DMA_CIE_CHOFF) >> 4) & 0x1)
3667 +/* Descriptor Complete Interrupt Enable (3) */
3668 +#define DMA_CIE_DESCPT   (0x1 << 3)
3669 +#define DMA_CIE_DESCPT_GET(val)   ((((val) & DMA_CIE_DESCPT) >> 3) & 0x1)
3670 +/* Descriptor Under Run Interrupt Enable (2) */
3671 +#define DMA_CIE_DUR   (0x1 << 2)
3672 +#define DMA_CIE_DUR_GET(val)   ((((val) & DMA_CIE_DUR) >> 2) & 0x1)
3673 +/* End of Packet Interrupt Enable (1) */
3674 +#define DMA_CIE_EOP   (0x1 << 1)
3675 +#define DMA_CIE_EOP_GET(val)   ((((val) & DMA_CIE_EOP) >> 1) & 0x1)
3676 +
3677 +/*******************************************************************************
3678 + * Port Select Register
3679 + ******************************************************************************/
3680 +
3681 +/* Port Selection (2:0) */
3682 +#define DMA_PS_PS   (0x7)
3683 +#define DMA_PS_PS_VAL(val)   (((val) & 0x7) << 0)
3684 +#define DMA_PS_PS_GET(val)   ((((val) & DMA_PS_PS) >> 0) & 0x7)
3685 +#define DMA_PS_PS_SET(reg,val) (reg) = ((reg & ~DMA_PS_PS) | (((val) & 0x7) << 0))
3686 +
3687 +/*******************************************************************************
3688 + * Port Control Register
3689 + ******************************************************************************/
3690 +
3691 +/* General Purpose Control (16) */
3692 +#define DMA_PCTRL_GPC   (0x1 << 16)
3693 +#define DMA_PCTRL_GPC_VAL(val)   (((val) & 0x1) << 16)
3694 +#define DMA_PCTRL_GPC_GET(val)   ((((val) & DMA_PCTRL_GPC) >> 16) & 0x1)
3695 +#define DMA_PCTRL_GPC_SET(reg,val) (reg) = ((reg & ~DMA_PCTRL_GPC) | (((val) & 0x1) << 16))
3696 +/* Port Weight for Transmit Direction (14:12) */
3697 +#define DMA_PCTRL_TXWGT   (0x7 << 12)
3698 +#define DMA_PCTRL_TXWGT_VAL(val)   (((val) & 0x7) << 12)
3699 +#define DMA_PCTRL_TXWGT_GET(val)   ((((val) & DMA_PCTRL_TXWGT) >> 12) & 0x7)
3700 +#define DMA_PCTRL_TXWGT_SET(reg,val) (reg) = ((reg & ~DMA_PCTRL_TXWGT) | (((val) & 0x7) << 12))
3701 +/* Endianness for Transmit Direction (11:10) */
3702 +#define DMA_PCTRL_TXENDI   (0x3 << 10)
3703 +#define DMA_PCTRL_TXENDI_VAL(val)   (((val) & 0x3) << 10)
3704 +#define DMA_PCTRL_TXENDI_GET(val)   ((((val) & DMA_PCTRL_TXENDI) >> 10) & 0x3)
3705 +#define DMA_PCTRL_TXENDI_SET(reg,val) (reg) = ((reg & ~DMA_PCTRL_TXENDI) | (((val) & 0x3) << 10))
3706 +/* Endianness for Receive Direction (9:8) */
3707 +#define DMA_PCTRL_RXENDI   (0x3 << 8)
3708 +#define DMA_PCTRL_RXENDI_VAL(val)   (((val) & 0x3) << 8)
3709 +#define DMA_PCTRL_RXENDI_GET(val)   ((((val) & DMA_PCTRL_RXENDI) >> 8) & 0x3)
3710 +#define DMA_PCTRL_RXENDI_SET(reg,val) (reg) = ((reg & ~DMA_PCTRL_RXENDI) | (((val) & 0x3) << 8))
3711 +/* Packet Drop Enable (6) */
3712 +#define DMA_PCTRL_PDEN   (0x1 << 6)
3713 +#define DMA_PCTRL_PDEN_VAL(val)   (((val) & 0x1) << 6)
3714 +#define DMA_PCTRL_PDEN_GET(val)   ((((val) & DMA_PCTRL_PDEN) >> 6) & 0x1)
3715 +#define DMA_PCTRL_PDEN_SET(reg,val) (reg) = ((reg & ~DMA_PCTRL_PDEN) | (((val) & 0x1) << 6))
3716 +/* Burst Length for Transmit Direction (5:4) */
3717 +#define DMA_PCTRL_TXBL   (0x3 << 4)
3718 +#define DMA_PCTRL_TXBL_VAL(val)   (((val) & 0x3) << 4)
3719 +#define DMA_PCTRL_TXBL_GET(val)   ((((val) & DMA_PCTRL_TXBL) >> 4) & 0x3)
3720 +#define DMA_PCTRL_TXBL_SET(reg,val) (reg) = ((reg & ~DMA_PCTRL_TXBL) | (((val) & 0x3) << 4))
3721 +/* Burst Length for Receive Direction (3:2) */
3722 +#define DMA_PCTRL_RXBL   (0x3 << 2)
3723 +#define DMA_PCTRL_RXBL_VAL(val)   (((val) & 0x3) << 2)
3724 +#define DMA_PCTRL_RXBL_GET(val)   ((((val) & DMA_PCTRL_RXBL) >> 2) & 0x3)
3725 +#define DMA_PCTRL_RXBL_SET(reg,val) (reg) = ((reg & ~DMA_PCTRL_RXBL) | (((val) & 0x3) << 2))
3726 +
3727 +/*******************************************************************************
3728 + * DMA_IRNEN Register
3729 + ******************************************************************************/
3730 +
3731 +/* Channel x Interrupt Request Enable (23) */
3732 +#define DMA_IRNEN_CH23   (0x1 << 23)
3733 +#define DMA_IRNEN_CH23_VAL(val)   (((val) & 0x1) << 23)
3734 +#define DMA_IRNEN_CH23_GET(val)   ((((val) & DMA_IRNEN_CH23) >> 23) & 0x1)
3735 +#define DMA_IRNEN_CH23_SET(reg,val) (reg) = ((reg & ~DMA_IRNEN_CH23) | (((val) & 0x1) << 23))
3736 +
3737 +/*******************************************************************************
3738 + * DMA_IRNCR Register
3739 + ******************************************************************************/
3740 +
3741 +/* Channel x Interrupt (23) */
3742 +#define DMA_IRNCR_CH23   (0x1 << 23)
3743 +#define DMA_IRNCR_CH23_GET(val)   ((((val) & DMA_IRNCR_CH23) >> 23) & 0x1)
3744 +
3745 +/*******************************************************************************
3746 + * DMA_IRNICR Register
3747 + ******************************************************************************/
3748 +
3749 +/* Channel x Interrupt Request (23) */
3750 +#define DMA_IRNICR_CH23   (0x1 << 23)
3751 +#define DMA_IRNICR_CH23_GET(val)   ((((val) & DMA_IRNICR_CH23) >> 23) & 0x1)
3752 +
3753 +#endif
3754 Index: linux-3.3.8/arch/mips/include/asm/mach-lantiq/svip/svip_dma.h
3755 ===================================================================
3756 --- /dev/null   1970-01-01 00:00:00.000000000 +0000
3757 +++ linux-3.3.8/arch/mips/include/asm/mach-lantiq/svip/svip_dma.h       2012-07-31 15:46:02.480476158 +0200
3758 @@ -0,0 +1,245 @@
3759 +/************************************************************************
3760 + *
3761 + * Copyright (c) 2007
3762 + * Infineon Technologies AG
3763 + * St. Martin Strasse 53; 81669 Muenchen; Germany
3764 + *
3765 + * This program is free software; you can redistribute it and/or
3766 + * modify it under the terms of the GNU General Public License
3767 + * as published by the Free Software Foundation; either version
3768 + * 2 of the License, or (at your option) any later version.
3769 + *
3770 + ************************************************************************/
3771 +
3772 +#ifndef __SVIP_DMA_H
3773 +#define __SVIP_DMA_H
3774 +
3775 +#define LTQ_DMA_CH_ON  1
3776 +#define LTQ_DMA_CH_OFF 0
3777 +#define LTQ_DMA_CH_DEFAULT_WEIGHT 100;
3778 +
3779 +#define DMA_OWN   1
3780 +#define CPU_OWN   0
3781 +#define DMA_MAJOR 250
3782 +
3783 +/* Descriptors */
3784 +#define DMA_DESC_OWN_CPU               0x0
3785 +#define DMA_DESC_OWN_DMA               0x80000000
3786 +#define DMA_DESC_CPT_SET               0x40000000
3787 +#define DMA_DESC_SOP_SET               0x20000000
3788 +#define DMA_DESC_EOP_SET               0x10000000
3789 +
3790 +struct rx_desc {
3791 +       union {
3792 +               struct {
3793 +#ifdef CONFIG_CPU_LITTLE_ENDIAN
3794 +                       volatile u32 data_length:16;
3795 +                       volatile u32 reserve2:7;
3796 +                       volatile u32 byte_offset:2;
3797 +                       volatile u32 reserve1:3;
3798 +                       volatile u32 eop:1;
3799 +                       volatile u32 sop:1;
3800 +                       volatile u32 c:1;
3801 +                       volatile u32 own:1;
3802 +#else
3803 +                       volatile u32 own:1;
3804 +                       volatile u32 c:1;
3805 +                       volatile u32 sop:1;
3806 +                       volatile u32 eop:1;
3807 +                       volatile u32 reserve1:3;
3808 +                       volatile u32 byte_offset:2;
3809 +                       volatile u32 reserve2:7;
3810 +                       volatile u32 data_length:16;
3811 +#endif
3812 +               } field;
3813 +
3814 +               volatile u32 word;
3815 +       } status;
3816 +
3817 +       volatile u32 data_pointer;
3818 +};
3819 +
3820 +struct tx_desc {
3821 +       union {
3822 +               struct {
3823 +#ifdef CONFIG_CPU_LITTLE_ENDIAN
3824 +                       volatile u32 data_length:16;
3825 +                       volatile u32 reserved:7;
3826 +                       volatile u32 byte_offset:5;
3827 +                       volatile u32 eop:1;
3828 +                       volatile u32 sop:1;
3829 +                       volatile u32 c:1;
3830 +                       volatile u32 own:1;
3831 +#else
3832 +                       volatile u32 own:1;
3833 +                       volatile u32 c:1;
3834 +                       volatile u32 sop:1;
3835 +                       volatile u32 eop:1;
3836 +                       volatile u32 byte_offset:5;
3837 +                       volatile u32 reserved:7;
3838 +                       volatile u32 data_length:16;
3839 +#endif
3840 +               } field;
3841 +
3842 +               volatile u32 word;
3843 +       } status;
3844 +
3845 +       volatile u32 data_pointer;
3846 +};
3847 +
3848 +/* DMA pseudo interrupts notified to switch driver */
3849 +#define RCV_INT          0x01
3850 +#define TX_BUF_FULL_INT  0x02
3851 +#define TRANSMIT_CPT_INT 0x04
3852 +#define CHANNEL_CLOSED   0x10
3853 +
3854 +/* Parameters for switch DMA device */
3855 +#define DEFAULT_SW_CHANNEL_WEIGHT 3
3856 +#define DEFAULT_SW_PORT_WEIGHT    7
3857 +
3858 +#define DEFAULT_SW_TX_BURST_LEN 2 /* 2 words, 4 words, 8 words */
3859 +#define DEFAULT_SW_RX_BURST_LEN 2 /* 2 words, 4 words, 8 words */
3860 +
3861 +#define DEFAULT_SW_TX_CHANNEL_NUM 4
3862 +#define DEFAULT_SW_RX_CHANNEL_NUM 4
3863 +
3864 +#define DEFAULT_SW_TX_CHANNEL_DESCR_NUM 20
3865 +#define DEFAULT_SW_RX_CHANNEL_DESCR_NUM 20
3866 +
3867 +/* Parameters for SSC DMA device */
3868 +#define DEFAULT_SSC_CHANNEL_WEIGHT 3
3869 +#define DEFAULT_SSC_PORT_WEIGHT    7
3870 +
3871 +#define DEFAULT_SSC_TX_CHANNEL_CLASS 3
3872 +#define DEFAULT_SSC_RX_CHANNEL_CLASS 0
3873 +
3874 +#define DEFAULT_SSC_TX_BURST_LEN 2 /* 2 words, 4 words, 8 words */
3875 +#define DEFAULT_SSC_RX_BURST_LEN 2 /* 2 words, 4 words, 8 words */
3876 +
3877 +#define DEFAULT_SSC0_TX_CHANNEL_NUM 1
3878 +#define DEFAULT_SSC0_RX_CHANNEL_NUM 1
3879 +#define DEFAULT_SSC1_TX_CHANNEL_NUM 1
3880 +#define DEFAULT_SSC1_RX_CHANNEL_NUM 1
3881 +
3882 +#define DEFAULT_SSC_TX_CHANNEL_DESCR_NUM 10
3883 +#define DEFAULT_SSC_RX_CHANNEL_DESCR_NUM 10
3884 +
3885 +/* Parameters for memory DMA device */
3886 +#define DEFAULT_MEM_CHANNEL_WEIGHT 3
3887 +#define DEFAULT_MEM_PORT_WEIGHT    7
3888 +
3889 +#define DEFAULT_MEM_TX_BURST_LEN 4 /* 2 words, 4 words, 8 words */
3890 +#define DEFAULT_MEM_RX_BURST_LEN 4 /* 2 words, 4 words, 8 words */
3891 +
3892 +#define DEFAULT_MEM_TX_CHANNEL_NUM 1
3893 +#define DEFAULT_MEM_RX_CHANNEL_NUM 1
3894 +
3895 +#define DEFAULT_MEM_TX_CHANNEL_DESCR_NUM 2
3896 +#define DEFAULT_MEM_RX_CHANNEL_DESCR_NUM 2
3897 +
3898 +/* Parameters for DEU DMA device */
3899 +#define DEFAULT_DEU_CHANNEL_WEIGHT 1
3900 +#define DEFAULT_DEU_PORT_WEIGHT    1
3901 +
3902 +#define DEFAULT_DEU_TX_BURST_LEN 4 /* 2 words, 4 words, 8 words */
3903 +#define DEFAULT_DEU_RX_BURST_LEN 4 /* 2 words, 4 words, 8 words */
3904 +
3905 +#define DEFAULT_DEU_TX_CHANNEL_DESCR_NUM 20
3906 +#define DEFAULT_DEU_RX_CHANNEL_DESCR_NUM 20
3907 +
3908 +#define DMA_DESCR_NUM     30 /* number of descriptors per channel */
3909 +
3910 +enum dma_dir_t {
3911 +       DIR_RX = 0,
3912 +       DIR_TX = 1,
3913 +};
3914 +
3915 +struct dma_device_info;
3916 +
3917 +struct dma_channel_info {
3918 +       /*Pointer to the peripheral device who is using this channel*/
3919 +       /*const*/ struct dma_device_info *dma_dev;
3920 +       /*direction*/
3921 +       const enum dma_dir_t dir; /*RX or TX*/
3922 +       /*class for this channel for QoS*/
3923 +       int pri;
3924 +       /*irq number*/
3925 +       const int irq;
3926 +       /*relative channel number*/
3927 +       const int rel_chan_no;
3928 +       /*absolute channel number*/
3929 +       int abs_chan_no;
3930 +
3931 +       /*specify byte_offset*/
3932 +       int byte_offset;
3933 +       int tx_weight;
3934 +
3935 +       /*descriptor parameter*/
3936 +       int desc_base;
3937 +       int desc_len;
3938 +       int curr_desc;
3939 +       int prev_desc;/*only used if it is a tx channel*/
3940 +
3941 +       /*weight setting for WFQ algorithm*/
3942 +       int weight;
3943 +       int default_weight;
3944 +
3945 +       int packet_size;
3946 +
3947 +       /*status of this channel*/
3948 +       int control; /*on or off*/
3949 +       int xfer_cnt;
3950 +       int dur; /*descriptor underrun*/
3951 +
3952 +       /**optional information for the upper layer devices*/
3953 +       void *opt[DMA_DESCR_NUM];
3954 +
3955 +       /*channel operations*/
3956 +       int (*open)(struct dma_channel_info *ch);
3957 +       int (*close)(struct dma_channel_info *ch);
3958 +       int (*reset)(struct dma_channel_info *ch);
3959 +       void (*enable_irq)(struct dma_channel_info *ch);
3960 +       void (*disable_irq)(struct dma_channel_info *ch);
3961 +};
3962 +
3963 +
3964 +struct dma_device_info {
3965 +       /*device name of this peripheral*/
3966 +       const char device_name[16];
3967 +       const int  max_rx_chan_num;
3968 +       const int  max_tx_chan_num;
3969 +       int drop_enable;
3970 +
3971 +       int reserved;
3972 +
3973 +       int tx_burst_len;
3974 +       int rx_burst_len;
3975 +       int tx_weight;
3976 +
3977 +       int  current_tx_chan;
3978 +       int  current_rx_chan;
3979 +       int  num_tx_chan;
3980 +       int  num_rx_chan;
3981 +       int  tx_endianness_mode;
3982 +       int  rx_endianness_mode;
3983 +       struct dma_channel_info *tx_chan[4];
3984 +       struct dma_channel_info *rx_chan[4];
3985 +
3986 +       /*functions, optional*/
3987 +       u8 *(*buffer_alloc)(int len,int *offset, void **opt);
3988 +       void (*buffer_free)(u8 *dataptr, void *opt);
3989 +       int (*intr_handler)(struct dma_device_info *dma_dev, int status);
3990 +
3991 +       /* used by peripheral driver only */
3992 +       void *priv;
3993 +};
3994 +
3995 +struct dma_device_info *dma_device_reserve(char *dev_name);
3996 +int dma_device_release(struct dma_device_info *dma_dev);
3997 +int dma_device_register(struct dma_device_info *dma_dev);
3998 +int dma_device_unregister(struct dma_device_info *dma_dev);
3999 +int dma_device_read(struct dma_device_info *dma_dev, u8 **dataptr, void **opt);
4000 +int dma_device_write(struct dma_device_info *dma_dev, u8 *dataptr,
4001 +                    int len, void *opt);
4002 +
4003 +#endif
4004 Index: linux-3.3.8/arch/mips/include/asm/mach-lantiq/svip/ebu_reg.h
4005 ===================================================================
4006 --- /dev/null   1970-01-01 00:00:00.000000000 +0000
4007 +++ linux-3.3.8/arch/mips/include/asm/mach-lantiq/svip/ebu_reg.h        2012-07-31 15:46:02.484476159 +0200
4008 @@ -0,0 +1,615 @@
4009 +/******************************************************************************
4010 +
4011 +  Copyright (c) 2007
4012 +  Infineon Technologies AG
4013 +  St. Martin Strasse 53; 81669 Munich, Germany
4014 +
4015 +  Any use of this Software is subject to the conclusion of a respective
4016 +  License Agreement. Without such a License Agreement no rights to the
4017 +  Software are granted.
4018 +
4019 + ******************************************************************************/
4020 +
4021 +#ifndef __EBU_REG_H
4022 +#define __EBU_REG_H
4023 +
4024 +#define ebu_r32(reg) ltq_r32(&ebu->reg)
4025 +#define ebu_w32(val, reg) ltq_w32(val, &ebu->reg)
4026 +#define ebu_w32_mask(clear, set, reg) ltq_w32_mask(clear, set, &ebu->reg)
4027 +
4028 +/** EBU register structure */
4029 +struct svip_reg_ebu {
4030 +       volatile unsigned long  clc;  /*  0x0000 */
4031 +       volatile unsigned long  reserved0;  /*  0x04 */
4032 +       volatile unsigned long  id;  /*  0x0008 */
4033 +       volatile unsigned long  reserved1;  /*  0x0c */
4034 +       volatile unsigned long  con;  /*  0x0010 */
4035 +       volatile unsigned long  reserved2[3];  /*  0x14 */
4036 +       volatile unsigned long  addr_sel_0;  /*  0x0020 */
4037 +       volatile unsigned long  addr_sel_1;  /*  0x0024 */
4038 +       volatile unsigned long  addr_sel_2;  /*  0x0028 */
4039 +       volatile unsigned long  addr_sel_3;  /*  0x002c */
4040 +       volatile unsigned long  reserved3[12];  /*  0x30 */
4041 +       volatile unsigned long  con_0;  /*  0x0060 */
4042 +       volatile unsigned long  con_1;  /*  0x0064 */
4043 +       volatile unsigned long  con_2;  /*  0x0068 */
4044 +       volatile unsigned long  con_3;  /*  0x006c */
4045 +       volatile unsigned long  reserved4[4];  /*  0x70 */
4046 +       volatile unsigned long  emu_addr;  /*  0x0080 */
4047 +       volatile unsigned long  emu_bc;  /*  0x0084 */
4048 +       volatile unsigned long  emu_con;  /*  0x0088 */
4049 +       volatile unsigned long  reserved5;  /*  0x8c */
4050 +       volatile unsigned long  pcc_con;  /*  0x0090 */
4051 +       volatile unsigned long  pcc_stat;  /*  0x0094 */
4052 +       volatile unsigned long  reserved6[2];  /*  0x98 */
4053 +       volatile unsigned long  pcc_istat;  /*  0x00A0 */
4054 +       volatile unsigned long  pcc_ien;  /*  0x00A4 */
4055 +       volatile unsigned long  pcc_int_out;  /*  0x00A8 */
4056 +       volatile unsigned long  pcc_irs;  /*  0x00AC */
4057 +       volatile unsigned long  nand_con;  /*  0x00B0 */
4058 +       volatile unsigned long  nand_wait;  /*  0x00B4 */
4059 +       volatile unsigned long  nand_ecc0;  /*  0x00B8 */
4060 +       volatile unsigned long  nand_ecc_ac;  /*  0x00BC */
4061 +};
4062 +
4063 +/*******************************************************************************
4064 + * EBU
4065 + ******************************************************************************/
4066 +#define LTQ_EBU_CLC   ((volatile unsigned int*)(LTQ_EBU_BASE + 0x0000))
4067 +#define LTQ_EBU_ID   ((volatile unsigned int*)(LTQ_EBU_BASE + 0x0008))
4068 +#define LTQ_EBU_CON   ((volatile unsigned int*)(LTQ_EBU_BASE + 0x0010))
4069 +#define LTQ_EBU_ADDR_SEL_0   ((volatile unsigned int*)(LTQ_EBU_BASE + 0x0020))
4070 +#define LTQ_EBU_ADDR_SEL_1   ((volatile unsigned int*)(LTQ_EBU_BASE + 0x0024))
4071 +#define LTQ_EBU_ADDR_SEL_2   ((volatile unsigned int*)(LTQ_EBU_BASE + 0x0028))
4072 +#define LTQ_EBU_ADDR_SEL_3   ((volatile unsigned int*)(LTQ_EBU_BASE + 0x002c))
4073 +#define LTQ_EBU_CON_0   ((volatile unsigned int*)(LTQ_EBU_BASE + 0x0060))
4074 +#define LTQ_EBU_CON_1   ((volatile unsigned int*)(LTQ_EBU_BASE + 0x0064))
4075 +#define LTQ_EBU_CON_2   ((volatile unsigned int*)(LTQ_EBU_BASE + 0x0068))
4076 +#define LTQ_EBU_CON_3   ((volatile unsigned int*)(LTQ_EBU_BASE + 0x006c))
4077 +#define LTQ_EBU_EMU_BC   ((volatile unsigned int*)(LTQ_EBU_BASE + 0x0084))
4078 +#define LTQ_EBU_PCC_CON   ((volatile unsigned int*)(LTQ_EBU_BASE + 0x0090))
4079 +#define LTQ_EBU_PCC_STAT   ((volatile unsigned int*)(LTQ_EBU_BASE + 0x0094))
4080 +#define LTQ_EBU_PCC_ISTAT   ((volatile unsigned int*)(LTQ_EBU_BASE + 0x00A0))
4081 +#define LTQ_EBU_PCC_IEN   ((volatile unsigned int*)(LTQ_EBU_BASE + 0x00A4))
4082 +#define LTQ_EBU_PCC_INT_OUT   ((volatile unsigned int*)(LTQ_EBU_BASE + 0x00A8))
4083 +#define LTQ_EBU_PCC_IRS   ((volatile unsigned int*)(LTQ_EBU_BASE + 0x00AC))
4084 +#define LTQ_EBU_NAND_CON   ((volatile unsigned int*)(LTQ_EBU_BASE + 0x00B0))
4085 +#define LTQ_EBU_NAND_WAIT   ((volatile unsigned int*)(LTQ_EBU_BASE + 0x00B4))
4086 +#define LTQ_EBU_NAND_ECC0   ((volatile unsigned int*)(LTQ_EBU_BASE + 0x00B8))
4087 +#define LTQ_EBU_NAND_ECC_AC   ((volatile unsigned int*)(LTQ_EBU_BASE + 0x00BC))
4088 +#define LTQ_EBU_EMU_ADDR   ((volatile unsigned int*)(LTQ_EBU_BASE + 0x0080))
4089 +#define LTQ_EBU_EMU_CON   ((volatile unsigned int*)(LTQ_EBU_BASE + 0x0088))
4090 +
4091 +/*******************************************************************************
4092 + * EBU Clock Control Register
4093 + ******************************************************************************/
4094 +
4095 +/* EBU Disable Status Bit (1) */
4096 +#define LTQ_EBU_CLC_DISS   (0x1 << 1)
4097 +#define LTQ_EBU_CLC_DISS_GET(val)   ((((val) & LTQ_EBU_CLC_DISS) >> 1) & 0x1)
4098 +/* Used for Enable/disable Control of the EBU (0) */
4099 +#define LTQ_EBU_CLC_DISR   (0x1)
4100 +#define LTQ_EBU_CLC_DISR_VAL(val)   (((val) & 0x1) << 0)
4101 +#define LTQ_EBU_CLC_DISR_GET(val)   ((((val) & LTQ_EBU_CLC_DISR) >> 0) & 0x1)
4102 +#define LTQ_EBU_CLC_DISR_SET(reg,val) (reg) = ((reg & ~LTQ_EBU_CLC_DISR) | (((val) & 0x1) << 0))
4103 +
4104 +/*******************************************************************************
4105 + * EBU Identification Register (Internal)
4106 + ******************************************************************************/
4107 +
4108 +/* Module Number (31:8) */
4109 +#define LTQ_EBU_ID_MODNUM   (0xffffff << 8)
4110 +#define LTQ_EBU_ID_MODNUM_GET(val)   ((((val) & LTQ_EBU_ID_MODNUM) >> 8) & 0xffffff)
4111 +/* Revision Number (7:0) */
4112 +#define LTQ_EBU_ID_REVNUM   (0xff)
4113 +#define LTQ_EBU_ID_REVNUM_GET(val)   ((((val) & LTQ_EBU_ID_REVNUM) >> 0) & 0xff)
4114 +
4115 +/*******************************************************************************
4116 + * External Bus Unit Control Register
4117 + ******************************************************************************/
4118 +
4119 +/* Driver Turn-Around Control, Chip Select Triggered (22:20) */
4120 +#define LTQ_EBU_CON_DTACS   (0x7 << 20)
4121 +#define LTQ_EBU_CON_DTACS_VAL(val)   (((val) & 0x7) << 20)
4122 +#define LTQ_EBU_CON_DTACS_GET(val)   ((((val) & LTQ_EBU_CON_DTACS) >> 20) & 0x7)
4123 +#define LTQ_EBU_CON_DTACS_SET(reg,val) (reg) = ((reg & ~LTQ_EBU_CON_DTACS) | (((val) & 0x7) << 20))
4124 +/* Driver Turn-Around Control, Read-write Triggered (18:16) */
4125 +#define LTQ_EBU_CON_DTARW   (0x7 << 16)
4126 +#define LTQ_EBU_CON_DTARW_VAL(val)   (((val) & 0x7) << 16)
4127 +#define LTQ_EBU_CON_DTARW_GET(val)   ((((val) & LTQ_EBU_CON_DTARW) >> 16) & 0x7)
4128 +#define LTQ_EBU_CON_DTARW_SET(reg,val) (reg) = ((reg & ~LTQ_EBU_CON_DTARW) | (((val) & 0x7) << 16))
4129 +/* Time-Out Control (15:8) */
4130 +#define LTQ_EBU_CON_TOUTC   (0xff << 8)
4131 +#define LTQ_EBU_CON_TOUTC_VAL(val)   (((val) & 0xff) << 8)
4132 +#define LTQ_EBU_CON_TOUTC_GET(val)   ((((val) & LTQ_EBU_CON_TOUTC) >> 8) & 0xff)
4133 +#define LTQ_EBU_CON_TOUTC_SET(reg,val) (reg) = ((reg & ~LTQ_EBU_CON_TOUTC) | (((val) & 0xff) << 8))
4134 +/* Arbitration Mode (7:6) */
4135 +#define LTQ_EBU_CON_ARBMODE   (0x3 << 6)
4136 +#define LTQ_EBU_CON_ARBMODE_VAL(val)   (((val) & 0x3) << 6)
4137 +#define LTQ_EBU_CON_ARBMODE_GET(val)   ((((val) & LTQ_EBU_CON_ARBMODE) >> 6) & 0x3)
4138 +#define LTQ_EBU_CON_ARBMODE_SET(reg,val) (reg) = ((reg & ~LTQ_EBU_CON_ARBMODE) | (((val) & 0x3) << 6))
4139 +/* Arbitration Synchronization (5) */
4140 +#define LTQ_EBU_CON_ARBSYNC   (0x1 << 5)
4141 +#define LTQ_EBU_CON_ARBSYNC_VAL(val)   (((val) & 0x1) << 5)
4142 +#define LTQ_EBU_CON_ARBSYNC_GET(val)   ((((val) & LTQ_EBU_CON_ARBSYNC) >> 5) & 0x1)
4143 +#define LTQ_EBU_CON_ARBSYNC_SET(reg,val) (reg) = ((reg & ~LTQ_EBU_CON_ARBSYNC) | (((val) & 0x1) << 5))
4144 +
4145 +/*******************************************************************************
4146 + * Address Select Registers
4147 + ******************************************************************************/
4148 +
4149 +/* Memory Region Base Address (31:12) */
4150 +#define LTQ_EBU_ADDR_SEL_0_BASE   (0xfffff << 12)
4151 +#define LTQ_EBU_ADDR_SEL_0_BASE_VAL(val)   (((val) & 0xfffff) << 12)
4152 +#define LTQ_EBU_ADDR_SEL_0_BASE_GET(val)   ((((val) & LTQ_EBU_ADDR_SEL_0_BASE) >> 12) & 0xfffff)
4153 +#define LTQ_EBU_ADDR_SEL_0_BASE_SET(reg,val) (reg) = ((reg & ~LTQ_EBU_ADDR_SEL_0_BASE) | (((val) & 0xfffff) << 12))
4154 +/* Memory Region Address Mask (7:4) */
4155 +#define LTQ_EBU_ADDR_SEL_0_MASK   (0xf << 4)
4156 +#define LTQ_EBU_ADDR_SEL_0_MASK_VAL(val)   (((val) & 0xf) << 4)
4157 +#define LTQ_EBU_ADDR_SEL_0_MASK_GET(val)   ((((val) & LTQ_EBU_ADDR_SEL_0_MASK) >> 4) & 0xf)
4158 +#define LTQ_EBU_ADDR_SEL_0_MASK_SET(reg,val) (reg) = ((reg & ~LTQ_EBU_ADDR_SEL_0_MASK) | (((val) & 0xf) << 4))
4159 +/* Memory Region Mirror Enable Control (1) */
4160 +#define LTQ_EBU_ADDR_SEL_0_MRME   (0x1 << 1)
4161 +#define LTQ_EBU_ADDR_SEL_0_MRME_VAL(val)   (((val) & 0x1) << 1)
4162 +#define LTQ_EBU_ADDR_SEL_0_MRME_GET(val)   ((((val) & LTQ_EBU_ADDR_SEL_0_MRME) >> 1) & 0x1)
4163 +#define LTQ_EBU_ADDR_SEL_0_MRME_SET(reg,val) (reg) = ((reg & ~LTQ_EBU_ADDR_SEL_0_MRME) | (((val) & 0x1) << 1))
4164 +/* Memory Region Enable Control (0) */
4165 +#define LTQ_EBU_ADDR_SEL_0_REGEN   (0x1)
4166 +#define LTQ_EBU_ADDR_SEL_0_REGEN_VAL(val)   (((val) & 0x1) << 0)
4167 +#define LTQ_EBU_ADDR_SEL_0_REGEN_GET(val)   ((((val) & LTQ_EBU_ADDR_SEL_0_REGEN) >> 0) & 0x1)
4168 +#define LTQ_EBU_ADDR_SEL_0_REGEN_SET(reg,val) (reg) = ((reg & ~LTQ_EBU_ADDR_SEL_0_REGEN) | (((val) & 0x1) << 0))
4169 +
4170 +/*******************************************************************************
4171 + * Bus Configuration Registers
4172 + ******************************************************************************/
4173 +
4174 +/* Memory Region Write Protection (31) */
4175 +#define LTQ_EBU_CON_0_WRDIS   (0x1 << 31)
4176 +#define LTQ_EBU_CON_0_WRDIS_VAL(val)   (((val) & 0x1) << 31)
4177 +#define LTQ_EBU_CON_0_WRDIS_GET(val)   ((((val) & LTQ_EBU_CON_0_WRDIS) >> 31) & 0x1)
4178 +#define LTQ_EBU_CON_0_WRDIS_SET(reg,val) (reg) = ((reg & ~LTQ_EBU_CON_0_WRDIS) | (((val) & 0x1) << 31))
4179 +/* Address Swapping (30) */
4180 +#define LTQ_EBU_CON_0_ADSWP   (0x1 << 30)
4181 +#define LTQ_EBU_CON_0_ADSWP_VAL(val)   (((val) & 0x1) << 30)
4182 +#define LTQ_EBU_CON_0_ADSWP_GET(val)   ((((val) & LTQ_EBU_CON_0_ADSWP) >> 30) & 0x1)
4183 +#define LTQ_EBU_CON_0_ADSWP_SET(reg,val) (reg) = ((reg & ~LTQ_EBU_CON_0_ADSWP) | (((val) & 0x1) << 30))
4184 +/* Address Generation Control (26:24) */
4185 +#define LTQ_EBU_CON_0_AGEN   (0x7 << 24)
4186 +#define LTQ_EBU_CON_0_AGEN_VAL(val)   (((val) & 0x7) << 24)
4187 +#define LTQ_EBU_CON_0_AGEN_GET(val)   ((((val) & LTQ_EBU_CON_0_AGEN) >> 24) & 0x7)
4188 +#define LTQ_EBU_CON_0_AGEN_SET(reg,val) (reg) = ((reg & ~LTQ_EBU_CON_0_AGEN) | (((val) & 0x7) << 24))
4189 +/* Extended Address Setup Control (22) */
4190 +#define LTQ_EBU_CON_0_SETUP   (0x1 << 22)
4191 +#define LTQ_EBU_CON_0_SETUP_VAL(val)   (((val) & 0x1) << 22)
4192 +#define LTQ_EBU_CON_0_SETUP_GET(val)   ((((val) & LTQ_EBU_CON_0_SETUP) >> 22) & 0x1)
4193 +#define LTQ_EBU_CON_0_SETUP_SET(reg,val) (reg) = ((reg & ~LTQ_EBU_CON_0_SETUP) | (((val) & 0x1) << 22))
4194 +/* Variable Wait-State Insertion Control (21:20) */
4195 +#define LTQ_EBU_CON_0_WAIT   (0x3 << 20)
4196 +#define LTQ_EBU_CON_0_WAIT_VAL(val)   (((val) & 0x3) << 20)
4197 +#define LTQ_EBU_CON_0_WAIT_GET(val)   ((((val) & LTQ_EBU_CON_0_WAIT) >> 20) & 0x3)
4198 +#define LTQ_EBU_CON_0_WAIT_SET(reg,val) (reg) = ((reg & ~LTQ_EBU_CON_0_WAIT) | (((val) & 0x3) << 20))
4199 +/* Active WAIT Level Control (19) */
4200 +#define LTQ_EBU_CON_0_WINV   (0x1 << 19)
4201 +#define LTQ_EBU_CON_0_WINV_VAL(val)   (((val) & 0x1) << 19)
4202 +#define LTQ_EBU_CON_0_WINV_GET(val)   ((((val) & LTQ_EBU_CON_0_WINV) >> 19) & 0x1)
4203 +#define LTQ_EBU_CON_0_WINV_SET(reg,val) (reg) = ((reg & ~LTQ_EBU_CON_0_WINV) | (((val) & 0x1) << 19))
4204 +/* External Device Data Width Control (17:16) */
4205 +#define LTQ_EBU_CON_0_PW   (0x3 << 16)
4206 +#define LTQ_EBU_CON_0_PW_VAL(val)   (((val) & 0x3) << 16)
4207 +#define LTQ_EBU_CON_0_PW_GET(val)   ((((val) & LTQ_EBU_CON_0_PW) >> 16) & 0x3)
4208 +#define LTQ_EBU_CON_0_PW_SET(reg,val) (reg) = ((reg & ~LTQ_EBU_CON_0_PW) | (((val) & 0x3) << 16))
4209 +/* Address Latch Enable ALE Duration Control (15:14) */
4210 +#define LTQ_EBU_CON_0_ALEC   (0x3 << 14)
4211 +#define LTQ_EBU_CON_0_ALEC_VAL(val)   (((val) & 0x3) << 14)
4212 +#define LTQ_EBU_CON_0_ALEC_GET(val)   ((((val) & LTQ_EBU_CON_0_ALEC) >> 14) & 0x3)
4213 +#define LTQ_EBU_CON_0_ALEC_SET(reg,val) (reg) = ((reg & ~LTQ_EBU_CON_0_ALEC) | (((val) & 0x3) << 14))
4214 +/* Byte Control Signal Timing Mode Control (13:12) */
4215 +#define LTQ_EBU_CON_0_BCGEN   (0x3 << 12)
4216 +#define LTQ_EBU_CON_0_BCGEN_VAL(val)   (((val) & 0x3) << 12)
4217 +#define LTQ_EBU_CON_0_BCGEN_GET(val)   ((((val) & LTQ_EBU_CON_0_BCGEN) >> 12) & 0x3)
4218 +#define LTQ_EBU_CON_0_BCGEN_SET(reg,val) (reg) = ((reg & ~LTQ_EBU_CON_0_BCGEN) | (((val) & 0x3) << 12))
4219 +/* Write Access Wait-State Control (10:8) */
4220 +#define LTQ_EBU_CON_0_WAITWRC   (0x7 << 8)
4221 +#define LTQ_EBU_CON_0_WAITWRC_VAL(val)   (((val) & 0x7) << 8)
4222 +#define LTQ_EBU_CON_0_WAITWRC_GET(val)   ((((val) & LTQ_EBU_CON_0_WAITWRC) >> 8) & 0x7)
4223 +#define LTQ_EBU_CON_0_WAITWRC_SET(reg,val) (reg) = ((reg & ~LTQ_EBU_CON_0_WAITWRC) | (((val) & 0x7) << 8))
4224 +/* Read Access Wait-State Control (7:6) */
4225 +#define LTQ_EBU_CON_0_WAITRDC   (0x3 << 6)
4226 +#define LTQ_EBU_CON_0_WAITRDC_VAL(val)   (((val) & 0x3) << 6)
4227 +#define LTQ_EBU_CON_0_WAITRDC_GET(val)   ((((val) & LTQ_EBU_CON_0_WAITRDC) >> 6) & 0x3)
4228 +#define LTQ_EBU_CON_0_WAITRDC_SET(reg,val) (reg) = ((reg & ~LTQ_EBU_CON_0_WAITRDC) | (((val) & 0x3) << 6))
4229 +/* Hold/Pause Cycle Control (5:4) */
4230 +#define LTQ_EBU_CON_0_HOLDC   (0x3 << 4)
4231 +#define LTQ_EBU_CON_0_HOLDC_VAL(val)   (((val) & 0x3) << 4)
4232 +#define LTQ_EBU_CON_0_HOLDC_GET(val)   ((((val) & LTQ_EBU_CON_0_HOLDC) >> 4) & 0x3)
4233 +#define LTQ_EBU_CON_0_HOLDC_SET(reg,val) (reg) = ((reg & ~LTQ_EBU_CON_0_HOLDC) | (((val) & 0x3) << 4))
4234 +/* Recovery Cycle Control (3:2) */
4235 +#define LTQ_EBU_CON_0_RECOVC   (0x3 << 2)
4236 +#define LTQ_EBU_CON_0_RECOVC_VAL(val)   (((val) & 0x3) << 2)
4237 +#define LTQ_EBU_CON_0_RECOVC_GET(val)   ((((val) & LTQ_EBU_CON_0_RECOVC) >> 2) & 0x3)
4238 +#define LTQ_EBU_CON_0_RECOVC_SET(reg,val) (reg) = ((reg & ~LTQ_EBU_CON_0_RECOVC) | (((val) & 0x3) << 2))
4239 +/* Wait Cycle Multiplier Control (1:0) */
4240 +#define LTQ_EBU_CON_0_CMULT   (0x3)
4241 +#define LTQ_EBU_CON_0_CMULT_VAL(val)   (((val) & 0x3) << 0)
4242 +#define LTQ_EBU_CON_0_CMULT_GET(val)   ((((val) & LTQ_EBU_CON_0_CMULT) >> 0) & 0x3)
4243 +#define LTQ_EBU_CON_0_CMULT_SET(reg,val) (reg) = ((reg & ~LTQ_EBU_CON_0_CMULT) | (((val) & 0x3) << 0))
4244 +
4245 +/*******************************************************************************
4246 + * External Bus Unit Emulator Bus Configuration Register
4247 + ******************************************************************************/
4248 +
4249 +/* Write Protection (31) */
4250 +#define LTQ_EBU_EMU_BC_WRITE   (0x1 << 31)
4251 +#define LTQ_EBU_EMU_BC_WRITE_VAL(val)   (((val) & 0x1) << 31)
4252 +#define LTQ_EBU_EMU_BC_WRITE_GET(val)   ((((val) & LTQ_EBU_EMU_BC_WRITE) >> 31) & 0x1)
4253 +#define LTQ_EBU_EMU_BC_WRITE_SET(reg,val) (reg) = ((reg & ~LTQ_EBU_EMU_BC_WRITE) | (((val) & 0x1) << 31))
4254 +/* Address Generation Control (26:24) */
4255 +#define LTQ_EBU_EMU_BC_AGEN   (0x7 << 24)
4256 +#define LTQ_EBU_EMU_BC_AGEN_VAL(val)   (((val) & 0x7) << 24)
4257 +#define LTQ_EBU_EMU_BC_AGEN_GET(val)   ((((val) & LTQ_EBU_EMU_BC_AGEN) >> 24) & 0x7)
4258 +#define LTQ_EBU_EMU_BC_AGEN_SET(reg,val) (reg) = ((reg & ~LTQ_EBU_EMU_BC_AGEN) | (((val) & 0x7) << 24))
4259 +/* Extended Address Setup Control (22) */
4260 +#define LTQ_EBU_EMU_BC_SETUP   (0x1 << 22)
4261 +#define LTQ_EBU_EMU_BC_SETUP_VAL(val)   (((val) & 0x1) << 22)
4262 +#define LTQ_EBU_EMU_BC_SETUP_GET(val)   ((((val) & LTQ_EBU_EMU_BC_SETUP) >> 22) & 0x1)
4263 +#define LTQ_EBU_EMU_BC_SETUP_SET(reg,val) (reg) = ((reg & ~LTQ_EBU_EMU_BC_SETUP) | (((val) & 0x1) << 22))
4264 +/* Variable Waitstate Insertion Control (21:20) */
4265 +#define LTQ_EBU_EMU_BC_WAIT   (0x3 << 20)
4266 +#define LTQ_EBU_EMU_BC_WAIT_VAL(val)   (((val) & 0x3) << 20)
4267 +#define LTQ_EBU_EMU_BC_WAIT_GET(val)   ((((val) & LTQ_EBU_EMU_BC_WAIT) >> 20) & 0x3)
4268 +#define LTQ_EBU_EMU_BC_WAIT_SET(reg,val) (reg) = ((reg & ~LTQ_EBU_EMU_BC_WAIT) | (((val) & 0x3) << 20))
4269 +/* Active WAIT Level Control (19) */
4270 +#define LTQ_EBU_EMU_BC_WINV   (0x1 << 19)
4271 +#define LTQ_EBU_EMU_BC_WINV_VAL(val)   (((val) & 0x1) << 19)
4272 +#define LTQ_EBU_EMU_BC_WINV_GET(val)   ((((val) & LTQ_EBU_EMU_BC_WINV) >> 19) & 0x1)
4273 +#define LTQ_EBU_EMU_BC_WINV_SET(reg,val) (reg) = ((reg & ~LTQ_EBU_EMU_BC_WINV) | (((val) & 0x1) << 19))
4274 +/* External Device Data Width Control (17:16) */
4275 +#define LTQ_EBU_EMU_BC_PORTW   (0x3 << 16)
4276 +#define LTQ_EBU_EMU_BC_PORTW_VAL(val)   (((val) & 0x3) << 16)
4277 +#define LTQ_EBU_EMU_BC_PORTW_GET(val)   ((((val) & LTQ_EBU_EMU_BC_PORTW) >> 16) & 0x3)
4278 +#define LTQ_EBU_EMU_BC_PORTW_SET(reg,val) (reg) = ((reg & ~LTQ_EBU_EMU_BC_PORTW) | (((val) & 0x3) << 16))
4279 +/* Address Latch Enable Function (15:14) */
4280 +#define LTQ_EBU_EMU_BC_ALEC   (0x3 << 14)
4281 +#define LTQ_EBU_EMU_BC_ALEC_VAL(val)   (((val) & 0x3) << 14)
4282 +#define LTQ_EBU_EMU_BC_ALEC_GET(val)   ((((val) & LTQ_EBU_EMU_BC_ALEC) >> 14) & 0x3)
4283 +#define LTQ_EBU_EMU_BC_ALEC_SET(reg,val) (reg) = ((reg & ~LTQ_EBU_EMU_BC_ALEC) | (((val) & 0x3) << 14))
4284 +/* Byte Control Signal Timing Mode (13:12) */
4285 +#define LTQ_EBU_EMU_BC_BCGEN   (0x3 << 12)
4286 +#define LTQ_EBU_EMU_BC_BCGEN_VAL(val)   (((val) & 0x3) << 12)
4287 +#define LTQ_EBU_EMU_BC_BCGEN_GET(val)   ((((val) & LTQ_EBU_EMU_BC_BCGEN) >> 12) & 0x3)
4288 +#define LTQ_EBU_EMU_BC_BCGEN_SET(reg,val) (reg) = ((reg & ~LTQ_EBU_EMU_BC_BCGEN) | (((val) & 0x3) << 12))
4289 +/* Write Access Waitstate Control (10:8) */
4290 +#define LTQ_EBU_EMU_BC_WAITWRC   (0x7 << 8)
4291 +#define LTQ_EBU_EMU_BC_WAITWRC_VAL(val)   (((val) & 0x7) << 8)
4292 +#define LTQ_EBU_EMU_BC_WAITWRC_GET(val)   ((((val) & LTQ_EBU_EMU_BC_WAITWRC) >> 8) & 0x7)
4293 +#define LTQ_EBU_EMU_BC_WAITWRC_SET(reg,val) (reg) = ((reg & ~LTQ_EBU_EMU_BC_WAITWRC) | (((val) & 0x7) << 8))
4294 +/* Read Access Waitstate Control (7:6) */
4295 +#define LTQ_EBU_EMU_BC_WAITRDC   (0x3 << 6)
4296 +#define LTQ_EBU_EMU_BC_WAITRDC_VAL(val)   (((val) & 0x3) << 6)
4297 +#define LTQ_EBU_EMU_BC_WAITRDC_GET(val)   ((((val) & LTQ_EBU_EMU_BC_WAITRDC) >> 6) & 0x3)
4298 +#define LTQ_EBU_EMU_BC_WAITRDC_SET(reg,val) (reg) = ((reg & ~LTQ_EBU_EMU_BC_WAITRDC) | (((val) & 0x3) << 6))
4299 +/* Hold/Pause Cycle Control (5:4) */
4300 +#define LTQ_EBU_EMU_BC_HOLDC   (0x3 << 4)
4301 +#define LTQ_EBU_EMU_BC_HOLDC_VAL(val)   (((val) & 0x3) << 4)
4302 +#define LTQ_EBU_EMU_BC_HOLDC_GET(val)   ((((val) & LTQ_EBU_EMU_BC_HOLDC) >> 4) & 0x3)
4303 +#define LTQ_EBU_EMU_BC_HOLDC_SET(reg,val) (reg) = ((reg & ~LTQ_EBU_EMU_BC_HOLDC) | (((val) & 0x3) << 4))
4304 +/* Recovery Cycles Control (3:2) */
4305 +#define LTQ_EBU_EMU_BC_RECOVC   (0x3 << 2)
4306 +#define LTQ_EBU_EMU_BC_RECOVC_VAL(val)   (((val) & 0x3) << 2)
4307 +#define LTQ_EBU_EMU_BC_RECOVC_GET(val)   ((((val) & LTQ_EBU_EMU_BC_RECOVC) >> 2) & 0x3)
4308 +#define LTQ_EBU_EMU_BC_RECOVC_SET(reg,val) (reg) = ((reg & ~LTQ_EBU_EMU_BC_RECOVC) | (((val) & 0x3) << 2))
4309 +/* Cycle Multiplier Control (1:0) */
4310 +#define LTQ_EBU_EMU_BC_CMULT   (0x3)
4311 +#define LTQ_EBU_EMU_BC_CMULT_VAL(val)   (((val) & 0x3) << 0)
4312 +#define LTQ_EBU_EMU_BC_CMULT_GET(val)   ((((val) & LTQ_EBU_EMU_BC_CMULT) >> 0) & 0x3)
4313 +#define LTQ_EBU_EMU_BC_CMULT_SET(reg,val) (reg) = ((reg & ~LTQ_EBU_EMU_BC_CMULT) | (((val) & 0x3) << 0))
4314 +
4315 +/*******************************************************************************
4316 + * PC-Card Control Register
4317 + ******************************************************************************/
4318 +
4319 +/* External Interrupt Input IREQ (3:1) */
4320 +#define LTQ_EBU_PCC_CON_IREQ   (0x7 << 1)
4321 +#define LTQ_EBU_PCC_CON_IREQ_VAL(val)   (((val) & 0x7) << 1)
4322 +#define LTQ_EBU_PCC_CON_IREQ_GET(val)   ((((val) & LTQ_EBU_PCC_CON_IREQ) >> 1) & 0x7)
4323 +#define LTQ_EBU_PCC_CON_IREQ_SET(reg,val) (reg) = ((reg & ~LTQ_EBU_PCC_CON_IREQ) | (((val) & 0x7) << 1))
4324 +/* PC Card ON (0) */
4325 +#define LTQ_EBU_PCC_CON_ON   (0x1)
4326 +#define LTQ_EBU_PCC_CON_ON_VAL(val)   (((val) & 0x1) << 0)
4327 +#define LTQ_EBU_PCC_CON_ON_GET(val)   ((((val) & LTQ_EBU_PCC_CON_ON) >> 0) & 0x1)
4328 +#define LTQ_EBU_PCC_CON_ON_SET(reg,val) (reg) = ((reg & ~LTQ_EBU_PCC_CON_ON) | (((val) & 0x1) << 0))
4329 +
4330 +/*******************************************************************************
4331 + * PCC Status Register
4332 + ******************************************************************************/
4333 +
4334 +/* Interrupt Request (6) */
4335 +#define LTQ_EBU_PCC_STAT_IRQ   (0x1 << 6)
4336 +#define LTQ_EBU_PCC_STAT_IRQ_GET(val)   ((((val) & LTQ_EBU_PCC_STAT_IRQ) >> 6) & 0x1)
4337 +/* PC-Card Overcurrent (5) */
4338 +#define LTQ_EBU_PCC_STAT_OC   (0x1 << 5)
4339 +#define LTQ_EBU_PCC_STAT_OC_GET(val)   ((((val) & LTQ_EBU_PCC_STAT_OC) >> 5) & 0x1)
4340 +/* PC-Card Socket Power On (4) */
4341 +#define LTQ_EBU_PCC_STAT_SPON   (0x1 << 4)
4342 +#define LTQ_EBU_PCC_STAT_SPON_GET(val)   ((((val) & LTQ_EBU_PCC_STAT_SPON) >> 4) & 0x1)
4343 +/* Card Detect Status (1:0) */
4344 +#define LTQ_EBU_PCC_STAT_CD   (0x3)
4345 +#define LTQ_EBU_PCC_STAT_CD_GET(val)   ((((val) & LTQ_EBU_PCC_STAT_CD) >> 0) & 0x3)
4346 +
4347 +/*******************************************************************************
4348 + * PCC Interrupt Status Register
4349 + ******************************************************************************/
4350 +
4351 +/* Interrupt Request Active Interrupt (4) */
4352 +#define LTQ_EBU_PCC_ISTAT_IREQ   (0x1 << 4)
4353 +#define LTQ_EBU_PCC_ISTAT_IREQ_VAL(val)   (((val) & 0x1) << 4)
4354 +#define LTQ_EBU_PCC_ISTAT_IREQ_GET(val)   ((((val) & LTQ_EBU_PCC_ISTAT_IREQ) >> 4) & 0x1)
4355 +#define LTQ_EBU_PCC_ISTAT_IREQ_SET(reg,val) (reg) = ((reg & ~LTQ_EBU_PCC_ISTAT_IREQ) | (((val) & 0x1) << 4))
4356 +/* Over Current Status Change Interrupt (3) */
4357 +#define LTQ_EBU_PCC_ISTAT_OC   (0x1 << 3)
4358 +#define LTQ_EBU_PCC_ISTAT_OC_VAL(val)   (((val) & 0x1) << 3)
4359 +#define LTQ_EBU_PCC_ISTAT_OC_GET(val)   ((((val) & LTQ_EBU_PCC_ISTAT_OC) >> 3) & 0x1)
4360 +#define LTQ_EBU_PCC_ISTAT_OC_SET(reg,val) (reg) = ((reg & ~LTQ_EBU_PCC_ISTAT_OC) | (((val) & 0x1) << 3))
4361 +/* Socket Power on Status Change Interrupt (2) */
4362 +#define LTQ_EBU_PCC_ISTAT_SPON   (0x1 << 2)
4363 +#define LTQ_EBU_PCC_ISTAT_SPON_VAL(val)   (((val) & 0x1) << 2)
4364 +#define LTQ_EBU_PCC_ISTAT_SPON_GET(val)   ((((val) & LTQ_EBU_PCC_ISTAT_SPON) >> 2) & 0x1)
4365 +#define LTQ_EBU_PCC_ISTAT_SPON_SET(reg,val) (reg) = ((reg & ~LTQ_EBU_PCC_ISTAT_SPON) | (((val) & 0x1) << 2))
4366 +/* Voltage Sense Status Change Interrupt (1) */
4367 +#define LTQ_EBU_PCC_ISTAT_VS   (0x1 << 1)
4368 +#define LTQ_EBU_PCC_ISTAT_VS_VAL(val)   (((val) & 0x1) << 1)
4369 +#define LTQ_EBU_PCC_ISTAT_VS_GET(val)   ((((val) & LTQ_EBU_PCC_ISTAT_VS) >> 1) & 0x1)
4370 +#define LTQ_EBU_PCC_ISTAT_VS_SET(reg,val) (reg) = ((reg & ~LTQ_EBU_PCC_ISTAT_VS) | (((val) & 0x1) << 1))
4371 +/* Card Detect Status Change Interrupt (0) */
4372 +#define LTQ_EBU_PCC_ISTAT_CD   (0x1)
4373 +#define LTQ_EBU_PCC_ISTAT_CD_VAL(val)   (((val) & 0x1) << 0)
4374 +#define LTQ_EBU_PCC_ISTAT_CD_GET(val)   ((((val) & LTQ_EBU_PCC_ISTAT_CD) >> 0) & 0x1)
4375 +#define LTQ_EBU_PCC_ISTAT_CD_SET(reg,val) (reg) = ((reg & ~LTQ_EBU_PCC_ISTAT_CD) | (((val) & 0x1) << 0))
4376 +
4377 +/*******************************************************************************
4378 + * PCC Interrupt Enable Register
4379 + ******************************************************************************/
4380 +
4381 +/* Enable of Interrupt Request IR (4) */
4382 +#define LTQ_EBU_PCC_IEN_IR   (0x1 << 4)
4383 +#define LTQ_EBU_PCC_IEN_IR_VAL(val)   (((val) & 0x1) << 4)
4384 +#define LTQ_EBU_PCC_IEN_IR_GET(val)   ((((val) & LTQ_EBU_PCC_IEN_IR) >> 4) & 0x1)
4385 +#define LTQ_EBU_PCC_IEN_IR_SET(reg,val) (reg) = ((reg & ~LTQ_EBU_PCC_IEN_IR) | (((val) & 0x1) << 4))
4386 +/* Enable of Interrupt Request OC event (3) */
4387 +#define LTQ_EBU_PCC_IEN_OC   (0x1 << 3)
4388 +#define LTQ_EBU_PCC_IEN_OC_VAL(val)   (((val) & 0x1) << 3)
4389 +#define LTQ_EBU_PCC_IEN_OC_GET(val)   ((((val) & LTQ_EBU_PCC_IEN_OC) >> 3) & 0x1)
4390 +#define LTQ_EBU_PCC_IEN_OC_SET(reg,val) (reg) = ((reg & ~LTQ_EBU_PCC_IEN_OC) | (((val) & 0x1) << 3))
4391 +/* Enable of Interrupt Request Socket Power On (2) */
4392 +#define LTQ_EBU_PCC_IEN_PWRON   (0x1 << 2)
4393 +#define LTQ_EBU_PCC_IEN_PWRON_VAL(val)   (((val) & 0x1) << 2)
4394 +#define LTQ_EBU_PCC_IEN_PWRON_GET(val)   ((((val) & LTQ_EBU_PCC_IEN_PWRON) >> 2) & 0x1)
4395 +#define LTQ_EBU_PCC_IEN_PWRON_SET(reg,val) (reg) = ((reg & ~LTQ_EBU_PCC_IEN_PWRON) | (((val) & 0x1) << 2))
4396 +/* Enable of Interrupt Request Voltage Sense (1) */
4397 +#define LTQ_EBU_PCC_IEN_VS   (0x1 << 1)
4398 +#define LTQ_EBU_PCC_IEN_VS_VAL(val)   (((val) & 0x1) << 1)
4399 +#define LTQ_EBU_PCC_IEN_VS_GET(val)   ((((val) & LTQ_EBU_PCC_IEN_VS) >> 1) & 0x1)
4400 +#define LTQ_EBU_PCC_IEN_VS_SET(reg,val) (reg) = ((reg & ~LTQ_EBU_PCC_IEN_VS) | (((val) & 0x1) << 1))
4401 +/* Enable of Interrupt Request Card Detect (0) */
4402 +#define LTQ_EBU_PCC_IEN_CD   (0x1)
4403 +#define LTQ_EBU_PCC_IEN_CD_VAL(val)   (((val) & 0x1) << 0)
4404 +#define LTQ_EBU_PCC_IEN_CD_GET(val)   ((((val) & LTQ_EBU_PCC_IEN_CD) >> 0) & 0x1)
4405 +#define LTQ_EBU_PCC_IEN_CD_SET(reg,val) (reg) = ((reg & ~LTQ_EBU_PCC_IEN_CD) | (((val) & 0x1) << 0))
4406 +
4407 +/*******************************************************************************
4408 + * PCC Interrupt Output Status Register
4409 + ******************************************************************************/
4410 +
4411 +/* Status of Interrupt Request IR (4) */
4412 +#define LTQ_EBU_PCC_INT_OUT_IR   (0x1 << 4)
4413 +#define LTQ_EBU_PCC_INT_OUT_IR_GET(val)   ((((val) & LTQ_EBU_PCC_INT_OUT_IR) >> 4) & 0x1)
4414 +/* Status of Interrupt Request OC (3) */
4415 +#define LTQ_EBU_PCC_INT_OUT_OC   (0x1 << 3)
4416 +#define LTQ_EBU_PCC_INT_OUT_OC_GET(val)   ((((val) & LTQ_EBU_PCC_INT_OUT_OC) >> 3) & 0x1)
4417 +/* Status of Interrupt Request Socket Power On (2) */
4418 +#define LTQ_EBU_PCC_INT_OUT_PWRON   (0x1 << 2)
4419 +#define LTQ_EBU_PCC_INT_OUT_PWRON_GET(val)   ((((val) & LTQ_EBU_PCC_INT_OUT_PWRON) >> 2) & 0x1)
4420 +/* Status of Interrupt Request Voltage Sense (1) */
4421 +#define LTQ_EBU_PCC_INT_OUT_VS   (0x1 << 1)
4422 +#define LTQ_EBU_PCC_INT_OUT_VS_GET(val)   ((((val) & LTQ_EBU_PCC_INT_OUT_VS) >> 1) & 0x1)
4423 +/* Status of Interrupt Request Card Detect (0) */
4424 +#define LTQ_EBU_PCC_INT_OUT_CD   (0x1)
4425 +#define LTQ_EBU_PCC_INT_OUT_CD_GET(val)   ((((val) & LTQ_EBU_PCC_INT_OUT_CD) >> 0) & 0x1)
4426 +
4427 +/*******************************************************************************
4428 + * PCC Interrupt Request Set Register
4429 + ******************************************************************************/
4430 +
4431 +/* Set Interrupt Request IR (4) */
4432 +#define LTQ_EBU_PCC_IRS_IR   (0x1 << 4)
4433 +#define LTQ_EBU_PCC_IRS_IR_VAL(val)   (((val) & 0x1) << 4)
4434 +#define LTQ_EBU_PCC_IRS_IR_SET(reg,val) (reg) = (((reg & ~LTQ_EBU_PCC_IRS_IR) | (val) & 1) << 4)
4435 +/* Set Interrupt Request OC (3) */
4436 +#define LTQ_EBU_PCC_IRS_OC   (0x1 << 3)
4437 +#define LTQ_EBU_PCC_IRS_OC_VAL(val)   (((val) & 0x1) << 3)
4438 +#define LTQ_EBU_PCC_IRS_OC_SET(reg,val) (reg) = (((reg & ~LTQ_EBU_PCC_IRS_OC) | (val) & 1) << 3)
4439 +/* Set Interrupt Request Socket Power On (2) */
4440 +#define LTQ_EBU_PCC_IRS_PWRON   (0x1 << 2)
4441 +#define LTQ_EBU_PCC_IRS_PWRON_VAL(val)   (((val) & 0x1) << 2)
4442 +#define LTQ_EBU_PCC_IRS_PWRON_SET(reg,val) (reg) = (((reg & ~LTQ_EBU_PCC_IRS_PWRON) | (val) & 1) << 2)
4443 +/* Set Interrupt Request Voltage Sense (1) */
4444 +#define LTQ_EBU_PCC_IRS_VS   (0x1 << 1)
4445 +#define LTQ_EBU_PCC_IRS_VS_VAL(val)   (((val) & 0x1) << 1)
4446 +#define LTQ_EBU_PCC_IRS_VS_SET(reg,val) (reg) = (((reg & ~LTQ_EBU_PCC_IRS_VS) | (val) & 1) << 1)
4447 +/* Set Interrupt Request Card Detect (0) */
4448 +#define LTQ_EBU_PCC_IRS_CD   (0x1)
4449 +#define LTQ_EBU_PCC_IRS_CD_VAL(val)   (((val) & 0x1) << 0)
4450 +#define LTQ_EBU_PCC_IRS_CD_SET(reg,val) (reg) = (((reg & ~LTQ_EBU_PCC_IRS_CD) | (val) & 1) << 0)
4451 +
4452 +/*******************************************************************************
4453 + * NAND Flash Control Register
4454 + ******************************************************************************/
4455 +
4456 +/* ECC Enabling (31) */
4457 +#define LTQ_EBU_NAND_CON_ECC_ON   (0x1 << 31)
4458 +#define LTQ_EBU_NAND_CON_ECC_ON_VAL(val)   (((val) & 0x1) << 31)
4459 +#define LTQ_EBU_NAND_CON_ECC_ON_GET(val)   ((((val) & LTQ_EBU_NAND_CON_ECC_ON) >> 31) & 0x1)
4460 +#define LTQ_EBU_NAND_CON_ECC_ON_SET(reg,val) (reg) = ((reg & ~LTQ_EBU_NAND_CON_ECC_ON) | (((val) & 0x1) << 31))
4461 +/* Latch enable (23:18) */
4462 +#define LTQ_EBU_NAND_CON_LAT_EN   (0x3f << 18)
4463 +#define LTQ_EBU_NAND_CON_LAT_EN_VAL(val)   (((val) & 0x3f) << 18)
4464 +#define LTQ_EBU_NAND_CON_LAT_EN_GET(val)   ((((val) & LTQ_EBU_NAND_CON_LAT_EN) >> 18) & 0x3f)
4465 +#define LTQ_EBU_NAND_CON_LAT_EN_SET(reg,val) (reg) = ((reg & ~LTQ_EBU_NAND_CON_LAT_EN) | (((val) & 0x3f) << 18))
4466 +/* Output ChipSelect# Selection (11:10) */
4467 +#define LTQ_EBU_NAND_CON_OUT_CS_S   (0x3 << 10)
4468 +#define LTQ_EBU_NAND_CON_OUT_CS_S_VAL(val)   (((val) & 0x3) << 10)
4469 +#define LTQ_EBU_NAND_CON_OUT_CS_S_GET(val)   ((((val) & LTQ_EBU_NAND_CON_OUT_CS_S) >> 10) & 0x3)
4470 +#define LTQ_EBU_NAND_CON_OUT_CS_S_SET(reg,val) (reg) = ((reg & ~LTQ_EBU_NAND_CON_OUT_CS_S) | (((val) & 0x3) << 10))
4471 +/* Input ChipSelect# Selection (9:8) */
4472 +#define LTQ_EBU_NAND_CON_IN_CS_S   (0x3 << 8)
4473 +#define LTQ_EBU_NAND_CON_IN_CS_S_VAL(val)   (((val) & 0x3) << 8)
4474 +#define LTQ_EBU_NAND_CON_IN_CS_S_GET(val)   ((((val) & LTQ_EBU_NAND_CON_IN_CS_S) >> 8) & 0x3)
4475 +#define LTQ_EBU_NAND_CON_IN_CS_S_SET(reg,val) (reg) = ((reg & ~LTQ_EBU_NAND_CON_IN_CS_S) | (((val) & 0x3) << 8))
4476 +/* Set PRE (7) */
4477 +#define LTQ_EBU_NAND_CON_PRE_P   (0x1 << 7)
4478 +#define LTQ_EBU_NAND_CON_PRE_P_VAL(val)   (((val) & 0x1) << 7)
4479 +#define LTQ_EBU_NAND_CON_PRE_P_GET(val)   ((((val) & LTQ_EBU_NAND_CON_PRE_P) >> 7) & 0x1)
4480 +#define LTQ_EBU_NAND_CON_PRE_P_SET(reg,val) (reg) = ((reg & ~LTQ_EBU_NAND_CON_PRE_P) | (((val) & 0x1) << 7))
4481 +/* Set WP Active Polarity (6) */
4482 +#define LTQ_EBU_NAND_CON_WP_P   (0x1 << 6)
4483 +#define LTQ_EBU_NAND_CON_WP_P_VAL(val)   (((val) & 0x1) << 6)
4484 +#define LTQ_EBU_NAND_CON_WP_P_GET(val)   ((((val) & LTQ_EBU_NAND_CON_WP_P) >> 6) & 0x1)
4485 +#define LTQ_EBU_NAND_CON_WP_P_SET(reg,val) (reg) = ((reg & ~LTQ_EBU_NAND_CON_WP_P) | (((val) & 0x1) << 6))
4486 +/* Set SE Active Polarity (5) */
4487 +#define LTQ_EBU_NAND_CON_SE_P   (0x1 << 5)
4488 +#define LTQ_EBU_NAND_CON_SE_P_VAL(val)   (((val) & 0x1) << 5)
4489 +#define LTQ_EBU_NAND_CON_SE_P_GET(val)   ((((val) & LTQ_EBU_NAND_CON_SE_P) >> 5) & 0x1)
4490 +#define LTQ_EBU_NAND_CON_SE_P_SET(reg,val) (reg) = ((reg & ~LTQ_EBU_NAND_CON_SE_P) | (((val) & 0x1) << 5))
4491 +/* Set CS Active Polarity (4) */
4492 +#define LTQ_EBU_NAND_CON_CS_P   (0x1 << 4)
4493 +#define LTQ_EBU_NAND_CON_CS_P_VAL(val)   (((val) & 0x1) << 4)
4494 +#define LTQ_EBU_NAND_CON_CS_P_GET(val)   ((((val) & LTQ_EBU_NAND_CON_CS_P) >> 4) & 0x1)
4495 +#define LTQ_EBU_NAND_CON_CS_P_SET(reg,val) (reg) = ((reg & ~LTQ_EBU_NAND_CON_CS_P) | (((val) & 0x1) << 4))
4496 +/* Set CLE Active Polarity (3) */
4497 +#define LTQ_EBU_NAND_CON_CLE_P   (0x1 << 3)
4498 +#define LTQ_EBU_NAND_CON_CLE_P_VAL(val)   (((val) & 0x1) << 3)
4499 +#define LTQ_EBU_NAND_CON_CLE_P_GET(val)   ((((val) & LTQ_EBU_NAND_CON_CLE_P) >> 3) & 0x1)
4500 +#define LTQ_EBU_NAND_CON_CLE_P_SET(reg,val) (reg) = ((reg & ~LTQ_EBU_NAND_CON_CLE_P) | (((val) & 0x1) << 3))
4501 +/* Set ALE Active Polarity (2) */
4502 +#define LTQ_EBU_NAND_CON_ALE_P   (0x1 << 2)
4503 +#define LTQ_EBU_NAND_CON_ALE_P_VAL(val)   (((val) & 0x1) << 2)
4504 +#define LTQ_EBU_NAND_CON_ALE_P_GET(val)   ((((val) & LTQ_EBU_NAND_CON_ALE_P) >> 2) & 0x1)
4505 +#define LTQ_EBU_NAND_CON_ALE_P_SET(reg,val) (reg) = ((reg & ~LTQ_EBU_NAND_CON_ALE_P) | (((val) & 0x1) << 2))
4506 +/* NAND CS Mux with EBU CS Enable (1) */
4507 +#define LTQ_EBU_NAND_CON_CSMUX_E   (0x1 << 1)
4508 +#define LTQ_EBU_NAND_CON_CSMUX_E_VAL(val)   (((val) & 0x1) << 1)
4509 +#define LTQ_EBU_NAND_CON_CSMUX_E_GET(val)   ((((val) & LTQ_EBU_NAND_CON_CSMUX_E) >> 1) & 0x1)
4510 +#define LTQ_EBU_NAND_CON_CSMUX_E_SET(reg,val) (reg) = ((reg & ~LTQ_EBU_NAND_CON_CSMUX_E) | (((val) & 0x1) << 1))
4511 +/* NAND FLASH Mode Support (0) */
4512 +#define LTQ_EBU_NAND_CON_NANDMODE   (0x1)
4513 +#define LTQ_EBU_NAND_CON_NANDMODE_VAL(val)   (((val) & 0x1) << 0)
4514 +#define LTQ_EBU_NAND_CON_NANDMODE_GET(val)   ((((val) & LTQ_EBU_NAND_CON_NANDMODE) >> 0) & 0x1)
4515 +#define LTQ_EBU_NAND_CON_NANDMODE_SET(reg,val) (reg) = ((reg & ~LTQ_EBU_NAND_CON_NANDMODE) | (((val) & 0x1) << 0))
4516 +
4517 +/*******************************************************************************
4518 + * NAND Flash State Register
4519 + ******************************************************************************/
4520 +
4521 +/* Reserved (31:3) */
4522 +#define LTQ_EBU_NAND_WAIT_RES   (0x1fffffff << 3)
4523 +#define LTQ_EBU_NAND_WAIT_RES_GET(val)   ((((val) & LTQ_EBU_NAND_WAIT_RES) >> 3) & 0x1fffffff)
4524 +/* NAND Write Complete (3) */
4525 +#define LTQ_EBU_NAND_WAIT_WR_C   (0x1 << 3)
4526 +#define LTQ_EBU_NAND_WAIT_WR_C_GET(val)   ((((val) & LTQ_EBU_NAND_WAIT_WR_C) >> 3) & 0x1)
4527 +/* Record the RD Edge (rising ) (2) */
4528 +#define LTQ_EBU_NAND_WAIT_RD_EDGE   (0x1 << 2)
4529 +#define LTQ_EBU_NAND_WAIT_RD_EDGE_GET(val)   ((((val) & LTQ_EBU_NAND_WAIT_RD_EDGE) >> 2) & 0x1)
4530 +/* Record the BY# Edge (falling) (1) */
4531 +#define LTQ_EBU_NAND_WAIT_BY_EDGE   (0x1 << 1)
4532 +#define LTQ_EBU_NAND_WAIT_BY_EDGE_GET(val)   ((((val) & LTQ_EBU_NAND_WAIT_BY_EDGE) >> 1) & 0x1)
4533 +/* Rd/BY# value (0) */
4534 +#define LTQ_EBU_NAND_WAIT_RDBY_VALUE   (0x1)
4535 +#define LTQ_EBU_NAND_WAIT_RDBY_VALUE_GET(val)   ((((val) & LTQ_EBU_NAND_WAIT_RDBY_VALUE) >> 0) & 0x1)
4536 +
4537 +/*******************************************************************************
4538 + * NAND ECC Result Register 0
4539 + ******************************************************************************/
4540 +
4541 +/* Reserved (31:24) */
4542 +#define LTQ_EBU_NAND_ECC0_RES   (0xff << 24)
4543 +#define LTQ_EBU_NAND_ECC0_RES_GET(val)   ((((val) & LTQ_EBU_NAND_ECC0_RES) >> 24) & 0xff)
4544 +/* ECC value (23:16) */
4545 +#define LTQ_EBU_NAND_ECC0_ECC_B2   (0xff << 16)
4546 +#define LTQ_EBU_NAND_ECC0_ECC_B2_VAL(val)   (((val) & 0xff) << 16)
4547 +#define LTQ_EBU_NAND_ECC0_ECC_B2_GET(val)   ((((val) & LTQ_EBU_NAND_ECC0_ECC_B2) >> 16) & 0xff)
4548 +#define LTQ_EBU_NAND_ECC0_ECC_B2_SET(reg,val) (reg) = ((reg & ~LTQ_EBU_NAND_ECC0_ECC_B2) | (((val) & 0xff) << 16))
4549 +/* ECC value (15:8) */
4550 +#define LTQ_EBU_NAND_ECC0_ECC_B1   (0xff << 8)
4551 +#define LTQ_EBU_NAND_ECC0_ECC_B1_VAL(val)   (((val) & 0xff) << 8)
4552 +#define LTQ_EBU_NAND_ECC0_ECC_B1_GET(val)   ((((val) & LTQ_EBU_NAND_ECC0_ECC_B1) >> 8) & 0xff)
4553 +#define LTQ_EBU_NAND_ECC0_ECC_B1_SET(reg,val) (reg) = ((reg & ~LTQ_EBU_NAND_ECC0_ECC_B1) | (((val) & 0xff) << 8))
4554 +/* ECC value (7:0) */
4555 +#define LTQ_EBU_NAND_ECC0_ECC_B0   (0xff)
4556 +#define LTQ_EBU_NAND_ECC0_ECC_B0_VAL(val)   (((val) & 0xff) << 0)
4557 +#define LTQ_EBU_NAND_ECC0_ECC_B0_GET(val)   ((((val) & LTQ_EBU_NAND_ECC0_ECC_B0) >> 0) & 0xff)
4558 +#define LTQ_EBU_NAND_ECC0_ECC_B0_SET(reg,val) (reg) = ((reg & ~LTQ_EBU_NAND_ECC0_ECC_B0) | (((val) & 0xff) << 0))
4559 +
4560 +/*******************************************************************************
4561 + * NAND ECC Address Counter Register
4562 + ******************************************************************************/
4563 +
4564 +/* Reserved (31:9) */
4565 +#define LTQ_EBU_NAND_ECC_AC_RES   (0x7fffff << 9)
4566 +#define LTQ_EBU_NAND_ECC_AC_RES_GET(val)   ((((val) & LTQ_EBU_NAND_ECC_AC_RES) >> 9) & 0x7fffff)
4567 +/* ECC address counter (8:0) */
4568 +#define LTQ_EBU_NAND_ECC_AC_ECC_AC   (0x1ff)
4569 +#define LTQ_EBU_NAND_ECC_AC_ECC_AC_VAL(val)   (((val) & 0x1ff) << 0)
4570 +#define LTQ_EBU_NAND_ECC_AC_ECC_AC_GET(val)   ((((val) & LTQ_EBU_NAND_ECC_AC_ECC_AC) >> 0) & 0x1ff)
4571 +#define LTQ_EBU_NAND_ECC_AC_ECC_AC_SET(reg,val) (reg) = ((reg & ~LTQ_EBU_NAND_ECC_AC_ECC_AC) | (((val) & 0x1ff) << 0))
4572 +
4573 +/*******************************************************************************
4574 + * Internal Address Emulation Register
4575 + ******************************************************************************/
4576 +
4577 +/* Memory Region Base Address (31:12) */
4578 +#define LTQ_EBU_EMU_ADDR_BASE   (0xfffff << 12)
4579 +#define LTQ_EBU_EMU_ADDR_BASE_VAL(val)   (((val) & 0xfffff) << 12)
4580 +#define LTQ_EBU_EMU_ADDR_BASE_GET(val)   ((((val) & LTQ_EBU_EMU_ADDR_BASE) >> 12) & 0xfffff)
4581 +#define LTQ_EBU_EMU_ADDR_BASE_SET(reg,val) (reg) = ((reg & ~LTQ_EBU_EMU_ADDR_BASE) | (((val) & 0xfffff) << 12))
4582 +/* Memory Region Address Mask (7:4) */
4583 +#define LTQ_EBU_EMU_ADDR_MASK   (0xf << 4)
4584 +#define LTQ_EBU_EMU_ADDR_MASK_VAL(val)   (((val) & 0xf) << 4)
4585 +#define LTQ_EBU_EMU_ADDR_MASK_GET(val)   ((((val) & LTQ_EBU_EMU_ADDR_MASK) >> 4) & 0xf)
4586 +#define LTQ_EBU_EMU_ADDR_MASK_SET(reg,val) (reg) = ((reg & ~LTQ_EBU_EMU_ADDR_MASK) | (((val) & 0xf) << 4))
4587 +/* Memory Region Mirror Segment B Control (1) */
4588 +#define LTQ_EBU_EMU_ADDR_MRMB   (0x1 << 1)
4589 +#define LTQ_EBU_EMU_ADDR_MRMB_VAL(val)   (((val) & 0x1) << 1)
4590 +#define LTQ_EBU_EMU_ADDR_MRMB_GET(val)   ((((val) & LTQ_EBU_EMU_ADDR_MRMB) >> 1) & 0x1)
4591 +#define LTQ_EBU_EMU_ADDR_MRMB_SET(reg,val) (reg) = ((reg & ~LTQ_EBU_EMU_ADDR_MRMB) | (((val) & 0x1) << 1))
4592 +/* Memory Region Enable Control (0) */
4593 +#define LTQ_EBU_EMU_ADDR_MREC   (0x1)
4594 +#define LTQ_EBU_EMU_ADDR_MREC_VAL(val)   (((val) & 0x1) << 0)
4595 +#define LTQ_EBU_EMU_ADDR_MREC_GET(val)   ((((val) & LTQ_EBU_EMU_ADDR_MREC) >> 0) & 0x1)
4596 +#define LTQ_EBU_EMU_ADDR_MREC_SET(reg,val) (reg) = ((reg & ~LTQ_EBU_EMU_ADDR_MREC) | (((val) & 0x1) << 0))
4597 +
4598 +/*******************************************************************************
4599 + * nternal Emulator Configuration Register
4600 + ******************************************************************************/
4601 +
4602 +/* Overlay Memory Control Region 3 (3) */
4603 +#define LTQ_EBU_EMU_CON_OVL3   (0x1 << 3)
4604 +#define LTQ_EBU_EMU_CON_OVL3_VAL(val)   (((val) & 0x1) << 3)
4605 +#define LTQ_EBU_EMU_CON_OVL3_GET(val)   ((((val) & LTQ_EBU_EMU_CON_OVL3) >> 3) & 0x1)
4606 +#define LTQ_EBU_EMU_CON_OVL3_SET(reg,val) (reg) = ((reg & ~LTQ_EBU_EMU_CON_OVL3) | (((val) & 0x1) << 3))
4607 +/* Overlay Memory Control Region 2 (2) */
4608 +#define LTQ_EBU_EMU_CON_OVL2   (0x1 << 2)
4609 +#define LTQ_EBU_EMU_CON_OVL2_VAL(val)   (((val) & 0x1) << 2)
4610 +#define LTQ_EBU_EMU_CON_OVL2_GET(val)   ((((val) & LTQ_EBU_EMU_CON_OVL2) >> 2) & 0x1)
4611 +#define LTQ_EBU_EMU_CON_OVL2_SET(reg,val) (reg) = ((reg & ~LTQ_EBU_EMU_CON_OVL2) | (((val) & 0x1) << 2))
4612 +/* Overlay Memory Control Region 1 (1) */
4613 +#define LTQ_EBU_EMU_CON_OVL1   (0x1 << 1)
4614 +#define LTQ_EBU_EMU_CON_OVL1_VAL(val)   (((val) & 0x1) << 1)
4615 +#define LTQ_EBU_EMU_CON_OVL1_GET(val)   ((((val) & LTQ_EBU_EMU_CON_OVL1) >> 1) & 0x1)
4616 +#define LTQ_EBU_EMU_CON_OVL1_SET(reg,val) (reg) = ((reg & ~LTQ_EBU_EMU_CON_OVL1) | (((val) & 0x1) << 1))
4617 +/* Overlay Memory Control Region 0 (0) */
4618 +#define LTQ_EBU_EMU_CON_OVL0   (0x1)
4619 +#define LTQ_EBU_EMU_CON_OVL0_VAL(val)   (((val) & 0x1) << 0)
4620 +#define LTQ_EBU_EMU_CON_OVL0_GET(val)   ((((val) & LTQ_EBU_EMU_CON_OVL0) >> 0) & 0x1)
4621 +#define LTQ_EBU_EMU_CON_OVL0_SET(reg,val) (reg) = ((reg & ~LTQ_EBU_EMU_CON_OVL0) | (((val) & 0x1) << 0))
4622 +
4623 +#endif /* __LTQ_EBU_H */
4624 Index: linux-3.3.8/arch/mips/include/asm/mach-lantiq/svip/port_reg.h
4625 ===================================================================
4626 --- /dev/null   1970-01-01 00:00:00.000000000 +0000
4627 +++ linux-3.3.8/arch/mips/include/asm/mach-lantiq/svip/port_reg.h       2012-07-31 15:46:02.484476159 +0200
4628 @@ -0,0 +1,3262 @@
4629 +/******************************************************************************
4630 +
4631 +  Copyright (c) 2007
4632 +  Infineon Technologies AG
4633 +  St. Martin Strasse 53; 81669 Munich, Germany
4634 +
4635 +  Any use of this Software is subject to the conclusion of a respective
4636 +  License Agreement. Without such a License Agreement no rights to the
4637 +  Software are granted.
4638 +
4639 + ******************************************************************************/
4640 +
4641 +#ifndef __PORT_REG_H
4642 +#define __PORT_REG_H
4643 +
4644 +#define port_r32(reg)                  __raw_readl(&reg)
4645 +#define port_w32(val, reg)             __raw_writel(val, &reg)
4646 +
4647 +/** PORT register structure */
4648 +struct svip_reg_port {
4649 +       volatile u32 out;      /*  0x0000 */
4650 +       volatile u32 in;       /*  0x0004 */
4651 +       volatile u32 dir;      /*  0x0008 */
4652 +       volatile u32 altsel0;  /*  0x000C */
4653 +       volatile u32 altsel1;  /*  0x0010 */
4654 +       volatile u32 puen;     /*  0x0014 */
4655 +       volatile u32 exintcr0; /*  0x0018 */
4656 +       volatile u32 exintcr1; /*  0x001C */
4657 +       volatile u32 irncr;    /*  0x0020 */
4658 +       volatile u32 irnicr;   /*  0x0024 */
4659 +       volatile u32 irnen;    /*  0x0028 */
4660 +       volatile u32 irncfg;   /*  0x002C */
4661 +       volatile u32 irnenset; /*  0x0030 */
4662 +       volatile u32 irnenclr; /*  0x0034 */
4663 +};
4664 +
4665 +/*******************************************************************************
4666 + * Port 0 Data Output Register
4667 + ******************************************************************************/
4668 +
4669 +/* Port 0 Pin # Output Value (19) */
4670 +#define PORT_P0_OUT_P19   (0x1 << 19)
4671 +#define PORT_P0_OUT_P19_VAL(val)   (((val) & 0x1) << 19)
4672 +#define PORT_P0_OUT_P19_GET(val)   ((((val) & PORT_P0_OUT_P19) >> 19) & 0x1)
4673 +#define PORT_P0_OUT_P19_SET(reg,val) (reg) = ((reg & ~PORT_P0_OUT_P19) | (((val) & 0x1) << 19))
4674 +/* Port 0 Pin # Output Value (18) */
4675 +#define PORT_P0_OUT_P18   (0x1 << 18)
4676 +#define PORT_P0_OUT_P18_VAL(val)   (((val) & 0x1) << 18)
4677 +#define PORT_P0_OUT_P18_GET(val)   ((((val) & PORT_P0_OUT_P18) >> 18) & 0x1)
4678 +#define PORT_P0_OUT_P18_SET(reg,val) (reg) = ((reg & ~PORT_P0_OUT_P18) | (((val) & 0x1) << 18))
4679 +/* Port 0 Pin # Output Value (17) */
4680 +#define PORT_P0_OUT_P17   (0x1 << 17)
4681 +#define PORT_P0_OUT_P17_VAL(val)   (((val) & 0x1) << 17)
4682 +#define PORT_P0_OUT_P17_GET(val)   ((((val) & PORT_P0_OUT_P17) >> 17) & 0x1)
4683 +#define PORT_P0_OUT_P17_SET(reg,val) (reg) = ((reg & ~PORT_P0_OUT_P17) | (((val) & 0x1) << 17))
4684 +/* Port 0 Pin # Output Value (16) */
4685 +#define PORT_P0_OUT_P16   (0x1 << 16)
4686 +#define PORT_P0_OUT_P16_VAL(val)   (((val) & 0x1) << 16)
4687 +#define PORT_P0_OUT_P16_GET(val)   ((((val) & PORT_P0_OUT_P16) >> 16) & 0x1)
4688 +#define PORT_P0_OUT_P16_SET(reg,val) (reg) = ((reg & ~PORT_P0_OUT_P16) | (((val) & 0x1) << 16))
4689 +/* Port 0 Pin # Output Value (15) */
4690 +#define PORT_P0_OUT_P15   (0x1 << 15)
4691 +#define PORT_P0_OUT_P15_VAL(val)   (((val) & 0x1) << 15)
4692 +#define PORT_P0_OUT_P15_GET(val)   ((((val) & PORT_P0_OUT_P15) >> 15) & 0x1)
4693 +#define PORT_P0_OUT_P15_SET(reg,val) (reg) = ((reg & ~PORT_P0_OUT_P15) | (((val) & 0x1) << 15))
4694 +/* Port 0 Pin # Output Value (14) */
4695 +#define PORT_P0_OUT_P14   (0x1 << 14)
4696 +#define PORT_P0_OUT_P14_VAL(val)   (((val) & 0x1) << 14)
4697 +#define PORT_P0_OUT_P14_GET(val)   ((((val) & PORT_P0_OUT_P14) >> 14) & 0x1)
4698 +#define PORT_P0_OUT_P14_SET(reg,val) (reg) = ((reg & ~PORT_P0_OUT_P14) | (((val) & 0x1) << 14))
4699 +/* Port 0 Pin # Output Value (13) */
4700 +#define PORT_P0_OUT_P13   (0x1 << 13)
4701 +#define PORT_P0_OUT_P13_VAL(val)   (((val) & 0x1) << 13)
4702 +#define PORT_P0_OUT_P13_GET(val)   ((((val) & PORT_P0_OUT_P13) >> 13) & 0x1)
4703 +#define PORT_P0_OUT_P13_SET(reg,val) (reg) = ((reg & ~PORT_P0_OUT_P13) | (((val) & 0x1) << 13))
4704 +/* Port 0 Pin # Output Value (12) */
4705 +#define PORT_P0_OUT_P12   (0x1 << 12)
4706 +#define PORT_P0_OUT_P12_VAL(val)   (((val) & 0x1) << 12)
4707 +#define PORT_P0_OUT_P12_GET(val)   ((((val) & PORT_P0_OUT_P12) >> 12) & 0x1)
4708 +#define PORT_P0_OUT_P12_SET(reg,val) (reg) = ((reg & ~PORT_P0_OUT_P12) | (((val) & 0x1) << 12))
4709 +/* Port 0 Pin # Output Value (11) */
4710 +#define PORT_P0_OUT_P11   (0x1 << 11)
4711 +#define PORT_P0_OUT_P11_VAL(val)   (((val) & 0x1) << 11)
4712 +#define PORT_P0_OUT_P11_GET(val)   ((((val) & PORT_P0_OUT_P11) >> 11) & 0x1)
4713 +#define PORT_P0_OUT_P11_SET(reg,val) (reg) = ((reg & ~PORT_P0_OUT_P11) | (((val) & 0x1) << 11))
4714 +/* Port 0 Pin # Output Value (10) */
4715 +#define PORT_P0_OUT_P10   (0x1 << 10)
4716 +#define PORT_P0_OUT_P10_VAL(val)   (((val) & 0x1) << 10)
4717 +#define PORT_P0_OUT_P10_GET(val)   ((((val) & PORT_P0_OUT_P10) >> 10) & 0x1)
4718 +#define PORT_P0_OUT_P10_SET(reg,val) (reg) = ((reg & ~PORT_P0_OUT_P10) | (((val) & 0x1) << 10))
4719 +/* Port 0 Pin # Output Value (9) */
4720 +#define PORT_P0_OUT_P9   (0x1 << 9)
4721 +#define PORT_P0_OUT_P9_VAL(val)   (((val) & 0x1) << 9)
4722 +#define PORT_P0_OUT_P9_GET(val)   ((((val) & PORT_P0_OUT_P9) >> 9) & 0x1)
4723 +#define PORT_P0_OUT_P9_SET(reg,val) (reg) = ((reg & ~PORT_P0_OUT_P9) | (((val) & 0x1) << 9))
4724 +/* Port 0 Pin # Output Value (8) */
4725 +#define PORT_P0_OUT_P8   (0x1 << 8)
4726 +#define PORT_P0_OUT_P8_VAL(val)   (((val) & 0x1) << 8)
4727 +#define PORT_P0_OUT_P8_GET(val)   ((((val) & PORT_P0_OUT_P8) >> 8) & 0x1)
4728 +#define PORT_P0_OUT_P8_SET(reg,val) (reg) = ((reg & ~PORT_P0_OUT_P8) | (((val) & 0x1) << 8))
4729 +/* Port 0 Pin # Output Value (7) */
4730 +#define PORT_P0_OUT_P7   (0x1 << 7)
4731 +#define PORT_P0_OUT_P7_VAL(val)   (((val) & 0x1) << 7)
4732 +#define PORT_P0_OUT_P7_GET(val)   ((((val) & PORT_P0_OUT_P7) >> 7) & 0x1)
4733 +#define PORT_P0_OUT_P7_SET(reg,val) (reg) = ((reg & ~PORT_P0_OUT_P7) | (((val) & 0x1) << 7))
4734 +/* Port 0 Pin # Output Value (6) */
4735 +#define PORT_P0_OUT_P6   (0x1 << 6)
4736 +#define PORT_P0_OUT_P6_VAL(val)   (((val) & 0x1) << 6)
4737 +#define PORT_P0_OUT_P6_GET(val)   ((((val) & PORT_P0_OUT_P6) >> 6) & 0x1)
4738 +#define PORT_P0_OUT_P6_SET(reg,val) (reg) = ((reg & ~PORT_P0_OUT_P6) | (((val) & 0x1) << 6))
4739 +/* Port 0 Pin # Output Value (5) */
4740 +#define PORT_P0_OUT_P5   (0x1 << 5)
4741 +#define PORT_P0_OUT_P5_VAL(val)   (((val) & 0x1) << 5)
4742 +#define PORT_P0_OUT_P5_GET(val)   ((((val) & PORT_P0_OUT_P5) >> 5) & 0x1)
4743 +#define PORT_P0_OUT_P5_SET(reg,val) (reg) = ((reg & ~PORT_P0_OUT_P5) | (((val) & 0x1) << 5))
4744 +/* Port 0 Pin # Output Value (4) */
4745 +#define PORT_P0_OUT_P4   (0x1 << 4)
4746 +#define PORT_P0_OUT_P4_VAL(val)   (((val) & 0x1) << 4)
4747 +#define PORT_P0_OUT_P4_GET(val)   ((((val) & PORT_P0_OUT_P4) >> 4) & 0x1)
4748 +#define PORT_P0_OUT_P4_SET(reg,val) (reg) = ((reg & ~PORT_P0_OUT_P4) | (((val) & 0x1) << 4))
4749 +/* Port 0 Pin # Output Value (3) */
4750 +#define PORT_P0_OUT_P3   (0x1 << 3)
4751 +#define PORT_P0_OUT_P3_VAL(val)   (((val) & 0x1) << 3)
4752 +#define PORT_P0_OUT_P3_GET(val)   ((((val) & PORT_P0_OUT_P3) >> 3) & 0x1)
4753 +#define PORT_P0_OUT_P3_SET(reg,val) (reg) = ((reg & ~PORT_P0_OUT_P3) | (((val) & 0x1) << 3))
4754 +/* Port 0 Pin # Output Value (2) */
4755 +#define PORT_P0_OUT_P2   (0x1 << 2)
4756 +#define PORT_P0_OUT_P2_VAL(val)   (((val) & 0x1) << 2)
4757 +#define PORT_P0_OUT_P2_GET(val)   ((((val) & PORT_P0_OUT_P2) >> 2) & 0x1)
4758 +#define PORT_P0_OUT_P2_SET(reg,val) (reg) = ((reg & ~PORT_P0_OUT_P2) | (((val) & 0x1) << 2))
4759 +/* Port 0 Pin # Output Value (1) */
4760 +#define PORT_P0_OUT_P1   (0x1 << 1)
4761 +#define PORT_P0_OUT_P1_VAL(val)   (((val) & 0x1) << 1)
4762 +#define PORT_P0_OUT_P1_GET(val)   ((((val) & PORT_P0_OUT_P1) >> 1) & 0x1)
4763 +#define PORT_P0_OUT_P1_SET(reg,val) (reg) = ((reg & ~PORT_P0_OUT_P1) | (((val) & 0x1) << 1))
4764 +/* Port 0 Pin # Output Value (0) */
4765 +#define PORT_P0_OUT_P0   (0x1)
4766 +#define PORT_P0_OUT_P0_VAL(val)   (((val) & 0x1) << 0)
4767 +#define PORT_P0_OUT_P0_GET(val)   ((((val) & PORT_P0_OUT_P0) >> 0) & 0x1)
4768 +#define PORT_P0_OUT_P0_SET(reg,val) (reg) = ((reg & ~PORT_P0_OUT_P0) | (((val) & 0x1) << 0))
4769 +
4770 +/*******************************************************************************
4771 + * Port 0 Data Input Register
4772 + ******************************************************************************/
4773 +
4774 +/* Port 0 Pin # Latched Input Value (19) */
4775 +#define PORT_P0_IN_P19   (0x1 << 19)
4776 +#define PORT_P0_IN_P19_GET(val)   ((((val) & PORT_P0_IN_P19) >> 19) & 0x1)
4777 +/* Port 0 Pin # Latched Input Value (18) */
4778 +#define PORT_P0_IN_P18   (0x1 << 18)
4779 +#define PORT_P0_IN_P18_GET(val)   ((((val) & PORT_P0_IN_P18) >> 18) & 0x1)
4780 +/* Port 0 Pin # Latched Input Value (17) */
4781 +#define PORT_P0_IN_P17   (0x1 << 17)
4782 +#define PORT_P0_IN_P17_GET(val)   ((((val) & PORT_P0_IN_P17) >> 17) & 0x1)
4783 +/* Port 0 Pin # Latched Input Value (16) */
4784 +#define PORT_P0_IN_P16   (0x1 << 16)
4785 +#define PORT_P0_IN_P16_GET(val)   ((((val) & PORT_P0_IN_P16) >> 16) & 0x1)
4786 +/* Port 0 Pin # Latched Input Value (15) */
4787 +#define PORT_P0_IN_P15   (0x1 << 15)
4788 +#define PORT_P0_IN_P15_GET(val)   ((((val) & PORT_P0_IN_P15) >> 15) & 0x1)
4789 +/* Port 0 Pin # Latched Input Value (14) */
4790 +#define PORT_P0_IN_P14   (0x1 << 14)
4791 +#define PORT_P0_IN_P14_GET(val)   ((((val) & PORT_P0_IN_P14) >> 14) & 0x1)
4792 +/* Port 0 Pin # Latched Input Value (13) */
4793 +#define PORT_P0_IN_P13   (0x1 << 13)
4794 +#define PORT_P0_IN_P13_GET(val)   ((((val) & PORT_P0_IN_P13) >> 13) & 0x1)
4795 +/* Port 0 Pin # Latched Input Value (12) */
4796 +#define PORT_P0_IN_P12   (0x1 << 12)
4797 +#define PORT_P0_IN_P12_GET(val)   ((((val) & PORT_P0_IN_P12) >> 12) & 0x1)
4798 +/* Port 0 Pin # Latched Input Value (11) */
4799 +#define PORT_P0_IN_P11   (0x1 << 11)
4800 +#define PORT_P0_IN_P11_GET(val)   ((((val) & PORT_P0_IN_P11) >> 11) & 0x1)
4801 +/* Port 0 Pin # Latched Input Value (10) */
4802 +#define PORT_P0_IN_P10   (0x1 << 10)
4803 +#define PORT_P0_IN_P10_GET(val)   ((((val) & PORT_P0_IN_P10) >> 10) & 0x1)
4804 +/* Port 0 Pin # Latched Input Value (9) */
4805 +#define PORT_P0_IN_P9   (0x1 << 9)
4806 +#define PORT_P0_IN_P9_GET(val)   ((((val) & PORT_P0_IN_P9) >> 9) & 0x1)
4807 +/* Port 0 Pin # Latched Input Value (8) */
4808 +#define PORT_P0_IN_P8   (0x1 << 8)
4809 +#define PORT_P0_IN_P8_GET(val)   ((((val) & PORT_P0_IN_P8) >> 8) & 0x1)
4810 +/* Port 0 Pin # Latched Input Value (7) */
4811 +#define PORT_P0_IN_P7   (0x1 << 7)
4812 +#define PORT_P0_IN_P7_GET(val)   ((((val) & PORT_P0_IN_P7) >> 7) & 0x1)
4813 +/* Port 0 Pin # Latched Input Value (6) */
4814 +#define PORT_P0_IN_P6   (0x1 << 6)
4815 +#define PORT_P0_IN_P6_GET(val)   ((((val) & PORT_P0_IN_P6) >> 6) & 0x1)
4816 +/* Port 0 Pin # Latched Input Value (5) */
4817 +#define PORT_P0_IN_P5   (0x1 << 5)
4818 +#define PORT_P0_IN_P5_GET(val)   ((((val) & PORT_P0_IN_P5) >> 5) & 0x1)
4819 +/* Port 0 Pin # Latched Input Value (4) */
4820 +#define PORT_P0_IN_P4   (0x1 << 4)
4821 +#define PORT_P0_IN_P4_GET(val)   ((((val) & PORT_P0_IN_P4) >> 4) & 0x1)
4822 +/* Port 0 Pin # Latched Input Value (3) */
4823 +#define PORT_P0_IN_P3   (0x1 << 3)
4824 +#define PORT_P0_IN_P3_GET(val)   ((((val) & PORT_P0_IN_P3) >> 3) & 0x1)
4825 +/* Port 0 Pin # Latched Input Value (2) */
4826 +#define PORT_P0_IN_P2   (0x1 << 2)
4827 +#define PORT_P0_IN_P2_GET(val)   ((((val) & PORT_P0_IN_P2) >> 2) & 0x1)
4828 +/* Port 0 Pin # Latched Input Value (1) */
4829 +#define PORT_P0_IN_P1   (0x1 << 1)
4830 +#define PORT_P0_IN_P1_GET(val)   ((((val) & PORT_P0_IN_P1) >> 1) & 0x1)
4831 +/* Port 0 Pin # Latched Input Value (0) */
4832 +#define PORT_P0_IN_P0   (0x1)
4833 +#define PORT_P0_IN_P0_GET(val)   ((((val) & PORT_P0_IN_P0) >> 0) & 0x1)
4834 +
4835 +/*******************************************************************************
4836 + * Port 0 Direction Register
4837 + ******************************************************************************/
4838 +
4839 +/* Port 0 Pin #Direction Control (19) */
4840 +#define PORT_P0_DIR_P19   (0x1 << 19)
4841 +#define PORT_P0_DIR_P19_VAL(val)   (((val) & 0x1) << 19)
4842 +#define PORT_P0_DIR_P19_GET(val)   ((((val) & PORT_P0_DIR_P19) >> 19) & 0x1)
4843 +#define PORT_P0_DIR_P19_SET(reg,val) (reg) = ((reg & ~PORT_P0_DIR_P19) | (((val) & 0x1) << 19))
4844 +/* Port 0 Pin #Direction Control (18) */
4845 +#define PORT_P0_DIR_P18   (0x1 << 18)
4846 +#define PORT_P0_DIR_P18_VAL(val)   (((val) & 0x1) << 18)
4847 +#define PORT_P0_DIR_P18_GET(val)   ((((val) & PORT_P0_DIR_P18) >> 18) & 0x1)
4848 +#define PORT_P0_DIR_P18_SET(reg,val) (reg) = ((reg & ~PORT_P0_DIR_P18) | (((val) & 0x1) << 18))
4849 +/* Port 0 Pin #Direction Control (17) */
4850 +#define PORT_P0_DIR_P17   (0x1 << 17)
4851 +#define PORT_P0_DIR_P17_VAL(val)   (((val) & 0x1) << 17)
4852 +#define PORT_P0_DIR_P17_GET(val)   ((((val) & PORT_P0_DIR_P17) >> 17) & 0x1)
4853 +#define PORT_P0_DIR_P17_SET(reg,val) (reg) = ((reg & ~PORT_P0_DIR_P17) | (((val) & 0x1) << 17))
4854 +/* Port 0 Pin #Direction Control (16) */
4855 +#define PORT_P0_DIR_P16   (0x1 << 16)
4856 +#define PORT_P0_DIR_P16_VAL(val)   (((val) & 0x1) << 16)
4857 +#define PORT_P0_DIR_P16_GET(val)   ((((val) & PORT_P0_DIR_P16) >> 16) & 0x1)
4858 +#define PORT_P0_DIR_P16_SET(reg,val) (reg) = ((reg & ~PORT_P0_DIR_P16) | (((val) & 0x1) << 16))
4859 +/* Port 0 Pin #Direction Control (15) */
4860 +#define PORT_P0_DIR_P15   (0x1 << 15)
4861 +#define PORT_P0_DIR_P15_VAL(val)   (((val) & 0x1) << 15)
4862 +#define PORT_P0_DIR_P15_GET(val)   ((((val) & PORT_P0_DIR_P15) >> 15) & 0x1)
4863 +#define PORT_P0_DIR_P15_SET(reg,val) (reg) = ((reg & ~PORT_P0_DIR_P15) | (((val) & 0x1) << 15))
4864 +/* Port 0 Pin #Direction Control (14) */
4865 +#define PORT_P0_DIR_P14   (0x1 << 14)
4866 +#define PORT_P0_DIR_P14_VAL(val)   (((val) & 0x1) << 14)
4867 +#define PORT_P0_DIR_P14_GET(val)   ((((val) & PORT_P0_DIR_P14) >> 14) & 0x1)
4868 +#define PORT_P0_DIR_P14_SET(reg,val) (reg) = ((reg & ~PORT_P0_DIR_P14) | (((val) & 0x1) << 14))
4869 +/* Port 0 Pin #Direction Control (13) */
4870 +#define PORT_P0_DIR_P13   (0x1 << 13)
4871 +#define PORT_P0_DIR_P13_VAL(val)   (((val) & 0x1) << 13)
4872 +#define PORT_P0_DIR_P13_GET(val)   ((((val) & PORT_P0_DIR_P13) >> 13) & 0x1)
4873 +#define PORT_P0_DIR_P13_SET(reg,val) (reg) = ((reg & ~PORT_P0_DIR_P13) | (((val) & 0x1) << 13))
4874 +/* Port 0 Pin #Direction Control (12) */
4875 +#define PORT_P0_DIR_P12   (0x1 << 12)
4876 +#define PORT_P0_DIR_P12_VAL(val)   (((val) & 0x1) << 12)
4877 +#define PORT_P0_DIR_P12_GET(val)   ((((val) & PORT_P0_DIR_P12) >> 12) & 0x1)
4878 +#define PORT_P0_DIR_P12_SET(reg,val) (reg) = ((reg & ~PORT_P0_DIR_P12) | (((val) & 0x1) << 12))
4879 +/* Port 0 Pin #Direction Control (11) */
4880 +#define PORT_P0_DIR_P11   (0x1 << 11)
4881 +#define PORT_P0_DIR_P11_VAL(val)   (((val) & 0x1) << 11)
4882 +#define PORT_P0_DIR_P11_GET(val)   ((((val) & PORT_P0_DIR_P11) >> 11) & 0x1)
4883 +#define PORT_P0_DIR_P11_SET(reg,val) (reg) = ((reg & ~PORT_P0_DIR_P11) | (((val) & 0x1) << 11))
4884 +/* Port 0 Pin #Direction Control (10) */
4885 +#define PORT_P0_DIR_P10   (0x1 << 10)
4886 +#define PORT_P0_DIR_P10_VAL(val)   (((val) & 0x1) << 10)
4887 +#define PORT_P0_DIR_P10_GET(val)   ((((val) & PORT_P0_DIR_P10) >> 10) & 0x1)
4888 +#define PORT_P0_DIR_P10_SET(reg,val) (reg) = ((reg & ~PORT_P0_DIR_P10) | (((val) & 0x1) << 10))
4889 +/* Port 0 Pin #Direction Control (9) */
4890 +#define PORT_P0_DIR_P9   (0x1 << 9)
4891 +#define PORT_P0_DIR_P9_VAL(val)   (((val) & 0x1) << 9)
4892 +#define PORT_P0_DIR_P9_GET(val)   ((((val) & PORT_P0_DIR_P9) >> 9) & 0x1)
4893 +#define PORT_P0_DIR_P9_SET(reg,val) (reg) = ((reg & ~PORT_P0_DIR_P9) | (((val) & 0x1) << 9))
4894 +/* Port 0 Pin #Direction Control (8) */
4895 +#define PORT_P0_DIR_P8   (0x1 << 8)
4896 +#define PORT_P0_DIR_P8_VAL(val)   (((val) & 0x1) << 8)
4897 +#define PORT_P0_DIR_P8_GET(val)   ((((val) & PORT_P0_DIR_P8) >> 8) & 0x1)
4898 +#define PORT_P0_DIR_P8_SET(reg,val) (reg) = ((reg & ~PORT_P0_DIR_P8) | (((val) & 0x1) << 8))
4899 +/* Port 0 Pin #Direction Control (7) */
4900 +#define PORT_P0_DIR_P7   (0x1 << 7)
4901 +#define PORT_P0_DIR_P7_VAL(val)   (((val) & 0x1) << 7)
4902 +#define PORT_P0_DIR_P7_GET(val)   ((((val) & PORT_P0_DIR_P7) >> 7) & 0x1)
4903 +#define PORT_P0_DIR_P7_SET(reg,val) (reg) = ((reg & ~PORT_P0_DIR_P7) | (((val) & 0x1) << 7))
4904 +/* Port 0 Pin #Direction Control (6) */
4905 +#define PORT_P0_DIR_P6   (0x1 << 6)
4906 +#define PORT_P0_DIR_P6_VAL(val)   (((val) & 0x1) << 6)
4907 +#define PORT_P0_DIR_P6_GET(val)   ((((val) & PORT_P0_DIR_P6) >> 6) & 0x1)
4908 +#define PORT_P0_DIR_P6_SET(reg,val) (reg) = ((reg & ~PORT_P0_DIR_P6) | (((val) & 0x1) << 6))
4909 +/* Port 0 Pin #Direction Control (5) */
4910 +#define PORT_P0_DIR_P5   (0x1 << 5)
4911 +#define PORT_P0_DIR_P5_VAL(val)   (((val) & 0x1) << 5)
4912 +#define PORT_P0_DIR_P5_GET(val)   ((((val) & PORT_P0_DIR_P5) >> 5) & 0x1)
4913 +#define PORT_P0_DIR_P5_SET(reg,val) (reg) = ((reg & ~PORT_P0_DIR_P5) | (((val) & 0x1) << 5))
4914 +/* Port 0 Pin #Direction Control (4) */
4915 +#define PORT_P0_DIR_P4   (0x1 << 4)
4916 +#define PORT_P0_DIR_P4_VAL(val)   (((val) & 0x1) << 4)
4917 +#define PORT_P0_DIR_P4_GET(val)   ((((val) & PORT_P0_DIR_P4) >> 4) & 0x1)
4918 +#define PORT_P0_DIR_P4_SET(reg,val) (reg) = ((reg & ~PORT_P0_DIR_P4) | (((val) & 0x1) << 4))
4919 +/* Port 0 Pin #Direction Control (3) */
4920 +#define PORT_P0_DIR_P3   (0x1 << 3)
4921 +#define PORT_P0_DIR_P3_VAL(val)   (((val) & 0x1) << 3)
4922 +#define PORT_P0_DIR_P3_GET(val)   ((((val) & PORT_P0_DIR_P3) >> 3) & 0x1)
4923 +#define PORT_P0_DIR_P3_SET(reg,val) (reg) = ((reg & ~PORT_P0_DIR_P3) | (((val) & 0x1) << 3))
4924 +/* Port 0 Pin #Direction Control (2) */
4925 +#define PORT_P0_DIR_P2   (0x1 << 2)
4926 +#define PORT_P0_DIR_P2_VAL(val)   (((val) & 0x1) << 2)
4927 +#define PORT_P0_DIR_P2_GET(val)   ((((val) & PORT_P0_DIR_P2) >> 2) & 0x1)
4928 +#define PORT_P0_DIR_P2_SET(reg,val) (reg) = ((reg & ~PORT_P0_DIR_P2) | (((val) & 0x1) << 2))
4929 +/* Port 0 Pin #Direction Control (1) */
4930 +#define PORT_P0_DIR_P1   (0x1 << 1)
4931 +#define PORT_P0_DIR_P1_VAL(val)   (((val) & 0x1) << 1)
4932 +#define PORT_P0_DIR_P1_GET(val)   ((((val) & PORT_P0_DIR_P1) >> 1) & 0x1)
4933 +#define PORT_P0_DIR_P1_SET(reg,val) (reg) = ((reg & ~PORT_P0_DIR_P1) | (((val) & 0x1) << 1))
4934 +/* Port 0 Pin #Direction Control (0) */
4935 +#define PORT_P0_DIR_P0   (0x1)
4936 +#define PORT_P0_DIR_P0_VAL(val)   (((val) & 0x1) << 0)
4937 +#define PORT_P0_DIR_P0_GET(val)   ((((val) & PORT_P0_DIR_P0) >> 0) & 0x1)
4938 +#define PORT_P0_DIR_P0_SET(reg,val) (reg) = ((reg & ~PORT_P0_DIR_P0) | (((val) & 0x1) << 0))
4939 +
4940 +/*******************************************************************************
4941 + * Port 0 Alternate Function Select Register 0
4942 + ******************************************************************************/
4943 +
4944 +/* Alternate Function at Port 0 Bit # (19) */
4945 +#define PORT_P0_ALTSEL0_P19   (0x1 << 19)
4946 +#define PORT_P0_ALTSEL0_P19_VAL(val)   (((val) & 0x1) << 19)
4947 +#define PORT_P0_ALTSEL0_P19_GET(val)   ((((val) & PORT_P0_ALTSEL0_P19) >> 19) & 0x1)
4948 +#define PORT_P0_ALTSEL0_P19_SET(reg,val) (reg) = ((reg & ~PORT_P0_ALTSEL0_P19) | (((val) & 0x1) << 19))
4949 +/* Alternate Function at Port 0 Bit # (18) */
4950 +#define PORT_P0_ALTSEL0_P18   (0x1 << 18)
4951 +#define PORT_P0_ALTSEL0_P18_VAL(val)   (((val) & 0x1) << 18)
4952 +#define PORT_P0_ALTSEL0_P18_GET(val)   ((((val) & PORT_P0_ALTSEL0_P18) >> 18) & 0x1)
4953 +#define PORT_P0_ALTSEL0_P18_SET(reg,val) (reg) = ((reg & ~PORT_P0_ALTSEL0_P18) | (((val) & 0x1) << 18))
4954 +/* Alternate Function at Port 0 Bit # (17) */
4955 +#define PORT_P0_ALTSEL0_P17   (0x1 << 17)
4956 +#define PORT_P0_ALTSEL0_P17_VAL(val)   (((val) & 0x1) << 17)
4957 +#define PORT_P0_ALTSEL0_P17_GET(val)   ((((val) & PORT_P0_ALTSEL0_P17) >> 17) & 0x1)
4958 +#define PORT_P0_ALTSEL0_P17_SET(reg,val) (reg) = ((reg & ~PORT_P0_ALTSEL0_P17) | (((val) & 0x1) << 17))
4959 +/* Alternate Function at Port 0 Bit # (16) */
4960 +#define PORT_P0_ALTSEL0_P16   (0x1 << 16)
4961 +#define PORT_P0_ALTSEL0_P16_VAL(val)   (((val) & 0x1) << 16)
4962 +#define PORT_P0_ALTSEL0_P16_GET(val)   ((((val) & PORT_P0_ALTSEL0_P16) >> 16) & 0x1)
4963 +#define PORT_P0_ALTSEL0_P16_SET(reg,val) (reg) = ((reg & ~PORT_P0_ALTSEL0_P16) | (((val) & 0x1) << 16))
4964 +/* Alternate Function at Port 0 Bit # (15) */
4965 +#define PORT_P0_ALTSEL0_P15   (0x1 << 15)
4966 +#define PORT_P0_ALTSEL0_P15_VAL(val)   (((val) & 0x1) << 15)
4967 +#define PORT_P0_ALTSEL0_P15_GET(val)   ((((val) & PORT_P0_ALTSEL0_P15) >> 15) & 0x1)
4968 +#define PORT_P0_ALTSEL0_P15_SET(reg,val) (reg) = ((reg & ~PORT_P0_ALTSEL0_P15) | (((val) & 0x1) << 15))
4969 +/* Alternate Function at Port 0 Bit # (14) */
4970 +#define PORT_P0_ALTSEL0_P14   (0x1 << 14)
4971 +#define PORT_P0_ALTSEL0_P14_VAL(val)   (((val) & 0x1) << 14)
4972 +#define PORT_P0_ALTSEL0_P14_GET(val)   ((((val) & PORT_P0_ALTSEL0_P14) >> 14) & 0x1)
4973 +#define PORT_P0_ALTSEL0_P14_SET(reg,val) (reg) = ((reg & ~PORT_P0_ALTSEL0_P14) | (((val) & 0x1) << 14))
4974 +/* Alternate Function at Port 0 Bit # (13) */
4975 +#define PORT_P0_ALTSEL0_P13   (0x1 << 13)
4976 +#define PORT_P0_ALTSEL0_P13_VAL(val)   (((val) & 0x1) << 13)
4977 +#define PORT_P0_ALTSEL0_P13_GET(val)   ((((val) & PORT_P0_ALTSEL0_P13) >> 13) & 0x1)
4978 +#define PORT_P0_ALTSEL0_P13_SET(reg,val) (reg) = ((reg & ~PORT_P0_ALTSEL0_P13) | (((val) & 0x1) << 13))
4979 +/* Alternate Function at Port 0 Bit # (12) */
4980 +#define PORT_P0_ALTSEL0_P12   (0x1 << 12)
4981 +#define PORT_P0_ALTSEL0_P12_VAL(val)   (((val) & 0x1) << 12)
4982 +#define PORT_P0_ALTSEL0_P12_GET(val)   ((((val) & PORT_P0_ALTSEL0_P12) >> 12) & 0x1)
4983 +#define PORT_P0_ALTSEL0_P12_SET(reg,val) (reg) = ((reg & ~PORT_P0_ALTSEL0_P12) | (((val) & 0x1) << 12))
4984 +/* Alternate Function at Port 0 Bit # (11) */
4985 +#define PORT_P0_ALTSEL0_P11   (0x1 << 11)
4986 +#define PORT_P0_ALTSEL0_P11_VAL(val)   (((val) & 0x1) << 11)
4987 +#define PORT_P0_ALTSEL0_P11_GET(val)   ((((val) & PORT_P0_ALTSEL0_P11) >> 11) & 0x1)
4988 +#define PORT_P0_ALTSEL0_P11_SET(reg,val) (reg) = ((reg & ~PORT_P0_ALTSEL0_P11) | (((val) & 0x1) << 11))
4989 +/* Alternate Function at Port 0 Bit # (10) */
4990 +#define PORT_P0_ALTSEL0_P10   (0x1 << 10)
4991 +#define PORT_P0_ALTSEL0_P10_VAL(val)   (((val) & 0x1) << 10)
4992 +#define PORT_P0_ALTSEL0_P10_GET(val)   ((((val) & PORT_P0_ALTSEL0_P10) >> 10) & 0x1)
4993 +#define PORT_P0_ALTSEL0_P10_SET(reg,val) (reg) = ((reg & ~PORT_P0_ALTSEL0_P10) | (((val) & 0x1) << 10))
4994 +/* Alternate Function at Port 0 Bit # (9) */
4995 +#define PORT_P0_ALTSEL0_P9   (0x1 << 9)
4996 +#define PORT_P0_ALTSEL0_P9_VAL(val)   (((val) & 0x1) << 9)
4997 +#define PORT_P0_ALTSEL0_P9_GET(val)   ((((val) & PORT_P0_ALTSEL0_P9) >> 9) & 0x1)
4998 +#define PORT_P0_ALTSEL0_P9_SET(reg,val) (reg) = ((reg & ~PORT_P0_ALTSEL0_P9) | (((val) & 0x1) << 9))
4999 +/* Alternate Function at Port 0 Bit # (8) */
5000 +#define PORT_P0_ALTSEL0_P8   (0x1 << 8)
5001 +#define PORT_P0_ALTSEL0_P8_VAL(val)   (((val) & 0x1) << 8)
5002 +#define PORT_P0_ALTSEL0_P8_GET(val)   ((((val) & PORT_P0_ALTSEL0_P8) >> 8) & 0x1)
5003 +#define PORT_P0_ALTSEL0_P8_SET(reg,val) (reg) = ((reg & ~PORT_P0_ALTSEL0_P8) | (((val) & 0x1) << 8))
5004 +/* Alternate Function at Port 0 Bit # (7) */
5005 +#define PORT_P0_ALTSEL0_P7   (0x1 << 7)
5006 +#define PORT_P0_ALTSEL0_P7_VAL(val)   (((val) & 0x1) << 7)
5007 +#define PORT_P0_ALTSEL0_P7_GET(val)   ((((val) & PORT_P0_ALTSEL0_P7) >> 7) & 0x1)
5008 +#define PORT_P0_ALTSEL0_P7_SET(reg,val) (reg) = ((reg & ~PORT_P0_ALTSEL0_P7) | (((val) & 0x1) << 7))
5009 +/* Alternate Function at Port 0 Bit # (6) */
5010 +#define PORT_P0_ALTSEL0_P6   (0x1 << 6)
5011 +#define PORT_P0_ALTSEL0_P6_VAL(val)   (((val) & 0x1) << 6)
5012 +#define PORT_P0_ALTSEL0_P6_GET(val)   ((((val) & PORT_P0_ALTSEL0_P6) >> 6) & 0x1)
5013 +#define PORT_P0_ALTSEL0_P6_SET(reg,val) (reg) = ((reg & ~PORT_P0_ALTSEL0_P6) | (((val) & 0x1) << 6))
5014 +/* Alternate Function at Port 0 Bit # (5) */
5015 +#define PORT_P0_ALTSEL0_P5   (0x1 << 5)
5016 +#define PORT_P0_ALTSEL0_P5_VAL(val)   (((val) & 0x1) << 5)
5017 +#define PORT_P0_ALTSEL0_P5_GET(val)   ((((val) & PORT_P0_ALTSEL0_P5) >> 5) & 0x1)
5018 +#define PORT_P0_ALTSEL0_P5_SET(reg,val) (reg) = ((reg & ~PORT_P0_ALTSEL0_P5) | (((val) & 0x1) << 5))
5019 +/* Alternate Function at Port 0 Bit # (4) */
5020 +#define PORT_P0_ALTSEL0_P4   (0x1 << 4)
5021 +#define PORT_P0_ALTSEL0_P4_VAL(val)   (((val) & 0x1) << 4)
5022 +#define PORT_P0_ALTSEL0_P4_GET(val)   ((((val) & PORT_P0_ALTSEL0_P4) >> 4) & 0x1)
5023 +#define PORT_P0_ALTSEL0_P4_SET(reg,val) (reg) = ((reg & ~PORT_P0_ALTSEL0_P4) | (((val) & 0x1) << 4))
5024 +/* Alternate Function at Port 0 Bit # (3) */
5025 +#define PORT_P0_ALTSEL0_P3   (0x1 << 3)
5026 +#define PORT_P0_ALTSEL0_P3_VAL(val)   (((val) & 0x1) << 3)
5027 +#define PORT_P0_ALTSEL0_P3_GET(val)   ((((val) & PORT_P0_ALTSEL0_P3) >> 3) & 0x1)
5028 +#define PORT_P0_ALTSEL0_P3_SET(reg,val) (reg) = ((reg & ~PORT_P0_ALTSEL0_P3) | (((val) & 0x1) << 3))
5029 +/* Alternate Function at Port 0 Bit # (2) */
5030 +#define PORT_P0_ALTSEL0_P2   (0x1 << 2)
5031 +#define PORT_P0_ALTSEL0_P2_VAL(val)   (((val) & 0x1) << 2)
5032 +#define PORT_P0_ALTSEL0_P2_GET(val)   ((((val) & PORT_P0_ALTSEL0_P2) >> 2) & 0x1)
5033 +#define PORT_P0_ALTSEL0_P2_SET(reg,val) (reg) = ((reg & ~PORT_P0_ALTSEL0_P2) | (((val) & 0x1) << 2))
5034 +/* Alternate Function at Port 0 Bit # (1) */
5035 +#define PORT_P0_ALTSEL0_P1   (0x1 << 1)
5036 +#define PORT_P0_ALTSEL0_P1_VAL(val)   (((val) & 0x1) << 1)
5037 +#define PORT_P0_ALTSEL0_P1_GET(val)   ((((val) & PORT_P0_ALTSEL0_P1) >> 1) & 0x1)
5038 +#define PORT_P0_ALTSEL0_P1_SET(reg,val) (reg) = ((reg & ~PORT_P0_ALTSEL0_P1) | (((val) & 0x1) << 1))
5039 +/* Alternate Function at Port 0 Bit # (0) */
5040 +#define PORT_P0_ALTSEL0_P0   (0x1)
5041 +#define PORT_P0_ALTSEL0_P0_VAL(val)   (((val) & 0x1) << 0)
5042 +#define PORT_P0_ALTSEL0_P0_GET(val)   ((((val) & PORT_P0_ALTSEL0_P0) >> 0) & 0x1)
5043 +#define PORT_P0_ALTSEL0_P0_SET(reg,val) (reg) = ((reg & ~PORT_P0_ALTSEL0_P0) | (((val) & 0x1) << 0))
5044 +
5045 +/*******************************************************************************
5046 + * Port 0 Alternate Function Select Register 1
5047 + ******************************************************************************/
5048 +
5049 +/* Alternate Function at Port 0 Bit # (13) */
5050 +#define PORT_P0_ALTSEL1_P13   (0x1 << 13)
5051 +#define PORT_P0_ALTSEL1_P13_VAL(val)   (((val) & 0x1) << 13)
5052 +#define PORT_P0_ALTSEL1_P13_GET(val)   ((((val) & PORT_P0_ALTSEL1_P13) >> 13) & 0x1)
5053 +#define PORT_P0_ALTSEL1_P13_SET(reg,val) (reg) = ((reg & ~PORT_P0_ALTSEL1_P13) | (((val) & 0x1) << 13))
5054 +/* Alternate Function at Port 0 Bit # (12) */
5055 +#define PORT_P0_ALTSEL1_P12   (0x1 << 12)
5056 +#define PORT_P0_ALTSEL1_P12_VAL(val)   (((val) & 0x1) << 12)
5057 +#define PORT_P0_ALTSEL1_P12_GET(val)   ((((val) & PORT_P0_ALTSEL1_P12) >> 12) & 0x1)
5058 +#define PORT_P0_ALTSEL1_P12_SET(reg,val) (reg) = ((reg & ~PORT_P0_ALTSEL1_P12) | (((val) & 0x1) << 12))
5059 +/* Alternate Function at Port 0 Bit # (11) */
5060 +#define PORT_P0_ALTSEL1_P11   (0x1 << 11)
5061 +#define PORT_P0_ALTSEL1_P11_VAL(val)   (((val) & 0x1) << 11)
5062 +#define PORT_P0_ALTSEL1_P11_GET(val)   ((((val) & PORT_P0_ALTSEL1_P11) >> 11) & 0x1)
5063 +#define PORT_P0_ALTSEL1_P11_SET(reg,val) (reg) = ((reg & ~PORT_P0_ALTSEL1_P11) | (((val) & 0x1) << 11))
5064 +/* Alternate Function at Port 0 Bit # (10) */
5065 +#define PORT_P0_ALTSEL1_P10   (0x1 << 10)
5066 +#define PORT_P0_ALTSEL1_P10_VAL(val)   (((val) & 0x1) << 10)
5067 +#define PORT_P0_ALTSEL1_P10_GET(val)   ((((val) & PORT_P0_ALTSEL1_P10) >> 10) & 0x1)
5068 +#define PORT_P0_ALTSEL1_P10_SET(reg,val) (reg) = ((reg & ~PORT_P0_ALTSEL1_P10) | (((val) & 0x1) << 10))
5069 +/* Alternate Function at Port 0 Bit # (9) */
5070 +#define PORT_P0_ALTSEL1_P9   (0x1 << 9)
5071 +#define PORT_P0_ALTSEL1_P9_VAL(val)   (((val) & 0x1) << 9)
5072 +#define PORT_P0_ALTSEL1_P9_GET(val)   ((((val) & PORT_P0_ALTSEL1_P9) >> 9) & 0x1)
5073 +#define PORT_P0_ALTSEL1_P9_SET(reg,val) (reg) = ((reg & ~PORT_P0_ALTSEL1_P9) | (((val) & 0x1) << 9))
5074 +/* Alternate Function at Port 0 Bit # (8) */
5075 +#define PORT_P0_ALTSEL1_P8   (0x1 << 8)
5076 +#define PORT_P0_ALTSEL1_P8_VAL(val)   (((val) & 0x1) << 8)
5077 +#define PORT_P0_ALTSEL1_P8_GET(val)   ((((val) & PORT_P0_ALTSEL1_P8) >> 8) & 0x1)
5078 +#define PORT_P0_ALTSEL1_P8_SET(reg,val) (reg) = ((reg & ~PORT_P0_ALTSEL1_P8) | (((val) & 0x1) << 8))
5079 +/* Alternate Function at Port 0 Bit # (7) */
5080 +#define PORT_P0_ALTSEL1_P7   (0x1 << 7)
5081 +#define PORT_P0_ALTSEL1_P7_VAL(val)   (((val) & 0x1) << 7)
5082 +#define PORT_P0_ALTSEL1_P7_GET(val)   ((((val) & PORT_P0_ALTSEL1_P7) >> 7) & 0x1)
5083 +#define PORT_P0_ALTSEL1_P7_SET(reg,val) (reg) = ((reg & ~PORT_P0_ALTSEL1_P7) | (((val) & 0x1) << 7))
5084 +/* Alternate Function at Port 0 Bit # (6) */
5085 +#define PORT_P0_ALTSEL1_P6   (0x1 << 6)
5086 +#define PORT_P0_ALTSEL1_P6_VAL(val)   (((val) & 0x1) << 6)
5087 +#define PORT_P0_ALTSEL1_P6_GET(val)   ((((val) & PORT_P0_ALTSEL1_P6) >> 6) & 0x1)
5088 +#define PORT_P0_ALTSEL1_P6_SET(reg,val) (reg) = ((reg & ~PORT_P0_ALTSEL1_P6) | (((val) & 0x1) << 6))
5089 +/* Alternate Function at Port 0 Bit # (3) */
5090 +#define PORT_P0_ALTSEL1_P3   (0x1 << 3)
5091 +#define PORT_P0_ALTSEL1_P3_VAL(val)   (((val) & 0x1) << 3)
5092 +#define PORT_P0_ALTSEL1_P3_GET(val)   ((((val) & PORT_P0_ALTSEL1_P3) >> 3) & 0x1)
5093 +#define PORT_P0_ALTSEL1_P3_SET(reg,val) (reg) = ((reg & ~PORT_P0_ALTSEL1_P3) | (((val) & 0x1) << 3))
5094 +
5095 +/*******************************************************************************
5096 + * Port 0 Pull Up Enable Register
5097 + ******************************************************************************/
5098 +
5099 +/* Pull Up Device Enable at Port 0 Bit # (19) */
5100 +#define PORT_P0_PUEN_P19   (0x1 << 19)
5101 +#define PORT_P0_PUEN_P19_VAL(val)   (((val) & 0x1) << 19)
5102 +#define PORT_P0_PUEN_P19_GET(val)   ((((val) & PORT_P0_PUEN_P19) >> 19) & 0x1)
5103 +#define PORT_P0_PUEN_P19_SET(reg,val) (reg) = ((reg & ~PORT_P0_PUEN_P19) | (((val) & 0x1) << 19))
5104 +/* Pull Up Device Enable at Port 0 Bit # (18) */
5105 +#define PORT_P0_PUEN_P18   (0x1 << 18)
5106 +#define PORT_P0_PUEN_P18_VAL(val)   (((val) & 0x1) << 18)
5107 +#define PORT_P0_PUEN_P18_GET(val)   ((((val) & PORT_P0_PUEN_P18) >> 18) & 0x1)
5108 +#define PORT_P0_PUEN_P18_SET(reg,val) (reg) = ((reg & ~PORT_P0_PUEN_P18) | (((val) & 0x1) << 18))
5109 +/* Pull Up Device Enable at Port 0 Bit # (17) */
5110 +#define PORT_P0_PUEN_P17   (0x1 << 17)
5111 +#define PORT_P0_PUEN_P17_VAL(val)   (((val) & 0x1) << 17)
5112 +#define PORT_P0_PUEN_P17_GET(val)   ((((val) & PORT_P0_PUEN_P17) >> 17) & 0x1)
5113 +#define PORT_P0_PUEN_P17_SET(reg,val) (reg) = ((reg & ~PORT_P0_PUEN_P17) | (((val) & 0x1) << 17))
5114 +/* Pull Up Device Enable at Port 0 Bit # (16) */
5115 +#define PORT_P0_PUEN_P16   (0x1 << 16)
5116 +#define PORT_P0_PUEN_P16_VAL(val)   (((val) & 0x1) << 16)
5117 +#define PORT_P0_PUEN_P16_GET(val)   ((((val) & PORT_P0_PUEN_P16) >> 16) & 0x1)
5118 +#define PORT_P0_PUEN_P16_SET(reg,val) (reg) = ((reg & ~PORT_P0_PUEN_P16) | (((val) & 0x1) << 16))
5119 +/* Pull Up Device Enable at Port 0 Bit # (15) */
5120 +#define PORT_P0_PUEN_P15   (0x1 << 15)
5121 +#define PORT_P0_PUEN_P15_VAL(val)   (((val) & 0x1) << 15)
5122 +#define PORT_P0_PUEN_P15_GET(val)   ((((val) & PORT_P0_PUEN_P15) >> 15) & 0x1)
5123 +#define PORT_P0_PUEN_P15_SET(reg,val) (reg) = ((reg & ~PORT_P0_PUEN_P15) | (((val) & 0x1) << 15))
5124 +/* Pull Up Device Enable at Port 0 Bit # (14) */
5125 +#define PORT_P0_PUEN_P14   (0x1 << 14)
5126 +#define PORT_P0_PUEN_P14_VAL(val)   (((val) & 0x1) << 14)
5127 +#define PORT_P0_PUEN_P14_GET(val)   ((((val) & PORT_P0_PUEN_P14) >> 14) & 0x1)
5128 +#define PORT_P0_PUEN_P14_SET(reg,val) (reg) = ((reg & ~PORT_P0_PUEN_P14) | (((val) & 0x1) << 14))
5129 +/* Pull Up Device Enable at Port 0 Bit # (13) */
5130 +#define PORT_P0_PUEN_P13   (0x1 << 13)
5131 +#define PORT_P0_PUEN_P13_VAL(val)   (((val) & 0x1) << 13)
5132 +#define PORT_P0_PUEN_P13_GET(val)   ((((val) & PORT_P0_PUEN_P13) >> 13) & 0x1)
5133 +#define PORT_P0_PUEN_P13_SET(reg,val) (reg) = ((reg & ~PORT_P0_PUEN_P13) | (((val) & 0x1) << 13))
5134 +/* Pull Up Device Enable at Port 0 Bit # (12) */
5135 +#define PORT_P0_PUEN_P12   (0x1 << 12)
5136 +#define PORT_P0_PUEN_P12_VAL(val)   (((val) & 0x1) << 12)
5137 +#define PORT_P0_PUEN_P12_GET(val)   ((((val) & PORT_P0_PUEN_P12) >> 12) & 0x1)
5138 +#define PORT_P0_PUEN_P12_SET(reg,val) (reg) = ((reg & ~PORT_P0_PUEN_P12) | (((val) & 0x1) << 12))
5139 +/* Pull Up Device Enable at Port 0 Bit # (11) */
5140 +#define PORT_P0_PUEN_P11   (0x1 << 11)
5141 +#define PORT_P0_PUEN_P11_VAL(val)   (((val) & 0x1) << 11)
5142 +#define PORT_P0_PUEN_P11_GET(val)   ((((val) & PORT_P0_PUEN_P11) >> 11) & 0x1)
5143 +#define PORT_P0_PUEN_P11_SET(reg,val) (reg) = ((reg & ~PORT_P0_PUEN_P11) | (((val) & 0x1) << 11))
5144 +/* Pull Up Device Enable at Port 0 Bit # (10) */
5145 +#define PORT_P0_PUEN_P10   (0x1 << 10)
5146 +#define PORT_P0_PUEN_P10_VAL(val)   (((val) & 0x1) << 10)
5147 +#define PORT_P0_PUEN_P10_GET(val)   ((((val) & PORT_P0_PUEN_P10) >> 10) & 0x1)
5148 +#define PORT_P0_PUEN_P10_SET(reg,val) (reg) = ((reg & ~PORT_P0_PUEN_P10) | (((val) & 0x1) << 10))
5149 +/* Pull Up Device Enable at Port 0 Bit # (9) */
5150 +#define PORT_P0_PUEN_P9   (0x1 << 9)
5151 +#define PORT_P0_PUEN_P9_VAL(val)   (((val) & 0x1) << 9)
5152 +#define PORT_P0_PUEN_P9_GET(val)   ((((val) & PORT_P0_PUEN_P9) >> 9) & 0x1)
5153 +#define PORT_P0_PUEN_P9_SET(reg,val) (reg) = ((reg & ~PORT_P0_PUEN_P9) | (((val) & 0x1) << 9))
5154 +/* Pull Up Device Enable at Port 0 Bit # (8) */
5155 +#define PORT_P0_PUEN_P8   (0x1 << 8)
5156 +#define PORT_P0_PUEN_P8_VAL(val)   (((val) & 0x1) << 8)
5157 +#define PORT_P0_PUEN_P8_GET(val)   ((((val) & PORT_P0_PUEN_P8) >> 8) & 0x1)
5158 +#define PORT_P0_PUEN_P8_SET(reg,val) (reg) = ((reg & ~PORT_P0_PUEN_P8) | (((val) & 0x1) << 8))
5159 +/* Pull Up Device Enable at Port 0 Bit # (7) */
5160 +#define PORT_P0_PUEN_P7   (0x1 << 7)
5161 +#define PORT_P0_PUEN_P7_VAL(val)   (((val) & 0x1) << 7)
5162 +#define PORT_P0_PUEN_P7_GET(val)   ((((val) & PORT_P0_PUEN_P7) >> 7) & 0x1)
5163 +#define PORT_P0_PUEN_P7_SET(reg,val) (reg) = ((reg & ~PORT_P0_PUEN_P7) | (((val) & 0x1) << 7))
5164 +/* Pull Up Device Enable at Port 0 Bit # (6) */
5165 +#define PORT_P0_PUEN_P6   (0x1 << 6)
5166 +#define PORT_P0_PUEN_P6_VAL(val)   (((val) & 0x1) << 6)
5167 +#define PORT_P0_PUEN_P6_GET(val)   ((((val) & PORT_P0_PUEN_P6) >> 6) & 0x1)
5168 +#define PORT_P0_PUEN_P6_SET(reg,val) (reg) = ((reg & ~PORT_P0_PUEN_P6) | (((val) & 0x1) << 6))
5169 +/* Pull Up Device Enable at Port 0 Bit # (5) */
5170 +#define PORT_P0_PUEN_P5   (0x1 << 5)
5171 +#define PORT_P0_PUEN_P5_VAL(val)   (((val) & 0x1) << 5)
5172 +#define PORT_P0_PUEN_P5_GET(val)   ((((val) & PORT_P0_PUEN_P5) >> 5) & 0x1)
5173 +#define PORT_P0_PUEN_P5_SET(reg,val) (reg) = ((reg & ~PORT_P0_PUEN_P5) | (((val) & 0x1) << 5))
5174 +/* Pull Up Device Enable at Port 0 Bit # (4) */
5175 +#define PORT_P0_PUEN_P4   (0x1 << 4)
5176 +#define PORT_P0_PUEN_P4_VAL(val)   (((val) & 0x1) << 4)
5177 +#define PORT_P0_PUEN_P4_GET(val)   ((((val) & PORT_P0_PUEN_P4) >> 4) & 0x1)
5178 +#define PORT_P0_PUEN_P4_SET(reg,val) (reg) = ((reg & ~PORT_P0_PUEN_P4) | (((val) & 0x1) << 4))
5179 +/* Pull Up Device Enable at Port 0 Bit # (3) */
5180 +#define PORT_P0_PUEN_P3   (0x1 << 3)
5181 +#define PORT_P0_PUEN_P3_VAL(val)   (((val) & 0x1) << 3)
5182 +#define PORT_P0_PUEN_P3_GET(val)   ((((val) & PORT_P0_PUEN_P3) >> 3) & 0x1)
5183 +#define PORT_P0_PUEN_P3_SET(reg,val) (reg) = ((reg & ~PORT_P0_PUEN_P3) | (((val) & 0x1) << 3))
5184 +/* Pull Up Device Enable at Port 0 Bit # (2) */
5185 +#define PORT_P0_PUEN_P2   (0x1 << 2)
5186 +#define PORT_P0_PUEN_P2_VAL(val)   (((val) & 0x1) << 2)
5187 +#define PORT_P0_PUEN_P2_GET(val)   ((((val) & PORT_P0_PUEN_P2) >> 2) & 0x1)
5188 +#define PORT_P0_PUEN_P2_SET(reg,val) (reg) = ((reg & ~PORT_P0_PUEN_P2) | (((val) & 0x1) << 2))
5189 +/* Pull Up Device Enable at Port 0 Bit # (1) */
5190 +#define PORT_P0_PUEN_P1   (0x1 << 1)
5191 +#define PORT_P0_PUEN_P1_VAL(val)   (((val) & 0x1) << 1)
5192 +#define PORT_P0_PUEN_P1_GET(val)   ((((val) & PORT_P0_PUEN_P1) >> 1) & 0x1)
5193 +#define PORT_P0_PUEN_P1_SET(reg,val) (reg) = ((reg & ~PORT_P0_PUEN_P1) | (((val) & 0x1) << 1))
5194 +/* Pull Up Device Enable at Port 0 Bit # (0) */
5195 +#define PORT_P0_PUEN_P0   (0x1)
5196 +#define PORT_P0_PUEN_P0_VAL(val)   (((val) & 0x1) << 0)
5197 +#define PORT_P0_PUEN_P0_GET(val)   ((((val) & PORT_P0_PUEN_P0) >> 0) & 0x1)
5198 +#define PORT_P0_PUEN_P0_SET(reg,val) (reg) = ((reg & ~PORT_P0_PUEN_P0) | (((val) & 0x1) << 0))
5199 +
5200 +/*******************************************************************************
5201 + * External Interrupt Control Register 0
5202 + ******************************************************************************/
5203 +
5204 +/* Type of Level or Edge Detection of EXINT16 (19) */
5205 +#define PORT_P0_EXINTCR0_EXINT16   (0x1 << 19)
5206 +#define PORT_P0_EXINTCR0_EXINT16_VAL(val)   (((val) & 0x1) << 19)
5207 +#define PORT_P0_EXINTCR0_EXINT16_GET(val)   ((((val) & PORT_P0_EXINTCR0_EXINT16) >> 19) & 0x1)
5208 +#define PORT_P0_EXINTCR0_EXINT16_SET(reg,val) (reg) = ((reg & ~PORT_P0_EXINTCR0_EXINT16) | (((val) & 0x1) << 19))
5209 +/* Type of Level or Edge Detection of EXINT10 (17) */
5210 +#define PORT_P0_EXINTCR0_EXINT10   (0x1 << 17)
5211 +#define PORT_P0_EXINTCR0_EXINT10_VAL(val)   (((val) & 0x1) << 17)
5212 +#define PORT_P0_EXINTCR0_EXINT10_GET(val)   ((((val) & PORT_P0_EXINTCR0_EXINT10) >> 17) & 0x1)
5213 +#define PORT_P0_EXINTCR0_EXINT10_SET(reg,val) (reg) = ((reg & ~PORT_P0_EXINTCR0_EXINT10) | (((val) & 0x1) << 17))
5214 +/* Type of Level or Edge Detection of EXINT9 (16) */
5215 +#define PORT_P0_EXINTCR0_EXINT9   (0x1 << 16)
5216 +#define PORT_P0_EXINTCR0_EXINT9_VAL(val)   (((val) & 0x1) << 16)
5217 +#define PORT_P0_EXINTCR0_EXINT9_GET(val)   ((((val) & PORT_P0_EXINTCR0_EXINT9) >> 16) & 0x1)
5218 +#define PORT_P0_EXINTCR0_EXINT9_SET(reg,val) (reg) = ((reg & ~PORT_P0_EXINTCR0_EXINT9) | (((val) & 0x1) << 16))
5219 +/* Type of Level or Edge Detection of EXINT8 (15) */
5220 +#define PORT_P0_EXINTCR0_EXINT8   (0x1 << 15)
5221 +#define PORT_P0_EXINTCR0_EXINT8_VAL(val)   (((val) & 0x1) << 15)
5222 +#define PORT_P0_EXINTCR0_EXINT8_GET(val)   ((((val) & PORT_P0_EXINTCR0_EXINT8) >> 15) & 0x1)
5223 +#define PORT_P0_EXINTCR0_EXINT8_SET(reg,val) (reg) = ((reg & ~PORT_P0_EXINTCR0_EXINT8) | (((val) & 0x1) << 15))
5224 +/* Type of Level or Edge Detection of EXINT7 (14) */
5225 +#define PORT_P0_EXINTCR0_EXINT7   (0x1 << 14)
5226 +#define PORT_P0_EXINTCR0_EXINT7_VAL(val)   (((val) & 0x1) << 14)
5227 +#define PORT_P0_EXINTCR0_EXINT7_GET(val)   ((((val) & PORT_P0_EXINTCR0_EXINT7) >> 14) & 0x1)
5228 +#define PORT_P0_EXINTCR0_EXINT7_SET(reg,val) (reg) = ((reg & ~PORT_P0_EXINTCR0_EXINT7) | (((val) & 0x1) << 14))
5229 +/* Type of Level or Edge Detection of EXINT6 (13) */
5230 +#define PORT_P0_EXINTCR0_EXINT6   (0x1 << 13)
5231 +#define PORT_P0_EXINTCR0_EXINT6_VAL(val)   (((val) & 0x1) << 13)
5232 +#define PORT_P0_EXINTCR0_EXINT6_GET(val)   ((((val) & PORT_P0_EXINTCR0_EXINT6) >> 13) & 0x1)
5233 +#define PORT_P0_EXINTCR0_EXINT6_SET(reg,val) (reg) = ((reg & ~PORT_P0_EXINTCR0_EXINT6) | (((val) & 0x1) << 13))
5234 +/* Type of Level or Edge Detection of EXINT5 (12) */
5235 +#define PORT_P0_EXINTCR0_EXINT5   (0x1 << 12)
5236 +#define PORT_P0_EXINTCR0_EXINT5_VAL(val)   (((val) & 0x1) << 12)
5237 +#define PORT_P0_EXINTCR0_EXINT5_GET(val)   ((((val) & PORT_P0_EXINTCR0_EXINT5) >> 12) & 0x1)
5238 +#define PORT_P0_EXINTCR0_EXINT5_SET(reg,val) (reg) = ((reg & ~PORT_P0_EXINTCR0_EXINT5) | (((val) & 0x1) << 12))
5239 +/* Type of Level or Edge Detection of EXINT4 (11) */
5240 +#define PORT_P0_EXINTCR0_EXINT4   (0x1 << 11)
5241 +#define PORT_P0_EXINTCR0_EXINT4_VAL(val)   (((val) & 0x1) << 11)
5242 +#define PORT_P0_EXINTCR0_EXINT4_GET(val)   ((((val) & PORT_P0_EXINTCR0_EXINT4) >> 11) & 0x1)
5243 +#define PORT_P0_EXINTCR0_EXINT4_SET(reg,val) (reg) = ((reg & ~PORT_P0_EXINTCR0_EXINT4) | (((val) & 0x1) << 11))
5244 +/* Type of Level or Edge Detection of EXINT3 (10) */
5245 +#define PORT_P0_EXINTCR0_EXINT3   (0x1 << 10)
5246 +#define PORT_P0_EXINTCR0_EXINT3_VAL(val)   (((val) & 0x1) << 10)
5247 +#define PORT_P0_EXINTCR0_EXINT3_GET(val)   ((((val) & PORT_P0_EXINTCR0_EXINT3) >> 10) & 0x1)
5248 +#define PORT_P0_EXINTCR0_EXINT3_SET(reg,val) (reg) = ((reg & ~PORT_P0_EXINTCR0_EXINT3) | (((val) & 0x1) << 10))
5249 +/* Type of Level or Edge Detection of EXINT2 (9) */
5250 +#define PORT_P0_EXINTCR0_EXINT2   (0x1 << 9)
5251 +#define PORT_P0_EXINTCR0_EXINT2_VAL(val)   (((val) & 0x1) << 9)
5252 +#define PORT_P0_EXINTCR0_EXINT2_GET(val)   ((((val) & PORT_P0_EXINTCR0_EXINT2) >> 9) & 0x1)
5253 +#define PORT_P0_EXINTCR0_EXINT2_SET(reg,val) (reg) = ((reg & ~PORT_P0_EXINTCR0_EXINT2) | (((val) & 0x1) << 9))
5254 +/* Type of Level or Edge Detection of EXINT1 (8) */
5255 +#define PORT_P0_EXINTCR0_EXINT1   (0x1 << 8)
5256 +#define PORT_P0_EXINTCR0_EXINT1_VAL(val)   (((val) & 0x1) << 8)
5257 +#define PORT_P0_EXINTCR0_EXINT1_GET(val)   ((((val) & PORT_P0_EXINTCR0_EXINT1) >> 8) & 0x1)
5258 +#define PORT_P0_EXINTCR0_EXINT1_SET(reg,val) (reg) = ((reg & ~PORT_P0_EXINTCR0_EXINT1) | (((val) & 0x1) << 8))
5259 +/* Type of Level or Edge Detection of EXINT0 (7) */
5260 +#define PORT_P0_EXINTCR0_EXINT0   (0x1 << 7)
5261 +#define PORT_P0_EXINTCR0_EXINT0_VAL(val)   (((val) & 0x1) << 7)
5262 +#define PORT_P0_EXINTCR0_EXINT0_GET(val)   ((((val) & PORT_P0_EXINTCR0_EXINT0) >> 7) & 0x1)
5263 +#define PORT_P0_EXINTCR0_EXINT0_SET(reg,val) (reg) = ((reg & ~PORT_P0_EXINTCR0_EXINT0) | (((val) & 0x1) << 7))
5264 +
5265 +/*******************************************************************************
5266 + * External Interrupt Control Register 1
5267 + ******************************************************************************/
5268 +
5269 +/* Type of Level or Edge Detection of EXINT16 (19) */
5270 +#define PORT_P0_EXINTCR1_EXINT16   (0x1 << 19)
5271 +#define PORT_P0_EXINTCR1_EXINT16_VAL(val)   (((val) & 0x1) << 19)
5272 +#define PORT_P0_EXINTCR1_EXINT16_GET(val)   ((((val) & PORT_P0_EXINTCR1_EXINT16) >> 19) & 0x1)
5273 +#define PORT_P0_EXINTCR1_EXINT16_SET(reg,val) (reg) = ((reg & ~PORT_P0_EXINTCR1_EXINT16) | (((val) & 0x1) << 19))
5274 +/* Type of Level or Edge Detection of EXINT10 (17) */
5275 +#define PORT_P0_EXINTCR1_EXINT10   (0x1 << 17)
5276 +#define PORT_P0_EXINTCR1_EXINT10_VAL(val)   (((val) & 0x1) << 17)
5277 +#define PORT_P0_EXINTCR1_EXINT10_GET(val)   ((((val) & PORT_P0_EXINTCR1_EXINT10) >> 17) & 0x1)
5278 +#define PORT_P0_EXINTCR1_EXINT10_SET(reg,val) (reg) = ((reg & ~PORT_P0_EXINTCR1_EXINT10) | (((val) & 0x1) << 17))
5279 +/* Type of Level or Edge Detection of EXINT9 (16) */
5280 +#define PORT_P0_EXINTCR1_EXINT9   (0x1 << 16)
5281 +#define PORT_P0_EXINTCR1_EXINT9_VAL(val)   (((val) & 0x1) << 16)
5282 +#define PORT_P0_EXINTCR1_EXINT9_GET(val)   ((((val) & PORT_P0_EXINTCR1_EXINT9) >> 16) & 0x1)
5283 +#define PORT_P0_EXINTCR1_EXINT9_SET(reg,val) (reg) = ((reg & ~PORT_P0_EXINTCR1_EXINT9) | (((val) & 0x1) << 16))
5284 +/* Type of Level or Edge Detection of EXINT8 (15) */
5285 +#define PORT_P0_EXINTCR1_EXINT8   (0x1 << 15)
5286 +#define PORT_P0_EXINTCR1_EXINT8_VAL(val)   (((val) & 0x1) << 15)
5287 +#define PORT_P0_EXINTCR1_EXINT8_GET(val)   ((((val) & PORT_P0_EXINTCR1_EXINT8) >> 15) & 0x1)
5288 +#define PORT_P0_EXINTCR1_EXINT8_SET(reg,val) (reg) = ((reg & ~PORT_P0_EXINTCR1_EXINT8) | (((val) & 0x1) << 15))
5289 +/* Type of Level or Edge Detection of EXINT7 (14) */
5290 +#define PORT_P0_EXINTCR1_EXINT7   (0x1 << 14)
5291 +#define PORT_P0_EXINTCR1_EXINT7_VAL(val)   (((val) & 0x1) << 14)
5292 +#define PORT_P0_EXINTCR1_EXINT7_GET(val)   ((((val) & PORT_P0_EXINTCR1_EXINT7) >> 14) & 0x1)
5293 +#define PORT_P0_EXINTCR1_EXINT7_SET(reg,val) (reg) = ((reg & ~PORT_P0_EXINTCR1_EXINT7) | (((val) & 0x1) << 14))
5294 +/* Type of Level or Edge Detection of EXINT6 (13) */
5295 +#define PORT_P0_EXINTCR1_EXINT6   (0x1 << 13)
5296 +#define PORT_P0_EXINTCR1_EXINT6_VAL(val)   (((val) & 0x1) << 13)
5297 +#define PORT_P0_EXINTCR1_EXINT6_GET(val)   ((((val) & PORT_P0_EXINTCR1_EXINT6) >> 13) & 0x1)
5298 +#define PORT_P0_EXINTCR1_EXINT6_SET(reg,val) (reg) = ((reg & ~PORT_P0_EXINTCR1_EXINT6) | (((val) & 0x1) << 13))
5299 +/* Type of Level or Edge Detection of EXINT5 (12) */
5300 +#define PORT_P0_EXINTCR1_EXINT5   (0x1 << 12)
5301 +#define PORT_P0_EXINTCR1_EXINT5_VAL(val)   (((val) & 0x1) << 12)
5302 +#define PORT_P0_EXINTCR1_EXINT5_GET(val)   ((((val) & PORT_P0_EXINTCR1_EXINT5) >> 12) & 0x1)
5303 +#define PORT_P0_EXINTCR1_EXINT5_SET(reg,val) (reg) = ((reg & ~PORT_P0_EXINTCR1_EXINT5) | (((val) & 0x1) << 12))
5304 +/* Type of Level or Edge Detection of EXINT4 (11) */
5305 +#define PORT_P0_EXINTCR1_EXINT4   (0x1 << 11)
5306 +#define PORT_P0_EXINTCR1_EXINT4_VAL(val)   (((val) & 0x1) << 11)
5307 +#define PORT_P0_EXINTCR1_EXINT4_GET(val)   ((((val) & PORT_P0_EXINTCR1_EXINT4) >> 11) & 0x1)
5308 +#define PORT_P0_EXINTCR1_EXINT4_SET(reg,val) (reg) = ((reg & ~PORT_P0_EXINTCR1_EXINT4) | (((val) & 0x1) << 11))
5309 +/* Type of Level or Edge Detection of EXINT3 (10) */
5310 +#define PORT_P0_EXINTCR1_EXINT3   (0x1 << 10)
5311 +#define PORT_P0_EXINTCR1_EXINT3_VAL(val)   (((val) & 0x1) << 10)
5312 +#define PORT_P0_EXINTCR1_EXINT3_GET(val)   ((((val) & PORT_P0_EXINTCR1_EXINT3) >> 10) & 0x1)
5313 +#define PORT_P0_EXINTCR1_EXINT3_SET(reg,val) (reg) = ((reg & ~PORT_P0_EXINTCR1_EXINT3) | (((val) & 0x1) << 10))
5314 +/* Type of Level or Edge Detection of EXINT2 (9) */
5315 +#define PORT_P0_EXINTCR1_EXINT2   (0x1 << 9)
5316 +#define PORT_P0_EXINTCR1_EXINT2_VAL(val)   (((val) & 0x1) << 9)
5317 +#define PORT_P0_EXINTCR1_EXINT2_GET(val)   ((((val) & PORT_P0_EXINTCR1_EXINT2) >> 9) & 0x1)
5318 +#define PORT_P0_EXINTCR1_EXINT2_SET(reg,val) (reg) = ((reg & ~PORT_P0_EXINTCR1_EXINT2) | (((val) & 0x1) << 9))
5319 +/* Type of Level or Edge Detection of EXINT1 (8) */
5320 +#define PORT_P0_EXINTCR1_EXINT1   (0x1 << 8)
5321 +#define PORT_P0_EXINTCR1_EXINT1_VAL(val)   (((val) & 0x1) << 8)
5322 +#define PORT_P0_EXINTCR1_EXINT1_GET(val)   ((((val) & PORT_P0_EXINTCR1_EXINT1) >> 8) & 0x1)
5323 +#define PORT_P0_EXINTCR1_EXINT1_SET(reg,val) (reg) = ((reg & ~PORT_P0_EXINTCR1_EXINT1) | (((val) & 0x1) << 8))
5324 +/* Type of Level or Edge Detection of EXINT0 (7) */
5325 +#define PORT_P0_EXINTCR1_EXINT0   (0x1 << 7)
5326 +#define PORT_P0_EXINTCR1_EXINT0_VAL(val)   (((val) & 0x1) << 7)
5327 +#define PORT_P0_EXINTCR1_EXINT0_GET(val)   ((((val) & PORT_P0_EXINTCR1_EXINT0) >> 7) & 0x1)
5328 +#define PORT_P0_EXINTCR1_EXINT0_SET(reg,val) (reg) = ((reg & ~PORT_P0_EXINTCR1_EXINT0) | (((val) & 0x1) << 7))
5329 +
5330 +/*******************************************************************************
5331 + * \b\bP0_IRNEN Register
5332 + ******************************************************************************/
5333 +
5334 +/* EXINT16 Interrupt Request Enable (19) */
5335 +#define PORT_P0_IRNEN_EXINT16   (0x1 << 19)
5336 +#define PORT_P0_IRNEN_EXINT16_VAL(val)   (((val) & 0x1) << 19)
5337 +#define PORT_P0_IRNEN_EXINT16_GET(val)   ((((val) & PORT_P0_IRNEN_EXINT16) >> 19) & 0x1)
5338 +#define PORT_P0_IRNEN_EXINT16_SET(reg,val) (reg) = ((reg & ~PORT_P0_IRNEN_EXINT16) | (((val) & 0x1) << 19))
5339 +/* EXINT10 Interrupt Request Enable (17) */
5340 +#define PORT_P0_IRNEN_EXINT10   (0x1 << 17)
5341 +#define PORT_P0_IRNEN_EXINT10_VAL(val)   (((val) & 0x1) << 17)
5342 +#define PORT_P0_IRNEN_EXINT10_GET(val)   ((((val) & PORT_P0_IRNEN_EXINT10) >> 17) & 0x1)
5343 +#define PORT_P0_IRNEN_EXINT10_SET(reg,val) (reg) = ((reg & ~PORT_P0_IRNEN_EXINT10) | (((val) & 0x1) << 17))
5344 +/* EXINT9 Interrupt Request Enable (16) */
5345 +#define PORT_P0_IRNEN_EXINT9   (0x1 << 16)
5346 +#define PORT_P0_IRNEN_EXINT9_VAL(val)   (((val) & 0x1) << 16)
5347 +#define PORT_P0_IRNEN_EXINT9_GET(val)   ((((val) & PORT_P0_IRNEN_EXINT9) >> 16) & 0x1)
5348 +#define PORT_P0_IRNEN_EXINT9_SET(reg,val) (reg) = ((reg & ~PORT_P0_IRNEN_EXINT9) | (((val) & 0x1) << 16))
5349 +/* EXINT8 Interrupt Request Enable (15) */
5350 +#define PORT_P0_IRNEN_EXINT8   (0x1 << 15)
5351 +#define PORT_P0_IRNEN_EXINT8_VAL(val)   (((val) & 0x1) << 15)
5352 +#define PORT_P0_IRNEN_EXINT8_GET(val)   ((((val) & PORT_P0_IRNEN_EXINT8) >> 15) & 0x1)
5353 +#define PORT_P0_IRNEN_EXINT8_SET(reg,val) (reg) = ((reg & ~PORT_P0_IRNEN_EXINT8) | (((val) & 0x1) << 15))
5354 +/* EXINT7 Interrupt Request Enable (14) */
5355 +#define PORT_P0_IRNEN_EXINT7   (0x1 << 14)
5356 +#define PORT_P0_IRNEN_EXINT7_VAL(val)   (((val) & 0x1) << 14)
5357 +#define PORT_P0_IRNEN_EXINT7_GET(val)   ((((val) & PORT_P0_IRNEN_EXINT7) >> 14) & 0x1)
5358 +#define PORT_P0_IRNEN_EXINT7_SET(reg,val) (reg) = ((reg & ~PORT_P0_IRNEN_EXINT7) | (((val) & 0x1) << 14))
5359 +/* EXINT6 Interrupt Request Enable (13) */
5360 +#define PORT_P0_IRNEN_EXINT6   (0x1 << 13)
5361 +#define PORT_P0_IRNEN_EXINT6_VAL(val)   (((val) & 0x1) << 13)
5362 +#define PORT_P0_IRNEN_EXINT6_GET(val)   ((((val) & PORT_P0_IRNEN_EXINT6) >> 13) & 0x1)
5363 +#define PORT_P0_IRNEN_EXINT6_SET(reg,val) (reg) = ((reg & ~PORT_P0_IRNEN_EXINT6) | (((val) & 0x1) << 13))
5364 +/* EXINT5 Interrupt Request Enable (12) */
5365 +#define PORT_P0_IRNEN_EXINT5   (0x1 << 12)
5366 +#define PORT_P0_IRNEN_EXINT5_VAL(val)   (((val) & 0x1) << 12)
5367 +#define PORT_P0_IRNEN_EXINT5_GET(val)   ((((val) & PORT_P0_IRNEN_EXINT5) >> 12) & 0x1)
5368 +#define PORT_P0_IRNEN_EXINT5_SET(reg,val) (reg) = ((reg & ~PORT_P0_IRNEN_EXINT5) | (((val) & 0x1) << 12))
5369 +/* EXINT4 Interrupt Request Enable (11) */
5370 +#define PORT_P0_IRNEN_EXINT4   (0x1 << 11)
5371 +#define PORT_P0_IRNEN_EXINT4_VAL(val)   (((val) & 0x1) << 11)
5372 +#define PORT_P0_IRNEN_EXINT4_GET(val)   ((((val) & PORT_P0_IRNEN_EXINT4) >> 11) & 0x1)
5373 +#define PORT_P0_IRNEN_EXINT4_SET(reg,val) (reg) = ((reg & ~PORT_P0_IRNEN_EXINT4) | (((val) & 0x1) << 11))
5374 +/* EXINT3 Interrupt Request Enable (10) */
5375 +#define PORT_P0_IRNEN_EXINT3   (0x1 << 10)
5376 +#define PORT_P0_IRNEN_EXINT3_VAL(val)   (((val) & 0x1) << 10)
5377 +#define PORT_P0_IRNEN_EXINT3_GET(val)   ((((val) & PORT_P0_IRNEN_EXINT3) >> 10) & 0x1)
5378 +#define PORT_P0_IRNEN_EXINT3_SET(reg,val) (reg) = ((reg & ~PORT_P0_IRNEN_EXINT3) | (((val) & 0x1) << 10))
5379 +/* EXINT2 Interrupt Request Enable (9) */
5380 +#define PORT_P0_IRNEN_EXINT2   (0x1 << 9)
5381 +#define PORT_P0_IRNEN_EXINT2_VAL(val)   (((val) & 0x1) << 9)
5382 +#define PORT_P0_IRNEN_EXINT2_GET(val)   ((((val) & PORT_P0_IRNEN_EXINT2) >> 9) & 0x1)
5383 +#define PORT_P0_IRNEN_EXINT2_SET(reg,val) (reg) = ((reg & ~PORT_P0_IRNEN_EXINT2) | (((val) & 0x1) << 9))
5384 +/* EXINT1 Interrupt Request Enable (8) */
5385 +#define PORT_P0_IRNEN_EXINT1   (0x1 << 8)
5386 +#define PORT_P0_IRNEN_EXINT1_VAL(val)   (((val) & 0x1) << 8)
5387 +#define PORT_P0_IRNEN_EXINT1_GET(val)   ((((val) & PORT_P0_IRNEN_EXINT1) >> 8) & 0x1)
5388 +#define PORT_P0_IRNEN_EXINT1_SET(reg,val) (reg) = ((reg & ~PORT_P0_IRNEN_EXINT1) | (((val) & 0x1) << 8))
5389 +/* EXINT0 Interrupt Request Enable (7) */
5390 +#define PORT_P0_IRNEN_EXINT0   (0x1 << 7)
5391 +#define PORT_P0_IRNEN_EXINT0_VAL(val)   (((val) & 0x1) << 7)
5392 +#define PORT_P0_IRNEN_EXINT0_GET(val)   ((((val) & PORT_P0_IRNEN_EXINT0) >> 7) & 0x1)
5393 +#define PORT_P0_IRNEN_EXINT0_SET(reg,val) (reg) = ((reg & ~PORT_P0_IRNEN_EXINT0) | (((val) & 0x1) << 7))
5394 +
5395 +/*******************************************************************************
5396 + * P0_IRNICR Register
5397 + ******************************************************************************/
5398 +
5399 +/* EXINT16 Interrupt Request (19) */
5400 +#define PORT_P0_IRNICR_EXINT16   (0x1 << 19)
5401 +#define PORT_P0_IRNICR_EXINT16_GET(val)   ((((val) & PORT_P0_IRNICR_EXINT16) >> 19) & 0x1)
5402 +/* EXINT10 Interrupt Request (17) */
5403 +#define PORT_P0_IRNICR_EXINT10   (0x1 << 17)
5404 +#define PORT_P0_IRNICR_EXINT10_GET(val)   ((((val) & PORT_P0_IRNICR_EXINT10) >> 17) & 0x1)
5405 +/* EXINT9 Interrupt Request (16) */
5406 +#define PORT_P0_IRNICR_EXINT9   (0x1 << 16)
5407 +#define PORT_P0_IRNICR_EXINT9_GET(val)   ((((val) & PORT_P0_IRNICR_EXINT9) >> 16) & 0x1)
5408 +/* EXINT8 Interrupt Request (15) */
5409 +#define PORT_P0_IRNICR_EXINT8   (0x1 << 15)
5410 +#define PORT_P0_IRNICR_EXINT8_GET(val)   ((((val) & PORT_P0_IRNICR_EXINT8) >> 15) & 0x1)
5411 +/* EXINT7 Interrupt Request (14) */
5412 +#define PORT_P0_IRNICR_EXINT7   (0x1 << 14)
5413 +#define PORT_P0_IRNICR_EXINT7_GET(val)   ((((val) & PORT_P0_IRNICR_EXINT7) >> 14) & 0x1)
5414 +/* EXINT6 Interrupt Request (13) */
5415 +#define PORT_P0_IRNICR_EXINT6   (0x1 << 13)
5416 +#define PORT_P0_IRNICR_EXINT6_GET(val)   ((((val) & PORT_P0_IRNICR_EXINT6) >> 13) & 0x1)
5417 +/* EXINT5 Interrupt Request (12) */
5418 +#define PORT_P0_IRNICR_EXINT5   (0x1 << 12)
5419 +#define PORT_P0_IRNICR_EXINT5_GET(val)   ((((val) & PORT_P0_IRNICR_EXINT5) >> 12) & 0x1)
5420 +/* EXINT4 Interrupt Request (11) */
5421 +#define PORT_P0_IRNICR_EXINT4   (0x1 << 11)
5422 +#define PORT_P0_IRNICR_EXINT4_GET(val)   ((((val) & PORT_P0_IRNICR_EXINT4) >> 11) & 0x1)
5423 +/* EXINT3 Interrupt Request (10) */
5424 +#define PORT_P0_IRNICR_EXINT3   (0x1 << 10)
5425 +#define PORT_P0_IRNICR_EXINT3_GET(val)   ((((val) & PORT_P0_IRNICR_EXINT3) >> 10) & 0x1)
5426 +/* EXINT2 Interrupt Request (9) */
5427 +#define PORT_P0_IRNICR_EXINT2   (0x1 << 9)
5428 +#define PORT_P0_IRNICR_EXINT2_GET(val)   ((((val) & PORT_P0_IRNICR_EXINT2) >> 9) & 0x1)
5429 +/* EXINT1 Interrupt Request (8) */
5430 +#define PORT_P0_IRNICR_EXINT1   (0x1 << 8)
5431 +#define PORT_P0_IRNICR_EXINT1_GET(val)   ((((val) & PORT_P0_IRNICR_EXINT1) >> 8) & 0x1)
5432 +/* EXINT0 Interrupt Request (7) */
5433 +#define PORT_P0_IRNICR_EXINT0   (0x1 << 7)
5434 +#define PORT_P0_IRNICR_EXINT0_GET(val)   ((((val) & PORT_P0_IRNICR_EXINT0) >> 7) & 0x1)
5435 +
5436 +/*******************************************************************************
5437 + * P0_IRNCR Register
5438 + ******************************************************************************/
5439 +
5440 +/* EXINT16 Interrupt Request (19) */
5441 +#define PORT_P0_IRNCR_EXINT16   (0x1 << 19)
5442 +#define PORT_P0_IRNCR_EXINT16_GET(val)   ((((val) & PORT_P0_IRNCR_EXINT16) >> 19) & 0x1)
5443 +/* EXINT10 Interrupt Request (17) */
5444 +#define PORT_P0_IRNCR_EXINT10   (0x1 << 17)
5445 +#define PORT_P0_IRNCR_EXINT10_GET(val)   ((((val) & PORT_P0_IRNCR_EXINT10) >> 17) & 0x1)
5446 +/* EXINT9 Interrupt Request (16) */
5447 +#define PORT_P0_IRNCR_EXINT9   (0x1 << 16)
5448 +#define PORT_P0_IRNCR_EXINT9_GET(val)   ((((val) & PORT_P0_IRNCR_EXINT9) >> 16) & 0x1)
5449 +/* EXINT8 Interrupt Request (15) */
5450 +#define PORT_P0_IRNCR_EXINT8   (0x1 << 15)
5451 +#define PORT_P0_IRNCR_EXINT8_GET(val)   ((((val) & PORT_P0_IRNCR_EXINT8) >> 15) & 0x1)
5452 +/* EXINT7 Interrupt Request (14) */
5453 +#define PORT_P0_IRNCR_EXINT7   (0x1 << 14)
5454 +#define PORT_P0_IRNCR_EXINT7_GET(val)   ((((val) & PORT_P0_IRNCR_EXINT7) >> 14) & 0x1)
5455 +/* EXINT6 Interrupt Request (13) */
5456 +#define PORT_P0_IRNCR_EXINT6   (0x1 << 13)
5457 +#define PORT_P0_IRNCR_EXINT6_GET(val)   ((((val) & PORT_P0_IRNCR_EXINT6) >> 13) & 0x1)
5458 +/* EXINT5 Interrupt Request (12) */
5459 +#define PORT_P0_IRNCR_EXINT5   (0x1 << 12)
5460 +#define PORT_P0_IRNCR_EXINT5_GET(val)   ((((val) & PORT_P0_IRNCR_EXINT5) >> 12) & 0x1)
5461 +/* EXINT4 Interrupt Request (11) */
5462 +#define PORT_P0_IRNCR_EXINT4   (0x1 << 11)
5463 +#define PORT_P0_IRNCR_EXINT4_GET(val)   ((((val) & PORT_P0_IRNCR_EXINT4) >> 11) & 0x1)
5464 +/* EXINT3 Interrupt Request (10) */
5465 +#define PORT_P0_IRNCR_EXINT3   (0x1 << 10)
5466 +#define PORT_P0_IRNCR_EXINT3_GET(val)   ((((val) & PORT_P0_IRNCR_EXINT3) >> 10) & 0x1)
5467 +/* EXINT2 Interrupt Request (9) */
5468 +#define PORT_P0_IRNCR_EXINT2   (0x1 << 9)
5469 +#define PORT_P0_IRNCR_EXINT2_GET(val)   ((((val) & PORT_P0_IRNCR_EXINT2) >> 9) & 0x1)
5470 +/* EXINT1 Interrupt Request (8) */
5471 +#define PORT_P0_IRNCR_EXINT1   (0x1 << 8)
5472 +#define PORT_P0_IRNCR_EXINT1_GET(val)   ((((val) & PORT_P0_IRNCR_EXINT1) >> 8) & 0x1)
5473 +/* EXINT0 Interrupt Request (7) */
5474 +#define PORT_P0_IRNCR_EXINT0   (0x1 << 7)
5475 +#define PORT_P0_IRNCR_EXINT0_GET(val)   ((((val) & PORT_P0_IRNCR_EXINT0) >> 7) & 0x1)
5476 +
5477 +/*******************************************************************************
5478 + * P0 External Event Detection Configuration Register
5479 + ******************************************************************************/
5480 +
5481 +/* EXINT16 configured for Edge or Level Detection (19) */
5482 +#define PORT_P0_IRNCFG_EXINT16   (0x1 << 19)
5483 +#define PORT_P0_IRNCFG_EXINT16_VAL(val)   (((val) & 0x1) << 19)
5484 +#define PORT_P0_IRNCFG_EXINT16_GET(val)   ((((val) & PORT_P0_IRNCFG_EXINT16) >> 19) & 0x1)
5485 +#define PORT_P0_IRNCFG_EXINT16_SET(reg,val) (reg) = ((reg & ~PORT_P0_IRNCFG_EXINT16) | (((val) & 0x1) << 19))
5486 +/* EXINT10 configured for Edge or Level Detection (17) */
5487 +#define PORT_P0_IRNCFG_EXINT10   (0x1 << 17)
5488 +#define PORT_P0_IRNCFG_EXINT10_VAL(val)   (((val) & 0x1) << 17)
5489 +#define PORT_P0_IRNCFG_EXINT10_GET(val)   ((((val) & PORT_P0_IRNCFG_EXINT10) >> 17) & 0x1)
5490 +#define PORT_P0_IRNCFG_EXINT10_SET(reg,val) (reg) = ((reg & ~PORT_P0_IRNCFG_EXINT10) | (((val) & 0x1) << 17))
5491 +/* EXINT9 configured for Edge or Level Detection (16) */
5492 +#define PORT_P0_IRNCFG_EXINT9   (0x1 << 16)
5493 +#define PORT_P0_IRNCFG_EXINT9_VAL(val)   (((val) & 0x1) << 16)
5494 +#define PORT_P0_IRNCFG_EXINT9_GET(val)   ((((val) & PORT_P0_IRNCFG_EXINT9) >> 16) & 0x1)
5495 +#define PORT_P0_IRNCFG_EXINT9_SET(reg,val) (reg) = ((reg & ~PORT_P0_IRNCFG_EXINT9) | (((val) & 0x1) << 16))
5496 +/* EXINT8 configured for Edge or Level Detection (15) */
5497 +#define PORT_P0_IRNCFG_EXINT8   (0x1 << 15)
5498 +#define PORT_P0_IRNCFG_EXINT8_VAL(val)   (((val) & 0x1) << 15)
5499 +#define PORT_P0_IRNCFG_EXINT8_GET(val)   ((((val) & PORT_P0_IRNCFG_EXINT8) >> 15) & 0x1)
5500 +#define PORT_P0_IRNCFG_EXINT8_SET(reg,val) (reg) = ((reg & ~PORT_P0_IRNCFG_EXINT8) | (((val) & 0x1) << 15))
5501 +/* EXINT7 configured for Edge or Level Detection (14) */
5502 +#define PORT_P0_IRNCFG_EXINT7   (0x1 << 14)
5503 +#define PORT_P0_IRNCFG_EXINT7_VAL(val)   (((val) & 0x1) << 14)
5504 +#define PORT_P0_IRNCFG_EXINT7_GET(val)   ((((val) & PORT_P0_IRNCFG_EXINT7) >> 14) & 0x1)
5505 +#define PORT_P0_IRNCFG_EXINT7_SET(reg,val) (reg) = ((reg & ~PORT_P0_IRNCFG_EXINT7) | (((val) & 0x1) << 14))
5506 +/* EXINT6 configured for Edge or Level Detection (13) */
5507 +#define PORT_P0_IRNCFG_EXINT6   (0x1 << 13)
5508 +#define PORT_P0_IRNCFG_EXINT6_VAL(val)   (((val) & 0x1) << 13)
5509 +#define PORT_P0_IRNCFG_EXINT6_GET(val)   ((((val) & PORT_P0_IRNCFG_EXINT6) >> 13) & 0x1)
5510 +#define PORT_P0_IRNCFG_EXINT6_SET(reg,val) (reg) = ((reg & ~PORT_P0_IRNCFG_EXINT6) | (((val) & 0x1) << 13))
5511 +/* EXINT5 configured for Edge or Level Detection (12) */
5512 +#define PORT_P0_IRNCFG_EXINT5   (0x1 << 12)
5513 +#define PORT_P0_IRNCFG_EXINT5_VAL(val)   (((val) & 0x1) << 12)
5514 +#define PORT_P0_IRNCFG_EXINT5_GET(val)   ((((val) & PORT_P0_IRNCFG_EXINT5) >> 12) & 0x1)
5515 +#define PORT_P0_IRNCFG_EXINT5_SET(reg,val) (reg) = ((reg & ~PORT_P0_IRNCFG_EXINT5) | (((val) & 0x1) << 12))
5516 +/* EXINT4 configured for Edge or Level Detection (11) */
5517 +#define PORT_P0_IRNCFG_EXINT4   (0x1 << 11)
5518 +#define PORT_P0_IRNCFG_EXINT4_VAL(val)   (((val) & 0x1) << 11)
5519 +#define PORT_P0_IRNCFG_EXINT4_GET(val)   ((((val) & PORT_P0_IRNCFG_EXINT4) >> 11) & 0x1)
5520 +#define PORT_P0_IRNCFG_EXINT4_SET(reg,val) (reg) = ((reg & ~PORT_P0_IRNCFG_EXINT4) | (((val) & 0x1) << 11))
5521 +/* EXINT3 configured for Edge or Level Detection (10) */
5522 +#define PORT_P0_IRNCFG_EXINT3   (0x1 << 10)
5523 +#define PORT_P0_IRNCFG_EXINT3_VAL(val)   (((val) & 0x1) << 10)
5524 +#define PORT_P0_IRNCFG_EXINT3_GET(val)   ((((val) & PORT_P0_IRNCFG_EXINT3) >> 10) & 0x1)
5525 +#define PORT_P0_IRNCFG_EXINT3_SET(reg,val) (reg) = ((reg & ~PORT_P0_IRNCFG_EXINT3) | (((val) & 0x1) << 10))
5526 +/* EXINT2 configured for Edge or Level Detection (9) */
5527 +#define PORT_P0_IRNCFG_EXINT2   (0x1 << 9)
5528 +#define PORT_P0_IRNCFG_EXINT2_VAL(val)   (((val) & 0x1) << 9)
5529 +#define PORT_P0_IRNCFG_EXINT2_GET(val)   ((((val) & PORT_P0_IRNCFG_EXINT2) >> 9) & 0x1)
5530 +#define PORT_P0_IRNCFG_EXINT2_SET(reg,val) (reg) = ((reg & ~PORT_P0_IRNCFG_EXINT2) | (((val) & 0x1) << 9))
5531 +/* EXINT1 configured for Edge or Level Detection (8) */
5532 +#define PORT_P0_IRNCFG_EXINT1   (0x1 << 8)
5533 +#define PORT_P0_IRNCFG_EXINT1_VAL(val)   (((val) & 0x1) << 8)
5534 +#define PORT_P0_IRNCFG_EXINT1_GET(val)   ((((val) & PORT_P0_IRNCFG_EXINT1) >> 8) & 0x1)
5535 +#define PORT_P0_IRNCFG_EXINT1_SET(reg,val) (reg) = ((reg & ~PORT_P0_IRNCFG_EXINT1) | (((val) & 0x1) << 8))
5536 +/* EXINT0 configured for Edge or Level Detection (7) */
5537 +#define PORT_P0_IRNCFG_EXINT0   (0x1 << 7)
5538 +#define PORT_P0_IRNCFG_EXINT0_VAL(val)   (((val) & 0x1) << 7)
5539 +#define PORT_P0_IRNCFG_EXINT0_GET(val)   ((((val) & PORT_P0_IRNCFG_EXINT0) >> 7) & 0x1)
5540 +#define PORT_P0_IRNCFG_EXINT0_SET(reg,val) (reg) = ((reg & ~PORT_P0_IRNCFG_EXINT0) | (((val) & 0x1) << 7))
5541 +
5542 +/*******************************************************************************
5543 + * P0_IRNENSET Register
5544 + ******************************************************************************/
5545 +
5546 +/* Set Interrupt Node Enable Flag EXINT16 (19) */
5547 +#define PORT_P0_IRNENSET_EXINT16   (0x1 << 19)
5548 +#define PORT_P0_IRNENSET_EXINT16_VAL(val)   (((val) & 0x1) << 19)
5549 +#define PORT_P0_IRNENSET_EXINT16_SET(reg,val) (reg) = (((reg & ~PORT_P0_IRNENSET_EXINT16) | (val) & 1) << 19)
5550 +/* Set Interrupt Node Enable Flag EXINT10 (17) */
5551 +#define PORT_P0_IRNENSET_EXINT10   (0x1 << 17)
5552 +#define PORT_P0_IRNENSET_EXINT10_VAL(val)   (((val) & 0x1) << 17)
5553 +#define PORT_P0_IRNENSET_EXINT10_SET(reg,val) (reg) = (((reg & ~PORT_P0_IRNENSET_EXINT10) | (val) & 1) << 17)
5554 +/* Set Interrupt Node Enable Flag EXINT9 (16) */
5555 +#define PORT_P0_IRNENSET_EXINT9   (0x1 << 16)
5556 +#define PORT_P0_IRNENSET_EXINT9_VAL(val)   (((val) & 0x1) << 16)
5557 +#define PORT_P0_IRNENSET_EXINT9_SET(reg,val) (reg) = (((reg & ~PORT_P0_IRNENSET_EXINT9) | (val) & 1) << 16)
5558 +/* Set Interrupt Node Enable Flag EXINT8 (15) */
5559 +#define PORT_P0_IRNENSET_EXINT8   (0x1 << 15)
5560 +#define PORT_P0_IRNENSET_EXINT8_VAL(val)   (((val) & 0x1) << 15)
5561 +#define PORT_P0_IRNENSET_EXINT8_SET(reg,val) (reg) = (((reg & ~PORT_P0_IRNENSET_EXINT8) | (val) & 1) << 15)
5562 +/* Set Interrupt Node Enable Flag EXINT7 (14) */
5563 +#define PORT_P0_IRNENSET_EXINT7   (0x1 << 14)
5564 +#define PORT_P0_IRNENSET_EXINT7_VAL(val)   (((val) & 0x1) << 14)
5565 +#define PORT_P0_IRNENSET_EXINT7_SET(reg,val) (reg) = (((reg & ~PORT_P0_IRNENSET_EXINT7) | (val) & 1) << 14)
5566 +/* Set Interrupt Node Enable Flag EXINT6 (13) */
5567 +#define PORT_P0_IRNENSET_EXINT6   (0x1 << 13)
5568 +#define PORT_P0_IRNENSET_EXINT6_VAL(val)   (((val) & 0x1) << 13)
5569 +#define PORT_P0_IRNENSET_EXINT6_SET(reg,val) (reg) = (((reg & ~PORT_P0_IRNENSET_EXINT6) | (val) & 1) << 13)
5570 +/* Set Interrupt Node Enable Flag EXINT5 (12) */
5571 +#define PORT_P0_IRNENSET_EXINT5   (0x1 << 12)
5572 +#define PORT_P0_IRNENSET_EXINT5_VAL(val)   (((val) & 0x1) << 12)
5573 +#define PORT_P0_IRNENSET_EXINT5_SET(reg,val) (reg) = (((reg & ~PORT_P0_IRNENSET_EXINT5) | (val) & 1) << 12)
5574 +/* Set Interrupt Node Enable Flag EXINT4 (11) */
5575 +#define PORT_P0_IRNENSET_EXINT4   (0x1 << 11)
5576 +#define PORT_P0_IRNENSET_EXINT4_VAL(val)   (((val) & 0x1) << 11)
5577 +#define PORT_P0_IRNENSET_EXINT4_SET(reg,val) (reg) = (((reg & ~PORT_P0_IRNENSET_EXINT4) | (val) & 1) << 11)
5578 +/* Set Interrupt Node Enable Flag EXINT3 (10) */
5579 +#define PORT_P0_IRNENSET_EXINT3   (0x1 << 10)
5580 +#define PORT_P0_IRNENSET_EXINT3_VAL(val)   (((val) & 0x1) << 10)
5581 +#define PORT_P0_IRNENSET_EXINT3_SET(reg,val) (reg) = (((reg & ~PORT_P0_IRNENSET_EXINT3) | (val) & 1) << 10)
5582 +/* Set Interrupt Node Enable Flag EXINT2 (9) */
5583 +#define PORT_P0_IRNENSET_EXINT2   (0x1 << 9)
5584 +#define PORT_P0_IRNENSET_EXINT2_VAL(val)   (((val) & 0x1) << 9)
5585 +#define PORT_P0_IRNENSET_EXINT2_SET(reg,val) (reg) = (((reg & ~PORT_P0_IRNENSET_EXINT2) | (val) & 1) << 9)
5586 +/* Set Interrupt Node Enable Flag EXINT1 (8) */
5587 +#define PORT_P0_IRNENSET_EXINT1   (0x1 << 8)
5588 +#define PORT_P0_IRNENSET_EXINT1_VAL(val)   (((val) & 0x1) << 8)
5589 +#define PORT_P0_IRNENSET_EXINT1_SET(reg,val) (reg) = (((reg & ~PORT_P0_IRNENSET_EXINT1) | (val) & 1) << 8)
5590 +/* Set Interrupt Node Enable Flag EXINT0 (7) */
5591 +#define PORT_P0_IRNENSET_EXINT0   (0x1 << 7)
5592 +#define PORT_P0_IRNENSET_EXINT0_VAL(val)   (((val) & 0x1) << 7)
5593 +#define PORT_P0_IRNENSET_EXINT0_SET(reg,val) (reg) = (((reg & ~PORT_P0_IRNENSET_EXINT0) | (val) & 1) << 7)
5594 +
5595 +/*******************************************************************************
5596 + * P0_IRNENCLR Register
5597 + ******************************************************************************/
5598 +
5599 +/* Clear Interrupt Node Enable Flag EXINT16 (19) */
5600 +#define PORT_P0_IRNENCLR_EXINT16   (0x1 << 19)
5601 +#define PORT_P0_IRNENCLR_EXINT16_VAL(val)   (((val) & 0x1) << 19)
5602 +#define PORT_P0_IRNENCLR_EXINT16_SET(reg,val) (reg) = (((reg & ~PORT_P0_IRNENCLR_EXINT16) | (val) & 1) << 19)
5603 +/* Clear Interrupt Node Enable Flag EXINT10 (17) */
5604 +#define PORT_P0_IRNENCLR_EXINT10   (0x1 << 17)
5605 +#define PORT_P0_IRNENCLR_EXINT10_VAL(val)   (((val) & 0x1) << 17)
5606 +#define PORT_P0_IRNENCLR_EXINT10_SET(reg,val) (reg) = (((reg & ~PORT_P0_IRNENCLR_EXINT10) | (val) & 1) << 17)
5607 +/* Clear Interrupt Node Enable Flag EXINT9 (16) */
5608 +#define PORT_P0_IRNENCLR_EXINT9   (0x1 << 16)
5609 +#define PORT_P0_IRNENCLR_EXINT9_VAL(val)   (((val) & 0x1) << 16)
5610 +#define PORT_P0_IRNENCLR_EXINT9_SET(reg,val) (reg) = (((reg & ~PORT_P0_IRNENCLR_EXINT9) | (val) & 1) << 16)
5611 +/* Clear Interrupt Node Enable Flag EXINT8 (15) */
5612 +#define PORT_P0_IRNENCLR_EXINT8   (0x1 << 15)
5613 +#define PORT_P0_IRNENCLR_EXINT8_VAL(val)   (((val) & 0x1) << 15)
5614 +#define PORT_P0_IRNENCLR_EXINT8_SET(reg,val) (reg) = (((reg & ~PORT_P0_IRNENCLR_EXINT8) | (val) & 1) << 15)
5615 +/* Clear Interrupt Node Enable Flag EXINT7 (14) */
5616 +#define PORT_P0_IRNENCLR_EXINT7   (0x1 << 14)
5617 +#define PORT_P0_IRNENCLR_EXINT7_VAL(val)   (((val) & 0x1) << 14)
5618 +#define PORT_P0_IRNENCLR_EXINT7_SET(reg,val) (reg) = (((reg & ~PORT_P0_IRNENCLR_EXINT7) | (val) & 1) << 14)
5619 +/* Clear Interrupt Node Enable Flag EXINT6 (13) */
5620 +#define PORT_P0_IRNENCLR_EXINT6   (0x1 << 13)
5621 +#define PORT_P0_IRNENCLR_EXINT6_VAL(val)   (((val) & 0x1) << 13)
5622 +#define PORT_P0_IRNENCLR_EXINT6_SET(reg,val) (reg) = (((reg & ~PORT_P0_IRNENCLR_EXINT6) | (val) & 1) << 13)
5623 +/* Clear Interrupt Node Enable Flag EXINT5 (12) */
5624 +#define PORT_P0_IRNENCLR_EXINT5   (0x1 << 12)
5625 +#define PORT_P0_IRNENCLR_EXINT5_VAL(val)   (((val) & 0x1) << 12)
5626 +#define PORT_P0_IRNENCLR_EXINT5_SET(reg,val) (reg) = (((reg & ~PORT_P0_IRNENCLR_EXINT5) | (val) & 1) << 12)
5627 +/* Clear Interrupt Node Enable Flag EXINT4 (11) */
5628 +#define PORT_P0_IRNENCLR_EXINT4   (0x1 << 11)
5629 +#define PORT_P0_IRNENCLR_EXINT4_VAL(val)   (((val) & 0x1) << 11)
5630 +#define PORT_P0_IRNENCLR_EXINT4_SET(reg,val) (reg) = (((reg & ~PORT_P0_IRNENCLR_EXINT4) | (val) & 1) << 11)
5631 +/* Clear Interrupt Node Enable Flag EXINT3 (10) */
5632 +#define PORT_P0_IRNENCLR_EXINT3   (0x1 << 10)
5633 +#define PORT_P0_IRNENCLR_EXINT3_VAL(val)   (((val) & 0x1) << 10)
5634 +#define PORT_P0_IRNENCLR_EXINT3_SET(reg,val) (reg) = (((reg & ~PORT_P0_IRNENCLR_EXINT3) | (val) & 1) << 10)
5635 +/* Clear Interrupt Node Enable Flag EXINT2 (9) */
5636 +#define PORT_P0_IRNENCLR_EXINT2   (0x1 << 9)
5637 +#define PORT_P0_IRNENCLR_EXINT2_VAL(val)   (((val) & 0x1) << 9)
5638 +#define PORT_P0_IRNENCLR_EXINT2_SET(reg,val) (reg) = (((reg & ~PORT_P0_IRNENCLR_EXINT2) | (val) & 1) << 9)
5639 +/* Clear Interrupt Node Enable Flag EXINT1 (8) */
5640 +#define PORT_P0_IRNENCLR_EXINT1   (0x1 << 8)
5641 +#define PORT_P0_IRNENCLR_EXINT1_VAL(val)   (((val) & 0x1) << 8)
5642 +#define PORT_P0_IRNENCLR_EXINT1_SET(reg,val) (reg) = (((reg & ~PORT_P0_IRNENCLR_EXINT1) | (val) & 1) << 8)
5643 +/* Clear Interrupt Node Enable Flag EXINT0 (7) */
5644 +#define PORT_P0_IRNENCLR_EXINT0   (0x1 << 7)
5645 +#define PORT_P0_IRNENCLR_EXINT0_VAL(val)   (((val) & 0x1) << 7)
5646 +#define PORT_P0_IRNENCLR_EXINT0_SET(reg,val) (reg) = (((reg & ~PORT_P0_IRNENCLR_EXINT0) | (val) & 1) << 7)
5647 +
5648 +/*******************************************************************************
5649 + * Port 1 Data Output Register
5650 + ******************************************************************************/
5651 +
5652 +/* Port 1 Pin # Output Value (19) */
5653 +#define PORT_P1_OUT_P19   (0x1 << 19)
5654 +#define PORT_P1_OUT_P19_VAL(val)   (((val) & 0x1) << 19)
5655 +#define PORT_P1_OUT_P19_GET(val)   ((((val) & PORT_P1_OUT_P19) >> 19) & 0x1)
5656 +#define PORT_P1_OUT_P19_SET(reg,val) (reg) = ((reg & ~PORT_P1_OUT_P19) | (((val) & 0x1) << 19))
5657 +/* Port 1 Pin # Output Value (18) */
5658 +#define PORT_P1_OUT_P18   (0x1 << 18)
5659 +#define PORT_P1_OUT_P18_VAL(val)   (((val) & 0x1) << 18)
5660 +#define PORT_P1_OUT_P18_GET(val)   ((((val) & PORT_P1_OUT_P18) >> 18) & 0x1)
5661 +#define PORT_P1_OUT_P18_SET(reg,val) (reg) = ((reg & ~PORT_P1_OUT_P18) | (((val) & 0x1) << 18))
5662 +/* Port 1 Pin # Output Value (17) */
5663 +#define PORT_P1_OUT_P17   (0x1 << 17)
5664 +#define PORT_P1_OUT_P17_VAL(val)   (((val) & 0x1) << 17)
5665 +#define PORT_P1_OUT_P17_GET(val)   ((((val) & PORT_P1_OUT_P17) >> 17) & 0x1)
5666 +#define PORT_P1_OUT_P17_SET(reg,val) (reg) = ((reg & ~PORT_P1_OUT_P17) | (((val) & 0x1) << 17))
5667 +/* Port 1 Pin # Output Value (16) */
5668 +#define PORT_P1_OUT_P16   (0x1 << 16)
5669 +#define PORT_P1_OUT_P16_VAL(val)   (((val) & 0x1) << 16)
5670 +#define PORT_P1_OUT_P16_GET(val)   ((((val) & PORT_P1_OUT_P16) >> 16) & 0x1)
5671 +#define PORT_P1_OUT_P16_SET(reg,val) (reg) = ((reg & ~PORT_P1_OUT_P16) | (((val) & 0x1) << 16))
5672 +/* Port 1 Pin # Output Value (15) */
5673 +#define PORT_P1_OUT_P15   (0x1 << 15)
5674 +#define PORT_P1_OUT_P15_VAL(val)   (((val) & 0x1) << 15)
5675 +#define PORT_P1_OUT_P15_GET(val)   ((((val) & PORT_P1_OUT_P15) >> 15) & 0x1)
5676 +#define PORT_P1_OUT_P15_SET(reg,val) (reg) = ((reg & ~PORT_P1_OUT_P15) | (((val) & 0x1) << 15))
5677 +/* Port 1 Pin # Output Value (14) */
5678 +#define PORT_P1_OUT_P14   (0x1 << 14)
5679 +#define PORT_P1_OUT_P14_VAL(val)   (((val) & 0x1) << 14)
5680 +#define PORT_P1_OUT_P14_GET(val)   ((((val) & PORT_P1_OUT_P14) >> 14) & 0x1)
5681 +#define PORT_P1_OUT_P14_SET(reg,val) (reg) = ((reg & ~PORT_P1_OUT_P14) | (((val) & 0x1) << 14))
5682 +/* Port 1 Pin # Output Value (13) */
5683 +#define PORT_P1_OUT_P13   (0x1 << 13)
5684 +#define PORT_P1_OUT_P13_VAL(val)   (((val) & 0x1) << 13)
5685 +#define PORT_P1_OUT_P13_GET(val)   ((((val) & PORT_P1_OUT_P13) >> 13) & 0x1)
5686 +#define PORT_P1_OUT_P13_SET(reg,val) (reg) = ((reg & ~PORT_P1_OUT_P13) | (((val) & 0x1) << 13))
5687 +/* Port 1 Pin # Output Value (12) */
5688 +#define PORT_P1_OUT_P12   (0x1 << 12)
5689 +#define PORT_P1_OUT_P12_VAL(val)   (((val) & 0x1) << 12)
5690 +#define PORT_P1_OUT_P12_GET(val)   ((((val) & PORT_P1_OUT_P12) >> 12) & 0x1)
5691 +#define PORT_P1_OUT_P12_SET(reg,val) (reg) = ((reg & ~PORT_P1_OUT_P12) | (((val) & 0x1) << 12))
5692 +/* Port 1 Pin # Output Value (11) */
5693 +#define PORT_P1_OUT_P11   (0x1 << 11)
5694 +#define PORT_P1_OUT_P11_VAL(val)   (((val) & 0x1) << 11)
5695 +#define PORT_P1_OUT_P11_GET(val)   ((((val) & PORT_P1_OUT_P11) >> 11) & 0x1)
5696 +#define PORT_P1_OUT_P11_SET(reg,val) (reg) = ((reg & ~PORT_P1_OUT_P11) | (((val) & 0x1) << 11))
5697 +/* Port 1 Pin # Output Value (10) */
5698 +#define PORT_P1_OUT_P10   (0x1 << 10)
5699 +#define PORT_P1_OUT_P10_VAL(val)   (((val) & 0x1) << 10)
5700 +#define PORT_P1_OUT_P10_GET(val)   ((((val) & PORT_P1_OUT_P10) >> 10) & 0x1)
5701 +#define PORT_P1_OUT_P10_SET(reg,val) (reg) = ((reg & ~PORT_P1_OUT_P10) | (((val) & 0x1) << 10))
5702 +/* Port 1 Pin # Output Value (9) */
5703 +#define PORT_P1_OUT_P9   (0x1 << 9)
5704 +#define PORT_P1_OUT_P9_VAL(val)   (((val) & 0x1) << 9)
5705 +#define PORT_P1_OUT_P9_GET(val)   ((((val) & PORT_P1_OUT_P9) >> 9) & 0x1)
5706 +#define PORT_P1_OUT_P9_SET(reg,val) (reg) = ((reg & ~PORT_P1_OUT_P9) | (((val) & 0x1) << 9))
5707 +/* Port 1 Pin # Output Value (8) */
5708 +#define PORT_P1_OUT_P8   (0x1 << 8)
5709 +#define PORT_P1_OUT_P8_VAL(val)   (((val) & 0x1) << 8)
5710 +#define PORT_P1_OUT_P8_GET(val)   ((((val) & PORT_P1_OUT_P8) >> 8) & 0x1)
5711 +#define PORT_P1_OUT_P8_SET(reg,val) (reg) = ((reg & ~PORT_P1_OUT_P8) | (((val) & 0x1) << 8))
5712 +/* Port 1 Pin # Output Value (7) */
5713 +#define PORT_P1_OUT_P7   (0x1 << 7)
5714 +#define PORT_P1_OUT_P7_VAL(val)   (((val) & 0x1) << 7)
5715 +#define PORT_P1_OUT_P7_GET(val)   ((((val) & PORT_P1_OUT_P7) >> 7) & 0x1)
5716 +#define PORT_P1_OUT_P7_SET(reg,val) (reg) = ((reg & ~PORT_P1_OUT_P7) | (((val) & 0x1) << 7))
5717 +/* Port 1 Pin # Output Value (6) */
5718 +#define PORT_P1_OUT_P6   (0x1 << 6)
5719 +#define PORT_P1_OUT_P6_VAL(val)   (((val) & 0x1) << 6)
5720 +#define PORT_P1_OUT_P6_GET(val)   ((((val) & PORT_P1_OUT_P6) >> 6) & 0x1)
5721 +#define PORT_P1_OUT_P6_SET(reg,val) (reg) = ((reg & ~PORT_P1_OUT_P6) | (((val) & 0x1) << 6))
5722 +/* Port 1 Pin # Output Value (5) */
5723 +#define PORT_P1_OUT_P5   (0x1 << 5)
5724 +#define PORT_P1_OUT_P5_VAL(val)   (((val) & 0x1) << 5)
5725 +#define PORT_P1_OUT_P5_GET(val)   ((((val) & PORT_P1_OUT_P5) >> 5) & 0x1)
5726 +#define PORT_P1_OUT_P5_SET(reg,val) (reg) = ((reg & ~PORT_P1_OUT_P5) | (((val) & 0x1) << 5))
5727 +/* Port 1 Pin # Output Value (4) */
5728 +#define PORT_P1_OUT_P4   (0x1 << 4)
5729 +#define PORT_P1_OUT_P4_VAL(val)   (((val) & 0x1) << 4)
5730 +#define PORT_P1_OUT_P4_GET(val)   ((((val) & PORT_P1_OUT_P4) >> 4) & 0x1)
5731 +#define PORT_P1_OUT_P4_SET(reg,val) (reg) = ((reg & ~PORT_P1_OUT_P4) | (((val) & 0x1) << 4))
5732 +/* Port 1 Pin # Output Value (3) */
5733 +#define PORT_P1_OUT_P3   (0x1 << 3)
5734 +#define PORT_P1_OUT_P3_VAL(val)   (((val) & 0x1) << 3)
5735 +#define PORT_P1_OUT_P3_GET(val)   ((((val) & PORT_P1_OUT_P3) >> 3) & 0x1)
5736 +#define PORT_P1_OUT_P3_SET(reg,val) (reg) = ((reg & ~PORT_P1_OUT_P3) | (((val) & 0x1) << 3))
5737 +/* Port 1 Pin # Output Value (2) */
5738 +#define PORT_P1_OUT_P2   (0x1 << 2)
5739 +#define PORT_P1_OUT_P2_VAL(val)   (((val) & 0x1) << 2)
5740 +#define PORT_P1_OUT_P2_GET(val)   ((((val) & PORT_P1_OUT_P2) >> 2) & 0x1)
5741 +#define PORT_P1_OUT_P2_SET(reg,val) (reg) = ((reg & ~PORT_P1_OUT_P2) | (((val) & 0x1) << 2))
5742 +/* Port 1 Pin # Output Value (1) */
5743 +#define PORT_P1_OUT_P1   (0x1 << 1)
5744 +#define PORT_P1_OUT_P1_VAL(val)   (((val) & 0x1) << 1)
5745 +#define PORT_P1_OUT_P1_GET(val)   ((((val) & PORT_P1_OUT_P1) >> 1) & 0x1)
5746 +#define PORT_P1_OUT_P1_SET(reg,val) (reg) = ((reg & ~PORT_P1_OUT_P1) | (((val) & 0x1) << 1))
5747 +/* Port 1 Pin # Output Value (0) */
5748 +#define PORT_P1_OUT_P0   (0x1)
5749 +#define PORT_P1_OUT_P0_VAL(val)   (((val) & 0x1) << 0)
5750 +#define PORT_P1_OUT_P0_GET(val)   ((((val) & PORT_P1_OUT_P0) >> 0) & 0x1)
5751 +#define PORT_P1_OUT_P0_SET(reg,val) (reg) = ((reg & ~PORT_P1_OUT_P0) | (((val) & 0x1) << 0))
5752 +
5753 +/*******************************************************************************
5754 + * Port 1 Data Input Register
5755 + ******************************************************************************/
5756 +
5757 +/* Port 1 Pin # Latched Input Value (19) */
5758 +#define PORT_P1_IN_P19   (0x1 << 19)
5759 +#define PORT_P1_IN_P19_GET(val)   ((((val) & PORT_P1_IN_P19) >> 19) & 0x1)
5760 +/* Port 1 Pin # Latched Input Value (18) */
5761 +#define PORT_P1_IN_P18   (0x1 << 18)
5762 +#define PORT_P1_IN_P18_GET(val)   ((((val) & PORT_P1_IN_P18) >> 18) & 0x1)
5763 +/* Port 1 Pin # Latched Input Value (17) */
5764 +#define PORT_P1_IN_P17   (0x1 << 17)
5765 +#define PORT_P1_IN_P17_GET(val)   ((((val) & PORT_P1_IN_P17) >> 17) & 0x1)
5766 +/* Port 1 Pin # Latched Input Value (16) */
5767 +#define PORT_P1_IN_P16   (0x1 << 16)
5768 +#define PORT_P1_IN_P16_GET(val)   ((((val) & PORT_P1_IN_P16) >> 16) & 0x1)
5769 +/* Port 1 Pin # Latched Input Value (15) */
5770 +#define PORT_P1_IN_P15   (0x1 << 15)
5771 +#define PORT_P1_IN_P15_GET(val)   ((((val) & PORT_P1_IN_P15) >> 15) & 0x1)
5772 +/* Port 1 Pin # Latched Input Value (14) */
5773 +#define PORT_P1_IN_P14   (0x1 << 14)
5774 +#define PORT_P1_IN_P14_GET(val)   ((((val) & PORT_P1_IN_P14) >> 14) & 0x1)
5775 +/* Port 1 Pin # Latched Input Value (13) */
5776 +#define PORT_P1_IN_P13   (0x1 << 13)
5777 +#define PORT_P1_IN_P13_GET(val)   ((((val) & PORT_P1_IN_P13) >> 13) & 0x1)
5778 +/* Port 1 Pin # Latched Input Value (12) */
5779 +#define PORT_P1_IN_P12   (0x1 << 12)
5780 +#define PORT_P1_IN_P12_GET(val)   ((((val) & PORT_P1_IN_P12) >> 12) & 0x1)
5781 +/* Port 1 Pin # Latched Input Value (11) */
5782 +#define PORT_P1_IN_P11   (0x1 << 11)
5783 +#define PORT_P1_IN_P11_GET(val)   ((((val) & PORT_P1_IN_P11) >> 11) & 0x1)
5784 +/* Port 1 Pin # Latched Input Value (10) */
5785 +#define PORT_P1_IN_P10   (0x1 << 10)
5786 +#define PORT_P1_IN_P10_GET(val)   ((((val) & PORT_P1_IN_P10) >> 10) & 0x1)
5787 +/* Port 1 Pin # Latched Input Value (9) */
5788 +#define PORT_P1_IN_P9   (0x1 << 9)
5789 +#define PORT_P1_IN_P9_GET(val)   ((((val) & PORT_P1_IN_P9) >> 9) & 0x1)
5790 +/* Port 1 Pin # Latched Input Value (8) */
5791 +#define PORT_P1_IN_P8   (0x1 << 8)
5792 +#define PORT_P1_IN_P8_GET(val)   ((((val) & PORT_P1_IN_P8) >> 8) & 0x1)
5793 +/* Port 1 Pin # Latched Input Value (7) */
5794 +#define PORT_P1_IN_P7   (0x1 << 7)
5795 +#define PORT_P1_IN_P7_GET(val)   ((((val) & PORT_P1_IN_P7) >> 7) & 0x1)
5796 +/* Port 1 Pin # Latched Input Value (6) */
5797 +#define PORT_P1_IN_P6   (0x1 << 6)
5798 +#define PORT_P1_IN_P6_GET(val)   ((((val) & PORT_P1_IN_P6) >> 6) & 0x1)
5799 +/* Port 1 Pin # Latched Input Value (5) */
5800 +#define PORT_P1_IN_P5   (0x1 << 5)
5801 +#define PORT_P1_IN_P5_GET(val)   ((((val) & PORT_P1_IN_P5) >> 5) & 0x1)
5802 +/* Port 1 Pin # Latched Input Value (4) */
5803 +#define PORT_P1_IN_P4   (0x1 << 4)
5804 +#define PORT_P1_IN_P4_GET(val)   ((((val) & PORT_P1_IN_P4) >> 4) & 0x1)
5805 +/* Port 1 Pin # Latched Input Value (3) */
5806 +#define PORT_P1_IN_P3   (0x1 << 3)
5807 +#define PORT_P1_IN_P3_GET(val)   ((((val) & PORT_P1_IN_P3) >> 3) & 0x1)
5808 +/* Port 1 Pin # Latched Input Value (2) */
5809 +#define PORT_P1_IN_P2   (0x1 << 2)
5810 +#define PORT_P1_IN_P2_GET(val)   ((((val) & PORT_P1_IN_P2) >> 2) & 0x1)
5811 +/* Port 1 Pin # Latched Input Value (1) */
5812 +#define PORT_P1_IN_P1   (0x1 << 1)
5813 +#define PORT_P1_IN_P1_GET(val)   ((((val) & PORT_P1_IN_P1) >> 1) & 0x1)
5814 +/* Port 1 Pin # Latched Input Value (0) */
5815 +#define PORT_P1_IN_P0   (0x1)
5816 +#define PORT_P1_IN_P0_GET(val)   ((((val) & PORT_P1_IN_P0) >> 0) & 0x1)
5817 +
5818 +/*******************************************************************************
5819 + * Port 1 Direction Register
5820 + ******************************************************************************/
5821 +
5822 +/* Port 1 Pin #Direction Control (19) */
5823 +#define PORT_P1_DIR_P19   (0x1 << 19)
5824 +#define PORT_P1_DIR_P19_VAL(val)   (((val) & 0x1) << 19)
5825 +#define PORT_P1_DIR_P19_GET(val)   ((((val) & PORT_P1_DIR_P19) >> 19) & 0x1)
5826 +#define PORT_P1_DIR_P19_SET(reg,val) (reg) = ((reg & ~PORT_P1_DIR_P19) | (((val) & 0x1) << 19))
5827 +/* Port 1 Pin #Direction Control (18) */
5828 +#define PORT_P1_DIR_P18   (0x1 << 18)
5829 +#define PORT_P1_DIR_P18_VAL(val)   (((val) & 0x1) << 18)
5830 +#define PORT_P1_DIR_P18_GET(val)   ((((val) & PORT_P1_DIR_P18) >> 18) & 0x1)
5831 +#define PORT_P1_DIR_P18_SET(reg,val) (reg) = ((reg & ~PORT_P1_DIR_P18) | (((val) & 0x1) << 18))
5832 +/* Port 1 Pin #Direction Control (17) */
5833 +#define PORT_P1_DIR_P17   (0x1 << 17)
5834 +#define PORT_P1_DIR_P17_VAL(val)   (((val) & 0x1) << 17)
5835 +#define PORT_P1_DIR_P17_GET(val)   ((((val) & PORT_P1_DIR_P17) >> 17) & 0x1)
5836 +#define PORT_P1_DIR_P17_SET(reg,val) (reg) = ((reg & ~PORT_P1_DIR_P17) | (((val) & 0x1) << 17))
5837 +/* Port 1 Pin #Direction Control (16) */
5838 +#define PORT_P1_DIR_P16   (0x1 << 16)
5839 +#define PORT_P1_DIR_P16_VAL(val)   (((val) & 0x1) << 16)
5840 +#define PORT_P1_DIR_P16_GET(val)   ((((val) & PORT_P1_DIR_P16) >> 16) & 0x1)
5841 +#define PORT_P1_DIR_P16_SET(reg,val) (reg) = ((reg & ~PORT_P1_DIR_P16) | (((val) & 0x1) << 16))
5842 +/* Port 1 Pin #Direction Control (15) */
5843 +#define PORT_P1_DIR_P15   (0x1 << 15)
5844 +#define PORT_P1_DIR_P15_VAL(val)   (((val) & 0x1) << 15)
5845 +#define PORT_P1_DIR_P15_GET(val)   ((((val) & PORT_P1_DIR_P15) >> 15) & 0x1)
5846 +#define PORT_P1_DIR_P15_SET(reg,val) (reg) = ((reg & ~PORT_P1_DIR_P15) | (((val) & 0x1) << 15))
5847 +/* Port 1 Pin #Direction Control (14) */
5848 +#define PORT_P1_DIR_P14   (0x1 << 14)
5849 +#define PORT_P1_DIR_P14_VAL(val)   (((val) & 0x1) << 14)
5850 +#define PORT_P1_DIR_P14_GET(val)   ((((val) & PORT_P1_DIR_P14) >> 14) & 0x1)
5851 +#define PORT_P1_DIR_P14_SET(reg,val) (reg) = ((reg & ~PORT_P1_DIR_P14) | (((val) & 0x1) << 14))
5852 +/* Port 1 Pin #Direction Control (13) */
5853 +#define PORT_P1_DIR_P13   (0x1 << 13)
5854 +#define PORT_P1_DIR_P13_VAL(val)   (((val) & 0x1) << 13)
5855 +#define PORT_P1_DIR_P13_GET(val)   ((((val) & PORT_P1_DIR_P13) >> 13) & 0x1)
5856 +#define PORT_P1_DIR_P13_SET(reg,val) (reg) = ((reg & ~PORT_P1_DIR_P13) | (((val) & 0x1) << 13))
5857 +/* Port 1 Pin #Direction Control (12) */
5858 +#define PORT_P1_DIR_P12   (0x1 << 12)
5859 +#define PORT_P1_DIR_P12_VAL(val)   (((val) & 0x1) << 12)
5860 +#define PORT_P1_DIR_P12_GET(val)   ((((val) & PORT_P1_DIR_P12) >> 12) & 0x1)
5861 +#define PORT_P1_DIR_P12_SET(reg,val) (reg) = ((reg & ~PORT_P1_DIR_P12) | (((val) & 0x1) << 12))
5862 +/* Port 1 Pin #Direction Control (11) */
5863 +#define PORT_P1_DIR_P11   (0x1 << 11)
5864 +#define PORT_P1_DIR_P11_VAL(val)   (((val) & 0x1) << 11)
5865 +#define PORT_P1_DIR_P11_GET(val)   ((((val) & PORT_P1_DIR_P11) >> 11) & 0x1)
5866 +#define PORT_P1_DIR_P11_SET(reg,val) (reg) = ((reg & ~PORT_P1_DIR_P11) | (((val) & 0x1) << 11))
5867 +/* Port 1 Pin #Direction Control (10) */
5868 +#define PORT_P1_DIR_P10   (0x1 << 10)
5869 +#define PORT_P1_DIR_P10_VAL(val)   (((val) & 0x1) << 10)
5870 +#define PORT_P1_DIR_P10_GET(val)   ((((val) & PORT_P1_DIR_P10) >> 10) & 0x1)
5871 +#define PORT_P1_DIR_P10_SET(reg,val) (reg) = ((reg & ~PORT_P1_DIR_P10) | (((val) & 0x1) << 10))
5872 +/* Port 1 Pin #Direction Control (9) */
5873 +#define PORT_P1_DIR_P9   (0x1 << 9)
5874 +#define PORT_P1_DIR_P9_VAL(val)   (((val) & 0x1) << 9)
5875 +#define PORT_P1_DIR_P9_GET(val)   ((((val) & PORT_P1_DIR_P9) >> 9) & 0x1)
5876 +#define PORT_P1_DIR_P9_SET(reg,val) (reg) = ((reg & ~PORT_P1_DIR_P9) | (((val) & 0x1) << 9))
5877 +/* Port 1 Pin #Direction Control (8) */
5878 +#define PORT_P1_DIR_P8   (0x1 << 8)
5879 +#define PORT_P1_DIR_P8_VAL(val)   (((val) & 0x1) << 8)
5880 +#define PORT_P1_DIR_P8_GET(val)   ((((val) & PORT_P1_DIR_P8) >> 8) & 0x1)
5881 +#define PORT_P1_DIR_P8_SET(reg,val) (reg) = ((reg & ~PORT_P1_DIR_P8) | (((val) & 0x1) << 8))
5882 +/* Port 1 Pin #Direction Control (7) */
5883 +#define PORT_P1_DIR_P7   (0x1 << 7)
5884 +#define PORT_P1_DIR_P7_VAL(val)   (((val) & 0x1) << 7)
5885 +#define PORT_P1_DIR_P7_GET(val)   ((((val) & PORT_P1_DIR_P7) >> 7) & 0x1)
5886 +#define PORT_P1_DIR_P7_SET(reg,val) (reg) = ((reg & ~PORT_P1_DIR_P7) | (((val) & 0x1) << 7))
5887 +/* Port 1 Pin #Direction Control (6) */
5888 +#define PORT_P1_DIR_P6   (0x1 << 6)
5889 +#define PORT_P1_DIR_P6_VAL(val)   (((val) & 0x1) << 6)
5890 +#define PORT_P1_DIR_P6_GET(val)   ((((val) & PORT_P1_DIR_P6) >> 6) & 0x1)
5891 +#define PORT_P1_DIR_P6_SET(reg,val) (reg) = ((reg & ~PORT_P1_DIR_P6) | (((val) & 0x1) << 6))
5892 +/* Port 1 Pin #Direction Control (5) */
5893 +#define PORT_P1_DIR_P5   (0x1 << 5)
5894 +#define PORT_P1_DIR_P5_VAL(val)   (((val) & 0x1) << 5)
5895 +#define PORT_P1_DIR_P5_GET(val)   ((((val) & PORT_P1_DIR_P5) >> 5) & 0x1)
5896 +#define PORT_P1_DIR_P5_SET(reg,val) (reg) = ((reg & ~PORT_P1_DIR_P5) | (((val) & 0x1) << 5))
5897 +/* Port 1 Pin #Direction Control (4) */
5898 +#define PORT_P1_DIR_P4   (0x1 << 4)
5899 +#define PORT_P1_DIR_P4_VAL(val)   (((val) & 0x1) << 4)
5900 +#define PORT_P1_DIR_P4_GET(val)   ((((val) & PORT_P1_DIR_P4) >> 4) & 0x1)
5901 +#define PORT_P1_DIR_P4_SET(reg,val) (reg) = ((reg & ~PORT_P1_DIR_P4) | (((val) & 0x1) << 4))
5902 +/* Port 1 Pin #Direction Control (3) */
5903 +#define PORT_P1_DIR_P3   (0x1 << 3)
5904 +#define PORT_P1_DIR_P3_VAL(val)   (((val) & 0x1) << 3)
5905 +#define PORT_P1_DIR_P3_GET(val)   ((((val) & PORT_P1_DIR_P3) >> 3) & 0x1)
5906 +#define PORT_P1_DIR_P3_SET(reg,val) (reg) = ((reg & ~PORT_P1_DIR_P3) | (((val) & 0x1) << 3))
5907 +/* Port 1 Pin #Direction Control (2) */
5908 +#define PORT_P1_DIR_P2   (0x1 << 2)
5909 +#define PORT_P1_DIR_P2_VAL(val)   (((val) & 0x1) << 2)
5910 +#define PORT_P1_DIR_P2_GET(val)   ((((val) & PORT_P1_DIR_P2) >> 2) & 0x1)
5911 +#define PORT_P1_DIR_P2_SET(reg,val) (reg) = ((reg & ~PORT_P1_DIR_P2) | (((val) & 0x1) << 2))
5912 +/* Port 1 Pin #Direction Control (1) */
5913 +#define PORT_P1_DIR_P1   (0x1 << 1)
5914 +#define PORT_P1_DIR_P1_VAL(val)   (((val) & 0x1) << 1)
5915 +#define PORT_P1_DIR_P1_GET(val)   ((((val) & PORT_P1_DIR_P1) >> 1) & 0x1)
5916 +#define PORT_P1_DIR_P1_SET(reg,val) (reg) = ((reg & ~PORT_P1_DIR_P1) | (((val) & 0x1) << 1))
5917 +/* Port 1 Pin #Direction Control (0) */
5918 +#define PORT_P1_DIR_P0   (0x1)
5919 +#define PORT_P1_DIR_P0_VAL(val)   (((val) & 0x1) << 0)
5920 +#define PORT_P1_DIR_P0_GET(val)   ((((val) & PORT_P1_DIR_P0) >> 0) & 0x1)
5921 +#define PORT_P1_DIR_P0_SET(reg,val) (reg) = ((reg & ~PORT_P1_DIR_P0) | (((val) & 0x1) << 0))
5922 +
5923 +/*******************************************************************************
5924 + * Port 1 Alternate Function Select Register 0
5925 + ******************************************************************************/
5926 +
5927 +/* Alternate Function at Port 1 Bit # (19) */
5928 +#define PORT_P1_ALTSEL0_P19   (0x1 << 19)
5929 +#define PORT_P1_ALTSEL0_P19_VAL(val)   (((val) & 0x1) << 19)
5930 +#define PORT_P1_ALTSEL0_P19_GET(val)   ((((val) & PORT_P1_ALTSEL0_P19) >> 19) & 0x1)
5931 +#define PORT_P1_ALTSEL0_P19_SET(reg,val) (reg) = ((reg & ~PORT_P1_ALTSEL0_P19) | (((val) & 0x1) << 19))
5932 +/* Alternate Function at Port 1 Bit # (18) */
5933 +#define PORT_P1_ALTSEL0_P18   (0x1 << 18)
5934 +#define PORT_P1_ALTSEL0_P18_VAL(val)   (((val) & 0x1) << 18)
5935 +#define PORT_P1_ALTSEL0_P18_GET(val)   ((((val) & PORT_P1_ALTSEL0_P18) >> 18) & 0x1)
5936 +#define PORT_P1_ALTSEL0_P18_SET(reg,val) (reg) = ((reg & ~PORT_P1_ALTSEL0_P18) | (((val) & 0x1) << 18))
5937 +/* Alternate Function at Port 1 Bit # (17) */
5938 +#define PORT_P1_ALTSEL0_P17   (0x1 << 17)
5939 +#define PORT_P1_ALTSEL0_P17_VAL(val)   (((val) & 0x1) << 17)
5940 +#define PORT_P1_ALTSEL0_P17_GET(val)   ((((val) & PORT_P1_ALTSEL0_P17) >> 17) & 0x1)
5941 +#define PORT_P1_ALTSEL0_P17_SET(reg,val) (reg) = ((reg & ~PORT_P1_ALTSEL0_P17) | (((val) & 0x1) << 17))
5942 +/* Alternate Function at Port 1 Bit # (16) */
5943 +#define PORT_P1_ALTSEL0_P16   (0x1 << 16)
5944 +#define PORT_P1_ALTSEL0_P16_VAL(val)   (((val) & 0x1) << 16)
5945 +#define PORT_P1_ALTSEL0_P16_GET(val)   ((((val) & PORT_P1_ALTSEL0_P16) >> 16) & 0x1)
5946 +#define PORT_P1_ALTSEL0_P16_SET(reg,val) (reg) = ((reg & ~PORT_P1_ALTSEL0_P16) | (((val) & 0x1) << 16))
5947 +/* Alternate Function at Port 1 Bit # (15) */
5948 +#define PORT_P1_ALTSEL0_P15   (0x1 << 15)
5949 +#define PORT_P1_ALTSEL0_P15_VAL(val)   (((val) & 0x1) << 15)
5950 +#define PORT_P1_ALTSEL0_P15_GET(val)   ((((val) & PORT_P1_ALTSEL0_P15) >> 15) & 0x1)
5951 +#define PORT_P1_ALTSEL0_P15_SET(reg,val) (reg) = ((reg & ~PORT_P1_ALTSEL0_P15) | (((val) & 0x1) << 15))
5952 +/* Alternate Function at Port 1 Bit # (14) */
5953 +#define PORT_P1_ALTSEL0_P14   (0x1 << 14)
5954 +#define PORT_P1_ALTSEL0_P14_VAL(val)   (((val) & 0x1) << 14)
5955 +#define PORT_P1_ALTSEL0_P14_GET(val)   ((((val) & PORT_P1_ALTSEL0_P14) >> 14) & 0x1)
5956 +#define PORT_P1_ALTSEL0_P14_SET(reg,val) (reg) = ((reg & ~PORT_P1_ALTSEL0_P14) | (((val) & 0x1) << 14))
5957 +/* Alternate Function at Port 1 Bit # (13) */
5958 +#define PORT_P1_ALTSEL0_P13   (0x1 << 13)
5959 +#define PORT_P1_ALTSEL0_P13_VAL(val)   (((val) & 0x1) << 13)
5960 +#define PORT_P1_ALTSEL0_P13_GET(val)   ((((val) & PORT_P1_ALTSEL0_P13) >> 13) & 0x1)
5961 +#define PORT_P1_ALTSEL0_P13_SET(reg,val) (reg) = ((reg & ~PORT_P1_ALTSEL0_P13) | (((val) & 0x1) << 13))
5962 +/* Alternate Function at Port 1 Bit # (12) */
5963 +#define PORT_P1_ALTSEL0_P12   (0x1 << 12)
5964 +#define PORT_P1_ALTSEL0_P12_VAL(val)   (((val) & 0x1) << 12)
5965 +#define PORT_P1_ALTSEL0_P12_GET(val)   ((((val) & PORT_P1_ALTSEL0_P12) >> 12) & 0x1)
5966 +#define PORT_P1_ALTSEL0_P12_SET(reg,val) (reg) = ((reg & ~PORT_P1_ALTSEL0_P12) | (((val) & 0x1) << 12))
5967 +/* Alternate Function at Port 1 Bit # (11) */
5968 +#define PORT_P1_ALTSEL0_P11   (0x1 << 11)
5969 +#define PORT_P1_ALTSEL0_P11_VAL(val)   (((val) & 0x1) << 11)
5970 +#define PORT_P1_ALTSEL0_P11_GET(val)   ((((val) & PORT_P1_ALTSEL0_P11) >> 11) & 0x1)
5971 +#define PORT_P1_ALTSEL0_P11_SET(reg,val) (reg) = ((reg & ~PORT_P1_ALTSEL0_P11) | (((val) & 0x1) << 11))
5972 +/* Alternate Function at Port 1 Bit # (10) */
5973 +#define PORT_P1_ALTSEL0_P10   (0x1 << 10)
5974 +#define PORT_P1_ALTSEL0_P10_VAL(val)   (((val) & 0x1) << 10)
5975 +#define PORT_P1_ALTSEL0_P10_GET(val)   ((((val) & PORT_P1_ALTSEL0_P10) >> 10) & 0x1)
5976 +#define PORT_P1_ALTSEL0_P10_SET(reg,val) (reg) = ((reg & ~PORT_P1_ALTSEL0_P10) | (((val) & 0x1) << 10))
5977 +/* Alternate Function at Port 1 Bit # (9) */
5978 +#define PORT_P1_ALTSEL0_P9   (0x1 << 9)
5979 +#define PORT_P1_ALTSEL0_P9_VAL(val)   (((val) & 0x1) << 9)
5980 +#define PORT_P1_ALTSEL0_P9_GET(val)   ((((val) & PORT_P1_ALTSEL0_P9) >> 9) & 0x1)
5981 +#define PORT_P1_ALTSEL0_P9_SET(reg,val) (reg) = ((reg & ~PORT_P1_ALTSEL0_P9) | (((val) & 0x1) << 9))
5982 +/* Alternate Function at Port 1 Bit # (8) */
5983 +#define PORT_P1_ALTSEL0_P8   (0x1 << 8)
5984 +#define PORT_P1_ALTSEL0_P8_VAL(val)   (((val) & 0x1) << 8)
5985 +#define PORT_P1_ALTSEL0_P8_GET(val)   ((((val) & PORT_P1_ALTSEL0_P8) >> 8) & 0x1)
5986 +#define PORT_P1_ALTSEL0_P8_SET(reg,val) (reg) = ((reg & ~PORT_P1_ALTSEL0_P8) | (((val) & 0x1) << 8))
5987 +/* Alternate Function at Port 1 Bit # (7) */
5988 +#define PORT_P1_ALTSEL0_P7   (0x1 << 7)
5989 +#define PORT_P1_ALTSEL0_P7_VAL(val)   (((val) & 0x1) << 7)
5990 +#define PORT_P1_ALTSEL0_P7_GET(val)   ((((val) & PORT_P1_ALTSEL0_P7) >> 7) & 0x1)
5991 +#define PORT_P1_ALTSEL0_P7_SET(reg,val) (reg) = ((reg & ~PORT_P1_ALTSEL0_P7) | (((val) & 0x1) << 7))
5992 +/* Alternate Function at Port 1 Bit # (6) */
5993 +#define PORT_P1_ALTSEL0_P6   (0x1 << 6)
5994 +#define PORT_P1_ALTSEL0_P6_VAL(val)   (((val) & 0x1) << 6)
5995 +#define PORT_P1_ALTSEL0_P6_GET(val)   ((((val) & PORT_P1_ALTSEL0_P6) >> 6) & 0x1)
5996 +#define PORT_P1_ALTSEL0_P6_SET(reg,val) (reg) = ((reg & ~PORT_P1_ALTSEL0_P6) | (((val) & 0x1) << 6))
5997 +/* Alternate Function at Port 1 Bit # (5) */
5998 +#define PORT_P1_ALTSEL0_P5   (0x1 << 5)
5999 +#define PORT_P1_ALTSEL0_P5_VAL(val)   (((val) & 0x1) << 5)
6000 +#define PORT_P1_ALTSEL0_P5_GET(val)   ((((val) & PORT_P1_ALTSEL0_P5) >> 5) & 0x1)
6001 +#define PORT_P1_ALTSEL0_P5_SET(reg,val) (reg) = ((reg & ~PORT_P1_ALTSEL0_P5) | (((val) & 0x1) << 5))
6002 +/* Alternate Function at Port 1 Bit # (4) */
6003 +#define PORT_P1_ALTSEL0_P4   (0x1 << 4)
6004 +#define PORT_P1_ALTSEL0_P4_VAL(val)   (((val) & 0x1) << 4)
6005 +#define PORT_P1_ALTSEL0_P4_GET(val)   ((((val) & PORT_P1_ALTSEL0_P4) >> 4) & 0x1)
6006 +#define PORT_P1_ALTSEL0_P4_SET(reg,val) (reg) = ((reg & ~PORT_P1_ALTSEL0_P4) | (((val) & 0x1) << 4))
6007 +/* Alternate Function at Port 1 Bit # (3) */
6008 +#define PORT_P1_ALTSEL0_P3   (0x1 << 3)
6009 +#define PORT_P1_ALTSEL0_P3_VAL(val)   (((val) & 0x1) << 3)
6010 +#define PORT_P1_ALTSEL0_P3_GET(val)   ((((val) & PORT_P1_ALTSEL0_P3) >> 3) & 0x1)
6011 +#define PORT_P1_ALTSEL0_P3_SET(reg,val) (reg) = ((reg & ~PORT_P1_ALTSEL0_P3) | (((val) & 0x1) << 3))
6012 +/* Alternate Function at Port 1 Bit # (2) */
6013 +#define PORT_P1_ALTSEL0_P2   (0x1 << 2)
6014 +#define PORT_P1_ALTSEL0_P2_VAL(val)   (((val) & 0x1) << 2)
6015 +#define PORT_P1_ALTSEL0_P2_GET(val)   ((((val) & PORT_P1_ALTSEL0_P2) >> 2) & 0x1)
6016 +#define PORT_P1_ALTSEL0_P2_SET(reg,val) (reg) = ((reg & ~PORT_P1_ALTSEL0_P2) | (((val) & 0x1) << 2))
6017 +/* Alternate Function at Port 1 Bit # (1) */
6018 +#define PORT_P1_ALTSEL0_P1   (0x1 << 1)
6019 +#define PORT_P1_ALTSEL0_P1_VAL(val)   (((val) & 0x1) << 1)
6020 +#define PORT_P1_ALTSEL0_P1_GET(val)   ((((val) & PORT_P1_ALTSEL0_P1) >> 1) & 0x1)
6021 +#define PORT_P1_ALTSEL0_P1_SET(reg,val) (reg) = ((reg & ~PORT_P1_ALTSEL0_P1) | (((val) & 0x1) << 1))
6022 +/* Alternate Function at Port 1 Bit # (0) */
6023 +#define PORT_P1_ALTSEL0_P0   (0x1)
6024 +#define PORT_P1_ALTSEL0_P0_VAL(val)   (((val) & 0x1) << 0)
6025 +#define PORT_P1_ALTSEL0_P0_GET(val)   ((((val) & PORT_P1_ALTSEL0_P0) >> 0) & 0x1)
6026 +#define PORT_P1_ALTSEL0_P0_SET(reg,val) (reg) = ((reg & ~PORT_P1_ALTSEL0_P0) | (((val) & 0x1) << 0))
6027 +
6028 +/*******************************************************************************
6029 + * Port 1 Pull Up Device Enable Register
6030 + ******************************************************************************/
6031 +
6032 +/* Pull Up Device Enable at Port 1 Bit # (19) */
6033 +#define PORT_P1_PUEN_P19   (0x1 << 19)
6034 +#define PORT_P1_PUEN_P19_VAL(val)   (((val) & 0x1) << 19)
6035 +#define PORT_P1_PUEN_P19_GET(val)   ((((val) & PORT_P1_PUEN_P19) >> 19) & 0x1)
6036 +#define PORT_P1_PUEN_P19_SET(reg,val) (reg) = ((reg & ~PORT_P1_PUEN_P19) | (((val) & 0x1) << 19))
6037 +/* Pull Up Device Enable at Port 1 Bit # (18) */
6038 +#define PORT_P1_PUEN_P18   (0x1 << 18)
6039 +#define PORT_P1_PUEN_P18_VAL(val)   (((val) & 0x1) << 18)
6040 +#define PORT_P1_PUEN_P18_GET(val)   ((((val) & PORT_P1_PUEN_P18) >> 18) & 0x1)
6041 +#define PORT_P1_PUEN_P18_SET(reg,val) (reg) = ((reg & ~PORT_P1_PUEN_P18) | (((val) & 0x1) << 18))
6042 +/* Pull Up Device Enable at Port 1 Bit # (17) */
6043 +#define PORT_P1_PUEN_P17   (0x1 << 17)
6044 +#define PORT_P1_PUEN_P17_VAL(val)   (((val) & 0x1) << 17)
6045 +#define PORT_P1_PUEN_P17_GET(val)   ((((val) & PORT_P1_PUEN_P17) >> 17) & 0x1)
6046 +#define PORT_P1_PUEN_P17_SET(reg,val) (reg) = ((reg & ~PORT_P1_PUEN_P17) | (((val) & 0x1) << 17))
6047 +/* Pull Up Device Enable at Port 1 Bit # (16) */
6048 +#define PORT_P1_PUEN_P16   (0x1 << 16)
6049 +#define PORT_P1_PUEN_P16_VAL(val)   (((val) & 0x1) << 16)
6050 +#define PORT_P1_PUEN_P16_GET(val)   ((((val) & PORT_P1_PUEN_P16) >> 16) & 0x1)
6051 +#define PORT_P1_PUEN_P16_SET(reg,val) (reg) = ((reg & ~PORT_P1_PUEN_P16) | (((val) & 0x1) << 16))
6052 +/* Pull Up Device Enable at Port 1 Bit # (15) */
6053 +#define PORT_P1_PUEN_P15   (0x1 << 15)
6054 +#define PORT_P1_PUEN_P15_VAL(val)   (((val) & 0x1) << 15)
6055 +#define PORT_P1_PUEN_P15_GET(val)   ((((val) & PORT_P1_PUEN_P15) >> 15) & 0x1)
6056 +#define PORT_P1_PUEN_P15_SET(reg,val) (reg) = ((reg & ~PORT_P1_PUEN_P15) | (((val) & 0x1) << 15))
6057 +/* Pull Up Device Enable at Port 1 Bit # (14) */
6058 +#define PORT_P1_PUEN_P14   (0x1 << 14)
6059 +#define PORT_P1_PUEN_P14_VAL(val)   (((val) & 0x1) << 14)
6060 +#define PORT_P1_PUEN_P14_GET(val)   ((((val) & PORT_P1_PUEN_P14) >> 14) & 0x1)
6061 +#define PORT_P1_PUEN_P14_SET(reg,val) (reg) = ((reg & ~PORT_P1_PUEN_P14) | (((val) & 0x1) << 14))
6062 +/* Pull Up Device Enable at Port 1 Bit # (13) */
6063 +#define PORT_P1_PUEN_P13   (0x1 << 13)
6064 +#define PORT_P1_PUEN_P13_VAL(val)   (((val) & 0x1) << 13)
6065 +#define PORT_P1_PUEN_P13_GET(val)   ((((val) & PORT_P1_PUEN_P13) >> 13) & 0x1)
6066 +#define PORT_P1_PUEN_P13_SET(reg,val) (reg) = ((reg & ~PORT_P1_PUEN_P13) | (((val) & 0x1) << 13))
6067 +/* Pull Up Device Enable at Port 1 Bit # (12) */
6068 +#define PORT_P1_PUEN_P12   (0x1 << 12)
6069 +#define PORT_P1_PUEN_P12_VAL(val)   (((val) & 0x1) << 12)
6070 +#define PORT_P1_PUEN_P12_GET(val)   ((((val) & PORT_P1_PUEN_P12) >> 12) & 0x1)
6071 +#define PORT_P1_PUEN_P12_SET(reg,val) (reg) = ((reg & ~PORT_P1_PUEN_P12) | (((val) & 0x1) << 12))
6072 +/* Pull Up Device Enable at Port 1 Bit # (11) */
6073 +#define PORT_P1_PUEN_P11   (0x1 << 11)
6074 +#define PORT_P1_PUEN_P11_VAL(val)   (((val) & 0x1) << 11)
6075 +#define PORT_P1_PUEN_P11_GET(val)   ((((val) & PORT_P1_PUEN_P11) >> 11) & 0x1)
6076 +#define PORT_P1_PUEN_P11_SET(reg,val) (reg) = ((reg & ~PORT_P1_PUEN_P11) | (((val) & 0x1) << 11))
6077 +/* Pull Up Device Enable at Port 1 Bit # (10) */
6078 +#define PORT_P1_PUEN_P10   (0x1 << 10)
6079 +#define PORT_P1_PUEN_P10_VAL(val)   (((val) & 0x1) << 10)
6080 +#define PORT_P1_PUEN_P10_GET(val)   ((((val) & PORT_P1_PUEN_P10) >> 10) & 0x1)
6081 +#define PORT_P1_PUEN_P10_SET(reg,val) (reg) = ((reg & ~PORT_P1_PUEN_P10) | (((val) & 0x1) << 10))
6082 +/* Pull Up Device Enable at Port 1 Bit # (9) */
6083 +#define PORT_P1_PUEN_P9   (0x1 << 9)
6084 +#define PORT_P1_PUEN_P9_VAL(val)   (((val) & 0x1) << 9)
6085 +#define PORT_P1_PUEN_P9_GET(val)   ((((val) & PORT_P1_PUEN_P9) >> 9) & 0x1)
6086 +#define PORT_P1_PUEN_P9_SET(reg,val) (reg) = ((reg & ~PORT_P1_PUEN_P9) | (((val) & 0x1) << 9))
6087 +/* Pull Up Device Enable at Port 1 Bit # (8) */
6088 +#define PORT_P1_PUEN_P8   (0x1 << 8)
6089 +#define PORT_P1_PUEN_P8_VAL(val)   (((val) & 0x1) << 8)
6090 +#define PORT_P1_PUEN_P8_GET(val)   ((((val) & PORT_P1_PUEN_P8) >> 8) & 0x1)
6091 +#define PORT_P1_PUEN_P8_SET(reg,val) (reg) = ((reg & ~PORT_P1_PUEN_P8) | (((val) & 0x1) << 8))
6092 +/* Pull Up Device Enable at Port 1 Bit # (7) */
6093 +#define PORT_P1_PUEN_P7   (0x1 << 7)
6094 +#define PORT_P1_PUEN_P7_VAL(val)   (((val) & 0x1) << 7)
6095 +#define PORT_P1_PUEN_P7_GET(val)   ((((val) & PORT_P1_PUEN_P7) >> 7) & 0x1)
6096 +#define PORT_P1_PUEN_P7_SET(reg,val) (reg) = ((reg & ~PORT_P1_PUEN_P7) | (((val) & 0x1) << 7))
6097 +/* Pull Up Device Enable at Port 1 Bit # (6) */
6098 +#define PORT_P1_PUEN_P6   (0x1 << 6)
6099 +#define PORT_P1_PUEN_P6_VAL(val)   (((val) & 0x1) << 6)
6100 +#define PORT_P1_PUEN_P6_GET(val)   ((((val) & PORT_P1_PUEN_P6) >> 6) & 0x1)
6101 +#define PORT_P1_PUEN_P6_SET(reg,val) (reg) = ((reg & ~PORT_P1_PUEN_P6) | (((val) & 0x1) << 6))
6102 +/* Pull Up Device Enable at Port 1 Bit # (5) */
6103 +#define PORT_P1_PUEN_P5   (0x1 << 5)
6104 +#define PORT_P1_PUEN_P5_VAL(val)   (((val) & 0x1) << 5)
6105 +#define PORT_P1_PUEN_P5_GET(val)   ((((val) & PORT_P1_PUEN_P5) >> 5) & 0x1)
6106 +#define PORT_P1_PUEN_P5_SET(reg,val) (reg) = ((reg & ~PORT_P1_PUEN_P5) | (((val) & 0x1) << 5))
6107 +/* Pull Up Device Enable at Port 1 Bit # (4) */
6108 +#define PORT_P1_PUEN_P4   (0x1 << 4)
6109 +#define PORT_P1_PUEN_P4_VAL(val)   (((val) & 0x1) << 4)
6110 +#define PORT_P1_PUEN_P4_GET(val)   ((((val) & PORT_P1_PUEN_P4) >> 4) & 0x1)
6111 +#define PORT_P1_PUEN_P4_SET(reg,val) (reg) = ((reg & ~PORT_P1_PUEN_P4) | (((val) & 0x1) << 4))
6112 +/* Pull Up Device Enable at Port 1 Bit # (3) */
6113 +#define PORT_P1_PUEN_P3   (0x1 << 3)
6114 +#define PORT_P1_PUEN_P3_VAL(val)   (((val) & 0x1) << 3)
6115 +#define PORT_P1_PUEN_P3_GET(val)   ((((val) & PORT_P1_PUEN_P3) >> 3) & 0x1)
6116 +#define PORT_P1_PUEN_P3_SET(reg,val) (reg) = ((reg & ~PORT_P1_PUEN_P3) | (((val) & 0x1) << 3))
6117 +/* Pull Up Device Enable at Port 1 Bit # (2) */
6118 +#define PORT_P1_PUEN_P2   (0x1 << 2)
6119 +#define PORT_P1_PUEN_P2_VAL(val)   (((val) & 0x1) << 2)
6120 +#define PORT_P1_PUEN_P2_GET(val)   ((((val) & PORT_P1_PUEN_P2) >> 2) & 0x1)
6121 +#define PORT_P1_PUEN_P2_SET(reg,val) (reg) = ((reg & ~PORT_P1_PUEN_P2) | (((val) & 0x1) << 2))
6122 +/* Pull Up Device Enable at Port 1 Bit # (1) */
6123 +#define PORT_P1_PUEN_P1   (0x1 << 1)
6124 +#define PORT_P1_PUEN_P1_VAL(val)   (((val) & 0x1) << 1)
6125 +#define PORT_P1_PUEN_P1_GET(val)   ((((val) & PORT_P1_PUEN_P1) >> 1) & 0x1)
6126 +#define PORT_P1_PUEN_P1_SET(reg,val) (reg) = ((reg & ~PORT_P1_PUEN_P1) | (((val) & 0x1) << 1))
6127 +/* Pull Up Device Enable at Port 1 Bit # (0) */
6128 +#define PORT_P1_PUEN_P0   (0x1)
6129 +#define PORT_P1_PUEN_P0_VAL(val)   (((val) & 0x1) << 0)
6130 +#define PORT_P1_PUEN_P0_GET(val)   ((((val) & PORT_P1_PUEN_P0) >> 0) & 0x1)
6131 +#define PORT_P1_PUEN_P0_SET(reg,val) (reg) = ((reg & ~PORT_P1_PUEN_P0) | (((val) & 0x1) << 0))
6132 +
6133 +/*******************************************************************************
6134 + * External Interrupt Control Register 0
6135 + ******************************************************************************/
6136 +
6137 +/* Type of Level or Edge Detection of EXINT15 (19) */
6138 +#define PORT_P1_EXINTCR0_EXINT15   (0x1 << 19)
6139 +#define PORT_P1_EXINTCR0_EXINT15_VAL(val)   (((val) & 0x1) << 19)
6140 +#define PORT_P1_EXINTCR0_EXINT15_GET(val)   ((((val) & PORT_P1_EXINTCR0_EXINT15) >> 19) & 0x1)
6141 +#define PORT_P1_EXINTCR0_EXINT15_SET(reg,val) (reg) = ((reg & ~PORT_P1_EXINTCR0_EXINT15) | (((val) & 0x1) << 19))
6142 +/* Type of Level or Edge Detection of EXINT11 (18) */
6143 +#define PORT_P1_EXINTCR0_EXINT11   (0x1 << 18)
6144 +#define PORT_P1_EXINTCR0_EXINT11_VAL(val)   (((val) & 0x1) << 18)
6145 +#define PORT_P1_EXINTCR0_EXINT11_GET(val)   ((((val) & PORT_P1_EXINTCR0_EXINT11) >> 18) & 0x1)
6146 +#define PORT_P1_EXINTCR0_EXINT11_SET(reg,val) (reg) = ((reg & ~PORT_P1_EXINTCR0_EXINT11) | (((val) & 0x1) << 18))
6147 +/* Type of Level or Edge Detection of EXINT12 (17) */
6148 +#define PORT_P1_EXINTCR0_EXINT12   (0x1 << 17)
6149 +#define PORT_P1_EXINTCR0_EXINT12_VAL(val)   (((val) & 0x1) << 17)
6150 +#define PORT_P1_EXINTCR0_EXINT12_GET(val)   ((((val) & PORT_P1_EXINTCR0_EXINT12) >> 17) & 0x1)
6151 +#define PORT_P1_EXINTCR0_EXINT12_SET(reg,val) (reg) = ((reg & ~PORT_P1_EXINTCR0_EXINT12) | (((val) & 0x1) << 17))
6152 +/* Type of Level or Edge Detection of EXINT13 (16) */
6153 +#define PORT_P1_EXINTCR0_EXINT13   (0x1 << 16)
6154 +#define PORT_P1_EXINTCR0_EXINT13_VAL(val)   (((val) & 0x1) << 16)
6155 +#define PORT_P1_EXINTCR0_EXINT13_GET(val)   ((((val) & PORT_P1_EXINTCR0_EXINT13) >> 16) & 0x1)
6156 +#define PORT_P1_EXINTCR0_EXINT13_SET(reg,val) (reg) = ((reg & ~PORT_P1_EXINTCR0_EXINT13) | (((val) & 0x1) << 16))
6157 +/* Type of Level or Edge Detection of EXINT14 (15) */
6158 +#define PORT_P1_EXINTCR0_EXINT14   (0x1 << 15)
6159 +#define PORT_P1_EXINTCR0_EXINT14_VAL(val)   (((val) & 0x1) << 15)
6160 +#define PORT_P1_EXINTCR0_EXINT14_GET(val)   ((((val) & PORT_P1_EXINTCR0_EXINT14) >> 15) & 0x1)
6161 +#define PORT_P1_EXINTCR0_EXINT14_SET(reg,val) (reg) = ((reg & ~PORT_P1_EXINTCR0_EXINT14) | (((val) & 0x1) << 15))
6162 +
6163 +/*******************************************************************************
6164 + * External Interrupt Control Register 1
6165 + ******************************************************************************/
6166 +
6167 +/* Type of Level or Edge Detection of EXINT15 (19) */
6168 +#define PORT_P1_EXINTCR1_EXINT15   (0x1 << 19)
6169 +#define PORT_P1_EXINTCR1_EXINT15_VAL(val)   (((val) & 0x1) << 19)
6170 +#define PORT_P1_EXINTCR1_EXINT15_GET(val)   ((((val) & PORT_P1_EXINTCR1_EXINT15) >> 19) & 0x1)
6171 +#define PORT_P1_EXINTCR1_EXINT15_SET(reg,val) (reg) = ((reg & ~PORT_P1_EXINTCR1_EXINT15) | (((val) & 0x1) << 19))
6172 +/* Type of Level or Edge Detection of EXINT11 (18) */
6173 +#define PORT_P1_EXINTCR1_EXINT11   (0x1 << 18)
6174 +#define PORT_P1_EXINTCR1_EXINT11_VAL(val)   (((val) & 0x1) << 18)
6175 +#define PORT_P1_EXINTCR1_EXINT11_GET(val)   ((((val) & PORT_P1_EXINTCR1_EXINT11) >> 18) & 0x1)
6176 +#define PORT_P1_EXINTCR1_EXINT11_SET(reg,val) (reg) = ((reg & ~PORT_P1_EXINTCR1_EXINT11) | (((val) & 0x1) << 18))
6177 +/* Type of Level or Edge Detection of EXINT12 (17) */
6178 +#define PORT_P1_EXINTCR1_EXINT12   (0x1 << 17)
6179 +#define PORT_P1_EXINTCR1_EXINT12_VAL(val)   (((val) & 0x1) << 17)
6180 +#define PORT_P1_EXINTCR1_EXINT12_GET(val)   ((((val) & PORT_P1_EXINTCR1_EXINT12) >> 17) & 0x1)
6181 +#define PORT_P1_EXINTCR1_EXINT12_SET(reg,val) (reg) = ((reg & ~PORT_P1_EXINTCR1_EXINT12) | (((val) & 0x1) << 17))
6182 +/* Type of Level or Edge Detection of EXINT13 (16) */
6183 +#define PORT_P1_EXINTCR1_EXINT13   (0x1 << 16)
6184 +#define PORT_P1_EXINTCR1_EXINT13_VAL(val)   (((val) & 0x1) << 16)
6185 +#define PORT_P1_EXINTCR1_EXINT13_GET(val)   ((((val) & PORT_P1_EXINTCR1_EXINT13) >> 16) & 0x1)
6186 +#define PORT_P1_EXINTCR1_EXINT13_SET(reg,val) (reg) = ((reg & ~PORT_P1_EXINTCR1_EXINT13) | (((val) & 0x1) << 16))
6187 +/* Type of Level or Edge Detection of EXINT14 (15) */
6188 +#define PORT_P1_EXINTCR1_EXINT14   (0x1 << 15)
6189 +#define PORT_P1_EXINTCR1_EXINT14_VAL(val)   (((val) & 0x1) << 15)
6190 +#define PORT_P1_EXINTCR1_EXINT14_GET(val)   ((((val) & PORT_P1_EXINTCR1_EXINT14) >> 15) & 0x1)
6191 +#define PORT_P1_EXINTCR1_EXINT14_SET(reg,val) (reg) = ((reg & ~PORT_P1_EXINTCR1_EXINT14) | (((val) & 0x1) << 15))
6192 +
6193 +/*******************************************************************************
6194 + * \b\bP1_IRNEN Register
6195 + ******************************************************************************/
6196 +
6197 +/* EXINT15 Interrupt Request Enable (19) */
6198 +#define PORT_P1_IRNEN_EXINT15   (0x1 << 19)
6199 +#define PORT_P1_IRNEN_EXINT15_VAL(val)   (((val) & 0x1) << 19)
6200 +#define PORT_P1_IRNEN_EXINT15_GET(val)   ((((val) & PORT_P1_IRNEN_EXINT15) >> 19) & 0x1)
6201 +#define PORT_P1_IRNEN_EXINT15_SET(reg,val) (reg) = ((reg & ~PORT_P1_IRNEN_EXINT15) | (((val) & 0x1) << 19))
6202 +/* EXINT11 Interrupt Request Enable (18) */
6203 +#define PORT_P1_IRNEN_EXINT11   (0x1 << 18)
6204 +#define PORT_P1_IRNEN_EXINT11_VAL(val)   (((val) & 0x1) << 18)
6205 +#define PORT_P1_IRNEN_EXINT11_GET(val)   ((((val) & PORT_P1_IRNEN_EXINT11) >> 18) & 0x1)
6206 +#define PORT_P1_IRNEN_EXINT11_SET(reg,val) (reg) = ((reg & ~PORT_P1_IRNEN_EXINT11) | (((val) & 0x1) << 18))
6207 +/* EXINT12 Interrupt Request Enable (17) */
6208 +#define PORT_P1_IRNEN_EXINT12   (0x1 << 17)
6209 +#define PORT_P1_IRNEN_EXINT12_VAL(val)   (((val) & 0x1) << 17)
6210 +#define PORT_P1_IRNEN_EXINT12_GET(val)   ((((val) & PORT_P1_IRNEN_EXINT12) >> 17) & 0x1)
6211 +#define PORT_P1_IRNEN_EXINT12_SET(reg,val) (reg) = ((reg & ~PORT_P1_IRNEN_EXINT12) | (((val) & 0x1) << 17))
6212 +/* EXINT13 Interrupt Request Enable (16) */
6213 +#define PORT_P1_IRNEN_EXINT13   (0x1 << 16)
6214 +#define PORT_P1_IRNEN_EXINT13_VAL(val)   (((val) & 0x1) << 16)
6215 +#define PORT_P1_IRNEN_EXINT13_GET(val)   ((((val) & PORT_P1_IRNEN_EXINT13) >> 16) & 0x1)
6216 +#define PORT_P1_IRNEN_EXINT13_SET(reg,val) (reg) = ((reg & ~PORT_P1_IRNEN_EXINT13) | (((val) & 0x1) << 16))
6217 +/* EXINT14 Interrupt Request Enable (15) */
6218 +#define PORT_P1_IRNEN_EXINT14   (0x1 << 15)
6219 +#define PORT_P1_IRNEN_EXINT14_VAL(val)   (((val) & 0x1) << 15)
6220 +#define PORT_P1_IRNEN_EXINT14_GET(val)   ((((val) & PORT_P1_IRNEN_EXINT14) >> 15) & 0x1)
6221 +#define PORT_P1_IRNEN_EXINT14_SET(reg,val) (reg) = ((reg & ~PORT_P1_IRNEN_EXINT14) | (((val) & 0x1) << 15))
6222 +
6223 +/*******************************************************************************
6224 + * P1_IRNICR Register
6225 + ******************************************************************************/
6226 +
6227 +/* EXINT15 Interrupt Request (19) */
6228 +#define PORT_P1_IRNICR_EXINT15   (0x1 << 19)
6229 +#define PORT_P1_IRNICR_EXINT15_GET(val)   ((((val) & PORT_P1_IRNICR_EXINT15) >> 19) & 0x1)
6230 +/* EXINT11 Interrupt Request (18) */
6231 +#define PORT_P1_IRNICR_EXINT11   (0x1 << 18)
6232 +#define PORT_P1_IRNICR_EXINT11_GET(val)   ((((val) & PORT_P1_IRNICR_EXINT11) >> 18) & 0x1)
6233 +/* EXINT12 Interrupt Request (17) */
6234 +#define PORT_P1_IRNICR_EXINT12   (0x1 << 17)
6235 +#define PORT_P1_IRNICR_EXINT12_GET(val)   ((((val) & PORT_P1_IRNICR_EXINT12) >> 17) & 0x1)
6236 +/* EXINT13 Interrupt Request (16) */
6237 +#define PORT_P1_IRNICR_EXINT13   (0x1 << 16)
6238 +#define PORT_P1_IRNICR_EXINT13_GET(val)   ((((val) & PORT_P1_IRNICR_EXINT13) >> 16) & 0x1)
6239 +/* EXINT14 Interrupt Request (15) */
6240 +#define PORT_P1_IRNICR_EXINT14   (0x1 << 15)
6241 +#define PORT_P1_IRNICR_EXINT14_GET(val)   ((((val) & PORT_P1_IRNICR_EXINT14) >> 15) & 0x1)
6242 +
6243 +/*******************************************************************************
6244 + * P1_IRNCR Register
6245 + ******************************************************************************/
6246 +
6247 +/* EXINT15 Interrupt Request (19) */
6248 +#define PORT_P1_IRNCR_EXINT15   (0x1 << 19)
6249 +#define PORT_P1_IRNCR_EXINT15_GET(val)   ((((val) & PORT_P1_IRNCR_EXINT15) >> 19) & 0x1)
6250 +/* EXINT11 Interrupt Request (18) */
6251 +#define PORT_P1_IRNCR_EXINT11   (0x1 << 18)
6252 +#define PORT_P1_IRNCR_EXINT11_GET(val)   ((((val) & PORT_P1_IRNCR_EXINT11) >> 18) & 0x1)
6253 +/* EXINT12 Interrupt Request (17) */
6254 +#define PORT_P1_IRNCR_EXINT12   (0x1 << 17)
6255 +#define PORT_P1_IRNCR_EXINT12_GET(val)   ((((val) & PORT_P1_IRNCR_EXINT12) >> 17) & 0x1)
6256 +/* EXINT13 Interrupt Request (16) */
6257 +#define PORT_P1_IRNCR_EXINT13   (0x1 << 16)
6258 +#define PORT_P1_IRNCR_EXINT13_GET(val)   ((((val) & PORT_P1_IRNCR_EXINT13) >> 16) & 0x1)
6259 +/* EXINT14 Interrupt Request (15) */
6260 +#define PORT_P1_IRNCR_EXINT14   (0x1 << 15)
6261 +#define PORT_P1_IRNCR_EXINT14_GET(val)   ((((val) & PORT_P1_IRNCR_EXINT14) >> 15) & 0x1)
6262 +
6263 +/*******************************************************************************
6264 + * P1 External Event Detection Configuration Register
6265 + ******************************************************************************/
6266 +
6267 +/* EXINT15 configured for Edge or Level Detection (19) */
6268 +#define PORT_P1_IRNCFG_EXINT15   (0x1 << 19)
6269 +#define PORT_P1_IRNCFG_EXINT15_VAL(val)   (((val) & 0x1) << 19)
6270 +#define PORT_P1_IRNCFG_EXINT15_GET(val)   ((((val) & PORT_P1_IRNCFG_EXINT15) >> 19) & 0x1)
6271 +#define PORT_P1_IRNCFG_EXINT15_SET(reg,val) (reg) = ((reg & ~PORT_P1_IRNCFG_EXINT15) | (((val) & 0x1) << 19))
6272 +/* EXINT11 configured for Edge or Level Detection (18) */
6273 +#define PORT_P1_IRNCFG_EXINT11   (0x1 << 18)
6274 +#define PORT_P1_IRNCFG_EXINT11_VAL(val)   (((val) & 0x1) << 18)
6275 +#define PORT_P1_IRNCFG_EXINT11_GET(val)   ((((val) & PORT_P1_IRNCFG_EXINT11) >> 18) & 0x1)
6276 +#define PORT_P1_IRNCFG_EXINT11_SET(reg,val) (reg) = ((reg & ~PORT_P1_IRNCFG_EXINT11) | (((val) & 0x1) << 18))
6277 +/* EXINT12 configured for Edge or Level Detection (17) */
6278 +#define PORT_P1_IRNCFG_EXINT12   (0x1 << 17)
6279 +#define PORT_P1_IRNCFG_EXINT12_VAL(val)   (((val) & 0x1) << 17)
6280 +#define PORT_P1_IRNCFG_EXINT12_GET(val)   ((((val) & PORT_P1_IRNCFG_EXINT12) >> 17) & 0x1)
6281 +#define PORT_P1_IRNCFG_EXINT12_SET(reg,val) (reg) = ((reg & ~PORT_P1_IRNCFG_EXINT12) | (((val) & 0x1) << 17))
6282 +/* EXINT13 configured for Edge or Level Detection (16) */
6283 +#define PORT_P1_IRNCFG_EXINT13   (0x1 << 16)
6284 +#define PORT_P1_IRNCFG_EXINT13_VAL(val)   (((val) & 0x1) << 16)
6285 +#define PORT_P1_IRNCFG_EXINT13_GET(val)   ((((val) & PORT_P1_IRNCFG_EXINT13) >> 16) & 0x1)
6286 +#define PORT_P1_IRNCFG_EXINT13_SET(reg,val) (reg) = ((reg & ~PORT_P1_IRNCFG_EXINT13) | (((val) & 0x1) << 16))
6287 +/* EXINT14 configured for Edge or Level Detection (15) */
6288 +#define PORT_P1_IRNCFG_EXINT14   (0x1 << 15)
6289 +#define PORT_P1_IRNCFG_EXINT14_VAL(val)   (((val) & 0x1) << 15)
6290 +#define PORT_P1_IRNCFG_EXINT14_GET(val)   ((((val) & PORT_P1_IRNCFG_EXINT14) >> 15) & 0x1)
6291 +#define PORT_P1_IRNCFG_EXINT14_SET(reg,val) (reg) = ((reg & ~PORT_P1_IRNCFG_EXINT14) | (((val) & 0x1) << 15))
6292 +
6293 +/*******************************************************************************
6294 + * P1_IRNENSET Register
6295 + ******************************************************************************/
6296 +
6297 +/* Set Interrupt Node Enable Flag EXINT15 (19) */
6298 +#define PORT_P1_IRNENSET_EXINT15   (0x1 << 19)
6299 +#define PORT_P1_IRNENSET_EXINT15_VAL(val)   (((val) & 0x1) << 19)
6300 +#define PORT_P1_IRNENSET_EXINT15_SET(reg,val) (reg) = (((reg & ~PORT_P1_IRNENSET_EXINT15) | (val) & 1) << 19)
6301 +/* Set Interrupt Node Enable Flag EXINT11 (18) */
6302 +#define PORT_P1_IRNENSET_EXINT11   (0x1 << 18)
6303 +#define PORT_P1_IRNENSET_EXINT11_VAL(val)   (((val) & 0x1) << 18)
6304 +#define PORT_P1_IRNENSET_EXINT11_SET(reg,val) (reg) = (((reg & ~PORT_P1_IRNENSET_EXINT11) | (val) & 1) << 18)
6305 +/* Set Interrupt Node Enable Flag EXINT12 (17) */
6306 +#define PORT_P1_IRNENSET_EXINT12   (0x1 << 17)
6307 +#define PORT_P1_IRNENSET_EXINT12_VAL(val)   (((val) & 0x1) << 17)
6308 +#define PORT_P1_IRNENSET_EXINT12_SET(reg,val) (reg) = (((reg & ~PORT_P1_IRNENSET_EXINT12) | (val) & 1) << 17)
6309 +/* Set Interrupt Node Enable Flag EXINT13 (16) */
6310 +#define PORT_P1_IRNENSET_EXINT13   (0x1 << 16)
6311 +#define PORT_P1_IRNENSET_EXINT13_VAL(val)   (((val) & 0x1) << 16)
6312 +#define PORT_P1_IRNENSET_EXINT13_SET(reg,val) (reg) = (((reg & ~PORT_P1_IRNENSET_EXINT13) | (val) & 1) << 16)
6313 +/* Set Interrupt Node Enable Flag EXINT14 (15) */
6314 +#define PORT_P1_IRNENSET_EXINT14   (0x1 << 15)
6315 +#define PORT_P1_IRNENSET_EXINT14_VAL(val)   (((val) & 0x1) << 15)
6316 +#define PORT_P1_IRNENSET_EXINT14_SET(reg,val) (reg) = (((reg & ~PORT_P1_IRNENSET_EXINT14) | (val) & 1) << 15)
6317 +
6318 +/*******************************************************************************
6319 + * P1_IRNENCLR Register
6320 + ******************************************************************************/
6321 +
6322 +/* Clear Interrupt Node Enable Flag EXINT15 (19) */
6323 +#define PORT_P1_IRNENCLR_EXINT15   (0x1 << 19)
6324 +#define PORT_P1_IRNENCLR_EXINT15_VAL(val)   (((val) & 0x1) << 19)
6325 +#define PORT_P1_IRNENCLR_EXINT15_SET(reg,val) (reg) = (((reg & ~PORT_P1_IRNENCLR_EXINT15) | (val) & 1) << 19)
6326 +/* Clear Interrupt Node Enable Flag EXINT11 (18) */
6327 +#define PORT_P1_IRNENCLR_EXINT11   (0x1 << 18)
6328 +#define PORT_P1_IRNENCLR_EXINT11_VAL(val)   (((val) & 0x1) << 18)
6329 +#define PORT_P1_IRNENCLR_EXINT11_SET(reg,val) (reg) = (((reg & ~PORT_P1_IRNENCLR_EXINT11) | (val) & 1) << 18)
6330 +/* Clear Interrupt Node Enable Flag EXINT12 (17) */
6331 +#define PORT_P1_IRNENCLR_EXINT12   (0x1 << 17)
6332 +#define PORT_P1_IRNENCLR_EXINT12_VAL(val)   (((val) & 0x1) << 17)
6333 +#define PORT_P1_IRNENCLR_EXINT12_SET(reg,val) (reg) = (((reg & ~PORT_P1_IRNENCLR_EXINT12) | (val) & 1) << 17)
6334 +/* Clear Interrupt Node Enable Flag EXINT13 (16) */
6335 +#define PORT_P1_IRNENCLR_EXINT13   (0x1 << 16)
6336 +#define PORT_P1_IRNENCLR_EXINT13_VAL(val)   (((val) & 0x1) << 16)
6337 +#define PORT_P1_IRNENCLR_EXINT13_SET(reg,val) (reg) = (((reg & ~PORT_P1_IRNENCLR_EXINT13) | (val) & 1) << 16)
6338 +/* Clear Interrupt Node Enable Flag EXINT14 (15) */
6339 +#define PORT_P1_IRNENCLR_EXINT14   (0x1 << 15)
6340 +#define PORT_P1_IRNENCLR_EXINT14_VAL(val)   (((val) & 0x1) << 15)
6341 +#define PORT_P1_IRNENCLR_EXINT14_SET(reg,val) (reg) = (((reg & ~PORT_P1_IRNENCLR_EXINT14) | (val) & 1) << 15)
6342 +
6343 +/*******************************************************************************
6344 + * Port 2 Data Output Register
6345 + ******************************************************************************/
6346 +
6347 +/* Port 2 Pin # Output Value (19) */
6348 +#define PORT_P2_OUT_P19   (0x1 << 19)
6349 +#define PORT_P2_OUT_P19_VAL(val)   (((val) & 0x1) << 19)
6350 +#define PORT_P2_OUT_P19_GET(val)   ((((val) & PORT_P2_OUT_P19) >> 19) & 0x1)
6351 +#define PORT_P2_OUT_P19_SET(reg,val) (reg) = ((reg & ~PORT_P2_OUT_P19) | (((val) & 0x1) << 19))
6352 +/* Port 2 Pin # Output Value (18) */
6353 +#define PORT_P2_OUT_P18   (0x1 << 18)
6354 +#define PORT_P2_OUT_P18_VAL(val)   (((val) & 0x1) << 18)
6355 +#define PORT_P2_OUT_P18_GET(val)   ((((val) & PORT_P2_OUT_P18) >> 18) & 0x1)
6356 +#define PORT_P2_OUT_P18_SET(reg,val) (reg) = ((reg & ~PORT_P2_OUT_P18) | (((val) & 0x1) << 18))
6357 +/* Port 2 Pin # Output Value (17) */
6358 +#define PORT_P2_OUT_P17   (0x1 << 17)
6359 +#define PORT_P2_OUT_P17_VAL(val)   (((val) & 0x1) << 17)
6360 +#define PORT_P2_OUT_P17_GET(val)   ((((val) & PORT_P2_OUT_P17) >> 17) & 0x1)
6361 +#define PORT_P2_OUT_P17_SET(reg,val) (reg) = ((reg & ~PORT_P2_OUT_P17) | (((val) & 0x1) << 17))
6362 +/* Port 2 Pin # Output Value (16) */
6363 +#define PORT_P2_OUT_P16   (0x1 << 16)
6364 +#define PORT_P2_OUT_P16_VAL(val)   (((val) & 0x1) << 16)
6365 +#define PORT_P2_OUT_P16_GET(val)   ((((val) & PORT_P2_OUT_P16) >> 16) & 0x1)
6366 +#define PORT_P2_OUT_P16_SET(reg,val) (reg) = ((reg & ~PORT_P2_OUT_P16) | (((val) & 0x1) << 16))
6367 +/* Port 2 Pin # Output Value (15) */
6368 +#define PORT_P2_OUT_P15   (0x1 << 15)
6369 +#define PORT_P2_OUT_P15_VAL(val)   (((val) & 0x1) << 15)
6370 +#define PORT_P2_OUT_P15_GET(val)   ((((val) & PORT_P2_OUT_P15) >> 15) & 0x1)
6371 +#define PORT_P2_OUT_P15_SET(reg,val) (reg) = ((reg & ~PORT_P2_OUT_P15) | (((val) & 0x1) << 15))
6372 +/* Port 2 Pin # Output Value (14) */
6373 +#define PORT_P2_OUT_P14   (0x1 << 14)
6374 +#define PORT_P2_OUT_P14_VAL(val)   (((val) & 0x1) << 14)
6375 +#define PORT_P2_OUT_P14_GET(val)   ((((val) & PORT_P2_OUT_P14) >> 14) & 0x1)
6376 +#define PORT_P2_OUT_P14_SET(reg,val) (reg) = ((reg & ~PORT_P2_OUT_P14) | (((val) & 0x1) << 14))
6377 +/* Port 2 Pin # Output Value (13) */
6378 +#define PORT_P2_OUT_P13   (0x1 << 13)
6379 +#define PORT_P2_OUT_P13_VAL(val)   (((val) & 0x1) << 13)
6380 +#define PORT_P2_OUT_P13_GET(val)   ((((val) & PORT_P2_OUT_P13) >> 13) & 0x1)
6381 +#define PORT_P2_OUT_P13_SET(reg,val) (reg) = ((reg & ~PORT_P2_OUT_P13) | (((val) & 0x1) << 13))
6382 +/* Port 2 Pin # Output Value (12) */
6383 +#define PORT_P2_OUT_P12   (0x1 << 12)
6384 +#define PORT_P2_OUT_P12_VAL(val)   (((val) & 0x1) << 12)
6385 +#define PORT_P2_OUT_P12_GET(val)   ((((val) & PORT_P2_OUT_P12) >> 12) & 0x1)
6386 +#define PORT_P2_OUT_P12_SET(reg,val) (reg) = ((reg & ~PORT_P2_OUT_P12) | (((val) & 0x1) << 12))
6387 +/* Port 2 Pin # Output Value (11) */
6388 +#define PORT_P2_OUT_P11   (0x1 << 11)
6389 +#define PORT_P2_OUT_P11_VAL(val)   (((val) & 0x1) << 11)
6390 +#define PORT_P2_OUT_P11_GET(val)   ((((val) & PORT_P2_OUT_P11) >> 11) & 0x1)
6391 +#define PORT_P2_OUT_P11_SET(reg,val) (reg) = ((reg & ~PORT_P2_OUT_P11) | (((val) & 0x1) << 11))
6392 +/* Port 2 Pin # Output Value (10) */
6393 +#define PORT_P2_OUT_P10   (0x1 << 10)
6394 +#define PORT_P2_OUT_P10_VAL(val)   (((val) & 0x1) << 10)
6395 +#define PORT_P2_OUT_P10_GET(val)   ((((val) & PORT_P2_OUT_P10) >> 10) & 0x1)
6396 +#define PORT_P2_OUT_P10_SET(reg,val) (reg) = ((reg & ~PORT_P2_OUT_P10) | (((val) & 0x1) << 10))
6397 +/* Port 2 Pin # Output Value (9) */
6398 +#define PORT_P2_OUT_P9   (0x1 << 9)
6399 +#define PORT_P2_OUT_P9_VAL(val)   (((val) & 0x1) << 9)
6400 +#define PORT_P2_OUT_P9_GET(val)   ((((val) & PORT_P2_OUT_P9) >> 9) & 0x1)
6401 +#define PORT_P2_OUT_P9_SET(reg,val) (reg) = ((reg & ~PORT_P2_OUT_P9) | (((val) & 0x1) << 9))
6402 +/* Port 2 Pin # Output Value (8) */
6403 +#define PORT_P2_OUT_P8   (0x1 << 8)
6404 +#define PORT_P2_OUT_P8_VAL(val)   (((val) & 0x1) << 8)
6405 +#define PORT_P2_OUT_P8_GET(val)   ((((val) & PORT_P2_OUT_P8) >> 8) & 0x1)
6406 +#define PORT_P2_OUT_P8_SET(reg,val) (reg) = ((reg & ~PORT_P2_OUT_P8) | (((val) & 0x1) << 8))
6407 +/* Port 2 Pin # Output Value (7) */
6408 +#define PORT_P2_OUT_P7   (0x1 << 7)
6409 +#define PORT_P2_OUT_P7_VAL(val)   (((val) & 0x1) << 7)
6410 +#define PORT_P2_OUT_P7_GET(val)   ((((val) & PORT_P2_OUT_P7) >> 7) & 0x1)
6411 +#define PORT_P2_OUT_P7_SET(reg,val) (reg) = ((reg & ~PORT_P2_OUT_P7) | (((val) & 0x1) << 7))
6412 +/* Port 2 Pin # Output Value (6) */
6413 +#define PORT_P2_OUT_P6   (0x1 << 6)
6414 +#define PORT_P2_OUT_P6_VAL(val)   (((val) & 0x1) << 6)
6415 +#define PORT_P2_OUT_P6_GET(val)   ((((val) & PORT_P2_OUT_P6) >> 6) & 0x1)
6416 +#define PORT_P2_OUT_P6_SET(reg,val) (reg) = ((reg & ~PORT_P2_OUT_P6) | (((val) & 0x1) << 6))
6417 +/* Port 2 Pin # Output Value (5) */
6418 +#define PORT_P2_OUT_P5   (0x1 << 5)
6419 +#define PORT_P2_OUT_P5_VAL(val)   (((val) & 0x1) << 5)
6420 +#define PORT_P2_OUT_P5_GET(val)   ((((val) & PORT_P2_OUT_P5) >> 5) & 0x1)
6421 +#define PORT_P2_OUT_P5_SET(reg,val) (reg) = ((reg & ~PORT_P2_OUT_P5) | (((val) & 0x1) << 5))
6422 +/* Port 2 Pin # Output Value (4) */
6423 +#define PORT_P2_OUT_P4   (0x1 << 4)
6424 +#define PORT_P2_OUT_P4_VAL(val)   (((val) & 0x1) << 4)
6425 +#define PORT_P2_OUT_P4_GET(val)   ((((val) & PORT_P2_OUT_P4) >> 4) & 0x1)
6426 +#define PORT_P2_OUT_P4_SET(reg,val) (reg) = ((reg & ~PORT_P2_OUT_P4) | (((val) & 0x1) << 4))
6427 +/* Port 2 Pin # Output Value (3) */
6428 +#define PORT_P2_OUT_P3   (0x1 << 3)
6429 +#define PORT_P2_OUT_P3_VAL(val)   (((val) & 0x1) << 3)
6430 +#define PORT_P2_OUT_P3_GET(val)   ((((val) & PORT_P2_OUT_P3) >> 3) & 0x1)
6431 +#define PORT_P2_OUT_P3_SET(reg,val) (reg) = ((reg & ~PORT_P2_OUT_P3) | (((val) & 0x1) << 3))
6432 +/* Port 2 Pin # Output Value (2) */
6433 +#define PORT_P2_OUT_P2   (0x1 << 2)
6434 +#define PORT_P2_OUT_P2_VAL(val)   (((val) & 0x1) << 2)
6435 +#define PORT_P2_OUT_P2_GET(val)   ((((val) & PORT_P2_OUT_P2) >> 2) & 0x1)
6436 +#define PORT_P2_OUT_P2_SET(reg,val) (reg) = ((reg & ~PORT_P2_OUT_P2) | (((val) & 0x1) << 2))
6437 +/* Port 2 Pin # Output Value (1) */
6438 +#define PORT_P2_OUT_P1   (0x1 << 1)
6439 +#define PORT_P2_OUT_P1_VAL(val)   (((val) & 0x1) << 1)
6440 +#define PORT_P2_OUT_P1_GET(val)   ((((val) & PORT_P2_OUT_P1) >> 1) & 0x1)
6441 +#define PORT_P2_OUT_P1_SET(reg,val) (reg) = ((reg & ~PORT_P2_OUT_P1) | (((val) & 0x1) << 1))
6442 +/* Port 2 Pin # Output Value (0) */
6443 +#define PORT_P2_OUT_P0   (0x1)
6444 +#define PORT_P2_OUT_P0_VAL(val)   (((val) & 0x1) << 0)
6445 +#define PORT_P2_OUT_P0_GET(val)   ((((val) & PORT_P2_OUT_P0) >> 0) & 0x1)
6446 +#define PORT_P2_OUT_P0_SET(reg,val) (reg) = ((reg & ~PORT_P2_OUT_P0) | (((val) & 0x1) << 0))
6447 +
6448 +/*******************************************************************************
6449 + * Port 2 Data Input Register
6450 + ******************************************************************************/
6451 +
6452 +/* Port 2 Pin # Latched Input Value (19) */
6453 +#define PORT_P2_IN_P19   (0x1 << 19)
6454 +#define PORT_P2_IN_P19_GET(val)   ((((val) & PORT_P2_IN_P19) >> 19) & 0x1)
6455 +/* Port 2 Pin # Latched Input Value (18) */
6456 +#define PORT_P2_IN_P18   (0x1 << 18)
6457 +#define PORT_P2_IN_P18_GET(val)   ((((val) & PORT_P2_IN_P18) >> 18) & 0x1)
6458 +/* Port 2 Pin # Latched Input Value (17) */
6459 +#define PORT_P2_IN_P17   (0x1 << 17)
6460 +#define PORT_P2_IN_P17_GET(val)   ((((val) & PORT_P2_IN_P17) >> 17) & 0x1)
6461 +/* Port 2 Pin # Latched Input Value (16) */
6462 +#define PORT_P2_IN_P16   (0x1 << 16)
6463 +#define PORT_P2_IN_P16_GET(val)   ((((val) & PORT_P2_IN_P16) >> 16) & 0x1)
6464 +/* Port 2 Pin # Latched Input Value (15) */
6465 +#define PORT_P2_IN_P15   (0x1 << 15)
6466 +#define PORT_P2_IN_P15_GET(val)   ((((val) & PORT_P2_IN_P15) >> 15) & 0x1)
6467 +/* Port 2 Pin # Latched Input Value (14) */
6468 +#define PORT_P2_IN_P14   (0x1 << 14)
6469 +#define PORT_P2_IN_P14_GET(val)   ((((val) & PORT_P2_IN_P14) >> 14) & 0x1)
6470 +/* Port 2 Pin # Latched Input Value (13) */
6471 +#define PORT_P2_IN_P13   (0x1 << 13)
6472 +#define PORT_P2_IN_P13_GET(val)   ((((val) & PORT_P2_IN_P13) >> 13) & 0x1)
6473 +/* Port 2 Pin # Latched Input Value (12) */
6474 +#define PORT_P2_IN_P12   (0x1 << 12)
6475 +#define PORT_P2_IN_P12_GET(val)   ((((val) & PORT_P2_IN_P12) >> 12) & 0x1)
6476 +/* Port 2 Pin # Latched Input Value (11) */
6477 +#define PORT_P2_IN_P11   (0x1 << 11)
6478 +#define PORT_P2_IN_P11_GET(val)   ((((val) & PORT_P2_IN_P11) >> 11) & 0x1)
6479 +/* Port 2 Pin # Latched Input Value (10) */
6480 +#define PORT_P2_IN_P10   (0x1 << 10)
6481 +#define PORT_P2_IN_P10_GET(val)   ((((val) & PORT_P2_IN_P10) >> 10) & 0x1)
6482 +/* Port 2 Pin # Latched Input Value (9) */
6483 +#define PORT_P2_IN_P9   (0x1 << 9)
6484 +#define PORT_P2_IN_P9_GET(val)   ((((val) & PORT_P2_IN_P9) >> 9) & 0x1)
6485 +/* Port 2 Pin # Latched Input Value (8) */
6486 +#define PORT_P2_IN_P8   (0x1 << 8)
6487 +#define PORT_P2_IN_P8_GET(val)   ((((val) & PORT_P2_IN_P8) >> 8) & 0x1)
6488 +/* Port 2 Pin # Latched Input Value (7) */
6489 +#define PORT_P2_IN_P7   (0x1 << 7)
6490 +#define PORT_P2_IN_P7_GET(val)   ((((val) & PORT_P2_IN_P7) >> 7) & 0x1)
6491 +/* Port 2 Pin # Latched Input Value (6) */
6492 +#define PORT_P2_IN_P6   (0x1 << 6)
6493 +#define PORT_P2_IN_P6_GET(val)   ((((val) & PORT_P2_IN_P6) >> 6) & 0x1)
6494 +/* Port 2 Pin # Latched Input Value (5) */
6495 +#define PORT_P2_IN_P5   (0x1 << 5)
6496 +#define PORT_P2_IN_P5_GET(val)   ((((val) & PORT_P2_IN_P5) >> 5) & 0x1)
6497 +/* Port 2 Pin # Latched Input Value (4) */
6498 +#define PORT_P2_IN_P4   (0x1 << 4)
6499 +#define PORT_P2_IN_P4_GET(val)   ((((val) & PORT_P2_IN_P4) >> 4) & 0x1)
6500 +/* Port 2 Pin # Latched Input Value (3) */
6501 +#define PORT_P2_IN_P3   (0x1 << 3)
6502 +#define PORT_P2_IN_P3_GET(val)   ((((val) & PORT_P2_IN_P3) >> 3) & 0x1)
6503 +/* Port 2 Pin # Latched Input Value (2) */
6504 +#define PORT_P2_IN_P2   (0x1 << 2)
6505 +#define PORT_P2_IN_P2_GET(val)   ((((val) & PORT_P2_IN_P2) >> 2) & 0x1)
6506 +/* Port 2 Pin # Latched Input Value (1) */
6507 +#define PORT_P2_IN_P1   (0x1 << 1)
6508 +#define PORT_P2_IN_P1_GET(val)   ((((val) & PORT_P2_IN_P1) >> 1) & 0x1)
6509 +/* Port 2 Pin # Latched Input Value (0) */
6510 +#define PORT_P2_IN_P0   (0x1)
6511 +#define PORT_P2_IN_P0_GET(val)   ((((val) & PORT_P2_IN_P0) >> 0) & 0x1)
6512 +
6513 +/*******************************************************************************
6514 + * Port 2 Direction Register
6515 + ******************************************************************************/
6516 +
6517 +/* Port 2 Pin #Direction Control (19) */
6518 +#define PORT_P2_DIR_P19   (0x1 << 19)
6519 +#define PORT_P2_DIR_P19_VAL(val)   (((val) & 0x1) << 19)
6520 +#define PORT_P2_DIR_P19_GET(val)   ((((val) & PORT_P2_DIR_P19) >> 19) & 0x1)
6521 +#define PORT_P2_DIR_P19_SET(reg,val) (reg) = ((reg & ~PORT_P2_DIR_P19) | (((val) & 0x1) << 19))
6522 +/* Port 2 Pin #Direction Control (18) */
6523 +#define PORT_P2_DIR_P18   (0x1 << 18)
6524 +#define PORT_P2_DIR_P18_VAL(val)   (((val) & 0x1) << 18)
6525 +#define PORT_P2_DIR_P18_GET(val)   ((((val) & PORT_P2_DIR_P18) >> 18) & 0x1)
6526 +#define PORT_P2_DIR_P18_SET(reg,val) (reg) = ((reg & ~PORT_P2_DIR_P18) | (((val) & 0x1) << 18))
6527 +/* Port 2 Pin #Direction Control (17) */
6528 +#define PORT_P2_DIR_P17   (0x1 << 17)
6529 +#define PORT_P2_DIR_P17_VAL(val)   (((val) & 0x1) << 17)
6530 +#define PORT_P2_DIR_P17_GET(val)   ((((val) & PORT_P2_DIR_P17) >> 17) & 0x1)
6531 +#define PORT_P2_DIR_P17_SET(reg,val) (reg) = ((reg & ~PORT_P2_DIR_P17) | (((val) & 0x1) << 17))
6532 +/* Port 2 Pin #Direction Control (16) */
6533 +#define PORT_P2_DIR_P16   (0x1 << 16)
6534 +#define PORT_P2_DIR_P16_VAL(val)   (((val) & 0x1) << 16)
6535 +#define PORT_P2_DIR_P16_GET(val)   ((((val) & PORT_P2_DIR_P16) >> 16) & 0x1)
6536 +#define PORT_P2_DIR_P16_SET(reg,val) (reg) = ((reg & ~PORT_P2_DIR_P16) | (((val) & 0x1) << 16))
6537 +/* Port 2 Pin #Direction Control (15) */
6538 +#define PORT_P2_DIR_P15   (0x1 << 15)
6539 +#define PORT_P2_DIR_P15_VAL(val)   (((val) & 0x1) << 15)
6540 +#define PORT_P2_DIR_P15_GET(val)   ((((val) & PORT_P2_DIR_P15) >> 15) & 0x1)
6541 +#define PORT_P2_DIR_P15_SET(reg,val) (reg) = ((reg & ~PORT_P2_DIR_P15) | (((val) & 0x1) << 15))
6542 +/* Port 2 Pin #Direction Control (14) */
6543 +#define PORT_P2_DIR_P14   (0x1 << 14)
6544 +#define PORT_P2_DIR_P14_VAL(val)   (((val) & 0x1) << 14)
6545 +#define PORT_P2_DIR_P14_GET(val)   ((((val) & PORT_P2_DIR_P14) >> 14) & 0x1)
6546 +#define PORT_P2_DIR_P14_SET(reg,val) (reg) = ((reg & ~PORT_P2_DIR_P14) | (((val) & 0x1) << 14))
6547 +/* Port 2 Pin #Direction Control (13) */
6548 +#define PORT_P2_DIR_P13   (0x1 << 13)
6549 +#define PORT_P2_DIR_P13_VAL(val)   (((val) & 0x1) << 13)
6550 +#define PORT_P2_DIR_P13_GET(val)   ((((val) & PORT_P2_DIR_P13) >> 13) & 0x1)
6551 +#define PORT_P2_DIR_P13_SET(reg,val) (reg) = ((reg & ~PORT_P2_DIR_P13) | (((val) & 0x1) << 13))
6552 +/* Port 2 Pin #Direction Control (12) */
6553 +#define PORT_P2_DIR_P12   (0x1 << 12)
6554 +#define PORT_P2_DIR_P12_VAL(val)   (((val) & 0x1) << 12)
6555 +#define PORT_P2_DIR_P12_GET(val)   ((((val) & PORT_P2_DIR_P12) >> 12) & 0x1)
6556 +#define PORT_P2_DIR_P12_SET(reg,val) (reg) = ((reg & ~PORT_P2_DIR_P12) | (((val) & 0x1) << 12))
6557 +/* Port 2 Pin #Direction Control (11) */
6558 +#define PORT_P2_DIR_P11   (0x1 << 11)
6559 +#define PORT_P2_DIR_P11_VAL(val)   (((val) & 0x1) << 11)
6560 +#define PORT_P2_DIR_P11_GET(val)   ((((val) & PORT_P2_DIR_P11) >> 11) & 0x1)
6561 +#define PORT_P2_DIR_P11_SET(reg,val) (reg) = ((reg & ~PORT_P2_DIR_P11) | (((val) & 0x1) << 11))
6562 +/* Port 2 Pin #Direction Control (10) */
6563 +#define PORT_P2_DIR_P10   (0x1 << 10)
6564 +#define PORT_P2_DIR_P10_VAL(val)   (((val) & 0x1) << 10)
6565 +#define PORT_P2_DIR_P10_GET(val)   ((((val) & PORT_P2_DIR_P10) >> 10) & 0x1)
6566 +#define PORT_P2_DIR_P10_SET(reg,val) (reg) = ((reg & ~PORT_P2_DIR_P10) | (((val) & 0x1) << 10))
6567 +/* Port 2 Pin #Direction Control (9) */
6568 +#define PORT_P2_DIR_P9   (0x1 << 9)
6569 +#define PORT_P2_DIR_P9_VAL(val)   (((val) & 0x1) << 9)
6570 +#define PORT_P2_DIR_P9_GET(val)   ((((val) & PORT_P2_DIR_P9) >> 9) & 0x1)
6571 +#define PORT_P2_DIR_P9_SET(reg,val) (reg) = ((reg & ~PORT_P2_DIR_P9) | (((val) & 0x1) << 9))
6572 +/* Port 2 Pin #Direction Control (8) */
6573 +#define PORT_P2_DIR_P8   (0x1 << 8)
6574 +#define PORT_P2_DIR_P8_VAL(val)   (((val) & 0x1) << 8)
6575 +#define PORT_P2_DIR_P8_GET(val)   ((((val) & PORT_P2_DIR_P8) >> 8) & 0x1)
6576 +#define PORT_P2_DIR_P8_SET(reg,val) (reg) = ((reg & ~PORT_P2_DIR_P8) | (((val) & 0x1) << 8))
6577 +/* Port 2 Pin #Direction Control (7) */
6578 +#define PORT_P2_DIR_P7   (0x1 << 7)
6579 +#define PORT_P2_DIR_P7_VAL(val)   (((val) & 0x1) << 7)
6580 +#define PORT_P2_DIR_P7_GET(val)   ((((val) & PORT_P2_DIR_P7) >> 7) & 0x1)
6581 +#define PORT_P2_DIR_P7_SET(reg,val) (reg) = ((reg & ~PORT_P2_DIR_P7) | (((val) & 0x1) << 7))
6582 +/* Port 2 Pin #Direction Control (6) */
6583 +#define PORT_P2_DIR_P6   (0x1 << 6)
6584 +#define PORT_P2_DIR_P6_VAL(val)   (((val) & 0x1) << 6)
6585 +#define PORT_P2_DIR_P6_GET(val)   ((((val) & PORT_P2_DIR_P6) >> 6) & 0x1)
6586 +#define PORT_P2_DIR_P6_SET(reg,val) (reg) = ((reg & ~PORT_P2_DIR_P6) | (((val) & 0x1) << 6))
6587 +/* Port 2 Pin #Direction Control (5) */
6588 +#define PORT_P2_DIR_P5   (0x1 << 5)
6589 +#define PORT_P2_DIR_P5_VAL(val)   (((val) & 0x1) << 5)
6590 +#define PORT_P2_DIR_P5_GET(val)   ((((val) & PORT_P2_DIR_P5) >> 5) & 0x1)
6591 +#define PORT_P2_DIR_P5_SET(reg,val) (reg) = ((reg & ~PORT_P2_DIR_P5) | (((val) & 0x1) << 5))
6592 +/* Port 2 Pin #Direction Control (4) */
6593 +#define PORT_P2_DIR_P4   (0x1 << 4)
6594 +#define PORT_P2_DIR_P4_VAL(val)   (((val) & 0x1) << 4)
6595 +#define PORT_P2_DIR_P4_GET(val)   ((((val) & PORT_P2_DIR_P4) >> 4) & 0x1)
6596 +#define PORT_P2_DIR_P4_SET(reg,val) (reg) = ((reg & ~PORT_P2_DIR_P4) | (((val) & 0x1) << 4))
6597 +/* Port 2 Pin #Direction Control (3) */
6598 +#define PORT_P2_DIR_P3   (0x1 << 3)
6599 +#define PORT_P2_DIR_P3_VAL(val)   (((val) & 0x1) << 3)
6600 +#define PORT_P2_DIR_P3_GET(val)   ((((val) & PORT_P2_DIR_P3) >> 3) & 0x1)
6601 +#define PORT_P2_DIR_P3_SET(reg,val) (reg) = ((reg & ~PORT_P2_DIR_P3) | (((val) & 0x1) << 3))
6602 +/* Port 2 Pin #Direction Control (2) */
6603 +#define PORT_P2_DIR_P2   (0x1 << 2)
6604 +#define PORT_P2_DIR_P2_VAL(val)   (((val) & 0x1) << 2)
6605 +#define PORT_P2_DIR_P2_GET(val)   ((((val) & PORT_P2_DIR_P2) >> 2) & 0x1)
6606 +#define PORT_P2_DIR_P2_SET(reg,val) (reg) = ((reg & ~PORT_P2_DIR_P2) | (((val) & 0x1) << 2))
6607 +/* Port 2 Pin #Direction Control (1) */
6608 +#define PORT_P2_DIR_P1   (0x1 << 1)
6609 +#define PORT_P2_DIR_P1_VAL(val)   (((val) & 0x1) << 1)
6610 +#define PORT_P2_DIR_P1_GET(val)   ((((val) & PORT_P2_DIR_P1) >> 1) & 0x1)
6611 +#define PORT_P2_DIR_P1_SET(reg,val) (reg) = ((reg & ~PORT_P2_DIR_P1) | (((val) & 0x1) << 1))
6612 +/* Port 2 Pin #Direction Control (0) */
6613 +#define PORT_P2_DIR_P0   (0x1)
6614 +#define PORT_P2_DIR_P0_VAL(val)   (((val) & 0x1) << 0)
6615 +#define PORT_P2_DIR_P0_GET(val)   ((((val) & PORT_P2_DIR_P0) >> 0) & 0x1)
6616 +#define PORT_P2_DIR_P0_SET(reg,val) (reg) = ((reg & ~PORT_P2_DIR_P0) | (((val) & 0x1) << 0))
6617 +
6618 +/*******************************************************************************
6619 + * Port 2 Alternate Function Select Register 0
6620 + ******************************************************************************/
6621 +
6622 +/* Alternate Function at Port 2 Bit # (19) */
6623 +#define PORT_P2_ALTSEL0_P19   (0x1 << 19)
6624 +#define PORT_P2_ALTSEL0_P19_VAL(val)   (((val) & 0x1) << 19)
6625 +#define PORT_P2_ALTSEL0_P19_GET(val)   ((((val) & PORT_P2_ALTSEL0_P19) >> 19) & 0x1)
6626 +#define PORT_P2_ALTSEL0_P19_SET(reg,val) (reg) = ((reg & ~PORT_P2_ALTSEL0_P19) | (((val) & 0x1) << 19))
6627 +/* Alternate Function at Port 2 Bit # (18) */
6628 +#define PORT_P2_ALTSEL0_P18   (0x1 << 18)
6629 +#define PORT_P2_ALTSEL0_P18_VAL(val)   (((val) & 0x1) << 18)
6630 +#define PORT_P2_ALTSEL0_P18_GET(val)   ((((val) & PORT_P2_ALTSEL0_P18) >> 18) & 0x1)
6631 +#define PORT_P2_ALTSEL0_P18_SET(reg,val) (reg) = ((reg & ~PORT_P2_ALTSEL0_P18) | (((val) & 0x1) << 18))
6632 +/* Alternate Function at Port 2 Bit # (17) */
6633 +#define PORT_P2_ALTSEL0_P17   (0x1 << 17)
6634 +#define PORT_P2_ALTSEL0_P17_VAL(val)   (((val) & 0x1) << 17)
6635 +#define PORT_P2_ALTSEL0_P17_GET(val)   ((((val) & PORT_P2_ALTSEL0_P17) >> 17) & 0x1)
6636 +#define PORT_P2_ALTSEL0_P17_SET(reg,val) (reg) = ((reg & ~PORT_P2_ALTSEL0_P17) | (((val) & 0x1) << 17))
6637 +/* Alternate Function at Port 2 Bit # (16) */
6638 +#define PORT_P2_ALTSEL0_P16   (0x1 << 16)
6639 +#define PORT_P2_ALTSEL0_P16_VAL(val)   (((val) & 0x1) << 16)
6640 +#define PORT_P2_ALTSEL0_P16_GET(val)   ((((val) & PORT_P2_ALTSEL0_P16) >> 16) & 0x1)
6641 +#define PORT_P2_ALTSEL0_P16_SET(reg,val) (reg) = ((reg & ~PORT_P2_ALTSEL0_P16) | (((val) & 0x1) << 16))
6642 +/* Alternate Function at Port 2 Bit # (15) */
6643 +#define PORT_P2_ALTSEL0_P15   (0x1 << 15)
6644 +#define PORT_P2_ALTSEL0_P15_VAL(val)   (((val) & 0x1) << 15)
6645 +#define PORT_P2_ALTSEL0_P15_GET(val)   ((((val) & PORT_P2_ALTSEL0_P15) >> 15) & 0x1)
6646 +#define PORT_P2_ALTSEL0_P15_SET(reg,val) (reg) = ((reg & ~PORT_P2_ALTSEL0_P15) | (((val) & 0x1) << 15))
6647 +/* Alternate Function at Port 2 Bit # (14) */
6648 +#define PORT_P2_ALTSEL0_P14   (0x1 << 14)
6649 +#define PORT_P2_ALTSEL0_P14_VAL(val)   (((val) & 0x1) << 14)
6650 +#define PORT_P2_ALTSEL0_P14_GET(val)   ((((val) & PORT_P2_ALTSEL0_P14) >> 14) & 0x1)
6651 +#define PORT_P2_ALTSEL0_P14_SET(reg,val) (reg) = ((reg & ~PORT_P2_ALTSEL0_P14) | (((val) & 0x1) << 14))
6652 +/* Alternate Function at Port 2 Bit # (13) */
6653 +#define PORT_P2_ALTSEL0_P13   (0x1 << 13)
6654 +#define PORT_P2_ALTSEL0_P13_VAL(val)   (((val) & 0x1) << 13)
6655 +#define PORT_P2_ALTSEL0_P13_GET(val)   ((((val) & PORT_P2_ALTSEL0_P13) >> 13) & 0x1)
6656 +#define PORT_P2_ALTSEL0_P13_SET(reg,val) (reg) = ((reg & ~PORT_P2_ALTSEL0_P13) | (((val) & 0x1) << 13))
6657 +/* Alternate Function at Port 2 Bit # (12) */
6658 +#define PORT_P2_ALTSEL0_P12   (0x1 << 12)
6659 +#define PORT_P2_ALTSEL0_P12_VAL(val)   (((val) & 0x1) << 12)
6660 +#define PORT_P2_ALTSEL0_P12_GET(val)   ((((val) & PORT_P2_ALTSEL0_P12) >> 12) & 0x1)
6661 +#define PORT_P2_ALTSEL0_P12_SET(reg,val) (reg) = ((reg & ~PORT_P2_ALTSEL0_P12) | (((val) & 0x1) << 12))
6662 +/* Alternate Function at Port 2 Bit # (11) */
6663 +#define PORT_P2_ALTSEL0_P11   (0x1 << 11)
6664 +#define PORT_P2_ALTSEL0_P11_VAL(val)   (((val) & 0x1) << 11)
6665 +#define PORT_P2_ALTSEL0_P11_GET(val)   ((((val) & PORT_P2_ALTSEL0_P11) >> 11) & 0x1)
6666 +#define PORT_P2_ALTSEL0_P11_SET(reg,val) (reg) = ((reg & ~PORT_P2_ALTSEL0_P11) | (((val) & 0x1) << 11))
6667 +/* Alternate Function at Port 2 Bit # (10) */
6668 +#define PORT_P2_ALTSEL0_P10   (0x1 << 10)
6669 +#define PORT_P2_ALTSEL0_P10_VAL(val)   (((val) & 0x1) << 10)
6670 +#define PORT_P2_ALTSEL0_P10_GET(val)   ((((val) & PORT_P2_ALTSEL0_P10) >> 10) & 0x1)
6671 +#define PORT_P2_ALTSEL0_P10_SET(reg,val) (reg) = ((reg & ~PORT_P2_ALTSEL0_P10) | (((val) & 0x1) << 10))
6672 +/* Alternate Function at Port 2 Bit # (9) */
6673 +#define PORT_P2_ALTSEL0_P9   (0x1 << 9)
6674 +#define PORT_P2_ALTSEL0_P9_VAL(val)   (((val) & 0x1) << 9)
6675 +#define PORT_P2_ALTSEL0_P9_GET(val)   ((((val) & PORT_P2_ALTSEL0_P9) >> 9) & 0x1)
6676 +#define PORT_P2_ALTSEL0_P9_SET(reg,val) (reg) = ((reg & ~PORT_P2_ALTSEL0_P9) | (((val) & 0x1) << 9))
6677 +/* Alternate Function at Port 2 Bit # (8) */
6678 +#define PORT_P2_ALTSEL0_P8   (0x1 << 8)
6679 +#define PORT_P2_ALTSEL0_P8_VAL(val)   (((val) & 0x1) << 8)
6680 +#define PORT_P2_ALTSEL0_P8_GET(val)   ((((val) & PORT_P2_ALTSEL0_P8) >> 8) & 0x1)
6681 +#define PORT_P2_ALTSEL0_P8_SET(reg,val) (reg) = ((reg & ~PORT_P2_ALTSEL0_P8) | (((val) & 0x1) << 8))
6682 +/* Alternate Function at Port 2 Bit # (7) */
6683 +#define PORT_P2_ALTSEL0_P7   (0x1 << 7)
6684 +#define PORT_P2_ALTSEL0_P7_VAL(val)   (((val) & 0x1) << 7)
6685 +#define PORT_P2_ALTSEL0_P7_GET(val)   ((((val) & PORT_P2_ALTSEL0_P7) >> 7) & 0x1)
6686 +#define PORT_P2_ALTSEL0_P7_SET(reg,val) (reg) = ((reg & ~PORT_P2_ALTSEL0_P7) | (((val) & 0x1) << 7))
6687 +/* Alternate Function at Port 2 Bit # (6) */
6688 +#define PORT_P2_ALTSEL0_P6   (0x1 << 6)
6689 +#define PORT_P2_ALTSEL0_P6_VAL(val)   (((val) & 0x1) << 6)
6690 +#define PORT_P2_ALTSEL0_P6_GET(val)   ((((val) & PORT_P2_ALTSEL0_P6) >> 6) & 0x1)
6691 +#define PORT_P2_ALTSEL0_P6_SET(reg,val) (reg) = ((reg & ~PORT_P2_ALTSEL0_P6) | (((val) & 0x1) << 6))
6692 +/* Alternate Function at Port 2 Bit # (5) */
6693 +#define PORT_P2_ALTSEL0_P5   (0x1 << 5)
6694 +#define PORT_P2_ALTSEL0_P5_VAL(val)   (((val) & 0x1) << 5)
6695 +#define PORT_P2_ALTSEL0_P5_GET(val)   ((((val) & PORT_P2_ALTSEL0_P5) >> 5) & 0x1)
6696 +#define PORT_P2_ALTSEL0_P5_SET(reg,val) (reg) = ((reg & ~PORT_P2_ALTSEL0_P5) | (((val) & 0x1) << 5))
6697 +/* Alternate Function at Port 2 Bit # (4) */
6698 +#define PORT_P2_ALTSEL0_P4   (0x1 << 4)
6699 +#define PORT_P2_ALTSEL0_P4_VAL(val)   (((val) & 0x1) << 4)
6700 +#define PORT_P2_ALTSEL0_P4_GET(val)   ((((val) & PORT_P2_ALTSEL0_P4) >> 4) & 0x1)
6701 +#define PORT_P2_ALTSEL0_P4_SET(reg,val) (reg) = ((reg & ~PORT_P2_ALTSEL0_P4) | (((val) & 0x1) << 4))
6702 +/* Alternate Function at Port 2 Bit # (3) */
6703 +#define PORT_P2_ALTSEL0_P3   (0x1 << 3)
6704 +#define PORT_P2_ALTSEL0_P3_VAL(val)   (((val) & 0x1) << 3)
6705 +#define PORT_P2_ALTSEL0_P3_GET(val)   ((((val) & PORT_P2_ALTSEL0_P3) >> 3) & 0x1)
6706 +#define PORT_P2_ALTSEL0_P3_SET(reg,val) (reg) = ((reg & ~PORT_P2_ALTSEL0_P3) | (((val) & 0x1) << 3))
6707 +/* Alternate Function at Port 2 Bit # (2) */
6708 +#define PORT_P2_ALTSEL0_P2   (0x1 << 2)
6709 +#define PORT_P2_ALTSEL0_P2_VAL(val)   (((val) & 0x1) << 2)
6710 +#define PORT_P2_ALTSEL0_P2_GET(val)   ((((val) & PORT_P2_ALTSEL0_P2) >> 2) & 0x1)
6711 +#define PORT_P2_ALTSEL0_P2_SET(reg,val) (reg) = ((reg & ~PORT_P2_ALTSEL0_P2) | (((val) & 0x1) << 2))
6712 +/* Alternate Function at Port 2 Bit # (1) */
6713 +#define PORT_P2_ALTSEL0_P1   (0x1 << 1)
6714 +#define PORT_P2_ALTSEL0_P1_VAL(val)   (((val) & 0x1) << 1)
6715 +#define PORT_P2_ALTSEL0_P1_GET(val)   ((((val) & PORT_P2_ALTSEL0_P1) >> 1) & 0x1)
6716 +#define PORT_P2_ALTSEL0_P1_SET(reg,val) (reg) = ((reg & ~PORT_P2_ALTSEL0_P1) | (((val) & 0x1) << 1))
6717 +/* Alternate Function at Port 2 Bit # (0) */
6718 +#define PORT_P2_ALTSEL0_P0   (0x1)
6719 +#define PORT_P2_ALTSEL0_P0_VAL(val)   (((val) & 0x1) << 0)
6720 +#define PORT_P2_ALTSEL0_P0_GET(val)   ((((val) & PORT_P2_ALTSEL0_P0) >> 0) & 0x1)
6721 +#define PORT_P2_ALTSEL0_P0_SET(reg,val) (reg) = ((reg & ~PORT_P2_ALTSEL0_P0) | (((val) & 0x1) << 0))
6722 +
6723 +/*******************************************************************************
6724 + * Port 2 Pull Up Device Enable Register
6725 + ******************************************************************************/
6726 +
6727 +/* Pull Up Device Enable at Port 2 Bit # (19) */
6728 +#define PORT_P2_PUEN_P19   (0x1 << 19)
6729 +#define PORT_P2_PUEN_P19_VAL(val)   (((val) & 0x1) << 19)
6730 +#define PORT_P2_PUEN_P19_GET(val)   ((((val) & PORT_P2_PUEN_P19) >> 19) & 0x1)
6731 +#define PORT_P2_PUEN_P19_SET(reg,val) (reg) = ((reg & ~PORT_P2_PUEN_P19) | (((val) & 0x1) << 19))
6732 +/* Pull Up Device Enable at Port 2 Bit # (18) */
6733 +#define PORT_P2_PUEN_P18   (0x1 << 18)
6734 +#define PORT_P2_PUEN_P18_VAL(val)   (((val) & 0x1) << 18)
6735 +#define PORT_P2_PUEN_P18_GET(val)   ((((val) & PORT_P2_PUEN_P18) >> 18) & 0x1)
6736 +#define PORT_P2_PUEN_P18_SET(reg,val) (reg) = ((reg & ~PORT_P2_PUEN_P18) | (((val) & 0x1) << 18))
6737 +/* Pull Up Device Enable at Port 2 Bit # (17) */
6738 +#define PORT_P2_PUEN_P17   (0x1 << 17)
6739 +#define PORT_P2_PUEN_P17_VAL(val)   (((val) & 0x1) << 17)
6740 +#define PORT_P2_PUEN_P17_GET(val)   ((((val) & PORT_P2_PUEN_P17) >> 17) & 0x1)
6741 +#define PORT_P2_PUEN_P17_SET(reg,val) (reg) = ((reg & ~PORT_P2_PUEN_P17) | (((val) & 0x1) << 17))
6742 +/* Pull Up Device Enable at Port 2 Bit # (16) */
6743 +#define PORT_P2_PUEN_P16   (0x1 << 16)
6744 +#define PORT_P2_PUEN_P16_VAL(val)   (((val) & 0x1) << 16)
6745 +#define PORT_P2_PUEN_P16_GET(val)   ((((val) & PORT_P2_PUEN_P16) >> 16) & 0x1)
6746 +#define PORT_P2_PUEN_P16_SET(reg,val) (reg) = ((reg & ~PORT_P2_PUEN_P16) | (((val) & 0x1) << 16))
6747 +/* Pull Up Device Enable at Port 2 Bit # (15) */
6748 +#define PORT_P2_PUEN_P15   (0x1 << 15)
6749 +#define PORT_P2_PUEN_P15_VAL(val)   (((val) & 0x1) << 15)
6750 +#define PORT_P2_PUEN_P15_GET(val)   ((((val) & PORT_P2_PUEN_P15) >> 15) & 0x1)
6751 +#define PORT_P2_PUEN_P15_SET(reg,val) (reg) = ((reg & ~PORT_P2_PUEN_P15) | (((val) & 0x1) << 15))
6752 +/* Pull Up Device Enable at Port 2 Bit # (14) */
6753 +#define PORT_P2_PUEN_P14   (0x1 << 14)
6754 +#define PORT_P2_PUEN_P14_VAL(val)   (((val) & 0x1) << 14)
6755 +#define PORT_P2_PUEN_P14_GET(val)   ((((val) & PORT_P2_PUEN_P14) >> 14) & 0x1)
6756 +#define PORT_P2_PUEN_P14_SET(reg,val) (reg) = ((reg & ~PORT_P2_PUEN_P14) | (((val) & 0x1) << 14))
6757 +/* Pull Up Device Enable at Port 2 Bit # (13) */
6758 +#define PORT_P2_PUEN_P13   (0x1 << 13)
6759 +#define PORT_P2_PUEN_P13_VAL(val)   (((val) & 0x1) << 13)
6760 +#define PORT_P2_PUEN_P13_GET(val)   ((((val) & PORT_P2_PUEN_P13) >> 13) & 0x1)
6761 +#define PORT_P2_PUEN_P13_SET(reg,val) (reg) = ((reg & ~PORT_P2_PUEN_P13) | (((val) & 0x1) << 13))
6762 +/* Pull Up Device Enable at Port 2 Bit # (12) */
6763 +#define PORT_P2_PUEN_P12   (0x1 << 12)
6764 +#define PORT_P2_PUEN_P12_VAL(val)   (((val) & 0x1) << 12)
6765 +#define PORT_P2_PUEN_P12_GET(val)   ((((val) & PORT_P2_PUEN_P12) >> 12) & 0x1)
6766 +#define PORT_P2_PUEN_P12_SET(reg,val) (reg) = ((reg & ~PORT_P2_PUEN_P12) | (((val) & 0x1) << 12))
6767 +/* Pull Up Device Enable at Port 2 Bit # (11) */
6768 +#define PORT_P2_PUEN_P11   (0x1 << 11)
6769 +#define PORT_P2_PUEN_P11_VAL(val)   (((val) & 0x1) << 11)
6770 +#define PORT_P2_PUEN_P11_GET(val)   ((((val) & PORT_P2_PUEN_P11) >> 11) & 0x1)
6771 +#define PORT_P2_PUEN_P11_SET(reg,val) (reg) = ((reg & ~PORT_P2_PUEN_P11) | (((val) & 0x1) << 11))
6772 +/* Pull Up Device Enable at Port 2 Bit # (10) */
6773 +#define PORT_P2_PUEN_P10   (0x1 << 10)
6774 +#define PORT_P2_PUEN_P10_VAL(val)   (((val) & 0x1) << 10)
6775 +#define PORT_P2_PUEN_P10_GET(val)   ((((val) & PORT_P2_PUEN_P10) >> 10) & 0x1)
6776 +#define PORT_P2_PUEN_P10_SET(reg,val) (reg) = ((reg & ~PORT_P2_PUEN_P10) | (((val) & 0x1) << 10))
6777 +/* Pull Up Device Enable at Port 2 Bit # (9) */
6778 +#define PORT_P2_PUEN_P9   (0x1 << 9)
6779 +#define PORT_P2_PUEN_P9_VAL(val)   (((val) & 0x1) << 9)
6780 +#define PORT_P2_PUEN_P9_GET(val)   ((((val) & PORT_P2_PUEN_P9) >> 9) & 0x1)
6781 +#define PORT_P2_PUEN_P9_SET(reg,val) (reg) = ((reg & ~PORT_P2_PUEN_P9) | (((val) & 0x1) << 9))
6782 +/* Pull Up Device Enable at Port 2 Bit # (8) */
6783 +#define PORT_P2_PUEN_P8   (0x1 << 8)
6784 +#define PORT_P2_PUEN_P8_VAL(val)   (((val) & 0x1) << 8)
6785 +#define PORT_P2_PUEN_P8_GET(val)   ((((val) & PORT_P2_PUEN_P8) >> 8) & 0x1)
6786 +#define PORT_P2_PUEN_P8_SET(reg,val) (reg) = ((reg & ~PORT_P2_PUEN_P8) | (((val) & 0x1) << 8))
6787 +/* Pull Up Device Enable at Port 2 Bit # (7) */
6788 +#define PORT_P2_PUEN_P7   (0x1 << 7)
6789 +#define PORT_P2_PUEN_P7_VAL(val)   (((val) & 0x1) << 7)
6790 +#define PORT_P2_PUEN_P7_GET(val)   ((((val) & PORT_P2_PUEN_P7) >> 7) & 0x1)
6791 +#define PORT_P2_PUEN_P7_SET(reg,val) (reg) = ((reg & ~PORT_P2_PUEN_P7) | (((val) & 0x1) << 7))
6792 +/* Pull Up Device Enable at Port 2 Bit # (6) */
6793 +#define PORT_P2_PUEN_P6   (0x1 << 6)
6794 +#define PORT_P2_PUEN_P6_VAL(val)   (((val) & 0x1) << 6)
6795 +#define PORT_P2_PUEN_P6_GET(val)   ((((val) & PORT_P2_PUEN_P6) >> 6) & 0x1)
6796 +#define PORT_P2_PUEN_P6_SET(reg,val) (reg) = ((reg & ~PORT_P2_PUEN_P6) | (((val) & 0x1) << 6))
6797 +/* Pull Up Device Enable at Port 2 Bit # (5) */
6798 +#define PORT_P2_PUEN_P5   (0x1 << 5)
6799 +#define PORT_P2_PUEN_P5_VAL(val)   (((val) & 0x1) << 5)
6800 +#define PORT_P2_PUEN_P5_GET(val)   ((((val) & PORT_P2_PUEN_P5) >> 5) & 0x1)
6801 +#define PORT_P2_PUEN_P5_SET(reg,val) (reg) = ((reg & ~PORT_P2_PUEN_P5) | (((val) & 0x1) << 5))
6802 +/* Pull Up Device Enable at Port 2 Bit # (4) */
6803 +#define PORT_P2_PUEN_P4   (0x1 << 4)
6804 +#define PORT_P2_PUEN_P4_VAL(val)   (((val) & 0x1) << 4)
6805 +#define PORT_P2_PUEN_P4_GET(val)   ((((val) & PORT_P2_PUEN_P4) >> 4) & 0x1)
6806 +#define PORT_P2_PUEN_P4_SET(reg,val) (reg) = ((reg & ~PORT_P2_PUEN_P4) | (((val) & 0x1) << 4))
6807 +/* Pull Up Device Enable at Port 2 Bit # (3) */
6808 +#define PORT_P2_PUEN_P3   (0x1 << 3)
6809 +#define PORT_P2_PUEN_P3_VAL(val)   (((val) & 0x1) << 3)
6810 +#define PORT_P2_PUEN_P3_GET(val)   ((((val) & PORT_P2_PUEN_P3) >> 3) & 0x1)
6811 +#define PORT_P2_PUEN_P3_SET(reg,val) (reg) = ((reg & ~PORT_P2_PUEN_P3) | (((val) & 0x1) << 3))
6812 +/* Pull Up Device Enable at Port 2 Bit # (2) */
6813 +#define PORT_P2_PUEN_P2   (0x1 << 2)
6814 +#define PORT_P2_PUEN_P2_VAL(val)   (((val) & 0x1) << 2)
6815 +#define PORT_P2_PUEN_P2_GET(val)   ((((val) & PORT_P2_PUEN_P2) >> 2) & 0x1)
6816 +#define PORT_P2_PUEN_P2_SET(reg,val) (reg) = ((reg & ~PORT_P2_PUEN_P2) | (((val) & 0x1) << 2))
6817 +/* Pull Up Device Enable at Port 2 Bit # (1) */
6818 +#define PORT_P2_PUEN_P1   (0x1 << 1)
6819 +#define PORT_P2_PUEN_P1_VAL(val)   (((val) & 0x1) << 1)
6820 +#define PORT_P2_PUEN_P1_GET(val)   ((((val) & PORT_P2_PUEN_P1) >> 1) & 0x1)
6821 +#define PORT_P2_PUEN_P1_SET(reg,val) (reg) = ((reg & ~PORT_P2_PUEN_P1) | (((val) & 0x1) << 1))
6822 +/* Pull Up Device Enable at Port 2 Bit # (0) */
6823 +#define PORT_P2_PUEN_P0   (0x1)
6824 +#define PORT_P2_PUEN_P0_VAL(val)   (((val) & 0x1) << 0)
6825 +#define PORT_P2_PUEN_P0_GET(val)   ((((val) & PORT_P2_PUEN_P0) >> 0) & 0x1)
6826 +#define PORT_P2_PUEN_P0_SET(reg,val) (reg) = ((reg & ~PORT_P2_PUEN_P0) | (((val) & 0x1) << 0))
6827 +
6828 +/*******************************************************************************
6829 + * Port 3 Data Output Register
6830 + ******************************************************************************/
6831 +
6832 +/* Port 3 Pin # Output Value (19) */
6833 +#define PORT_P3_OUT_P19   (0x1 << 19)
6834 +#define PORT_P3_OUT_P19_VAL(val)   (((val) & 0x1) << 19)
6835 +#define PORT_P3_OUT_P19_GET(val)   ((((val) & PORT_P3_OUT_P19) >> 19) & 0x1)
6836 +#define PORT_P3_OUT_P19_SET(reg,val) (reg) = ((reg & ~PORT_P3_OUT_P19) | (((val) & 0x1) << 19))
6837 +/* Port 3 Pin # Output Value (18) */
6838 +#define PORT_P3_OUT_P18   (0x1 << 18)
6839 +#define PORT_P3_OUT_P18_VAL(val)   (((val) & 0x1) << 18)
6840 +#define PORT_P3_OUT_P18_GET(val)   ((((val) & PORT_P3_OUT_P18) >> 18) & 0x1)
6841 +#define PORT_P3_OUT_P18_SET(reg,val) (reg) = ((reg & ~PORT_P3_OUT_P18) | (((val) & 0x1) << 18))
6842 +/* Port 3 Pin # Output Value (17) */
6843 +#define PORT_P3_OUT_P17   (0x1 << 17)
6844 +#define PORT_P3_OUT_P17_VAL(val)   (((val) & 0x1) << 17)
6845 +#define PORT_P3_OUT_P17_GET(val)   ((((val) & PORT_P3_OUT_P17) >> 17) & 0x1)
6846 +#define PORT_P3_OUT_P17_SET(reg,val) (reg) = ((reg & ~PORT_P3_OUT_P17) | (((val) & 0x1) << 17))
6847 +/* Port 3 Pin # Output Value (16) */
6848 +#define PORT_P3_OUT_P16   (0x1 << 16)
6849 +#define PORT_P3_OUT_P16_VAL(val)   (((val) & 0x1) << 16)
6850 +#define PORT_P3_OUT_P16_GET(val)   ((((val) & PORT_P3_OUT_P16) >> 16) & 0x1)
6851 +#define PORT_P3_OUT_P16_SET(reg,val) (reg) = ((reg & ~PORT_P3_OUT_P16) | (((val) & 0x1) << 16))
6852 +/* Port 3 Pin # Output Value (15) */
6853 +#define PORT_P3_OUT_P15   (0x1 << 15)
6854 +#define PORT_P3_OUT_P15_VAL(val)   (((val) & 0x1) << 15)
6855 +#define PORT_P3_OUT_P15_GET(val)   ((((val) & PORT_P3_OUT_P15) >> 15) & 0x1)
6856 +#define PORT_P3_OUT_P15_SET(reg,val) (reg) = ((reg & ~PORT_P3_OUT_P15) | (((val) & 0x1) << 15))
6857 +/* Port 3 Pin # Output Value (14) */
6858 +#define PORT_P3_OUT_P14   (0x1 << 14)
6859 +#define PORT_P3_OUT_P14_VAL(val)   (((val) & 0x1) << 14)
6860 +#define PORT_P3_OUT_P14_GET(val)   ((((val) & PORT_P3_OUT_P14) >> 14) & 0x1)
6861 +#define PORT_P3_OUT_P14_SET(reg,val) (reg) = ((reg & ~PORT_P3_OUT_P14) | (((val) & 0x1) << 14))
6862 +/* Port 3 Pin # Output Value (13) */
6863 +#define PORT_P3_OUT_P13   (0x1 << 13)
6864 +#define PORT_P3_OUT_P13_VAL(val)   (((val) & 0x1) << 13)
6865 +#define PORT_P3_OUT_P13_GET(val)   ((((val) & PORT_P3_OUT_P13) >> 13) & 0x1)
6866 +#define PORT_P3_OUT_P13_SET(reg,val) (reg) = ((reg & ~PORT_P3_OUT_P13) | (((val) & 0x1) << 13))
6867 +/* Port 3 Pin # Output Value (12) */
6868 +#define PORT_P3_OUT_P12   (0x1 << 12)
6869 +#define PORT_P3_OUT_P12_VAL(val)   (((val) & 0x1) << 12)
6870 +#define PORT_P3_OUT_P12_GET(val)   ((((val) & PORT_P3_OUT_P12) >> 12) & 0x1)
6871 +#define PORT_P3_OUT_P12_SET(reg,val) (reg) = ((reg & ~PORT_P3_OUT_P12) | (((val) & 0x1) << 12))
6872 +/* Port 3 Pin # Output Value (11) */
6873 +#define PORT_P3_OUT_P11   (0x1 << 11)
6874 +#define PORT_P3_OUT_P11_VAL(val)   (((val) & 0x1) << 11)
6875 +#define PORT_P3_OUT_P11_GET(val)   ((((val) & PORT_P3_OUT_P11) >> 11) & 0x1)
6876 +#define PORT_P3_OUT_P11_SET(reg,val) (reg) = ((reg & ~PORT_P3_OUT_P11) | (((val) & 0x1) << 11))
6877 +/* Port 3 Pin # Output Value (10) */
6878 +#define PORT_P3_OUT_P10   (0x1 << 10)
6879 +#define PORT_P3_OUT_P10_VAL(val)   (((val) & 0x1) << 10)
6880 +#define PORT_P3_OUT_P10_GET(val)   ((((val) & PORT_P3_OUT_P10) >> 10) & 0x1)
6881 +#define PORT_P3_OUT_P10_SET(reg,val) (reg) = ((reg & ~PORT_P3_OUT_P10) | (((val) & 0x1) << 10))
6882 +/* Port 3 Pin # Output Value (9) */
6883 +#define PORT_P3_OUT_P9   (0x1 << 9)
6884 +#define PORT_P3_OUT_P9_VAL(val)   (((val) & 0x1) << 9)
6885 +#define PORT_P3_OUT_P9_GET(val)   ((((val) & PORT_P3_OUT_P9) >> 9) & 0x1)
6886 +#define PORT_P3_OUT_P9_SET(reg,val) (reg) = ((reg & ~PORT_P3_OUT_P9) | (((val) & 0x1) << 9))
6887 +/* Port 3 Pin # Output Value (8) */
6888 +#define PORT_P3_OUT_P8   (0x1 << 8)
6889 +#define PORT_P3_OUT_P8_VAL(val)   (((val) & 0x1) << 8)
6890 +#define PORT_P3_OUT_P8_GET(val)   ((((val) & PORT_P3_OUT_P8) >> 8) & 0x1)
6891 +#define PORT_P3_OUT_P8_SET(reg,val) (reg) = ((reg & ~PORT_P3_OUT_P8) | (((val) & 0x1) << 8))
6892 +/* Port 3 Pin # Output Value (7) */
6893 +#define PORT_P3_OUT_P7   (0x1 << 7)
6894 +#define PORT_P3_OUT_P7_VAL(val)   (((val) & 0x1) << 7)
6895 +#define PORT_P3_OUT_P7_GET(val)   ((((val) & PORT_P3_OUT_P7) >> 7) & 0x1)
6896 +#define PORT_P3_OUT_P7_SET(reg,val) (reg) = ((reg & ~PORT_P3_OUT_P7) | (((val) & 0x1) << 7))
6897 +/* Port 3 Pin # Output Value (6) */
6898 +#define PORT_P3_OUT_P6   (0x1 << 6)
6899 +#define PORT_P3_OUT_P6_VAL(val)   (((val) & 0x1) << 6)
6900 +#define PORT_P3_OUT_P6_GET(val)   ((((val) & PORT_P3_OUT_P6) >> 6) & 0x1)
6901 +#define PORT_P3_OUT_P6_SET(reg,val) (reg) = ((reg & ~PORT_P3_OUT_P6) | (((val) & 0x1) << 6))
6902 +/* Port 3 Pin # Output Value (5) */
6903 +#define PORT_P3_OUT_P5   (0x1 << 5)
6904 +#define PORT_P3_OUT_P5_VAL(val)   (((val) & 0x1) << 5)
6905 +#define PORT_P3_OUT_P5_GET(val)   ((((val) & PORT_P3_OUT_P5) >> 5) & 0x1)
6906 +#define PORT_P3_OUT_P5_SET(reg,val) (reg) = ((reg & ~PORT_P3_OUT_P5) | (((val) & 0x1) << 5))
6907 +/* Port 3 Pin # Output Value (4) */
6908 +#define PORT_P3_OUT_P4   (0x1 << 4)
6909 +#define PORT_P3_OUT_P4_VAL(val)   (((val) & 0x1) << 4)
6910 +#define PORT_P3_OUT_P4_GET(val)   ((((val) & PORT_P3_OUT_P4) >> 4) & 0x1)
6911 +#define PORT_P3_OUT_P4_SET(reg,val) (reg) = ((reg & ~PORT_P3_OUT_P4) | (((val) & 0x1) << 4))
6912 +/* Port 3 Pin # Output Value (3) */
6913 +#define PORT_P3_OUT_P3   (0x1 << 3)
6914 +#define PORT_P3_OUT_P3_VAL(val)   (((val) & 0x1) << 3)
6915 +#define PORT_P3_OUT_P3_GET(val)   ((((val) & PORT_P3_OUT_P3) >> 3) & 0x1)
6916 +#define PORT_P3_OUT_P3_SET(reg,val) (reg) = ((reg & ~PORT_P3_OUT_P3) | (((val) & 0x1) << 3))
6917 +/* Port 3 Pin # Output Value (2) */
6918 +#define PORT_P3_OUT_P2   (0x1 << 2)
6919 +#define PORT_P3_OUT_P2_VAL(val)   (((val) & 0x1) << 2)
6920 +#define PORT_P3_OUT_P2_GET(val)   ((((val) & PORT_P3_OUT_P2) >> 2) & 0x1)
6921 +#define PORT_P3_OUT_P2_SET(reg,val) (reg) = ((reg & ~PORT_P3_OUT_P2) | (((val) & 0x1) << 2))
6922 +/* Port 3 Pin # Output Value (1) */
6923 +#define PORT_P3_OUT_P1   (0x1 << 1)
6924 +#define PORT_P3_OUT_P1_VAL(val)   (((val) & 0x1) << 1)
6925 +#define PORT_P3_OUT_P1_GET(val)   ((((val) & PORT_P3_OUT_P1) >> 1) & 0x1)
6926 +#define PORT_P3_OUT_P1_SET(reg,val) (reg) = ((reg & ~PORT_P3_OUT_P1) | (((val) & 0x1) << 1))
6927 +/* Port 3 Pin # Output Value (0) */
6928 +#define PORT_P3_OUT_P0   (0x1)
6929 +#define PORT_P3_OUT_P0_VAL(val)   (((val) & 0x1) << 0)
6930 +#define PORT_P3_OUT_P0_GET(val)   ((((val) & PORT_P3_OUT_P0) >> 0) & 0x1)
6931 +#define PORT_P3_OUT_P0_SET(reg,val) (reg) = ((reg & ~PORT_P3_OUT_P0) | (((val) & 0x1) << 0))
6932 +
6933 +/*******************************************************************************
6934 + * Port 3 Data Input Register
6935 + ******************************************************************************/
6936 +
6937 +/* Port 3 Pin # Latched Input Value (19) */
6938 +#define PORT_P3_IN_P19   (0x1 << 19)
6939 +#define PORT_P3_IN_P19_GET(val)   ((((val) & PORT_P3_IN_P19) >> 19) & 0x1)
6940 +/* Port 3 Pin # Latched Input Value (18) */
6941 +#define PORT_P3_IN_P18   (0x1 << 18)
6942 +#define PORT_P3_IN_P18_GET(val)   ((((val) & PORT_P3_IN_P18) >> 18) & 0x1)
6943 +/* Port 3 Pin # Latched Input Value (17) */
6944 +#define PORT_P3_IN_P17   (0x1 << 17)
6945 +#define PORT_P3_IN_P17_GET(val)   ((((val) & PORT_P3_IN_P17) >> 17) & 0x1)
6946 +/* Port 3 Pin # Latched Input Value (16) */
6947 +#define PORT_P3_IN_P16   (0x1 << 16)
6948 +#define PORT_P3_IN_P16_GET(val)   ((((val) & PORT_P3_IN_P16) >> 16) & 0x1)
6949 +/* Port 3 Pin # Latched Input Value (15) */
6950 +#define PORT_P3_IN_P15   (0x1 << 15)
6951 +#define PORT_P3_IN_P15_GET(val)   ((((val) & PORT_P3_IN_P15) >> 15) & 0x1)
6952 +/* Port 3 Pin # Latched Input Value (14) */
6953 +#define PORT_P3_IN_P14   (0x1 << 14)
6954 +#define PORT_P3_IN_P14_GET(val)   ((((val) & PORT_P3_IN_P14) >> 14) & 0x1)
6955 +/* Port 3 Pin # Latched Input Value (13) */
6956 +#define PORT_P3_IN_P13   (0x1 << 13)
6957 +#define PORT_P3_IN_P13_GET(val)   ((((val) & PORT_P3_IN_P13) >> 13) & 0x1)
6958 +/* Port 3 Pin # Latched Input Value (12) */
6959 +#define PORT_P3_IN_P12   (0x1 << 12)
6960 +#define PORT_P3_IN_P12_GET(val)   ((((val) & PORT_P3_IN_P12) >> 12) & 0x1)
6961 +/* Port 3 Pin # Latched Input Value (11) */
6962 +#define PORT_P3_IN_P11   (0x1 << 11)
6963 +#define PORT_P3_IN_P11_GET(val)   ((((val) & PORT_P3_IN_P11) >> 11) & 0x1)
6964 +/* Port 3 Pin # Latched Input Value (10) */
6965 +#define PORT_P3_IN_P10   (0x1 << 10)
6966 +#define PORT_P3_IN_P10_GET(val)   ((((val) & PORT_P3_IN_P10) >> 10) & 0x1)
6967 +/* Port 3 Pin # Latched Input Value (9) */
6968 +#define PORT_P3_IN_P9   (0x1 << 9)
6969 +#define PORT_P3_IN_P9_GET(val)   ((((val) & PORT_P3_IN_P9) >> 9) & 0x1)
6970 +/* Port 3 Pin # Latched Input Value (8) */
6971 +#define PORT_P3_IN_P8   (0x1 << 8)
6972 +#define PORT_P3_IN_P8_GET(val)   ((((val) & PORT_P3_IN_P8) >> 8) & 0x1)
6973 +/* Port 3 Pin # Latched Input Value (7) */
6974 +#define PORT_P3_IN_P7   (0x1 << 7)
6975 +#define PORT_P3_IN_P7_GET(val)   ((((val) & PORT_P3_IN_P7) >> 7) & 0x1)
6976 +/* Port 3 Pin # Latched Input Value (6) */
6977 +#define PORT_P3_IN_P6   (0x1 << 6)
6978 +#define PORT_P3_IN_P6_GET(val)   ((((val) & PORT_P3_IN_P6) >> 6) & 0x1)
6979 +/* Port 3 Pin # Latched Input Value (5) */
6980 +#define PORT_P3_IN_P5   (0x1 << 5)
6981 +#define PORT_P3_IN_P5_GET(val)   ((((val) & PORT_P3_IN_P5) >> 5) & 0x1)
6982 +/* Port 3 Pin # Latched Input Value (4) */
6983 +#define PORT_P3_IN_P4   (0x1 << 4)
6984 +#define PORT_P3_IN_P4_GET(val)   ((((val) & PORT_P3_IN_P4) >> 4) & 0x1)
6985 +/* Port 3 Pin # Latched Input Value (3) */
6986 +#define PORT_P3_IN_P3   (0x1 << 3)
6987 +#define PORT_P3_IN_P3_GET(val)   ((((val) & PORT_P3_IN_P3) >> 3) & 0x1)
6988 +/* Port 3 Pin # Latched Input Value (2) */
6989 +#define PORT_P3_IN_P2   (0x1 << 2)
6990 +#define PORT_P3_IN_P2_GET(val)   ((((val) & PORT_P3_IN_P2) >> 2) & 0x1)
6991 +/* Port 3 Pin # Latched Input Value (1) */
6992 +#define PORT_P3_IN_P1   (0x1 << 1)
6993 +#define PORT_P3_IN_P1_GET(val)   ((((val) & PORT_P3_IN_P1) >> 1) & 0x1)
6994 +/* Port 3 Pin # Latched Input Value (0) */
6995 +#define PORT_P3_IN_P0   (0x1)
6996 +#define PORT_P3_IN_P0_GET(val)   ((((val) & PORT_P3_IN_P0) >> 0) & 0x1)
6997 +
6998 +/*******************************************************************************
6999 + * Port 3 Direction Register
7000 + ******************************************************************************/
7001 +
7002 +/* Port 3 Pin #Direction Control (19) */
7003 +#define PORT_P3_DIR_P19   (0x1 << 19)
7004 +#define PORT_P3_DIR_P19_VAL(val)   (((val) & 0x1) << 19)
7005 +#define PORT_P3_DIR_P19_GET(val)   ((((val) & PORT_P3_DIR_P19) >> 19) & 0x1)
7006 +#define PORT_P3_DIR_P19_SET(reg,val) (reg) = ((reg & ~PORT_P3_DIR_P19) | (((val) & 0x1) << 19))
7007 +/* Port 3 Pin #Direction Control (18) */
7008 +#define PORT_P3_DIR_P18   (0x1 << 18)
7009 +#define PORT_P3_DIR_P18_VAL(val)   (((val) & 0x1) << 18)
7010 +#define PORT_P3_DIR_P18_GET(val)   ((((val) & PORT_P3_DIR_P18) >> 18) & 0x1)
7011 +#define PORT_P3_DIR_P18_SET(reg,val) (reg) = ((reg & ~PORT_P3_DIR_P18) | (((val) & 0x1) << 18))
7012 +/* Port 3 Pin #Direction Control (17) */
7013 +#define PORT_P3_DIR_P17   (0x1 << 17)
7014 +#define PORT_P3_DIR_P17_VAL(val)   (((val) & 0x1) << 17)
7015 +#define PORT_P3_DIR_P17_GET(val)   ((((val) & PORT_P3_DIR_P17) >> 17) & 0x1)
7016 +#define PORT_P3_DIR_P17_SET(reg,val) (reg) = ((reg & ~PORT_P3_DIR_P17) | (((val) & 0x1) << 17))
7017 +/* Port 3 Pin #Direction Control (16) */
7018 +#define PORT_P3_DIR_P16   (0x1 << 16)
7019 +#define PORT_P3_DIR_P16_VAL(val)   (((val) & 0x1) << 16)
7020 +#define PORT_P3_DIR_P16_GET(val)   ((((val) & PORT_P3_DIR_P16) >> 16) & 0x1)
7021 +#define PORT_P3_DIR_P16_SET(reg,val) (reg) = ((reg & ~PORT_P3_DIR_P16) | (((val) & 0x1) << 16))
7022 +/* Port 3 Pin #Direction Control (15) */
7023 +#define PORT_P3_DIR_P15   (0x1 << 15)
7024 +#define PORT_P3_DIR_P15_VAL(val)   (((val) & 0x1) << 15)
7025 +#define PORT_P3_DIR_P15_GET(val)   ((((val) & PORT_P3_DIR_P15) >> 15) & 0x1)
7026 +#define PORT_P3_DIR_P15_SET(reg,val) (reg) = ((reg & ~PORT_P3_DIR_P15) | (((val) & 0x1) << 15))
7027 +/* Port 3 Pin #Direction Control (14) */
7028 +#define PORT_P3_DIR_P14   (0x1 << 14)
7029 +#define PORT_P3_DIR_P14_VAL(val)   (((val) & 0x1) << 14)
7030 +#define PORT_P3_DIR_P14_GET(val)   ((((val) & PORT_P3_DIR_P14) >> 14) & 0x1)
7031 +#define PORT_P3_DIR_P14_SET(reg,val) (reg) = ((reg & ~PORT_P3_DIR_P14) | (((val) & 0x1) << 14))
7032 +/* Port 3 Pin #Direction Control (13) */
7033 +#define PORT_P3_DIR_P13   (0x1 << 13)
7034 +#define PORT_P3_DIR_P13_VAL(val)   (((val) & 0x1) << 13)
7035 +#define PORT_P3_DIR_P13_GET(val)   ((((val) & PORT_P3_DIR_P13) >> 13) & 0x1)
7036 +#define PORT_P3_DIR_P13_SET(reg,val) (reg) = ((reg & ~PORT_P3_DIR_P13) | (((val) & 0x1) << 13))
7037 +/* Port 3 Pin #Direction Control (12) */
7038 +#define PORT_P3_DIR_P12   (0x1 << 12)
7039 +#define PORT_P3_DIR_P12_VAL(val)   (((val) & 0x1) << 12)
7040 +#define PORT_P3_DIR_P12_GET(val)   ((((val) & PORT_P3_DIR_P12) >> 12) & 0x1)
7041 +#define PORT_P3_DIR_P12_SET(reg,val) (reg) = ((reg & ~PORT_P3_DIR_P12) | (((val) & 0x1) << 12))
7042 +/* Port 3 Pin #Direction Control (11) */
7043 +#define PORT_P3_DIR_P11   (0x1 << 11)
7044 +#define PORT_P3_DIR_P11_VAL(val)   (((val) & 0x1) << 11)
7045 +#define PORT_P3_DIR_P11_GET(val)   ((((val) & PORT_P3_DIR_P11) >> 11) & 0x1)
7046 +#define PORT_P3_DIR_P11_SET(reg,val) (reg) = ((reg & ~PORT_P3_DIR_P11) | (((val) & 0x1) << 11))
7047 +/* Port 3 Pin #Direction Control (10) */
7048 +#define PORT_P3_DIR_P10   (0x1 << 10)
7049 +#define PORT_P3_DIR_P10_VAL(val)   (((val) & 0x1) << 10)
7050 +#define PORT_P3_DIR_P10_GET(val)   ((((val) & PORT_P3_DIR_P10) >> 10) & 0x1)
7051 +#define PORT_P3_DIR_P10_SET(reg,val) (reg) = ((reg & ~PORT_P3_DIR_P10) | (((val) & 0x1) << 10))
7052 +/* Port 3 Pin #Direction Control (9) */
7053 +#define PORT_P3_DIR_P9   (0x1 << 9)
7054 +#define PORT_P3_DIR_P9_VAL(val)   (((val) & 0x1) << 9)
7055 +#define PORT_P3_DIR_P9_GET(val)   ((((val) & PORT_P3_DIR_P9) >> 9) & 0x1)
7056 +#define PORT_P3_DIR_P9_SET(reg,val) (reg) = ((reg & ~PORT_P3_DIR_P9) | (((val) & 0x1) << 9))
7057 +/* Port 3 Pin #Direction Control (8) */
7058 +#define PORT_P3_DIR_P8   (0x1 << 8)
7059 +#define PORT_P3_DIR_P8_VAL(val)   (((val) & 0x1) << 8)
7060 +#define PORT_P3_DIR_P8_GET(val)   ((((val) & PORT_P3_DIR_P8) >> 8) & 0x1)
7061 +#define PORT_P3_DIR_P8_SET(reg,val) (reg) = ((reg & ~PORT_P3_DIR_P8) | (((val) & 0x1) << 8))
7062 +/* Port 3 Pin #Direction Control (7) */
7063 +#define PORT_P3_DIR_P7   (0x1 << 7)
7064 +#define PORT_P3_DIR_P7_VAL(val)   (((val) & 0x1) << 7)
7065 +#define PORT_P3_DIR_P7_GET(val)   ((((val) & PORT_P3_DIR_P7) >> 7) & 0x1)
7066 +#define PORT_P3_DIR_P7_SET(reg,val) (reg) = ((reg & ~PORT_P3_DIR_P7) | (((val) & 0x1) << 7))
7067 +/* Port 3 Pin #Direction Control (6) */
7068 +#define PORT_P3_DIR_P6   (0x1 << 6)
7069 +#define PORT_P3_DIR_P6_VAL(val)   (((val) & 0x1) << 6)
7070 +#define PORT_P3_DIR_P6_GET(val)   ((((val) & PORT_P3_DIR_P6) >> 6) & 0x1)
7071 +#define PORT_P3_DIR_P6_SET(reg,val) (reg) = ((reg & ~PORT_P3_DIR_P6) | (((val) & 0x1) << 6))
7072 +/* Port 3 Pin #Direction Control (5) */
7073 +#define PORT_P3_DIR_P5   (0x1 << 5)
7074 +#define PORT_P3_DIR_P5_VAL(val)   (((val) & 0x1) << 5)
7075 +#define PORT_P3_DIR_P5_GET(val)   ((((val) & PORT_P3_DIR_P5) >> 5) & 0x1)
7076 +#define PORT_P3_DIR_P5_SET(reg,val) (reg) = ((reg & ~PORT_P3_DIR_P5) | (((val) & 0x1) << 5))
7077 +/* Port 3 Pin #Direction Control (4) */
7078 +#define PORT_P3_DIR_P4   (0x1 << 4)
7079 +#define PORT_P3_DIR_P4_VAL(val)   (((val) & 0x1) << 4)
7080 +#define PORT_P3_DIR_P4_GET(val)   ((((val) & PORT_P3_DIR_P4) >> 4) & 0x1)
7081 +#define PORT_P3_DIR_P4_SET(reg,val) (reg) = ((reg & ~PORT_P3_DIR_P4) | (((val) & 0x1) << 4))
7082 +/* Port 3 Pin #Direction Control (3) */
7083 +#define PORT_P3_DIR_P3   (0x1 << 3)
7084 +#define PORT_P3_DIR_P3_VAL(val)   (((val) & 0x1) << 3)
7085 +#define PORT_P3_DIR_P3_GET(val)   ((((val) & PORT_P3_DIR_P3) >> 3) & 0x1)
7086 +#define PORT_P3_DIR_P3_SET(reg,val) (reg) = ((reg & ~PORT_P3_DIR_P3) | (((val) & 0x1) << 3))
7087 +/* Port 3 Pin #Direction Control (2) */
7088 +#define PORT_P3_DIR_P2   (0x1 << 2)
7089 +#define PORT_P3_DIR_P2_VAL(val)   (((val) & 0x1) << 2)
7090 +#define PORT_P3_DIR_P2_GET(val)   ((((val) & PORT_P3_DIR_P2) >> 2) & 0x1)
7091 +#define PORT_P3_DIR_P2_SET(reg,val) (reg) = ((reg & ~PORT_P3_DIR_P2) | (((val) & 0x1) << 2))
7092 +/* Port 3 Pin #Direction Control (1) */
7093 +#define PORT_P3_DIR_P1   (0x1 << 1)
7094 +#define PORT_P3_DIR_P1_VAL(val)   (((val) & 0x1) << 1)
7095 +#define PORT_P3_DIR_P1_GET(val)   ((((val) & PORT_P3_DIR_P1) >> 1) & 0x1)
7096 +#define PORT_P3_DIR_P1_SET(reg,val) (reg) = ((reg & ~PORT_P3_DIR_P1) | (((val) & 0x1) << 1))
7097 +/* Port 3 Pin #Direction Control (0) */
7098 +#define PORT_P3_DIR_P0   (0x1)
7099 +#define PORT_P3_DIR_P0_VAL(val)   (((val) & 0x1) << 0)
7100 +#define PORT_P3_DIR_P0_GET(val)   ((((val) & PORT_P3_DIR_P0) >> 0) & 0x1)
7101 +#define PORT_P3_DIR_P0_SET(reg,val) (reg) = ((reg & ~PORT_P3_DIR_P0) | (((val) & 0x1) << 0))
7102 +
7103 +/*******************************************************************************
7104 + * Port 3 Alternate Function Select Register 0
7105 + ******************************************************************************/
7106 +
7107 +/* Alternate Function at Port 3 Bit # (19) */
7108 +#define PORT_P3_ALTSEL0_P19   (0x1 << 19)
7109 +#define PORT_P3_ALTSEL0_P19_VAL(val)   (((val) & 0x1) << 19)
7110 +#define PORT_P3_ALTSEL0_P19_GET(val)   ((((val) & PORT_P3_ALTSEL0_P19) >> 19) & 0x1)
7111 +#define PORT_P3_ALTSEL0_P19_SET(reg,val) (reg) = ((reg & ~PORT_P3_ALTSEL0_P19) | (((val) & 0x1) << 19))
7112 +/* Alternate Function at Port 3 Bit # (18) */
7113 +#define PORT_P3_ALTSEL0_P18   (0x1 << 18)
7114 +#define PORT_P3_ALTSEL0_P18_VAL(val)   (((val) & 0x1) << 18)
7115 +#define PORT_P3_ALTSEL0_P18_GET(val)   ((((val) & PORT_P3_ALTSEL0_P18) >> 18) & 0x1)
7116 +#define PORT_P3_ALTSEL0_P18_SET(reg,val) (reg) = ((reg & ~PORT_P3_ALTSEL0_P18) | (((val) & 0x1) << 18))
7117 +/* Alternate Function at Port 3 Bit # (17) */
7118 +#define PORT_P3_ALTSEL0_P17   (0x1 << 17)
7119 +#define PORT_P3_ALTSEL0_P17_VAL(val)   (((val) & 0x1) << 17)
7120 +#define PORT_P3_ALTSEL0_P17_GET(val)   ((((val) & PORT_P3_ALTSEL0_P17) >> 17) & 0x1)
7121 +#define PORT_P3_ALTSEL0_P17_SET(reg,val) (reg) = ((reg & ~PORT_P3_ALTSEL0_P17) | (((val) & 0x1) << 17))
7122 +/* Alternate Function at Port 3 Bit # (16) */
7123 +#define PORT_P3_ALTSEL0_P16   (0x1 << 16)
7124 +#define PORT_P3_ALTSEL0_P16_VAL(val)   (((val) & 0x1) << 16)
7125 +#define PORT_P3_ALTSEL0_P16_GET(val)   ((((val) & PORT_P3_ALTSEL0_P16) >> 16) & 0x1)
7126 +#define PORT_P3_ALTSEL0_P16_SET(reg,val) (reg) = ((reg & ~PORT_P3_ALTSEL0_P16) | (((val) & 0x1) << 16))
7127 +/* Alternate Function at Port 3 Bit # (15) */
7128 +#define PORT_P3_ALTSEL0_P15   (0x1 << 15)
7129 +#define PORT_P3_ALTSEL0_P15_VAL(val)   (((val) & 0x1) << 15)
7130 +#define PORT_P3_ALTSEL0_P15_GET(val)   ((((val) & PORT_P3_ALTSEL0_P15) >> 15) & 0x1)
7131 +#define PORT_P3_ALTSEL0_P15_SET(reg,val) (reg) = ((reg & ~PORT_P3_ALTSEL0_P15) | (((val) & 0x1) << 15))
7132 +/* Alternate Function at Port 3 Bit # (14) */
7133 +#define PORT_P3_ALTSEL0_P14   (0x1 << 14)
7134 +#define PORT_P3_ALTSEL0_P14_VAL(val)   (((val) & 0x1) << 14)
7135 +#define PORT_P3_ALTSEL0_P14_GET(val)   ((((val) & PORT_P3_ALTSEL0_P14) >> 14) & 0x1)
7136 +#define PORT_P3_ALTSEL0_P14_SET(reg,val) (reg) = ((reg & ~PORT_P3_ALTSEL0_P14) | (((val) & 0x1) << 14))
7137 +/* Alternate Function at Port 3 Bit # (13) */
7138 +#define PORT_P3_ALTSEL0_P13   (0x1 << 13)
7139 +#define PORT_P3_ALTSEL0_P13_VAL(val)   (((val) & 0x1) << 13)
7140 +#define PORT_P3_ALTSEL0_P13_GET(val)   ((((val) & PORT_P3_ALTSEL0_P13) >> 13) & 0x1)
7141 +#define PORT_P3_ALTSEL0_P13_SET(reg,val) (reg) = ((reg & ~PORT_P3_ALTSEL0_P13) | (((val) & 0x1) << 13))
7142 +/* Alternate Function at Port 3 Bit # (12) */
7143 +#define PORT_P3_ALTSEL0_P12   (0x1 << 12)
7144 +#define PORT_P3_ALTSEL0_P12_VAL(val)   (((val) & 0x1) << 12)
7145 +#define PORT_P3_ALTSEL0_P12_GET(val)   ((((val) & PORT_P3_ALTSEL0_P12) >> 12) & 0x1)
7146 +#define PORT_P3_ALTSEL0_P12_SET(reg,val) (reg) = ((reg & ~PORT_P3_ALTSEL0_P12) | (((val) & 0x1) << 12))
7147 +/* Alternate Function at Port 3 Bit # (11) */
7148 +#define PORT_P3_ALTSEL0_P11   (0x1 << 11)
7149 +#define PORT_P3_ALTSEL0_P11_VAL(val)   (((val) & 0x1) << 11)
7150 +#define PORT_P3_ALTSEL0_P11_GET(val)   ((((val) & PORT_P3_ALTSEL0_P11) >> 11) & 0x1)
7151 +#define PORT_P3_ALTSEL0_P11_SET(reg,val) (reg) = ((reg & ~PORT_P3_ALTSEL0_P11) | (((val) & 0x1) << 11))
7152 +/* Alternate Function at Port 3 Bit # (10) */
7153 +#define PORT_P3_ALTSEL0_P10   (0x1 << 10)
7154 +#define PORT_P3_ALTSEL0_P10_VAL(val)   (((val) & 0x1) << 10)
7155 +#define PORT_P3_ALTSEL0_P10_GET(val)   ((((val) & PORT_P3_ALTSEL0_P10) >> 10) & 0x1)
7156 +#define PORT_P3_ALTSEL0_P10_SET(reg,val) (reg) = ((reg & ~PORT_P3_ALTSEL0_P10) | (((val) & 0x1) << 10))
7157 +/* Alternate Function at Port 3 Bit # (9) */
7158 +#define PORT_P3_ALTSEL0_P9   (0x1 << 9)
7159 +#define PORT_P3_ALTSEL0_P9_VAL(val)   (((val) & 0x1) << 9)
7160 +#define PORT_P3_ALTSEL0_P9_GET(val)   ((((val) & PORT_P3_ALTSEL0_P9) >> 9) & 0x1)
7161 +#define PORT_P3_ALTSEL0_P9_SET(reg,val) (reg) = ((reg & ~PORT_P3_ALTSEL0_P9) | (((val) & 0x1) << 9))
7162 +/* Alternate Function at Port 3 Bit # (8) */
7163 +#define PORT_P3_ALTSEL0_P8   (0x1 << 8)
7164 +#define PORT_P3_ALTSEL0_P8_VAL(val)   (((val) & 0x1) << 8)
7165 +#define PORT_P3_ALTSEL0_P8_GET(val)   ((((val) & PORT_P3_ALTSEL0_P8) >> 8) & 0x1)
7166 +#define PORT_P3_ALTSEL0_P8_SET(reg,val) (reg) = ((reg & ~PORT_P3_ALTSEL0_P8) | (((val) & 0x1) << 8))
7167 +/* Alternate Function at Port 3 Bit # (7) */
7168 +#define PORT_P3_ALTSEL0_P7   (0x1 << 7)
7169 +#define PORT_P3_ALTSEL0_P7_VAL(val)   (((val) & 0x1) << 7)
7170 +#define PORT_P3_ALTSEL0_P7_GET(val)   ((((val) & PORT_P3_ALTSEL0_P7) >> 7) & 0x1)
7171 +#define PORT_P3_ALTSEL0_P7_SET(reg,val) (reg) = ((reg & ~PORT_P3_ALTSEL0_P7) | (((val) & 0x1) << 7))
7172 +/* Alternate Function at Port 3 Bit # (6) */
7173 +#define PORT_P3_ALTSEL0_P6   (0x1 << 6)
7174 +#define PORT_P3_ALTSEL0_P6_VAL(val)   (((val) & 0x1) << 6)
7175 +#define PORT_P3_ALTSEL0_P6_GET(val)   ((((val) & PORT_P3_ALTSEL0_P6) >> 6) & 0x1)
7176 +#define PORT_P3_ALTSEL0_P6_SET(reg,val) (reg) = ((reg & ~PORT_P3_ALTSEL0_P6) | (((val) & 0x1) << 6))
7177 +/* Alternate Function at Port 3 Bit # (5) */
7178 +#define PORT_P3_ALTSEL0_P5   (0x1 << 5)
7179 +#define PORT_P3_ALTSEL0_P5_VAL(val)   (((val) & 0x1) << 5)
7180 +#define PORT_P3_ALTSEL0_P5_GET(val)   ((((val) & PORT_P3_ALTSEL0_P5) >> 5) & 0x1)
7181 +#define PORT_P3_ALTSEL0_P5_SET(reg,val) (reg) = ((reg & ~PORT_P3_ALTSEL0_P5) | (((val) & 0x1) << 5))
7182 +/* Alternate Function at Port 3 Bit # (4) */
7183 +#define PORT_P3_ALTSEL0_P4   (0x1 << 4)
7184 +#define PORT_P3_ALTSEL0_P4_VAL(val)   (((val) & 0x1) << 4)
7185 +#define PORT_P3_ALTSEL0_P4_GET(val)   ((((val) & PORT_P3_ALTSEL0_P4) >> 4) & 0x1)
7186 +#define PORT_P3_ALTSEL0_P4_SET(reg,val) (reg) = ((reg & ~PORT_P3_ALTSEL0_P4) | (((val) & 0x1) << 4))
7187 +/* Alternate Function at Port 3 Bit # (3) */
7188 +#define PORT_P3_ALTSEL0_P3   (0x1 << 3)
7189 +#define PORT_P3_ALTSEL0_P3_VAL(val)   (((val) & 0x1) << 3)
7190 +#define PORT_P3_ALTSEL0_P3_GET(val)   ((((val) & PORT_P3_ALTSEL0_P3) >> 3) & 0x1)
7191 +#define PORT_P3_ALTSEL0_P3_SET(reg,val) (reg) = ((reg & ~PORT_P3_ALTSEL0_P3) | (((val) & 0x1) << 3))
7192 +/* Alternate Function at Port 3 Bit # (2) */
7193 +#define PORT_P3_ALTSEL0_P2   (0x1 << 2)
7194 +#define PORT_P3_ALTSEL0_P2_VAL(val)   (((val) & 0x1) << 2)
7195 +#define PORT_P3_ALTSEL0_P2_GET(val)   ((((val) & PORT_P3_ALTSEL0_P2) >> 2) & 0x1)
7196 +#define PORT_P3_ALTSEL0_P2_SET(reg,val) (reg) = ((reg & ~PORT_P3_ALTSEL0_P2) | (((val) & 0x1) << 2))
7197 +/* Alternate Function at Port 3 Bit # (1) */
7198 +#define PORT_P3_ALTSEL0_P1   (0x1 << 1)
7199 +#define PORT_P3_ALTSEL0_P1_VAL(val)   (((val) & 0x1) << 1)
7200 +#define PORT_P3_ALTSEL0_P1_GET(val)   ((((val) & PORT_P3_ALTSEL0_P1) >> 1) & 0x1)
7201 +#define PORT_P3_ALTSEL0_P1_SET(reg,val) (reg) = ((reg & ~PORT_P3_ALTSEL0_P1) | (((val) & 0x1) << 1))
7202 +/* Alternate Function at Port 3 Bit # (0) */
7203 +#define PORT_P3_ALTSEL0_P0   (0x1)
7204 +#define PORT_P3_ALTSEL0_P0_VAL(val)   (((val) & 0x1) << 0)
7205 +#define PORT_P3_ALTSEL0_P0_GET(val)   ((((val) & PORT_P3_ALTSEL0_P0) >> 0) & 0x1)
7206 +#define PORT_P3_ALTSEL0_P0_SET(reg,val) (reg) = ((reg & ~PORT_P3_ALTSEL0_P0) | (((val) & 0x1) << 0))
7207 +
7208 +/*******************************************************************************
7209 + * Port 3 Pull Up Device Enable Register
7210 + ******************************************************************************/
7211 +
7212 +/* Pull Up Device Enable at Port 3 Bit # (19) */
7213 +#define PORT_P3_PUEN_P19   (0x1 << 19)
7214 +#define PORT_P3_PUEN_P19_VAL(val)   (((val) & 0x1) << 19)
7215 +#define PORT_P3_PUEN_P19_GET(val)   ((((val) & PORT_P3_PUEN_P19) >> 19) & 0x1)
7216 +#define PORT_P3_PUEN_P19_SET(reg,val) (reg) = ((reg & ~PORT_P3_PUEN_P19) | (((val) & 0x1) << 19))
7217 +/* Pull Up Device Enable at Port 3 Bit # (18) */
7218 +#define PORT_P3_PUEN_P18   (0x1 << 18)
7219 +#define PORT_P3_PUEN_P18_VAL(val)   (((val) & 0x1) << 18)
7220 +#define PORT_P3_PUEN_P18_GET(val)   ((((val) & PORT_P3_PUEN_P18) >> 18) & 0x1)
7221 +#define PORT_P3_PUEN_P18_SET(reg,val) (reg) = ((reg & ~PORT_P3_PUEN_P18) | (((val) & 0x1) << 18))
7222 +/* Pull Up Device Enable at Port 3 Bit # (17) */
7223 +#define PORT_P3_PUEN_P17   (0x1 << 17)
7224 +#define PORT_P3_PUEN_P17_VAL(val)   (((val) & 0x1) << 17)
7225 +#define PORT_P3_PUEN_P17_GET(val)   ((((val) & PORT_P3_PUEN_P17) >> 17) & 0x1)
7226 +#define PORT_P3_PUEN_P17_SET(reg,val) (reg) = ((reg & ~PORT_P3_PUEN_P17) | (((val) & 0x1) << 17))
7227 +/* Pull Up Device Enable at Port 3 Bit # (16) */
7228 +#define PORT_P3_PUEN_P16   (0x1 << 16)
7229 +#define PORT_P3_PUEN_P16_VAL(val)   (((val) & 0x1) << 16)
7230 +#define PORT_P3_PUEN_P16_GET(val)   ((((val) & PORT_P3_PUEN_P16) >> 16) & 0x1)
7231 +#define PORT_P3_PUEN_P16_SET(reg,val) (reg) = ((reg & ~PORT_P3_PUEN_P16) | (((val) & 0x1) << 16))
7232 +/* Pull Up Device Enable at Port 3 Bit # (15) */
7233 +#define PORT_P3_PUEN_P15   (0x1 << 15)
7234 +#define PORT_P3_PUEN_P15_VAL(val)   (((val) & 0x1) << 15)
7235 +#define PORT_P3_PUEN_P15_GET(val)   ((((val) & PORT_P3_PUEN_P15) >> 15) & 0x1)
7236 +#define PORT_P3_PUEN_P15_SET(reg,val) (reg) = ((reg & ~PORT_P3_PUEN_P15) | (((val) & 0x1) << 15))
7237 +/* Pull Up Device Enable at Port 3 Bit # (14) */
7238 +#define PORT_P3_PUEN_P14   (0x1 << 14)
7239 +#define PORT_P3_PUEN_P14_VAL(val)   (((val) & 0x1) << 14)
7240 +#define PORT_P3_PUEN_P14_GET(val)   ((((val) & PORT_P3_PUEN_P14) >> 14) & 0x1)
7241 +#define PORT_P3_PUEN_P14_SET(reg,val) (reg) = ((reg & ~PORT_P3_PUEN_P14) | (((val) & 0x1) << 14))
7242 +/* Pull Up Device Enable at Port 3 Bit # (13) */
7243 +#define PORT_P3_PUEN_P13   (0x1 << 13)
7244 +#define PORT_P3_PUEN_P13_VAL(val)   (((val) & 0x1) << 13)
7245 +#define PORT_P3_PUEN_P13_GET(val)   ((((val) & PORT_P3_PUEN_P13) >> 13) & 0x1)
7246 +#define PORT_P3_PUEN_P13_SET(reg,val) (reg) = ((reg & ~PORT_P3_PUEN_P13) | (((val) & 0x1) << 13))
7247 +/* Pull Up Device Enable at Port 3 Bit # (12) */
7248 +#define PORT_P3_PUEN_P12   (0x1 << 12)
7249 +#define PORT_P3_PUEN_P12_VAL(val)   (((val) & 0x1) << 12)
7250 +#define PORT_P3_PUEN_P12_GET(val)   ((((val) & PORT_P3_PUEN_P12) >> 12) & 0x1)
7251 +#define PORT_P3_PUEN_P12_SET(reg,val) (reg) = ((reg & ~PORT_P3_PUEN_P12) | (((val) & 0x1) << 12))
7252 +/* Pull Up Device Enable at Port 3 Bit # (11) */
7253 +#define PORT_P3_PUEN_P11   (0x1 << 11)
7254 +#define PORT_P3_PUEN_P11_VAL(val)   (((val) & 0x1) << 11)
7255 +#define PORT_P3_PUEN_P11_GET(val)   ((((val) & PORT_P3_PUEN_P11) >> 11) & 0x1)
7256 +#define PORT_P3_PUEN_P11_SET(reg,val) (reg) = ((reg & ~PORT_P3_PUEN_P11) | (((val) & 0x1) << 11))
7257 +/* Pull Up Device Enable at Port 3 Bit # (10) */
7258 +#define PORT_P3_PUEN_P10   (0x1 << 10)
7259 +#define PORT_P3_PUEN_P10_VAL(val)   (((val) & 0x1) << 10)
7260 +#define PORT_P3_PUEN_P10_GET(val)   ((((val) & PORT_P3_PUEN_P10) >> 10) & 0x1)
7261 +#define PORT_P3_PUEN_P10_SET(reg,val) (reg) = ((reg & ~PORT_P3_PUEN_P10) | (((val) & 0x1) << 10))
7262 +/* Pull Up Device Enable at Port 3 Bit # (9) */
7263 +#define PORT_P3_PUEN_P9   (0x1 << 9)
7264 +#define PORT_P3_PUEN_P9_VAL(val)   (((val) & 0x1) << 9)
7265 +#define PORT_P3_PUEN_P9_GET(val)   ((((val) & PORT_P3_PUEN_P9) >> 9) & 0x1)
7266 +#define PORT_P3_PUEN_P9_SET(reg,val) (reg) = ((reg & ~PORT_P3_PUEN_P9) | (((val) & 0x1) << 9))
7267 +/* Pull Up Device Enable at Port 3 Bit # (8) */
7268 +#define PORT_P3_PUEN_P8   (0x1 << 8)
7269 +#define PORT_P3_PUEN_P8_VAL(val)   (((val) & 0x1) << 8)
7270 +#define PORT_P3_PUEN_P8_GET(val)   ((((val) & PORT_P3_PUEN_P8) >> 8) & 0x1)
7271 +#define PORT_P3_PUEN_P8_SET(reg,val) (reg) = ((reg & ~PORT_P3_PUEN_P8) | (((val) & 0x1) << 8))
7272 +/* Pull Up Device Enable at Port 3 Bit # (7) */
7273 +#define PORT_P3_PUEN_P7   (0x1 << 7)
7274 +#define PORT_P3_PUEN_P7_VAL(val)   (((val) & 0x1) << 7)
7275 +#define PORT_P3_PUEN_P7_GET(val)   ((((val) & PORT_P3_PUEN_P7) >> 7) & 0x1)
7276 +#define PORT_P3_PUEN_P7_SET(reg,val) (reg) = ((reg & ~PORT_P3_PUEN_P7) | (((val) & 0x1) << 7))
7277 +/* Pull Up Device Enable at Port 3 Bit # (6) */
7278 +#define PORT_P3_PUEN_P6   (0x1 << 6)
7279 +#define PORT_P3_PUEN_P6_VAL(val)   (((val) & 0x1) << 6)
7280 +#define PORT_P3_PUEN_P6_GET(val)   ((((val) & PORT_P3_PUEN_P6) >> 6) & 0x1)
7281 +#define PORT_P3_PUEN_P6_SET(reg,val) (reg) = ((reg & ~PORT_P3_PUEN_P6) | (((val) & 0x1) << 6))
7282 +/* Pull Up Device Enable at Port 3 Bit # (5) */
7283 +#define PORT_P3_PUEN_P5   (0x1 << 5)
7284 +#define PORT_P3_PUEN_P5_VAL(val)   (((val) & 0x1) << 5)
7285 +#define PORT_P3_PUEN_P5_GET(val)   ((((val) & PORT_P3_PUEN_P5) >> 5) & 0x1)
7286 +#define PORT_P3_PUEN_P5_SET(reg,val) (reg) = ((reg & ~PORT_P3_PUEN_P5) | (((val) & 0x1) << 5))
7287 +/* Pull Up Device Enable at Port 3 Bit # (4) */
7288 +#define PORT_P3_PUEN_P4   (0x1 << 4)
7289 +#define PORT_P3_PUEN_P4_VAL(val)   (((val) & 0x1) << 4)
7290 +#define PORT_P3_PUEN_P4_GET(val)   ((((val) & PORT_P3_PUEN_P4) >> 4) & 0x1)
7291 +#define PORT_P3_PUEN_P4_SET(reg,val) (reg) = ((reg & ~PORT_P3_PUEN_P4) | (((val) & 0x1) << 4))
7292 +/* Pull Up Device Enable at Port 3 Bit # (3) */
7293 +#define PORT_P3_PUEN_P3   (0x1 << 3)
7294 +#define PORT_P3_PUEN_P3_VAL(val)   (((val) & 0x1) << 3)
7295 +#define PORT_P3_PUEN_P3_GET(val)   ((((val) & PORT_P3_PUEN_P3) >> 3) & 0x1)
7296 +#define PORT_P3_PUEN_P3_SET(reg,val) (reg) = ((reg & ~PORT_P3_PUEN_P3) | (((val) & 0x1) << 3))
7297 +/* Pull Up Device Enable at Port 3 Bit # (2) */
7298 +#define PORT_P3_PUEN_P2   (0x1 << 2)
7299 +#define PORT_P3_PUEN_P2_VAL(val)   (((val) & 0x1) << 2)
7300 +#define PORT_P3_PUEN_P2_GET(val)   ((((val) & PORT_P3_PUEN_P2) >> 2) & 0x1)
7301 +#define PORT_P3_PUEN_P2_SET(reg,val) (reg) = ((reg & ~PORT_P3_PUEN_P2) | (((val) & 0x1) << 2))
7302 +/* Pull Up Device Enable at Port 3 Bit # (1) */
7303 +#define PORT_P3_PUEN_P1   (0x1 << 1)
7304 +#define PORT_P3_PUEN_P1_VAL(val)   (((val) & 0x1) << 1)
7305 +#define PORT_P3_PUEN_P1_GET(val)   ((((val) & PORT_P3_PUEN_P1) >> 1) & 0x1)
7306 +#define PORT_P3_PUEN_P1_SET(reg,val) (reg) = ((reg & ~PORT_P3_PUEN_P1) | (((val) & 0x1) << 1))
7307 +/* Pull Up Device Enable at Port 3 Bit # (0) */
7308 +#define PORT_P3_PUEN_P0   (0x1)
7309 +#define PORT_P3_PUEN_P0_VAL(val)   (((val) & 0x1) << 0)
7310 +#define PORT_P3_PUEN_P0_GET(val)   ((((val) & PORT_P3_PUEN_P0) >> 0) & 0x1)
7311 +#define PORT_P3_PUEN_P0_SET(reg,val) (reg) = ((reg & ~PORT_P3_PUEN_P0) | (((val) & 0x1) << 0))
7312 +
7313 +/*******************************************************************************
7314 + * Port 4 Data Output Register
7315 + ******************************************************************************/
7316 +
7317 +/* Port 4 Pin # Output Value (23) */
7318 +#define PORT_P4_OUT_P23   (0x1 << 23)
7319 +#define PORT_P4_OUT_P23_VAL(val)   (((val) & 0x1) << 23)
7320 +#define PORT_P4_OUT_P23_GET(val)   ((((val) & PORT_P4_OUT_P23) >> 23) & 0x1)
7321 +#define PORT_P4_OUT_P23_SET(reg,val) (reg) = ((reg & ~PORT_P4_OUT_P23) | (((val) & 0x1) << 23))
7322 +/* Port 4 Pin # Output Value (22) */
7323 +#define PORT_P4_OUT_P22   (0x1 << 22)
7324 +#define PORT_P4_OUT_P22_VAL(val)   (((val) & 0x1) << 22)
7325 +#define PORT_P4_OUT_P22_GET(val)   ((((val) & PORT_P4_OUT_P22) >> 22) & 0x1)
7326 +#define PORT_P4_OUT_P22_SET(reg,val) (reg) = ((reg & ~PORT_P4_OUT_P22) | (((val) & 0x1) << 22))
7327 +/* Port 4 Pin # Output Value (21) */
7328 +#define PORT_P4_OUT_P21   (0x1 << 21)
7329 +#define PORT_P4_OUT_P21_VAL(val)   (((val) & 0x1) << 21)
7330 +#define PORT_P4_OUT_P21_GET(val)   ((((val) & PORT_P4_OUT_P21) >> 21) & 0x1)
7331 +#define PORT_P4_OUT_P21_SET(reg,val) (reg) = ((reg & ~PORT_P4_OUT_P21) | (((val) & 0x1) << 21))
7332 +/* Port 4 Pin # Output Value (20) */
7333 +#define PORT_P4_OUT_P20   (0x1 << 20)
7334 +#define PORT_P4_OUT_P20_VAL(val)   (((val) & 0x1) << 20)
7335 +#define PORT_P4_OUT_P20_GET(val)   ((((val) & PORT_P4_OUT_P20) >> 20) & 0x1)
7336 +#define PORT_P4_OUT_P20_SET(reg,val) (reg) = ((reg & ~PORT_P4_OUT_P20) | (((val) & 0x1) << 20))
7337 +/* Port 4 Pin # Output Value (19) */
7338 +#define PORT_P4_OUT_P19   (0x1 << 19)
7339 +#define PORT_P4_OUT_P19_VAL(val)   (((val) & 0x1) << 19)
7340 +#define PORT_P4_OUT_P19_GET(val)   ((((val) & PORT_P4_OUT_P19) >> 19) & 0x1)
7341 +#define PORT_P4_OUT_P19_SET(reg,val) (reg) = ((reg & ~PORT_P4_OUT_P19) | (((val) & 0x1) << 19))
7342 +/* Port 4 Pin # Output Value (18) */
7343 +#define PORT_P4_OUT_P18   (0x1 << 18)
7344 +#define PORT_P4_OUT_P18_VAL(val)   (((val) & 0x1) << 18)
7345 +#define PORT_P4_OUT_P18_GET(val)   ((((val) & PORT_P4_OUT_P18) >> 18) & 0x1)
7346 +#define PORT_P4_OUT_P18_SET(reg,val) (reg) = ((reg & ~PORT_P4_OUT_P18) | (((val) & 0x1) << 18))
7347 +/* Port 4 Pin # Output Value (17) */
7348 +#define PORT_P4_OUT_P17   (0x1 << 17)
7349 +#define PORT_P4_OUT_P17_VAL(val)   (((val) & 0x1) << 17)
7350 +#define PORT_P4_OUT_P17_GET(val)   ((((val) & PORT_P4_OUT_P17) >> 17) & 0x1)
7351 +#define PORT_P4_OUT_P17_SET(reg,val) (reg) = ((reg & ~PORT_P4_OUT_P17) | (((val) & 0x1) << 17))
7352 +/* Port 4 Pin # Output Value (16) */
7353 +#define PORT_P4_OUT_P16   (0x1 << 16)
7354 +#define PORT_P4_OUT_P16_VAL(val)   (((val) & 0x1) << 16)
7355 +#define PORT_P4_OUT_P16_GET(val)   ((((val) & PORT_P4_OUT_P16) >> 16) & 0x1)
7356 +#define PORT_P4_OUT_P16_SET(reg,val) (reg) = ((reg & ~PORT_P4_OUT_P16) | (((val) & 0x1) << 16))
7357 +/* Port 4 Pin # Output Value (15) */
7358 +#define PORT_P4_OUT_P15   (0x1 << 15)
7359 +#define PORT_P4_OUT_P15_VAL(val)   (((val) & 0x1) << 15)
7360 +#define PORT_P4_OUT_P15_GET(val)   ((((val) & PORT_P4_OUT_P15) >> 15) & 0x1)
7361 +#define PORT_P4_OUT_P15_SET(reg,val) (reg) = ((reg & ~PORT_P4_OUT_P15) | (((val) & 0x1) << 15))
7362 +/* Port 4 Pin # Output Value (14) */
7363 +#define PORT_P4_OUT_P14   (0x1 << 14)
7364 +#define PORT_P4_OUT_P14_VAL(val)   (((val) & 0x1) << 14)
7365 +#define PORT_P4_OUT_P14_GET(val)   ((((val) & PORT_P4_OUT_P14) >> 14) & 0x1)
7366 +#define PORT_P4_OUT_P14_SET(reg,val) (reg) = ((reg & ~PORT_P4_OUT_P14) | (((val) & 0x1) << 14))
7367 +/* Port 4 Pin # Output Value (13) */
7368 +#define PORT_P4_OUT_P13   (0x1 << 13)
7369 +#define PORT_P4_OUT_P13_VAL(val)   (((val) & 0x1) << 13)
7370 +#define PORT_P4_OUT_P13_GET(val)   ((((val) & PORT_P4_OUT_P13) >> 13) & 0x1)
7371 +#define PORT_P4_OUT_P13_SET(reg,val) (reg) = ((reg & ~PORT_P4_OUT_P13) | (((val) & 0x1) << 13))
7372 +/* Port 4 Pin # Output Value (12) */
7373 +#define PORT_P4_OUT_P12   (0x1 << 12)
7374 +#define PORT_P4_OUT_P12_VAL(val)   (((val) & 0x1) << 12)
7375 +#define PORT_P4_OUT_P12_GET(val)   ((((val) & PORT_P4_OUT_P12) >> 12) & 0x1)
7376 +#define PORT_P4_OUT_P12_SET(reg,val) (reg) = ((reg & ~PORT_P4_OUT_P12) | (((val) & 0x1) << 12))
7377 +/* Port 4 Pin # Output Value (11) */
7378 +#define PORT_P4_OUT_P11   (0x1 << 11)
7379 +#define PORT_P4_OUT_P11_VAL(val)   (((val) & 0x1) << 11)
7380 +#define PORT_P4_OUT_P11_GET(val)   ((((val) & PORT_P4_OUT_P11) >> 11) & 0x1)
7381 +#define PORT_P4_OUT_P11_SET(reg,val) (reg) = ((reg & ~PORT_P4_OUT_P11) | (((val) & 0x1) << 11))
7382 +/* Port 4 Pin # Output Value (10) */
7383 +#define PORT_P4_OUT_P10   (0x1 << 10)
7384 +#define PORT_P4_OUT_P10_VAL(val)   (((val) & 0x1) << 10)
7385 +#define PORT_P4_OUT_P10_GET(val)   ((((val) & PORT_P4_OUT_P10) >> 10) & 0x1)
7386 +#define PORT_P4_OUT_P10_SET(reg,val) (reg) = ((reg & ~PORT_P4_OUT_P10) | (((val) & 0x1) << 10))
7387 +/* Port 4 Pin # Output Value (9) */
7388 +#define PORT_P4_OUT_P9   (0x1 << 9)
7389 +#define PORT_P4_OUT_P9_VAL(val)   (((val) & 0x1) << 9)
7390 +#define PORT_P4_OUT_P9_GET(val)   ((((val) & PORT_P4_OUT_P9) >> 9) & 0x1)
7391 +#define PORT_P4_OUT_P9_SET(reg,val) (reg) = ((reg & ~PORT_P4_OUT_P9) | (((val) & 0x1) << 9))
7392 +/* Port 4 Pin # Output Value (8) */
7393 +#define PORT_P4_OUT_P8   (0x1 << 8)
7394 +#define PORT_P4_OUT_P8_VAL(val)   (((val) & 0x1) << 8)
7395 +#define PORT_P4_OUT_P8_GET(val)   ((((val) & PORT_P4_OUT_P8) >> 8) & 0x1)
7396 +#define PORT_P4_OUT_P8_SET(reg,val) (reg) = ((reg & ~PORT_P4_OUT_P8) | (((val) & 0x1) << 8))
7397 +/* Port 4 Pin # Output Value (7) */
7398 +#define PORT_P4_OUT_P7   (0x1 << 7)
7399 +#define PORT_P4_OUT_P7_VAL(val)   (((val) & 0x1) << 7)
7400 +#define PORT_P4_OUT_P7_GET(val)   ((((val) & PORT_P4_OUT_P7) >> 7) & 0x1)
7401 +#define PORT_P4_OUT_P7_SET(reg,val) (reg) = ((reg & ~PORT_P4_OUT_P7) | (((val) & 0x1) << 7))
7402 +/* Port 4 Pin # Output Value (6) */
7403 +#define PORT_P4_OUT_P6   (0x1 << 6)
7404 +#define PORT_P4_OUT_P6_VAL(val)   (((val) & 0x1) << 6)
7405 +#define PORT_P4_OUT_P6_GET(val)   ((((val) & PORT_P4_OUT_P6) >> 6) & 0x1)
7406 +#define PORT_P4_OUT_P6_SET(reg,val) (reg) = ((reg & ~PORT_P4_OUT_P6) | (((val) & 0x1) << 6))
7407 +/* Port 4 Pin # Output Value (5) */
7408 +#define PORT_P4_OUT_P5   (0x1 << 5)
7409 +#define PORT_P4_OUT_P5_VAL(val)   (((val) & 0x1) << 5)
7410 +#define PORT_P4_OUT_P5_GET(val)   ((((val) & PORT_P4_OUT_P5) >> 5) & 0x1)
7411 +#define PORT_P4_OUT_P5_SET(reg,val) (reg) = ((reg & ~PORT_P4_OUT_P5) | (((val) & 0x1) << 5))
7412 +/* Port 4 Pin # Output Value (4) */
7413 +#define PORT_P4_OUT_P4   (0x1 << 4)
7414 +#define PORT_P4_OUT_P4_VAL(val)   (((val) & 0x1) << 4)
7415 +#define PORT_P4_OUT_P4_GET(val)   ((((val) & PORT_P4_OUT_P4) >> 4) & 0x1)
7416 +#define PORT_P4_OUT_P4_SET(reg,val) (reg) = ((reg & ~PORT_P4_OUT_P4) | (((val) & 0x1) << 4))
7417 +/* Port 4 Pin # Output Value (3) */
7418 +#define PORT_P4_OUT_P3   (0x1 << 3)
7419 +#define PORT_P4_OUT_P3_VAL(val)   (((val) & 0x1) << 3)
7420 +#define PORT_P4_OUT_P3_GET(val)   ((((val) & PORT_P4_OUT_P3) >> 3) & 0x1)
7421 +#define PORT_P4_OUT_P3_SET(reg,val) (reg) = ((reg & ~PORT_P4_OUT_P3) | (((val) & 0x1) << 3))
7422 +/* Port 4 Pin # Output Value (2) */
7423 +#define PORT_P4_OUT_P2   (0x1 << 2)
7424 +#define PORT_P4_OUT_P2_VAL(val)   (((val) & 0x1) << 2)
7425 +#define PORT_P4_OUT_P2_GET(val)   ((((val) & PORT_P4_OUT_P2) >> 2) & 0x1)
7426 +#define PORT_P4_OUT_P2_SET(reg,val) (reg) = ((reg & ~PORT_P4_OUT_P2) | (((val) & 0x1) << 2))
7427 +/* Port 4 Pin # Output Value (1) */
7428 +#define PORT_P4_OUT_P1   (0x1 << 1)
7429 +#define PORT_P4_OUT_P1_VAL(val)   (((val) & 0x1) << 1)
7430 +#define PORT_P4_OUT_P1_GET(val)   ((((val) & PORT_P4_OUT_P1) >> 1) & 0x1)
7431 +#define PORT_P4_OUT_P1_SET(reg,val) (reg) = ((reg & ~PORT_P4_OUT_P1) | (((val) & 0x1) << 1))
7432 +/* Port 4 Pin # Output Value (0) */
7433 +#define PORT_P4_OUT_P0   (0x1)
7434 +#define PORT_P4_OUT_P0_VAL(val)   (((val) & 0x1) << 0)
7435 +#define PORT_P4_OUT_P0_GET(val)   ((((val) & PORT_P4_OUT_P0) >> 0) & 0x1)
7436 +#define PORT_P4_OUT_P0_SET(reg,val) (reg) = ((reg & ~PORT_P4_OUT_P0) | (((val) & 0x1) << 0))
7437 +
7438 +/*******************************************************************************
7439 + * Port 4 Data Input Register
7440 + ******************************************************************************/
7441 +
7442 +/* Port 4 Pin # Latched Input Value (23) */
7443 +#define PORT_P4_IN_P23   (0x1 << 23)
7444 +#define PORT_P4_IN_P23_GET(val)   ((((val) & PORT_P4_IN_P23) >> 23) & 0x1)
7445 +/* Port 4 Pin # Latched Input Value (22) */
7446 +#define PORT_P4_IN_P22   (0x1 << 22)
7447 +#define PORT_P4_IN_P22_GET(val)   ((((val) & PORT_P4_IN_P22) >> 22) & 0x1)
7448 +/* Port 4 Pin # Latched Input Value (21) */
7449 +#define PORT_P4_IN_P21   (0x1 << 21)
7450 +#define PORT_P4_IN_P21_GET(val)   ((((val) & PORT_P4_IN_P21) >> 21) & 0x1)
7451 +/* Port 4 Pin # Latched Input Value (20) */
7452 +#define PORT_P4_IN_P20   (0x1 << 20)
7453 +#define PORT_P4_IN_P20_GET(val)   ((((val) & PORT_P4_IN_P20) >> 20) & 0x1)
7454 +/* Port 4 Pin # Latched Input Value (19) */
7455 +#define PORT_P4_IN_P19   (0x1 << 19)
7456 +#define PORT_P4_IN_P19_GET(val)   ((((val) & PORT_P4_IN_P19) >> 19) & 0x1)
7457 +/* Port 4 Pin # Latched Input Value (18) */
7458 +#define PORT_P4_IN_P18   (0x1 << 18)
7459 +#define PORT_P4_IN_P18_GET(val)   ((((val) & PORT_P4_IN_P18) >> 18) & 0x1)
7460 +/* Port 4 Pin # Latched Input Value (17) */
7461 +#define PORT_P4_IN_P17   (0x1 << 17)
7462 +#define PORT_P4_IN_P17_GET(val)   ((((val) & PORT_P4_IN_P17) >> 17) & 0x1)
7463 +/* Port 4 Pin # Latched Input Value (16) */
7464 +#define PORT_P4_IN_P16   (0x1 << 16)
7465 +#define PORT_P4_IN_P16_GET(val)   ((((val) & PORT_P4_IN_P16) >> 16) & 0x1)
7466 +/* Port 4 Pin # Latched Input Value (15) */
7467 +#define PORT_P4_IN_P15   (0x1 << 15)
7468 +#define PORT_P4_IN_P15_GET(val)   ((((val) & PORT_P4_IN_P15) >> 15) & 0x1)
7469 +/* Port 4 Pin # Latched Input Value (14) */
7470 +#define PORT_P4_IN_P14   (0x1 << 14)
7471 +#define PORT_P4_IN_P14_GET(val)   ((((val) & PORT_P4_IN_P14) >> 14) & 0x1)
7472 +/* Port 4 Pin # Latched Input Value (13) */
7473 +#define PORT_P4_IN_P13   (0x1 << 13)
7474 +#define PORT_P4_IN_P13_GET(val)   ((((val) & PORT_P4_IN_P13) >> 13) & 0x1)
7475 +/* Port 4 Pin # Latched Input Value (12) */
7476 +#define PORT_P4_IN_P12   (0x1 << 12)
7477 +#define PORT_P4_IN_P12_GET(val)   ((((val) & PORT_P4_IN_P12) >> 12) & 0x1)
7478 +/* Port 4 Pin # Latched Input Value (11) */
7479 +#define PORT_P4_IN_P11   (0x1 << 11)
7480 +#define PORT_P4_IN_P11_GET(val)   ((((val) & PORT_P4_IN_P11) >> 11) & 0x1)
7481 +/* Port 4 Pin # Latched Input Value (10) */
7482 +#define PORT_P4_IN_P10   (0x1 << 10)
7483 +#define PORT_P4_IN_P10_GET(val)   ((((val) & PORT_P4_IN_P10) >> 10) & 0x1)
7484 +/* Port 4 Pin # Latched Input Value (9) */
7485 +#define PORT_P4_IN_P9   (0x1 << 9)
7486 +#define PORT_P4_IN_P9_GET(val)   ((((val) & PORT_P4_IN_P9) >> 9) & 0x1)
7487 +/* Port 4 Pin # Latched Input Value (8) */
7488 +#define PORT_P4_IN_P8   (0x1 << 8)
7489 +#define PORT_P4_IN_P8_GET(val)   ((((val) & PORT_P4_IN_P8) >> 8) & 0x1)
7490 +/* Port 4 Pin # Latched Input Value (7) */
7491 +#define PORT_P4_IN_P7   (0x1 << 7)
7492 +#define PORT_P4_IN_P7_GET(val)   ((((val) & PORT_P4_IN_P7) >> 7) & 0x1)
7493 +/* Port 4 Pin # Latched Input Value (6) */
7494 +#define PORT_P4_IN_P6   (0x1 << 6)
7495 +#define PORT_P4_IN_P6_GET(val)   ((((val) & PORT_P4_IN_P6) >> 6) & 0x1)
7496 +/* Port 4 Pin # Latched Input Value (5) */
7497 +#define PORT_P4_IN_P5   (0x1 << 5)
7498 +#define PORT_P4_IN_P5_GET(val)   ((((val) & PORT_P4_IN_P5) >> 5) & 0x1)
7499 +/* Port 4 Pin # Latched Input Value (4) */
7500 +#define PORT_P4_IN_P4   (0x1 << 4)
7501 +#define PORT_P4_IN_P4_GET(val)   ((((val) & PORT_P4_IN_P4) >> 4) & 0x1)
7502 +/* Port 4 Pin # Latched Input Value (3) */
7503 +#define PORT_P4_IN_P3   (0x1 << 3)
7504 +#define PORT_P4_IN_P3_GET(val)   ((((val) & PORT_P4_IN_P3) >> 3) & 0x1)
7505 +/* Port 4 Pin # Latched Input Value (2) */
7506 +#define PORT_P4_IN_P2   (0x1 << 2)
7507 +#define PORT_P4_IN_P2_GET(val)   ((((val) & PORT_P4_IN_P2) >> 2) & 0x1)
7508 +/* Port 4 Pin # Latched Input Value (1) */
7509 +#define PORT_P4_IN_P1   (0x1 << 1)
7510 +#define PORT_P4_IN_P1_GET(val)   ((((val) & PORT_P4_IN_P1) >> 1) & 0x1)
7511 +/* Port 4 Pin # Latched Input Value (0) */
7512 +#define PORT_P4_IN_P0   (0x1)
7513 +#define PORT_P4_IN_P0_GET(val)   ((((val) & PORT_P4_IN_P0) >> 0) & 0x1)
7514 +
7515 +/*******************************************************************************
7516 + * Port 4 Direction Register
7517 + ******************************************************************************/
7518 +
7519 +/* Port 4 Pin #Direction Control (23) */
7520 +#define PORT_P4_DIR_P23   (0x1 << 23)
7521 +#define PORT_P4_DIR_P23_VAL(val)   (((val) & 0x1) << 23)
7522 +#define PORT_P4_DIR_P23_GET(val)   ((((val) & PORT_P4_DIR_P23) >> 23) & 0x1)
7523 +#define PORT_P4_DIR_P23_SET(reg,val) (reg) = ((reg & ~PORT_P4_DIR_P23) | (((val) & 0x1) << 23))
7524 +/* Port 4 Pin #Direction Control (22) */
7525 +#define PORT_P4_DIR_P22   (0x1 << 22)
7526 +#define PORT_P4_DIR_P22_VAL(val)   (((val) & 0x1) << 22)
7527 +#define PORT_P4_DIR_P22_GET(val)   ((((val) & PORT_P4_DIR_P22) >> 22) & 0x1)
7528 +#define PORT_P4_DIR_P22_SET(reg,val) (reg) = ((reg & ~PORT_P4_DIR_P22) | (((val) & 0x1) << 22))
7529 +/* Port 4 Pin #Direction Control (21) */
7530 +#define PORT_P4_DIR_P21   (0x1 << 21)
7531 +#define PORT_P4_DIR_P21_VAL(val)   (((val) & 0x1) << 21)
7532 +#define PORT_P4_DIR_P21_GET(val)   ((((val) & PORT_P4_DIR_P21) >> 21) & 0x1)
7533 +#define PORT_P4_DIR_P21_SET(reg,val) (reg) = ((reg & ~PORT_P4_DIR_P21) | (((val) & 0x1) << 21))
7534 +/* Port 4 Pin #Direction Control (20) */
7535 +#define PORT_P4_DIR_P20   (0x1 << 20)
7536 +#define PORT_P4_DIR_P20_VAL(val)   (((val) & 0x1) << 20)
7537 +#define PORT_P4_DIR_P20_GET(val)   ((((val) & PORT_P4_DIR_P20) >> 20) & 0x1)
7538 +#define PORT_P4_DIR_P20_SET(reg,val) (reg) = ((reg & ~PORT_P4_DIR_P20) | (((val) & 0x1) << 20))
7539 +/* Port 4 Pin #Direction Control (19) */
7540 +#define PORT_P4_DIR_P19   (0x1 << 19)
7541 +#define PORT_P4_DIR_P19_VAL(val)   (((val) & 0x1) << 19)
7542 +#define PORT_P4_DIR_P19_GET(val)   ((((val) & PORT_P4_DIR_P19) >> 19) & 0x1)
7543 +#define PORT_P4_DIR_P19_SET(reg,val) (reg) = ((reg & ~PORT_P4_DIR_P19) | (((val) & 0x1) << 19))
7544 +/* Port 4 Pin #Direction Control (18) */
7545 +#define PORT_P4_DIR_P18   (0x1 << 18)
7546 +#define PORT_P4_DIR_P18_VAL(val)   (((val) & 0x1) << 18)
7547 +#define PORT_P4_DIR_P18_GET(val)   ((((val) & PORT_P4_DIR_P18) >> 18) & 0x1)
7548 +#define PORT_P4_DIR_P18_SET(reg,val) (reg) = ((reg & ~PORT_P4_DIR_P18) | (((val) & 0x1) << 18))
7549 +/* Port 4 Pin #Direction Control (17) */
7550 +#define PORT_P4_DIR_P17   (0x1 << 17)
7551 +#define PORT_P4_DIR_P17_VAL(val)   (((val) & 0x1) << 17)
7552 +#define PORT_P4_DIR_P17_GET(val)   ((((val) & PORT_P4_DIR_P17) >> 17) & 0x1)
7553 +#define PORT_P4_DIR_P17_SET(reg,val) (reg) = ((reg & ~PORT_P4_DIR_P17) | (((val) & 0x1) << 17))
7554 +/* Port 4 Pin #Direction Control (16) */
7555 +#define PORT_P4_DIR_P16   (0x1 << 16)
7556 +#define PORT_P4_DIR_P16_VAL(val)   (((val) & 0x1) << 16)
7557 +#define PORT_P4_DIR_P16_GET(val)   ((((val) & PORT_P4_DIR_P16) >> 16) & 0x1)
7558 +#define PORT_P4_DIR_P16_SET(reg,val) (reg) = ((reg & ~PORT_P4_DIR_P16) | (((val) & 0x1) << 16))
7559 +/* Port 4 Pin #Direction Control (15) */
7560 +#define PORT_P4_DIR_P15   (0x1 << 15)
7561 +#define PORT_P4_DIR_P15_VAL(val)   (((val) & 0x1) << 15)
7562 +#define PORT_P4_DIR_P15_GET(val)   ((((val) & PORT_P4_DIR_P15) >> 15) & 0x1)
7563 +#define PORT_P4_DIR_P15_SET(reg,val) (reg) = ((reg & ~PORT_P4_DIR_P15) | (((val) & 0x1) << 15))
7564 +/* Port 4 Pin #Direction Control (14) */
7565 +#define PORT_P4_DIR_P14   (0x1 << 14)
7566 +#define PORT_P4_DIR_P14_VAL(val)   (((val) & 0x1) << 14)
7567 +#define PORT_P4_DIR_P14_GET(val)   ((((val) & PORT_P4_DIR_P14) >> 14) & 0x1)
7568 +#define PORT_P4_DIR_P14_SET(reg,val) (reg) = ((reg & ~PORT_P4_DIR_P14) | (((val) & 0x1) << 14))
7569 +/* Port 4 Pin #Direction Control (13) */
7570 +#define PORT_P4_DIR_P13   (0x1 << 13)
7571 +#define PORT_P4_DIR_P13_VAL(val)   (((val) & 0x1) << 13)
7572 +#define PORT_P4_DIR_P13_GET(val)   ((((val) & PORT_P4_DIR_P13) >> 13) & 0x1)
7573 +#define PORT_P4_DIR_P13_SET(reg,val) (reg) = ((reg & ~PORT_P4_DIR_P13) | (((val) & 0x1) << 13))
7574 +/* Port 4 Pin #Direction Control (12) */
7575 +#define PORT_P4_DIR_P12   (0x1 << 12)
7576 +#define PORT_P4_DIR_P12_VAL(val)   (((val) & 0x1) << 12)
7577 +#define PORT_P4_DIR_P12_GET(val)   ((((val) & PORT_P4_DIR_P12) >> 12) & 0x1)
7578 +#define PORT_P4_DIR_P12_SET(reg,val) (reg) = ((reg & ~PORT_P4_DIR_P12) | (((val) & 0x1) << 12))
7579 +/* Port 4 Pin #Direction Control (11) */
7580 +#define PORT_P4_DIR_P11   (0x1 << 11)
7581 +#define PORT_P4_DIR_P11_VAL(val)   (((val) & 0x1) << 11)
7582 +#define PORT_P4_DIR_P11_GET(val)   ((((val) & PORT_P4_DIR_P11) >> 11) & 0x1)
7583 +#define PORT_P4_DIR_P11_SET(reg,val) (reg) = ((reg & ~PORT_P4_DIR_P11) | (((val) & 0x1) << 11))
7584 +/* Port 4 Pin #Direction Control (10) */
7585 +#define PORT_P4_DIR_P10   (0x1 << 10)
7586 +#define PORT_P4_DIR_P10_VAL(val)   (((val) & 0x1) << 10)
7587 +#define PORT_P4_DIR_P10_GET(val)   ((((val) & PORT_P4_DIR_P10) >> 10) & 0x1)
7588 +#define PORT_P4_DIR_P10_SET(reg,val) (reg) = ((reg & ~PORT_P4_DIR_P10) | (((val) & 0x1) << 10))
7589 +/* Port 4 Pin #Direction Control (9) */
7590 +#define PORT_P4_DIR_P9   (0x1 << 9)
7591 +#define PORT_P4_DIR_P9_VAL(val)   (((val) & 0x1) << 9)
7592 +#define PORT_P4_DIR_P9_GET(val)   ((((val) & PORT_P4_DIR_P9) >> 9) & 0x1)
7593 +#define PORT_P4_DIR_P9_SET(reg,val) (reg) = ((reg & ~PORT_P4_DIR_P9) | (((val) & 0x1) << 9))
7594 +/* Port 4 Pin #Direction Control (8) */
7595 +#define PORT_P4_DIR_P8   (0x1 << 8)
7596 +#define PORT_P4_DIR_P8_VAL(val)   (((val) & 0x1) << 8)
7597 +#define PORT_P4_DIR_P8_GET(val)   ((((val) & PORT_P4_DIR_P8) >> 8) & 0x1)
7598 +#define PORT_P4_DIR_P8_SET(reg,val) (reg) = ((reg & ~PORT_P4_DIR_P8) | (((val) & 0x1) << 8))
7599 +/* Port 4 Pin #Direction Control (7) */
7600 +#define PORT_P4_DIR_P7   (0x1 << 7)
7601 +#define PORT_P4_DIR_P7_VAL(val)   (((val) & 0x1) << 7)
7602 +#define PORT_P4_DIR_P7_GET(val)   ((((val) & PORT_P4_DIR_P7) >> 7) & 0x1)
7603 +#define PORT_P4_DIR_P7_SET(reg,val) (reg) = ((reg & ~PORT_P4_DIR_P7) | (((val) & 0x1) << 7))
7604 +/* Port 4 Pin #Direction Control (6) */
7605 +#define PORT_P4_DIR_P6   (0x1 << 6)
7606 +#define PORT_P4_DIR_P6_VAL(val)   (((val) & 0x1) << 6)
7607 +#define PORT_P4_DIR_P6_GET(val)   ((((val) & PORT_P4_DIR_P6) >> 6) & 0x1)
7608 +#define PORT_P4_DIR_P6_SET(reg,val) (reg) = ((reg & ~PORT_P4_DIR_P6) | (((val) & 0x1) << 6))
7609 +/* Port 4 Pin #Direction Control (5) */
7610 +#define PORT_P4_DIR_P5   (0x1 << 5)
7611 +#define PORT_P4_DIR_P5_VAL(val)   (((val) & 0x1) << 5)
7612 +#define PORT_P4_DIR_P5_GET(val)   ((((val) & PORT_P4_DIR_P5) >> 5) & 0x1)
7613 +#define PORT_P4_DIR_P5_SET(reg,val) (reg) = ((reg & ~PORT_P4_DIR_P5) | (((val) & 0x1) << 5))
7614 +/* Port 4 Pin #Direction Control (4) */
7615 +#define PORT_P4_DIR_P4   (0x1 << 4)
7616 +#define PORT_P4_DIR_P4_VAL(val)   (((val) & 0x1) << 4)
7617 +#define PORT_P4_DIR_P4_GET(val)   ((((val) & PORT_P4_DIR_P4) >> 4) & 0x1)
7618 +#define PORT_P4_DIR_P4_SET(reg,val) (reg) = ((reg & ~PORT_P4_DIR_P4) | (((val) & 0x1) << 4))
7619 +/* Port 4 Pin #Direction Control (3) */
7620 +#define PORT_P4_DIR_P3   (0x1 << 3)
7621 +#define PORT_P4_DIR_P3_VAL(val)   (((val) & 0x1) << 3)
7622 +#define PORT_P4_DIR_P3_GET(val)   ((((val) & PORT_P4_DIR_P3) >> 3) & 0x1)
7623 +#define PORT_P4_DIR_P3_SET(reg,val) (reg) = ((reg & ~PORT_P4_DIR_P3) | (((val) & 0x1) << 3))
7624 +/* Port 4 Pin #Direction Control (2) */
7625 +#define PORT_P4_DIR_P2   (0x1 << 2)
7626 +#define PORT_P4_DIR_P2_VAL(val)   (((val) & 0x1) << 2)
7627 +#define PORT_P4_DIR_P2_GET(val)   ((((val) & PORT_P4_DIR_P2) >> 2) & 0x1)
7628 +#define PORT_P4_DIR_P2_SET(reg,val) (reg) = ((reg & ~PORT_P4_DIR_P2) | (((val) & 0x1) << 2))
7629 +/* Port 4 Pin #Direction Control (1) */
7630 +#define PORT_P4_DIR_P1   (0x1 << 1)
7631 +#define PORT_P4_DIR_P1_VAL(val)   (((val) & 0x1) << 1)
7632 +#define PORT_P4_DIR_P1_GET(val)   ((((val) & PORT_P4_DIR_P1) >> 1) & 0x1)
7633 +#define PORT_P4_DIR_P1_SET(reg,val) (reg) = ((reg & ~PORT_P4_DIR_P1) | (((val) & 0x1) << 1))
7634 +/* Port 4 Pin #Direction Control (0) */
7635 +#define PORT_P4_DIR_P0   (0x1)
7636 +#define PORT_P4_DIR_P0_VAL(val)   (((val) & 0x1) << 0)
7637 +#define PORT_P4_DIR_P0_GET(val)   ((((val) & PORT_P4_DIR_P0) >> 0) & 0x1)
7638 +#define PORT_P4_DIR_P0_SET(reg,val) (reg) = ((reg & ~PORT_P4_DIR_P0) | (((val) & 0x1) << 0))
7639 +
7640 +/*******************************************************************************
7641 + * Port 4 Alternate Function Select Register 0
7642 + ******************************************************************************/
7643 +
7644 +/* Alternate Function at Port 4 Bit # (23) */
7645 +#define PORT_P4_ALTSEL0_P23   (0x1 << 23)
7646 +#define PORT_P4_ALTSEL0_P23_VAL(val)   (((val) & 0x1) << 23)
7647 +#define PORT_P4_ALTSEL0_P23_GET(val)   ((((val) & PORT_P4_ALTSEL0_P23) >> 23) & 0x1)
7648 +#define PORT_P4_ALTSEL0_P23_SET(reg,val) (reg) = ((reg & ~PORT_P4_ALTSEL0_P23) | (((val) & 0x1) << 23))
7649 +/* Alternate Function at Port 4 Bit # (22) */
7650 +#define PORT_P4_ALTSEL0_P22   (0x1 << 22)
7651 +#define PORT_P4_ALTSEL0_P22_VAL(val)   (((val) & 0x1) << 22)
7652 +#define PORT_P4_ALTSEL0_P22_GET(val)   ((((val) & PORT_P4_ALTSEL0_P22) >> 22) & 0x1)
7653 +#define PORT_P4_ALTSEL0_P22_SET(reg,val) (reg) = ((reg & ~PORT_P4_ALTSEL0_P22) | (((val) & 0x1) << 22))
7654 +/* Alternate Function at Port 4 Bit # (21) */
7655 +#define PORT_P4_ALTSEL0_P21   (0x1 << 21)
7656 +#define PORT_P4_ALTSEL0_P21_VAL(val)   (((val) & 0x1) << 21)
7657 +#define PORT_P4_ALTSEL0_P21_GET(val)   ((((val) & PORT_P4_ALTSEL0_P21) >> 21) & 0x1)
7658 +#define PORT_P4_ALTSEL0_P21_SET(reg,val) (reg) = ((reg & ~PORT_P4_ALTSEL0_P21) | (((val) & 0x1) << 21))
7659 +/* Alternate Function at Port 4 Bit # (20) */
7660 +#define PORT_P4_ALTSEL0_P20   (0x1 << 20)
7661 +#define PORT_P4_ALTSEL0_P20_VAL(val)   (((val) & 0x1) << 20)
7662 +#define PORT_P4_ALTSEL0_P20_GET(val)   ((((val) & PORT_P4_ALTSEL0_P20) >> 20) & 0x1)
7663 +#define PORT_P4_ALTSEL0_P20_SET(reg,val) (reg) = ((reg & ~PORT_P4_ALTSEL0_P20) | (((val) & 0x1) << 20))
7664 +/* Alternate Function at Port 4 Bit # (19) */
7665 +#define PORT_P4_ALTSEL0_P19   (0x1 << 19)
7666 +#define PORT_P4_ALTSEL0_P19_VAL(val)   (((val) & 0x1) << 19)
7667 +#define PORT_P4_ALTSEL0_P19_GET(val)   ((((val) & PORT_P4_ALTSEL0_P19) >> 19) & 0x1)
7668 +#define PORT_P4_ALTSEL0_P19_SET(reg,val) (reg) = ((reg & ~PORT_P4_ALTSEL0_P19) | (((val) & 0x1) << 19))
7669 +/* Alternate Function at Port 4 Bit # (18) */
7670 +#define PORT_P4_ALTSEL0_P18   (0x1 << 18)
7671 +#define PORT_P4_ALTSEL0_P18_VAL(val)   (((val) & 0x1) << 18)
7672 +#define PORT_P4_ALTSEL0_P18_GET(val)   ((((val) & PORT_P4_ALTSEL0_P18) >> 18) & 0x1)
7673 +#define PORT_P4_ALTSEL0_P18_SET(reg,val) (reg) = ((reg & ~PORT_P4_ALTSEL0_P18) | (((val) & 0x1) << 18))
7674 +/* Alternate Function at Port 4 Bit # (17) */
7675 +#define PORT_P4_ALTSEL0_P17   (0x1 << 17)
7676 +#define PORT_P4_ALTSEL0_P17_VAL(val)   (((val) & 0x1) << 17)
7677 +#define PORT_P4_ALTSEL0_P17_GET(val)   ((((val) & PORT_P4_ALTSEL0_P17) >> 17) & 0x1)
7678 +#define PORT_P4_ALTSEL0_P17_SET(reg,val) (reg) = ((reg & ~PORT_P4_ALTSEL0_P17) | (((val) & 0x1) << 17))
7679 +/* Alternate Function at Port 4 Bit # (16) */
7680 +#define PORT_P4_ALTSEL0_P16   (0x1 << 16)
7681 +#define PORT_P4_ALTSEL0_P16_VAL(val)   (((val) & 0x1) << 16)
7682 +#define PORT_P4_ALTSEL0_P16_GET(val)   ((((val) & PORT_P4_ALTSEL0_P16) >> 16) & 0x1)
7683 +#define PORT_P4_ALTSEL0_P16_SET(reg,val) (reg) = ((reg & ~PORT_P4_ALTSEL0_P16) | (((val) & 0x1) << 16))
7684 +/* Alternate Function at Port 4 Bit # (15) */
7685 +#define PORT_P4_ALTSEL0_P15   (0x1 << 15)
7686 +#define PORT_P4_ALTSEL0_P15_VAL(val)   (((val) & 0x1) << 15)
7687 +#define PORT_P4_ALTSEL0_P15_GET(val)   ((((val) & PORT_P4_ALTSEL0_P15) >> 15) & 0x1)
7688 +#define PORT_P4_ALTSEL0_P15_SET(reg,val) (reg) = ((reg & ~PORT_P4_ALTSEL0_P15) | (((val) & 0x1) << 15))
7689 +/* Alternate Function at Port 4 Bit # (14) */
7690 +#define PORT_P4_ALTSEL0_P14   (0x1 << 14)
7691 +#define PORT_P4_ALTSEL0_P14_VAL(val)   (((val) & 0x1) << 14)
7692 +#define PORT_P4_ALTSEL0_P14_GET(val)   ((((val) & PORT_P4_ALTSEL0_P14) >> 14) & 0x1)
7693 +#define PORT_P4_ALTSEL0_P14_SET(reg,val) (reg) = ((reg & ~PORT_P4_ALTSEL0_P14) | (((val) & 0x1) << 14))
7694 +/* Alternate Function at Port 4 Bit # (13) */
7695 +#define PORT_P4_ALTSEL0_P13   (0x1 << 13)
7696 +#define PORT_P4_ALTSEL0_P13_VAL(val)   (((val) & 0x1) << 13)
7697 +#define PORT_P4_ALTSEL0_P13_GET(val)   ((((val) & PORT_P4_ALTSEL0_P13) >> 13) & 0x1)
7698 +#define PORT_P4_ALTSEL0_P13_SET(reg,val) (reg) = ((reg & ~PORT_P4_ALTSEL0_P13) | (((val) & 0x1) << 13))
7699 +/* Alternate Function at Port 4 Bit # (12) */
7700 +#define PORT_P4_ALTSEL0_P12   (0x1 << 12)
7701 +#define PORT_P4_ALTSEL0_P12_VAL(val)   (((val) & 0x1) << 12)
7702 +#define PORT_P4_ALTSEL0_P12_GET(val)   ((((val) & PORT_P4_ALTSEL0_P12) >> 12) & 0x1)
7703 +#define PORT_P4_ALTSEL0_P12_SET(reg,val) (reg) = ((reg & ~PORT_P4_ALTSEL0_P12) | (((val) & 0x1) << 12))
7704 +/* Alternate Function at Port 4 Bit # (11) */
7705 +#define PORT_P4_ALTSEL0_P11   (0x1 << 11)
7706 +#define PORT_P4_ALTSEL0_P11_VAL(val)   (((val) & 0x1) << 11)
7707 +#define PORT_P4_ALTSEL0_P11_GET(val)   ((((val) & PORT_P4_ALTSEL0_P11) >> 11) & 0x1)
7708 +#define PORT_P4_ALTSEL0_P11_SET(reg,val) (reg) = ((reg & ~PORT_P4_ALTSEL0_P11) | (((val) & 0x1) << 11))
7709 +/* Alternate Function at Port 4 Bit # (10) */
7710 +#define PORT_P4_ALTSEL0_P10   (0x1 << 10)
7711 +#define PORT_P4_ALTSEL0_P10_VAL(val)   (((val) & 0x1) << 10)
7712 +#define PORT_P4_ALTSEL0_P10_GET(val)   ((((val) & PORT_P4_ALTSEL0_P10) >> 10) & 0x1)
7713 +#define PORT_P4_ALTSEL0_P10_SET(reg,val) (reg) = ((reg & ~PORT_P4_ALTSEL0_P10) | (((val) & 0x1) << 10))
7714 +/* Alternate Function at Port 4 Bit # (9) */
7715 +#define PORT_P4_ALTSEL0_P9   (0x1 << 9)
7716 +#define PORT_P4_ALTSEL0_P9_VAL(val)   (((val) & 0x1) << 9)
7717 +#define PORT_P4_ALTSEL0_P9_GET(val)   ((((val) & PORT_P4_ALTSEL0_P9) >> 9) & 0x1)
7718 +#define PORT_P4_ALTSEL0_P9_SET(reg,val) (reg) = ((reg & ~PORT_P4_ALTSEL0_P9) | (((val) & 0x1) << 9))
7719 +/* Alternate Function at Port 4 Bit # (8) */
7720 +#define PORT_P4_ALTSEL0_P8   (0x1 << 8)
7721 +#define PORT_P4_ALTSEL0_P8_VAL(val)   (((val) & 0x1) << 8)
7722 +#define PORT_P4_ALTSEL0_P8_GET(val)   ((((val) & PORT_P4_ALTSEL0_P8) >> 8) & 0x1)
7723 +#define PORT_P4_ALTSEL0_P8_SET(reg,val) (reg) = ((reg & ~PORT_P4_ALTSEL0_P8) | (((val) & 0x1) << 8))
7724 +/* Alternate Function at Port 4 Bit # (7) */
7725 +#define PORT_P4_ALTSEL0_P7   (0x1 << 7)
7726 +#define PORT_P4_ALTSEL0_P7_VAL(val)   (((val) & 0x1) << 7)
7727 +#define PORT_P4_ALTSEL0_P7_GET(val)   ((((val) & PORT_P4_ALTSEL0_P7) >> 7) & 0x1)
7728 +#define PORT_P4_ALTSEL0_P7_SET(reg,val) (reg) = ((reg & ~PORT_P4_ALTSEL0_P7) | (((val) & 0x1) << 7))
7729 +/* Alternate Function at Port 4 Bit # (6) */
7730 +#define PORT_P4_ALTSEL0_P6   (0x1 << 6)
7731 +#define PORT_P4_ALTSEL0_P6_VAL(val)   (((val) & 0x1) << 6)
7732 +#define PORT_P4_ALTSEL0_P6_GET(val)   ((((val) & PORT_P4_ALTSEL0_P6) >> 6) & 0x1)
7733 +#define PORT_P4_ALTSEL0_P6_SET(reg,val) (reg) = ((reg & ~PORT_P4_ALTSEL0_P6) | (((val) & 0x1) << 6))
7734 +/* Alternate Function at Port 4 Bit # (5) */
7735 +#define PORT_P4_ALTSEL0_P5   (0x1 << 5)
7736 +#define PORT_P4_ALTSEL0_P5_VAL(val)   (((val) & 0x1) << 5)
7737 +#define PORT_P4_ALTSEL0_P5_GET(val)   ((((val) & PORT_P4_ALTSEL0_P5) >> 5) & 0x1)
7738 +#define PORT_P4_ALTSEL0_P5_SET(reg,val) (reg) = ((reg & ~PORT_P4_ALTSEL0_P5) | (((val) & 0x1) << 5))
7739 +/* Alternate Function at Port 4 Bit # (4) */
7740 +#define PORT_P4_ALTSEL0_P4   (0x1 << 4)
7741 +#define PORT_P4_ALTSEL0_P4_VAL(val)   (((val) & 0x1) << 4)
7742 +#define PORT_P4_ALTSEL0_P4_GET(val)   ((((val) & PORT_P4_ALTSEL0_P4) >> 4) & 0x1)
7743 +#define PORT_P4_ALTSEL0_P4_SET(reg,val) (reg) = ((reg & ~PORT_P4_ALTSEL0_P4) | (((val) & 0x1) << 4))
7744 +/* Alternate Function at Port 4 Bit # (3) */
7745 +#define PORT_P4_ALTSEL0_P3   (0x1 << 3)
7746 +#define PORT_P4_ALTSEL0_P3_VAL(val)   (((val) & 0x1) << 3)
7747 +#define PORT_P4_ALTSEL0_P3_GET(val)   ((((val) & PORT_P4_ALTSEL0_P3) >> 3) & 0x1)
7748 +#define PORT_P4_ALTSEL0_P3_SET(reg,val) (reg) = ((reg & ~PORT_P4_ALTSEL0_P3) | (((val) & 0x1) << 3))
7749 +/* Alternate Function at Port 4 Bit # (2) */
7750 +#define PORT_P4_ALTSEL0_P2   (0x1 << 2)
7751 +#define PORT_P4_ALTSEL0_P2_VAL(val)   (((val) & 0x1) << 2)
7752 +#define PORT_P4_ALTSEL0_P2_GET(val)   ((((val) & PORT_P4_ALTSEL0_P2) >> 2) & 0x1)
7753 +#define PORT_P4_ALTSEL0_P2_SET(reg,val) (reg) = ((reg & ~PORT_P4_ALTSEL0_P2) | (((val) & 0x1) << 2))
7754 +/* Alternate Function at Port 4 Bit # (1) */
7755 +#define PORT_P4_ALTSEL0_P1   (0x1 << 1)
7756 +#define PORT_P4_ALTSEL0_P1_VAL(val)   (((val) & 0x1) << 1)
7757 +#define PORT_P4_ALTSEL0_P1_GET(val)   ((((val) & PORT_P4_ALTSEL0_P1) >> 1) & 0x1)
7758 +#define PORT_P4_ALTSEL0_P1_SET(reg,val) (reg) = ((reg & ~PORT_P4_ALTSEL0_P1) | (((val) & 0x1) << 1))
7759 +/* Alternate Function at Port 4 Bit # (0) */
7760 +#define PORT_P4_ALTSEL0_P0   (0x1)
7761 +#define PORT_P4_ALTSEL0_P0_VAL(val)   (((val) & 0x1) << 0)
7762 +#define PORT_P4_ALTSEL0_P0_GET(val)   ((((val) & PORT_P4_ALTSEL0_P0) >> 0) & 0x1)
7763 +#define PORT_P4_ALTSEL0_P0_SET(reg,val) (reg) = ((reg & ~PORT_P4_ALTSEL0_P0) | (((val) & 0x1) << 0))
7764 +
7765 +/*******************************************************************************
7766 + * Port 4 Pull Up Device Enable Register
7767 + ******************************************************************************/
7768 +
7769 +/* Pull Up Device Enable at Port 4 Bit # (23) */
7770 +#define PORT_P4_PUEN_P23   (0x1 << 23)
7771 +#define PORT_P4_PUEN_P23_VAL(val)   (((val) & 0x1) << 23)
7772 +#define PORT_P4_PUEN_P23_GET(val)   ((((val) & PORT_P4_PUEN_P23) >> 23) & 0x1)
7773 +#define PORT_P4_PUEN_P23_SET(reg,val) (reg) = ((reg & ~PORT_P4_PUEN_P23) | (((val) & 0x1) << 23))
7774 +/* Pull Up Device Enable at Port 4 Bit # (22) */
7775 +#define PORT_P4_PUEN_P22   (0x1 << 22)
7776 +#define PORT_P4_PUEN_P22_VAL(val)   (((val) & 0x1) << 22)
7777 +#define PORT_P4_PUEN_P22_GET(val)   ((((val) & PORT_P4_PUEN_P22) >> 22) & 0x1)
7778 +#define PORT_P4_PUEN_P22_SET(reg,val) (reg) = ((reg & ~PORT_P4_PUEN_P22) | (((val) & 0x1) << 22))
7779 +/* Pull Up Device Enable at Port 4 Bit # (21) */
7780 +#define PORT_P4_PUEN_P21   (0x1 << 21)
7781 +#define PORT_P4_PUEN_P21_VAL(val)   (((val) & 0x1) << 21)
7782 +#define PORT_P4_PUEN_P21_GET(val)   ((((val) & PORT_P4_PUEN_P21) >> 21) & 0x1)
7783 +#define PORT_P4_PUEN_P21_SET(reg,val) (reg) = ((reg & ~PORT_P4_PUEN_P21) | (((val) & 0x1) << 21))
7784 +/* Pull Up Device Enable at Port 4 Bit # (20) */
7785 +#define PORT_P4_PUEN_P20   (0x1 << 20)
7786 +#define PORT_P4_PUEN_P20_VAL(val)   (((val) & 0x1) << 20)
7787 +#define PORT_P4_PUEN_P20_GET(val)   ((((val) & PORT_P4_PUEN_P20) >> 20) & 0x1)
7788 +#define PORT_P4_PUEN_P20_SET(reg,val) (reg) = ((reg & ~PORT_P4_PUEN_P20) | (((val) & 0x1) << 20))
7789 +/* Pull Up Device Enable at Port 4 Bit # (19) */
7790 +#define PORT_P4_PUEN_P19   (0x1 << 19)
7791 +#define PORT_P4_PUEN_P19_VAL(val)   (((val) & 0x1) << 19)
7792 +#define PORT_P4_PUEN_P19_GET(val)   ((((val) & PORT_P4_PUEN_P19) >> 19) & 0x1)
7793 +#define PORT_P4_PUEN_P19_SET(reg,val) (reg) = ((reg & ~PORT_P4_PUEN_P19) | (((val) & 0x1) << 19))
7794 +/* Pull Up Device Enable at Port 4 Bit # (18) */
7795 +#define PORT_P4_PUEN_P18   (0x1 << 18)
7796 +#define PORT_P4_PUEN_P18_VAL(val)   (((val) & 0x1) << 18)
7797 +#define PORT_P4_PUEN_P18_GET(val)   ((((val) & PORT_P4_PUEN_P18) >> 18) & 0x1)
7798 +#define PORT_P4_PUEN_P18_SET(reg,val) (reg) = ((reg & ~PORT_P4_PUEN_P18) | (((val) & 0x1) << 18))
7799 +/* Pull Up Device Enable at Port 4 Bit # (17) */
7800 +#define PORT_P4_PUEN_P17   (0x1 << 17)
7801 +#define PORT_P4_PUEN_P17_VAL(val)   (((val) & 0x1) << 17)
7802 +#define PORT_P4_PUEN_P17_GET(val)   ((((val) & PORT_P4_PUEN_P17) >> 17) & 0x1)
7803 +#define PORT_P4_PUEN_P17_SET(reg,val) (reg) = ((reg & ~PORT_P4_PUEN_P17) | (((val) & 0x1) << 17))
7804 +/* Pull Up Device Enable at Port 4 Bit # (16) */
7805 +#define PORT_P4_PUEN_P16   (0x1 << 16)
7806 +#define PORT_P4_PUEN_P16_VAL(val)   (((val) & 0x1) << 16)
7807 +#define PORT_P4_PUEN_P16_GET(val)   ((((val) & PORT_P4_PUEN_P16) >> 16) & 0x1)
7808 +#define PORT_P4_PUEN_P16_SET(reg,val) (reg) = ((reg & ~PORT_P4_PUEN_P16) | (((val) & 0x1) << 16))
7809 +/* Pull Up Device Enable at Port 4 Bit # (15) */
7810 +#define PORT_P4_PUEN_P15   (0x1 << 15)
7811 +#define PORT_P4_PUEN_P15_VAL(val)   (((val) & 0x1) << 15)
7812 +#define PORT_P4_PUEN_P15_GET(val)   ((((val) & PORT_P4_PUEN_P15) >> 15) & 0x1)
7813 +#define PORT_P4_PUEN_P15_SET(reg,val) (reg) = ((reg & ~PORT_P4_PUEN_P15) | (((val) & 0x1) << 15))
7814 +/* Pull Up Device Enable at Port 4 Bit # (14) */
7815 +#define PORT_P4_PUEN_P14   (0x1 << 14)
7816 +#define PORT_P4_PUEN_P14_VAL(val)   (((val) & 0x1) << 14)
7817 +#define PORT_P4_PUEN_P14_GET(val)   ((((val) & PORT_P4_PUEN_P14) >> 14) & 0x1)
7818 +#define PORT_P4_PUEN_P14_SET(reg,val) (reg) = ((reg & ~PORT_P4_PUEN_P14) | (((val) & 0x1) << 14))
7819 +/* Pull Up Device Enable at Port 4 Bit # (13) */
7820 +#define PORT_P4_PUEN_P13   (0x1 << 13)
7821 +#define PORT_P4_PUEN_P13_VAL(val)   (((val) & 0x1) << 13)
7822 +#define PORT_P4_PUEN_P13_GET(val)   ((((val) & PORT_P4_PUEN_P13) >> 13) & 0x1)
7823 +#define PORT_P4_PUEN_P13_SET(reg,val) (reg) = ((reg & ~PORT_P4_PUEN_P13) | (((val) & 0x1) << 13))
7824 +/* Pull Up Device Enable at Port 4 Bit # (12) */
7825 +#define PORT_P4_PUEN_P12   (0x1 << 12)
7826 +#define PORT_P4_PUEN_P12_VAL(val)   (((val) & 0x1) << 12)
7827 +#define PORT_P4_PUEN_P12_GET(val)   ((((val) & PORT_P4_PUEN_P12) >> 12) & 0x1)
7828 +#define PORT_P4_PUEN_P12_SET(reg,val) (reg) = ((reg & ~PORT_P4_PUEN_P12) | (((val) & 0x1) << 12))
7829 +/* Pull Up Device Enable at Port 4 Bit # (11) */
7830 +#define PORT_P4_PUEN_P11   (0x1 << 11)
7831 +#define PORT_P4_PUEN_P11_VAL(val)   (((val) & 0x1) << 11)
7832 +#define PORT_P4_PUEN_P11_GET(val)   ((((val) & PORT_P4_PUEN_P11) >> 11) & 0x1)
7833 +#define PORT_P4_PUEN_P11_SET(reg,val) (reg) = ((reg & ~PORT_P4_PUEN_P11) | (((val) & 0x1) << 11))
7834 +/* Pull Up Device Enable at Port 4 Bit # (10) */
7835 +#define PORT_P4_PUEN_P10   (0x1 << 10)
7836 +#define PORT_P4_PUEN_P10_VAL(val)   (((val) & 0x1) << 10)
7837 +#define PORT_P4_PUEN_P10_GET(val)   ((((val) & PORT_P4_PUEN_P10) >> 10) & 0x1)
7838 +#define PORT_P4_PUEN_P10_SET(reg,val) (reg) = ((reg & ~PORT_P4_PUEN_P10) | (((val) & 0x1) << 10))
7839 +/* Pull Up Device Enable at Port 4 Bit # (9) */
7840 +#define PORT_P4_PUEN_P9   (0x1 << 9)
7841 +#define PORT_P4_PUEN_P9_VAL(val)   (((val) & 0x1) << 9)
7842 +#define PORT_P4_PUEN_P9_GET(val)   ((((val) & PORT_P4_PUEN_P9) >> 9) & 0x1)
7843 +#define PORT_P4_PUEN_P9_SET(reg,val) (reg) = ((reg & ~PORT_P4_PUEN_P9) | (((val) & 0x1) << 9))
7844 +/* Pull Up Device Enable at Port 4 Bit # (8) */
7845 +#define PORT_P4_PUEN_P8   (0x1 << 8)
7846 +#define PORT_P4_PUEN_P8_VAL(val)   (((val) & 0x1) << 8)
7847 +#define PORT_P4_PUEN_P8_GET(val)   ((((val) & PORT_P4_PUEN_P8) >> 8) & 0x1)
7848 +#define PORT_P4_PUEN_P8_SET(reg,val) (reg) = ((reg & ~PORT_P4_PUEN_P8) | (((val) & 0x1) << 8))
7849 +/* Pull Up Device Enable at Port 4 Bit # (7) */
7850 +#define PORT_P4_PUEN_P7   (0x1 << 7)
7851 +#define PORT_P4_PUEN_P7_VAL(val)   (((val) & 0x1) << 7)
7852 +#define PORT_P4_PUEN_P7_GET(val)   ((((val) & PORT_P4_PUEN_P7) >> 7) & 0x1)
7853 +#define PORT_P4_PUEN_P7_SET(reg,val) (reg) = ((reg & ~PORT_P4_PUEN_P7) | (((val) & 0x1) << 7))
7854 +/* Pull Up Device Enable at Port 4 Bit # (6) */
7855 +#define PORT_P4_PUEN_P6   (0x1 << 6)
7856 +#define PORT_P4_PUEN_P6_VAL(val)   (((val) & 0x1) << 6)
7857 +#define PORT_P4_PUEN_P6_GET(val)   ((((val) & PORT_P4_PUEN_P6) >> 6) & 0x1)
7858 +#define PORT_P4_PUEN_P6_SET(reg,val) (reg) = ((reg & ~PORT_P4_PUEN_P6) | (((val) & 0x1) << 6))
7859 +/* Pull Up Device Enable at Port 4 Bit # (5) */
7860 +#define PORT_P4_PUEN_P5   (0x1 << 5)
7861 +#define PORT_P4_PUEN_P5_VAL(val)   (((val) & 0x1) << 5)
7862 +#define PORT_P4_PUEN_P5_GET(val)   ((((val) & PORT_P4_PUEN_P5) >> 5) & 0x1)
7863 +#define PORT_P4_PUEN_P5_SET(reg,val) (reg) = ((reg & ~PORT_P4_PUEN_P5) | (((val) & 0x1) << 5))
7864 +/* Pull Up Device Enable at Port 4 Bit # (4) */
7865 +#define PORT_P4_PUEN_P4   (0x1 << 4)
7866 +#define PORT_P4_PUEN_P4_VAL(val)   (((val) & 0x1) << 4)
7867 +#define PORT_P4_PUEN_P4_GET(val)   ((((val) & PORT_P4_PUEN_P4) >> 4) & 0x1)
7868 +#define PORT_P4_PUEN_P4_SET(reg,val) (reg) = ((reg & ~PORT_P4_PUEN_P4) | (((val) & 0x1) << 4))
7869 +/* Pull Up Device Enable at Port 4 Bit # (3) */
7870 +#define PORT_P4_PUEN_P3   (0x1 << 3)
7871 +#define PORT_P4_PUEN_P3_VAL(val)   (((val) & 0x1) << 3)
7872 +#define PORT_P4_PUEN_P3_GET(val)   ((((val) & PORT_P4_PUEN_P3) >> 3) & 0x1)
7873 +#define PORT_P4_PUEN_P3_SET(reg,val) (reg) = ((reg & ~PORT_P4_PUEN_P3) | (((val) & 0x1) << 3))
7874 +/* Pull Up Device Enable at Port 4 Bit # (2) */
7875 +#define PORT_P4_PUEN_P2   (0x1 << 2)
7876 +#define PORT_P4_PUEN_P2_VAL(val)   (((val) & 0x1) << 2)
7877 +#define PORT_P4_PUEN_P2_GET(val)   ((((val) & PORT_P4_PUEN_P2) >> 2) & 0x1)
7878 +#define PORT_P4_PUEN_P2_SET(reg,val) (reg) = ((reg & ~PORT_P4_PUEN_P2) | (((val) & 0x1) << 2))
7879 +/* Pull Up Device Enable at Port 4 Bit # (1) */
7880 +#define PORT_P4_PUEN_P1   (0x1 << 1)
7881 +#define PORT_P4_PUEN_P1_VAL(val)   (((val) & 0x1) << 1)
7882 +#define PORT_P4_PUEN_P1_GET(val)   ((((val) & PORT_P4_PUEN_P1) >> 1) & 0x1)
7883 +#define PORT_P4_PUEN_P1_SET(reg,val) (reg) = ((reg & ~PORT_P4_PUEN_P1) | (((val) & 0x1) << 1))
7884 +/* Pull Up Device Enable at Port 4 Bit # (0) */
7885 +#define PORT_P4_PUEN_P0   (0x1)
7886 +#define PORT_P4_PUEN_P0_VAL(val)   (((val) & 0x1) << 0)
7887 +#define PORT_P4_PUEN_P0_GET(val)   ((((val) & PORT_P4_PUEN_P0) >> 0) & 0x1)
7888 +#define PORT_P4_PUEN_P0_SET(reg,val) (reg) = ((reg & ~PORT_P4_PUEN_P0) | (((val) & 0x1) << 0))
7889 +
7890 +#endif /* __PORT_H */
7891 Index: linux-3.3.8/arch/mips/include/asm/mach-lantiq/svip/ssc_reg.h
7892 ===================================================================
7893 --- /dev/null   1970-01-01 00:00:00.000000000 +0000
7894 +++ linux-3.3.8/arch/mips/include/asm/mach-lantiq/svip/ssc_reg.h        2012-07-31 15:46:02.484476159 +0200
7895 @@ -0,0 +1,624 @@
7896 +/******************************************************************************
7897 +
7898 +  Copyright (c) 2007
7899 +  Infineon Technologies AG
7900 +  St. Martin Strasse 53; 81669 Munich, Germany
7901 +
7902 +  Any use of this Software is subject to the conclusion of a respective
7903 +  License Agreement. Without such a License Agreement no rights to the
7904 +  Software are granted.
7905 +
7906 + ******************************************************************************/
7907 +
7908 +#ifndef __SSC_REG_H
7909 +#define __SSC_REG_H
7910 +
7911 +/** SSC register structure */
7912 +struct svip_reg_ssc {
7913 +       volatile unsigned long  clc;  /*  0x00 */
7914 +       volatile unsigned long  pisel;  /*  0x04 */
7915 +       volatile unsigned long  id;  /*  0x08 */
7916 +       volatile unsigned long  reserved0;  /*  0x0c */
7917 +       volatile unsigned long  mcon;  /*  0x10 */
7918 +       volatile unsigned long  state;  /*  0x14 */
7919 +       volatile unsigned long  whbstate;  /*  0x18 */
7920 +       volatile unsigned long  reserved1;  /*  0x1c */
7921 +       volatile unsigned long  tb;  /*  0x20 */
7922 +       volatile unsigned long  rb;  /*  0x24 */
7923 +       volatile unsigned long  reserved2[2];  /*  0x28 */
7924 +       volatile unsigned long  rxfcon;  /*  0x30 */
7925 +       volatile unsigned long  txfcon;  /*  0x34 */
7926 +       volatile unsigned long  fstat;  /*  0x38 */
7927 +       volatile unsigned long  reserved3;  /*  0x3c */
7928 +       volatile unsigned long  br;  /*  0x40 */
7929 +       volatile unsigned long  brstat;  /*  0x44 */
7930 +       volatile unsigned long  reserved4[6];  /*  0x48 */
7931 +       volatile unsigned long  sfcon;  /*  0x60 */
7932 +       volatile unsigned long  sfstat;  /*  0x64 */
7933 +       volatile unsigned long  reserved5[2];  /*  0x68 */
7934 +       volatile unsigned long  gpocon;  /*  0x70 */
7935 +       volatile unsigned long  gpostat;  /*  0x74 */
7936 +       volatile unsigned long  whbgpostat;  /*  0x78 */
7937 +       volatile unsigned long  reserved6;  /*  0x7c */
7938 +       volatile unsigned long  rxreq;  /*  0x80 */
7939 +       volatile unsigned long  rxcnt;  /*  0x84 */
7940 +       volatile unsigned long  reserved7[25];  /*  0x88 */
7941 +       volatile unsigned long  dma_con;  /*  0xEC */
7942 +       volatile unsigned long  reserved8;  /*  0xf0 */
7943 +       volatile unsigned long  irnen;  /*  0xF4 */
7944 +       volatile unsigned long  irncr;  /*  0xF8 */
7945 +       volatile unsigned long  irnicr;  /*  0xFC */
7946 +};
7947 +
7948 +/*******************************************************************************
7949 + * CLC Register
7950 + ******************************************************************************/
7951 +
7952 +/* Clock Divider for Sleep Mode (23:16) */
7953 +#define SSC_CLC_SMC   (0xff << 16)
7954 +#define SSC_CLC_SMC_VAL(val)   (((val) & 0xff) << 16)
7955 +#define SSC_CLC_SMC_GET(val)   ((((val) & SSC_CLC_SMC) >> 16) & 0xff)
7956 +#define SSC_CLC_SMC_SET(reg,val) (reg) = ((reg & ~SSC_CLC_SMC) | (((val) & 0xff) << 16))
7957 +/* Clock Divider for Normal Run Mode (15:8) */
7958 +#define SSC_CLC_RMC   (0xff << 8)
7959 +#define SSC_CLC_RMC_VAL(val)   (((val) & 0xff) << 8)
7960 +#define SSC_CLC_RMC_GET(val)   ((((val) & SSC_CLC_RMC) >> 8) & 0xff)
7961 +#define SSC_CLC_RMC_SET(reg,val) (reg) = ((reg & ~SSC_CLC_RMC) | (((val) & 0xff) << 8))
7962 +/* Fast Shut-Off Enable Bit (5) */
7963 +#define SSC_CLC_FSOE   (0x1 << 5)
7964 +#define SSC_CLC_FSOE_VAL(val)   (((val) & 0x1) << 5)
7965 +#define SSC_CLC_FSOE_GET(val)   ((((val) & SSC_CLC_FSOE) >> 5) & 0x1)
7966 +#define SSC_CLC_FSOE_SET(reg,val) (reg) = ((reg & ~SSC_CLC_FSOE) | (((val) & 0x1) << 5))
7967 +/* Suspend Bit Write Enable for OCDS (4) */
7968 +#define SSC_CLC_SBWE   (0x1 << 4)
7969 +#define SSC_CLC_SBWE_VAL(val)   (((val) & 0x1) << 4)
7970 +#define SSC_CLC_SBWE_SET(reg,val) (reg) = (((reg & ~SSC_CLC_SBWE) | (val) & 1) << 4)
7971 +/* External Request Disable (3) */
7972 +#define SSC_CLC_EDIS   (0x1 << 3)
7973 +#define SSC_CLC_EDIS_VAL(val)   (((val) & 0x1) << 3)
7974 +#define SSC_CLC_EDIS_GET(val)   ((((val) & SSC_CLC_EDIS) >> 3) & 0x1)
7975 +#define SSC_CLC_EDIS_SET(reg,val) (reg) = ((reg & ~SSC_CLC_EDIS) | (((val) & 0x1) << 3))
7976 +/* Suspend Enable Bit for OCDS (2) */
7977 +#define SSC_CLC_SPEN   (0x1 << 2)
7978 +#define SSC_CLC_SPEN_VAL(val)   (((val) & 0x1) << 2)
7979 +#define SSC_CLC_SPEN_GET(val)   ((((val) & SSC_CLC_SPEN) >> 2) & 0x1)
7980 +#define SSC_CLC_SPEN_SET(reg,val) (reg) = ((reg & ~SSC_CLC_SPEN) | (((val) & 0x1) << 2))
7981 +/* Disable Status Bit (1) */
7982 +#define SSC_CLC_DISS   (0x1 << 1)
7983 +#define SSC_CLC_DISS_GET(val)   ((((val) & SSC_CLC_DISS) >> 1) & 0x1)
7984 +/* Disable Request Bit (0) */
7985 +#define SSC_CLC_DISR   (0x1)
7986 +#define SSC_CLC_DISR_VAL(val)   (((val) & 0x1) << 0)
7987 +#define SSC_CLC_DISR_GET(val)   ((((val) & SSC_CLC_DISR) >> 0) & 0x1)
7988 +#define SSC_CLC_DISR_SET(reg,val) (reg) = ((reg & ~SSC_CLC_DISR) | (((val) & 0x1) << 0))
7989 +
7990 +/*******************************************************************************
7991 + * ID Register
7992 + ******************************************************************************/
7993 +
7994 +/* Transmit FIFO Size (29:24) */
7995 +#define SSC_ID_TXFS   (0x3f << 24)
7996 +#define SSC_ID_TXFS_GET(val)   ((((val) & SSC_ID_TXFS) >> 24) & 0x3f)
7997 +/* Receive FIFO Size (21:16) */
7998 +#define SSC_ID_RXFS   (0x3f << 16)
7999 +#define SSC_ID_RXFS_GET(val)   ((((val) & SSC_ID_RXFS) >> 16) & 0x3f)
8000 +/* Module ID (15:8) */
8001 +#define SSC_ID_ID   (0xff << 8)
8002 +#define SSC_ID_ID_GET(val)   ((((val) & SSC_ID_ID) >> 8) & 0xff)
8003 +/* Configuration (5) */
8004 +#define SSC_ID_CFG   (0x1 << 5)
8005 +#define SSC_ID_CFG_GET(val)   ((((val) & SSC_ID_CFG) >> 5) & 0x1)
8006 +/* Revision (4:0) */
8007 +#define SSC_ID_REV   (0x1f)
8008 +#define SSC_ID_REV_GET(val)   ((((val) & SSC_ID_REV) >> 0) & 0x1f)
8009 +
8010 +/*******************************************************************************
8011 + * MCON Register
8012 + ******************************************************************************/
8013 +
8014 +/* Echo Mode (24) */
8015 +#define SSC_MCON_EM   (0x1 << 24)
8016 +#define SSC_MCON_EM_VAL(val)   (((val) & 0x1) << 24)
8017 +#define SSC_MCON_EM_GET(val)   ((((val) & SSC_MCON_EM) >> 24) & 0x1)
8018 +#define SSC_MCON_EM_SET(reg,val) (reg) = ((reg & ~SSC_MCON_EM) | (((val) & 0x1) << 24))
8019 +/* Idle Bit Value (23) */
8020 +#define SSC_MCON_IDLE   (0x1 << 23)
8021 +#define SSC_MCON_IDLE_VAL(val)   (((val) & 0x1) << 23)
8022 +#define SSC_MCON_IDLE_GET(val)   ((((val) & SSC_MCON_IDLE) >> 23) & 0x1)
8023 +#define SSC_MCON_IDLE_SET(reg,val) (reg) = ((reg & ~SSC_MCON_IDLE) | (((val) & 0x1) << 23))
8024 +/* Enable Byte Valid Control (22) */
8025 +#define SSC_MCON_ENBV   (0x1 << 22)
8026 +#define SSC_MCON_ENBV_VAL(val)   (((val) & 0x1) << 22)
8027 +#define SSC_MCON_ENBV_GET(val)   ((((val) & SSC_MCON_ENBV) >> 22) & 0x1)
8028 +#define SSC_MCON_ENBV_SET(reg,val) (reg) = ((reg & ~SSC_MCON_ENBV) | (((val) & 0x1) << 22))
8029 +/* Data Width Selection (20:16) */
8030 +#define SSC_MCON_BM   (0x1f << 16)
8031 +#define SSC_MCON_BM_VAL(val)   (((val) & 0x1f) << 16)
8032 +#define SSC_MCON_BM_GET(val)   ((((val) & SSC_MCON_BM) >> 16) & 0x1f)
8033 +#define SSC_MCON_BM_SET(reg,val) (reg) = ((reg & ~SSC_MCON_BM) | (((val) & 0x1f) << 16))
8034 +/* Receive Underflow Error Enable (12) */
8035 +#define SSC_MCON_RUEN   (0x1 << 12)
8036 +#define SSC_MCON_RUEN_VAL(val)   (((val) & 0x1) << 12)
8037 +#define SSC_MCON_RUEN_GET(val)   ((((val) & SSC_MCON_RUEN) >> 12) & 0x1)
8038 +#define SSC_MCON_RUEN_SET(reg,val) (reg) = ((reg & ~SSC_MCON_RUEN) | (((val) & 0x1) << 12))
8039 +/* Transmit Underflow Error Enable (11) */
8040 +#define SSC_MCON_TUEN   (0x1 << 11)
8041 +#define SSC_MCON_TUEN_VAL(val)   (((val) & 0x1) << 11)
8042 +#define SSC_MCON_TUEN_GET(val)   ((((val) & SSC_MCON_TUEN) >> 11) & 0x1)
8043 +#define SSC_MCON_TUEN_SET(reg,val) (reg) = ((reg & ~SSC_MCON_TUEN) | (((val) & 0x1) << 11))
8044 +/* Abort Error Enable (10) */
8045 +#define SSC_MCON_AEN   (0x1 << 10)
8046 +#define SSC_MCON_AEN_VAL(val)   (((val) & 0x1) << 10)
8047 +#define SSC_MCON_AEN_GET(val)   ((((val) & SSC_MCON_AEN) >> 10) & 0x1)
8048 +#define SSC_MCON_AEN_SET(reg,val) (reg) = ((reg & ~SSC_MCON_AEN) | (((val) & 0x1) << 10))
8049 +/* Receive Overflow Error Enable (9) */
8050 +#define SSC_MCON_REN   (0x1 << 9)
8051 +#define SSC_MCON_REN_VAL(val)   (((val) & 0x1) << 9)
8052 +#define SSC_MCON_REN_GET(val)   ((((val) & SSC_MCON_REN) >> 9) & 0x1)
8053 +#define SSC_MCON_REN_SET(reg,val) (reg) = ((reg & ~SSC_MCON_REN) | (((val) & 0x1) << 9))
8054 +/* Transmit Overflow Error Enable (8) */
8055 +#define SSC_MCON_TEN   (0x1 << 8)
8056 +#define SSC_MCON_TEN_VAL(val)   (((val) & 0x1) << 8)
8057 +#define SSC_MCON_TEN_GET(val)   ((((val) & SSC_MCON_TEN) >> 8) & 0x1)
8058 +#define SSC_MCON_TEN_SET(reg,val) (reg) = ((reg & ~SSC_MCON_TEN) | (((val) & 0x1) << 8))
8059 +/* Loop Back Control (7) */
8060 +#define SSC_MCON_LB   (0x1 << 7)
8061 +#define SSC_MCON_LB_VAL(val)   (((val) & 0x1) << 7)
8062 +#define SSC_MCON_LB_GET(val)   ((((val) & SSC_MCON_LB) >> 7) & 0x1)
8063 +#define SSC_MCON_LB_SET(reg,val) (reg) = ((reg & ~SSC_MCON_LB) | (((val) & 0x1) << 7))
8064 +/* Clock Polarity Control (6) */
8065 +#define SSC_MCON_PO   (0x1 << 6)
8066 +#define SSC_MCON_PO_VAL(val)   (((val) & 0x1) << 6)
8067 +#define SSC_MCON_PO_GET(val)   ((((val) & SSC_MCON_PO) >> 6) & 0x1)
8068 +#define SSC_MCON_PO_SET(reg,val) (reg) = ((reg & ~SSC_MCON_PO) | (((val) & 0x1) << 6))
8069 +/* Clock Phase Control (5) */
8070 +#define SSC_MCON_PH   (0x1 << 5)
8071 +#define SSC_MCON_PH_VAL(val)   (((val) & 0x1) << 5)
8072 +#define SSC_MCON_PH_GET(val)   ((((val) & SSC_MCON_PH) >> 5) & 0x1)
8073 +#define SSC_MCON_PH_SET(reg,val) (reg) = ((reg & ~SSC_MCON_PH) | (((val) & 0x1) << 5))
8074 +/* Heading Control (4) */
8075 +#define SSC_MCON_HB   (0x1 << 4)
8076 +#define SSC_MCON_HB_VAL(val)   (((val) & 0x1) << 4)
8077 +#define SSC_MCON_HB_GET(val)   ((((val) & SSC_MCON_HB) >> 4) & 0x1)
8078 +#define SSC_MCON_HB_SET(reg,val) (reg) = ((reg & ~SSC_MCON_HB) | (((val) & 0x1) << 4))
8079 +/* Chip Select Enable (3) */
8080 +#define SSC_MCON_CSBEN   (0x1 << 3)
8081 +#define SSC_MCON_CSBEN_VAL(val)   (((val) & 0x1) << 3)
8082 +#define SSC_MCON_CSBEN_GET(val)   ((((val) & SSC_MCON_CSBEN) >> 3) & 0x1)
8083 +#define SSC_MCON_CSBEN_SET(reg,val) (reg) = ((reg & ~SSC_MCON_CSBEN) | (((val) & 0x1) << 3))
8084 +/* Chip Select Invert (2) */
8085 +#define SSC_MCON_CSBINV   (0x1 << 2)
8086 +#define SSC_MCON_CSBINV_VAL(val)   (((val) & 0x1) << 2)
8087 +#define SSC_MCON_CSBINV_GET(val)   ((((val) & SSC_MCON_CSBINV) >> 2) & 0x1)
8088 +#define SSC_MCON_CSBINV_SET(reg,val) (reg) = ((reg & ~SSC_MCON_CSBINV) | (((val) & 0x1) << 2))
8089 +/* Receive Off (1) */
8090 +#define SSC_MCON_RXOFF   (0x1 << 1)
8091 +#define SSC_MCON_RXOFF_VAL(val)   (((val) & 0x1) << 1)
8092 +#define SSC_MCON_RXOFF_GET(val)   ((((val) & SSC_MCON_RXOFF) >> 1) & 0x1)
8093 +#define SSC_MCON_RXOFF_SET(reg,val) (reg) = ((reg & ~SSC_MCON_RXOFF) | (((val) & 0x1) << 1))
8094 +/* Transmit Off (0) */
8095 +#define SSC_MCON_TXOFF   (0x1)
8096 +#define SSC_MCON_TXOFF_VAL(val)   (((val) & 0x1) << 0)
8097 +#define SSC_MCON_TXOFF_GET(val)   ((((val) & SSC_MCON_TXOFF) >> 0) & 0x1)
8098 +#define SSC_MCON_TXOFF_SET(reg,val) (reg) = ((reg & ~SSC_MCON_TXOFF) | (((val) & 0x1) << 0))
8099 +
8100 +/*******************************************************************************
8101 + * STATE Register
8102 + ******************************************************************************/
8103 +
8104 +/* Receive End-of-Message (31) */
8105 +#define SSC_STATE_RXEOM   (0x1 << 31)
8106 +#define SSC_STATE_RXEOM_GET(val)   ((((val) & SSC_STATE_RXEOM) >> 31) & 0x1)
8107 +/* Receive Byte Valid (30:28) */
8108 +#define SSC_STATE_RXBV   (0x7 << 28)
8109 +#define SSC_STATE_RXBV_GET(val)   ((((val) & SSC_STATE_RXBV) >> 28) & 0x7)
8110 +/* Transmit End-of-Message (27) */
8111 +#define SSC_STATE_TXEOM   (0x1 << 27)
8112 +#define SSC_STATE_TXEOM_GET(val)   ((((val) & SSC_STATE_TXEOM) >> 27) & 0x1)
8113 +/* Transmit Byte Valid (26:24) */
8114 +#define SSC_STATE_TXBV   (0x7 << 24)
8115 +#define SSC_STATE_TXBV_GET(val)   ((((val) & SSC_STATE_TXBV) >> 24) & 0x7)
8116 +/* Bit Count Field (20:16) */
8117 +#define SSC_STATE_BC   (0x1f << 16)
8118 +#define SSC_STATE_BC_GET(val)   ((((val) & SSC_STATE_BC) >> 16) & 0x1f)
8119 +/* Busy Flag (13) */
8120 +#define SSC_STATE_BSY   (0x1 << 13)
8121 +#define SSC_STATE_BSY_GET(val)   ((((val) & SSC_STATE_BSY) >> 13) & 0x1)
8122 +/* Receive Underflow Error Flag (12) */
8123 +#define SSC_STATE_RUE   (0x1 << 12)
8124 +#define SSC_STATE_RUE_GET(val)   ((((val) & SSC_STATE_RUE) >> 12) & 0x1)
8125 +/* Transmit Underflow Error Flag (11) */
8126 +#define SSC_STATE_TUE   (0x1 << 11)
8127 +#define SSC_STATE_TUE_GET(val)   ((((val) & SSC_STATE_TUE) >> 11) & 0x1)
8128 +/* Abort Error Flag (10) */
8129 +#define SSC_STATE_AE   (0x1 << 10)
8130 +#define SSC_STATE_AE_GET(val)   ((((val) & SSC_STATE_AE) >> 10) & 0x1)
8131 +/* Receive Error Flag (9) */
8132 +#define SSC_STATE_RE   (0x1 << 9)
8133 +#define SSC_STATE_RE_GET(val)   ((((val) & SSC_STATE_RE) >> 9) & 0x1)
8134 +/* Transmit Error Flag (8) */
8135 +#define SSC_STATE_TE   (0x1 << 8)
8136 +#define SSC_STATE_TE_GET(val)   ((((val) & SSC_STATE_TE) >> 8) & 0x1)
8137 +/* Mode Error Flag (7) */
8138 +#define SSC_STATE_ME   (0x1 << 7)
8139 +#define SSC_STATE_ME_GET(val)   ((((val) & SSC_STATE_ME) >> 7) & 0x1)
8140 +/* Slave Selected (2) */
8141 +#define SSC_STATE_SSEL   (0x1 << 2)
8142 +#define SSC_STATE_SSEL_GET(val)   ((((val) & SSC_STATE_SSEL) >> 2) & 0x1)
8143 +/* Master Select Bit (1) */
8144 +#define SSC_STATE_MS   (0x1 << 1)
8145 +#define SSC_STATE_MS_GET(val)   ((((val) & SSC_STATE_MS) >> 1) & 0x1)
8146 +/* Enable Bit (0) */
8147 +#define SSC_STATE_EN   (0x1)
8148 +#define SSC_STATE_EN_GET(val)   ((((val) & SSC_STATE_EN) >> 0) & 0x1)
8149 +
8150 +/*******************************************************************************
8151 + * WHBSTATE Register
8152 + ******************************************************************************/
8153 +
8154 +/* Set Transmit Underflow Error Flag Bit (15) */
8155 +#define SSC_WHBSTATE_SETTUE   (0x1 << 15)
8156 +#define SSC_WHBSTATE_SETTUE_VAL(val)   (((val) & 0x1) << 15)
8157 +#define SSC_WHBSTATE_SETTUE_SET(reg,val) (reg) = (((reg & ~SSC_WHBSTATE_SETTUE) | (val) & 1) << 15)
8158 +/* Set Abort Error Flag Bit (14) */
8159 +#define SSC_WHBSTATE_SETAE   (0x1 << 14)
8160 +#define SSC_WHBSTATE_SETAE_VAL(val)   (((val) & 0x1) << 14)
8161 +#define SSC_WHBSTATE_SETAE_SET(reg,val) (reg) = (((reg & ~SSC_WHBSTATE_SETAE) | (val) & 1) << 14)
8162 +/* Set Receive Error Flag Bit (13) */
8163 +#define SSC_WHBSTATE_SETRE   (0x1 << 13)
8164 +#define SSC_WHBSTATE_SETRE_VAL(val)   (((val) & 0x1) << 13)
8165 +#define SSC_WHBSTATE_SETRE_SET(reg,val) (reg) = (((reg & ~SSC_WHBSTATE_SETRE) | (val) & 1) << 13)
8166 +/* Set Transmit Error Flag Bit (12) */
8167 +#define SSC_WHBSTATE_SETTE   (0x1 << 12)
8168 +#define SSC_WHBSTATE_SETTE_VAL(val)   (((val) & 0x1) << 12)
8169 +#define SSC_WHBSTATE_SETTE_SET(reg,val) (reg) = (((reg & ~SSC_WHBSTATE_SETTE) | (val) & 1) << 12)
8170 +/* Clear Transmit Underflow Error Flag Bit (11) */
8171 +#define SSC_WHBSTATE_CLRTUE   (0x1 << 11)
8172 +#define SSC_WHBSTATE_CLRTUE_VAL(val)   (((val) & 0x1) << 11)
8173 +#define SSC_WHBSTATE_CLRTUE_SET(reg,val) (reg) = (((reg & ~SSC_WHBSTATE_CLRTUE) | (val) & 1) << 11)
8174 +/* Clear Abort Error Flag Bit (10) */
8175 +#define SSC_WHBSTATE_CLRAE   (0x1 << 10)
8176 +#define SSC_WHBSTATE_CLRAE_VAL(val)   (((val) & 0x1) << 10)
8177 +#define SSC_WHBSTATE_CLRAE_SET(reg,val) (reg) = (((reg & ~SSC_WHBSTATE_CLRAE) | (val) & 1) << 10)
8178 +/* Clear Receive Error Flag Bit (9) */
8179 +#define SSC_WHBSTATE_CLRRE   (0x1 << 9)
8180 +#define SSC_WHBSTATE_CLRRE_VAL(val)   (((val) & 0x1) << 9)
8181 +#define SSC_WHBSTATE_CLRRE_SET(reg,val) (reg) = (((reg & ~SSC_WHBSTATE_CLRRE) | (val) & 1) << 9)
8182 +/* Clear Transmit Error Flag Bit (8) */
8183 +#define SSC_WHBSTATE_CLRTE   (0x1 << 8)
8184 +#define SSC_WHBSTATE_CLRTE_VAL(val)   (((val) & 0x1) << 8)
8185 +#define SSC_WHBSTATE_CLRTE_SET(reg,val) (reg) = (((reg & ~SSC_WHBSTATE_CLRTE) | (val) & 1) << 8)
8186 +/* Set Mode Error Flag Bit (7) */
8187 +#define SSC_WHBSTATE_SETME   (0x1 << 7)
8188 +#define SSC_WHBSTATE_SETME_VAL(val)   (((val) & 0x1) << 7)
8189 +#define SSC_WHBSTATE_SETME_SET(reg,val) (reg) = (((reg & ~SSC_WHBSTATE_SETME) | (val) & 1) << 7)
8190 +/* Clear Mode Error Flag Bit (6) */
8191 +#define SSC_WHBSTATE_CLRME   (0x1 << 6)
8192 +#define SSC_WHBSTATE_CLRME_VAL(val)   (((val) & 0x1) << 6)
8193 +#define SSC_WHBSTATE_CLRME_SET(reg,val) (reg) = (((reg & ~SSC_WHBSTATE_CLRME) | (val) & 1) << 6)
8194 +/* Set Receive Underflow Error Bit (5) */
8195 +#define SSC_WHBSTATE_SETRUE   (0x1 << 5)
8196 +#define SSC_WHBSTATE_SETRUE_VAL(val)   (((val) & 0x1) << 5)
8197 +#define SSC_WHBSTATE_SETRUE_SET(reg,val) (reg) = (((reg & ~SSC_WHBSTATE_SETRUE) | (val) & 1) << 5)
8198 +/* Clear Receive Underflow Error Bit (4) */
8199 +#define SSC_WHBSTATE_CLRRUE   (0x1 << 4)
8200 +#define SSC_WHBSTATE_CLRRUE_VAL(val)   (((val) & 0x1) << 4)
8201 +#define SSC_WHBSTATE_CLRRUE_SET(reg,val) (reg) = (((reg & ~SSC_WHBSTATE_CLRRUE) | (val) & 1) << 4)
8202 +/* Set Master Select Bit (3) */
8203 +#define SSC_WHBSTATE_SETMS   (0x1 << 3)
8204 +#define SSC_WHBSTATE_SETMS_VAL(val)   (((val) & 0x1) << 3)
8205 +#define SSC_WHBSTATE_SETMS_SET(reg,val) (reg) = (((reg & ~SSC_WHBSTATE_SETMS) | (val) & 1) << 3)
8206 +/* Clear Master Select Bit (2) */
8207 +#define SSC_WHBSTATE_CLRMS   (0x1 << 2)
8208 +#define SSC_WHBSTATE_CLRMS_VAL(val)   (((val) & 0x1) << 2)
8209 +#define SSC_WHBSTATE_CLRMS_SET(reg,val) (reg) = (((reg & ~SSC_WHBSTATE_CLRMS) | (val) & 1) << 2)
8210 +/* Set Enable Bit (1) */
8211 +#define SSC_WHBSTATE_SETEN   (0x1 << 1)
8212 +#define SSC_WHBSTATE_SETEN_VAL(val)   (((val) & 0x1) << 1)
8213 +#define SSC_WHBSTATE_SETEN_SET(reg,val) (reg) = (((reg & ~SSC_WHBSTATE_SETEN) | (val) & 1) << 1)
8214 +/* Clear Enable Bit (0) */
8215 +#define SSC_WHBSTATE_CLREN   (0x1)
8216 +#define SSC_WHBSTATE_CLREN_VAL(val)   (((val) & 0x1) << 0)
8217 +#define SSC_WHBSTATE_CLREN_SET(reg,val) (reg) = (((reg & ~SSC_WHBSTATE_CLREN) | (val) & 1) << 0)
8218 +
8219 +/*******************************************************************************
8220 + * TB Register
8221 + ******************************************************************************/
8222 +
8223 +/* Transmit Data Register Value (31:0) */
8224 +#define SSC_TB_TB_VAL   (0xFFFFFFFFL)
8225 +#define SSC_TB_TB_VAL_VAL(val)   (((val) & 0xFFFFFFFFL) << 0)
8226 +#define SSC_TB_TB_VAL_GET(val)   ((((val) & SSC_TB_TB_VAL) >> 0) & 0xFFFFFFFFL)
8227 +#define SSC_TB_TB_VAL_SET(reg,val) (reg) = ((reg & ~SSC_TB_TB_VAL) | (((val) & 0xFFFFFFFFL) << 0))
8228 +
8229 +/*******************************************************************************
8230 + * RB Register
8231 + ******************************************************************************/
8232 +
8233 +/* Receive Data Register Value (31:0) */
8234 +#define SSC_RB_RB_VAL   (0xFFFFFFFFL)
8235 +#define SSC_RB_RB_VAL_GET(val)   ((((val) & SSC_RB_RB_VAL) >> 0) & 0xFFFFFFFFL)
8236 +
8237 +/*******************************************************************************
8238 + * FSTAT Register
8239 + ******************************************************************************/
8240 +
8241 +/* Transmit FIFO Filling Level (13:8) */
8242 +#define SSC_FSTAT_TXFFL   (0x3f << 8)
8243 +#define SSC_FSTAT_TXFFL_GET(val)   ((((val) & SSC_FSTAT_TXFFL) >> 8) & 0x3f)
8244 +/* Receive FIFO Filling Level (5:0) */
8245 +#define SSC_FSTAT_RXFFL   (0x3f)
8246 +#define SSC_FSTAT_RXFFL_GET(val)   ((((val) & SSC_FSTAT_RXFFL) >> 0) & 0x3f)
8247 +
8248 +/*******************************************************************************
8249 + * PISEL Register
8250 + ******************************************************************************/
8251 +
8252 +/* Slave Mode Clock Input Select (2) */
8253 +#define SSC_PISEL_CIS   (0x1 << 2)
8254 +#define SSC_PISEL_CIS_VAL(val)   (((val) & 0x1) << 2)
8255 +#define SSC_PISEL_CIS_GET(val)   ((((val) & SSC_PISEL_CIS) >> 2) & 0x1)
8256 +#define SSC_PISEL_CIS_SET(reg,val) (reg) = ((reg & ~SSC_PISEL_CIS) | (((val) & 0x1) << 2))
8257 +/* Slave Mode Receiver Input Select (1) */
8258 +#define SSC_PISEL_SIS   (0x1 << 1)
8259 +#define SSC_PISEL_SIS_VAL(val)   (((val) & 0x1) << 1)
8260 +#define SSC_PISEL_SIS_GET(val)   ((((val) & SSC_PISEL_SIS) >> 1) & 0x1)
8261 +#define SSC_PISEL_SIS_SET(reg,val) (reg) = ((reg & ~SSC_PISEL_SIS) | (((val) & 0x1) << 1))
8262 +/* Master Mode Receiver Input Select (0) */
8263 +#define SSC_PISEL_MIS   (0x1)
8264 +#define SSC_PISEL_MIS_VAL(val)   (((val) & 0x1) << 0)
8265 +#define SSC_PISEL_MIS_GET(val)   ((((val) & SSC_PISEL_MIS) >> 0) & 0x1)
8266 +#define SSC_PISEL_MIS_SET(reg,val) (reg) = ((reg & ~SSC_PISEL_MIS) | (((val) & 0x1) << 0))
8267 +
8268 +/*******************************************************************************
8269 + * RXFCON Register
8270 + ******************************************************************************/
8271 +
8272 +/* Receive FIFO Interrupt Trigger Level (13:8) */
8273 +#define SSC_RXFCON_RXFITL   (0x3f << 8)
8274 +#define SSC_RXFCON_RXFITL_VAL(val)   (((val) & 0x3f) << 8)
8275 +#define SSC_RXFCON_RXFITL_GET(val)   ((((val) & SSC_RXFCON_RXFITL) >> 8) & 0x3f)
8276 +#define SSC_RXFCON_RXFITL_SET(reg,val) (reg) = ((reg & ~SSC_RXFCON_RXFITL) | (((val) & 0x3f) << 8))
8277 +/* Receive FIFO Flush (1) */
8278 +#define SSC_RXFCON_RXFLU   (0x1 << 1)
8279 +#define SSC_RXFCON_RXFLU_VAL(val)   (((val) & 0x1) << 1)
8280 +#define SSC_RXFCON_RXFLU_SET(reg,val) (reg) = (((reg & ~SSC_RXFCON_RXFLU) | (val) & 1) << 1)
8281 +/* Receive FIFO Enable (0) */
8282 +#define SSC_RXFCON_RXFEN   (0x1)
8283 +#define SSC_RXFCON_RXFEN_VAL(val)   (((val) & 0x1) << 0)
8284 +#define SSC_RXFCON_RXFEN_GET(val)   ((((val) & SSC_RXFCON_RXFEN) >> 0) & 0x1)
8285 +#define SSC_RXFCON_RXFEN_SET(reg,val) (reg) = ((reg & ~SSC_RXFCON_RXFEN) | (((val) & 0x1) << 0))
8286 +
8287 +/*******************************************************************************
8288 + * TXFCON Register
8289 + ******************************************************************************/
8290 +
8291 +/* Transmit FIFO Interrupt Trigger Level (13:8) */
8292 +#define SSC_TXFCON_TXFITL   (0x3f << 8)
8293 +#define SSC_TXFCON_TXFITL_VAL(val)   (((val) & 0x3f) << 8)
8294 +#define SSC_TXFCON_TXFITL_GET(val)   ((((val) & SSC_TXFCON_TXFITL) >> 8) & 0x3f)
8295 +#define SSC_TXFCON_TXFITL_SET(reg,val) (reg) = ((reg & ~SSC_TXFCON_TXFITL) | (((val) & 0x3f) << 8))
8296 +/* Transmit FIFO Flush (1) */
8297 +#define SSC_TXFCON_TXFLU   (0x1 << 1)
8298 +#define SSC_TXFCON_TXFLU_VAL(val)   (((val) & 0x1) << 1)
8299 +#define SSC_TXFCON_TXFLU_SET(reg,val) (reg) = (((reg & ~SSC_TXFCON_TXFLU) | (val) & 1) << 1)
8300 +/* Transmit FIFO Enable (0) */
8301 +#define SSC_TXFCON_TXFEN   (0x1)
8302 +#define SSC_TXFCON_TXFEN_VAL(val)   (((val) & 0x1) << 0)
8303 +#define SSC_TXFCON_TXFEN_GET(val)   ((((val) & SSC_TXFCON_TXFEN) >> 0) & 0x1)
8304 +#define SSC_TXFCON_TXFEN_SET(reg,val) (reg) = ((reg & ~SSC_TXFCON_TXFEN) | (((val) & 0x1) << 0))
8305 +
8306 +/*******************************************************************************
8307 + * BR Register
8308 + ******************************************************************************/
8309 +
8310 +/* Baudrate Timer Reload Register Value (15:0) */
8311 +#define SSC_BR_BR_VAL   (0xffff)
8312 +#define SSC_BR_BR_VAL_VAL(val)   (((val) & 0xffff) << 0)
8313 +#define SSC_BR_BR_VAL_GET(val)   ((((val) & SSC_BR_BR_VAL) >> 0) & 0xffff)
8314 +#define SSC_BR_BR_VAL_SET(reg,val) (reg) = ((reg & ~SSC_BR_BR_VAL) | (((val) & 0xffff) << 0))
8315 +
8316 +/*******************************************************************************
8317 + * BRSTAT Register
8318 + ******************************************************************************/
8319 +
8320 +/* Baudrate Timer Register Value (15:0) */
8321 +#define SSC_BRSTAT_BT_VAL   (0xffff)
8322 +#define SSC_BRSTAT_BT_VAL_GET(val)   ((((val) & SSC_BRSTAT_BT_VAL) >> 0) & 0xffff)
8323 +
8324 +/*******************************************************************************
8325 + * SFCON Register
8326 + ******************************************************************************/
8327 +
8328 +/* Pause Length (31:22) */
8329 +#define SSC_SFCON_PLEN   (0x3ff << 22)
8330 +#define SSC_SFCON_PLEN_VAL(val)   (((val) & 0x3ff) << 22)
8331 +#define SSC_SFCON_PLEN_GET(val)   ((((val) & SSC_SFCON_PLEN) >> 22) & 0x3ff)
8332 +#define SSC_SFCON_PLEN_SET(reg,val) (reg) = ((reg & ~SSC_SFCON_PLEN) | (((val) & 0x3ff) << 22))
8333 +/* Stop After Pause (20) */
8334 +#define SSC_SFCON_STOP   (0x1 << 20)
8335 +#define SSC_SFCON_STOP_VAL(val)   (((val) & 0x1) << 20)
8336 +#define SSC_SFCON_STOP_GET(val)   ((((val) & SSC_SFCON_STOP) >> 20) & 0x1)
8337 +#define SSC_SFCON_STOP_SET(reg,val) (reg) = ((reg & ~SSC_SFCON_STOP) | (((val) & 0x1) << 20))
8338 +/* Idle Clock Configuration (19:18) */
8339 +#define SSC_SFCON_ICLK   (0x3 << 18)
8340 +#define SSC_SFCON_ICLK_VAL(val)   (((val) & 0x3) << 18)
8341 +#define SSC_SFCON_ICLK_GET(val)   ((((val) & SSC_SFCON_ICLK) >> 18) & 0x3)
8342 +#define SSC_SFCON_ICLK_SET(reg,val) (reg) = ((reg & ~SSC_SFCON_ICLK) | (((val) & 0x3) << 18))
8343 +/* Idle Data Configuration (17:16) */
8344 +#define SSC_SFCON_IDAT   (0x3 << 16)
8345 +#define SSC_SFCON_IDAT_VAL(val)   (((val) & 0x3) << 16)
8346 +#define SSC_SFCON_IDAT_GET(val)   ((((val) & SSC_SFCON_IDAT) >> 16) & 0x3)
8347 +#define SSC_SFCON_IDAT_SET(reg,val) (reg) = ((reg & ~SSC_SFCON_IDAT) | (((val) & 0x3) << 16))
8348 +/* Data Length (15:4) */
8349 +#define SSC_SFCON_DLEN   (0xfff << 4)
8350 +#define SSC_SFCON_DLEN_VAL(val)   (((val) & 0xfff) << 4)
8351 +#define SSC_SFCON_DLEN_GET(val)   ((((val) & SSC_SFCON_DLEN) >> 4) & 0xfff)
8352 +#define SSC_SFCON_DLEN_SET(reg,val) (reg) = ((reg & ~SSC_SFCON_DLEN) | (((val) & 0xfff) << 4))
8353 +/* Enable Interrupt After Pause (3) */
8354 +#define SSC_SFCON_IAEN   (0x1 << 3)
8355 +#define SSC_SFCON_IAEN_VAL(val)   (((val) & 0x1) << 3)
8356 +#define SSC_SFCON_IAEN_GET(val)   ((((val) & SSC_SFCON_IAEN) >> 3) & 0x1)
8357 +#define SSC_SFCON_IAEN_SET(reg,val) (reg) = ((reg & ~SSC_SFCON_IAEN) | (((val) & 0x1) << 3))
8358 +/* Enable Interrupt Before Pause (2) */
8359 +#define SSC_SFCON_IBEN   (0x1 << 2)
8360 +#define SSC_SFCON_IBEN_VAL(val)   (((val) & 0x1) << 2)
8361 +#define SSC_SFCON_IBEN_GET(val)   ((((val) & SSC_SFCON_IBEN) >> 2) & 0x1)
8362 +#define SSC_SFCON_IBEN_SET(reg,val) (reg) = ((reg & ~SSC_SFCON_IBEN) | (((val) & 0x1) << 2))
8363 +/* Serial Frame Enable (0) */
8364 +#define SSC_SFCON_SFEN   (0x1)
8365 +#define SSC_SFCON_SFEN_VAL(val)   (((val) & 0x1) << 0)
8366 +#define SSC_SFCON_SFEN_GET(val)   ((((val) & SSC_SFCON_SFEN) >> 0) & 0x1)
8367 +#define SSC_SFCON_SFEN_SET(reg,val) (reg) = ((reg & ~SSC_SFCON_SFEN) | (((val) & 0x1) << 0))
8368 +
8369 +/*******************************************************************************
8370 + * SFSTAT Register
8371 + ******************************************************************************/
8372 +
8373 +/* Pause Count (31:22) */
8374 +#define SSC_SFSTAT_PCNT   (0x3ff << 22)
8375 +#define SSC_SFSTAT_PCNT_GET(val)   ((((val) & SSC_SFSTAT_PCNT) >> 22) & 0x3ff)
8376 +/* Data Bit Count (15:4) */
8377 +#define SSC_SFSTAT_DCNT   (0xfff << 4)
8378 +#define SSC_SFSTAT_DCNT_GET(val)   ((((val) & SSC_SFSTAT_DCNT) >> 4) & 0xfff)
8379 +/* Pause Busy (1) */
8380 +#define SSC_SFSTAT_PBSY   (0x1 << 1)
8381 +#define SSC_SFSTAT_PBSY_GET(val)   ((((val) & SSC_SFSTAT_PBSY) >> 1) & 0x1)
8382 +/* Data Busy (0) */
8383 +#define SSC_SFSTAT_DBSY   (0x1)
8384 +#define SSC_SFSTAT_DBSY_GET(val)   ((((val) & SSC_SFSTAT_DBSY) >> 0) & 0x1)
8385 +
8386 +/*******************************************************************************
8387 + * GPOCON Register
8388 + ******************************************************************************/
8389 +
8390 +/* Output OUTn Is Chip Select (15:8) */
8391 +#define SSC_GPOCON_ISCSBN   (0xff << 8)
8392 +#define SSC_GPOCON_ISCSBN_VAL(val)   (((val) & 0xff) << 8)
8393 +#define SSC_GPOCON_ISCSBN_GET(val)   ((((val) & SSC_GPOCON_ISCSBN) >> 8) & 0xff)
8394 +#define SSC_GPOCON_ISCSBN_SET(reg,val) (reg) = ((reg & ~SSC_GPOCON_ISCSBN) | (((val) & 0xff) << 8))
8395 +/* Invert Output OUTn (7:0) */
8396 +#define SSC_GPOCON_INVOUTN   (0xff)
8397 +#define SSC_GPOCON_INVOUTN_VAL(val)   (((val) & 0xff) << 0)
8398 +#define SSC_GPOCON_INVOUTN_GET(val)   ((((val) & SSC_GPOCON_INVOUTN) >> 0) & 0xff)
8399 +#define SSC_GPOCON_INVOUTN_SET(reg,val) (reg) = ((reg & ~SSC_GPOCON_INVOUTN) | (((val) & 0xff) << 0))
8400 +
8401 +/*******************************************************************************
8402 + * GPOSTAT Register
8403 + ******************************************************************************/
8404 +
8405 +/* Output Register Bit n (7:0) */
8406 +#define SSC_GPOSTAT_OUTN   (0xff)
8407 +#define SSC_GPOSTAT_OUTN_GET(val)   ((((val) & SSC_GPOSTAT_OUTN) >> 0) & 0xff)
8408 +
8409 +/*******************************************************************************
8410 + * WHBGPOSTAT
8411 + ******************************************************************************/
8412 +
8413 +/* Set Output Register Bit n (15:8) */
8414 +#define SSC_WHBGPOSTAT_SETOUTN   (0xff << 8)
8415 +#define SSC_WHBGPOSTAT_SETOUTN_VAL(val)   (((val) & 0xff) << 8)
8416 +#define SSC_WHBGPOSTAT_SETOUTN_SET(reg,val) (reg) = (((reg & ~SSC_WHBGPOSTAT_SETOUTN) | (val) & 1) << 8)
8417 +/* Clear Output Register Bit n (7:0) */
8418 +#define SSC_WHBGPOSTAT_CLROUTN   (0xff)
8419 +#define SSC_WHBGPOSTAT_CLROUTN_VAL(val)   (((val) & 0xff) << 0)
8420 +#define SSC_WHBGPOSTAT_CLROUTN_SET(reg,val) (reg) = (((reg & ~SSC_WHBGPOSTAT_CLROUTN) | (val) & 1) << 0)
8421 +
8422 +/*******************************************************************************
8423 + * RXREQ Register
8424 + ******************************************************************************/
8425 +
8426 +/* Receive Count Value (15:0) */
8427 +#define SSC_RXREQ_RXCNT   (0xffff)
8428 +#define SSC_RXREQ_RXCNT_VAL(val)   (((val) & 0xffff) << 0)
8429 +#define SSC_RXREQ_RXCNT_GET(val)   ((((val) & SSC_RXREQ_RXCNT) >> 0) & 0xffff)
8430 +#define SSC_RXREQ_RXCNT_SET(reg,val) (reg) = ((reg & ~SSC_RXREQ_RXCNT) | (((val) & 0xffff) << 0))
8431 +
8432 +/*******************************************************************************
8433 + * RXCNT Register
8434 + ******************************************************************************/
8435 +
8436 +/* Receive To Do Value (15:0) */
8437 +#define SSC_RXCNT_TODO   (0xffff)
8438 +#define SSC_RXCNT_TODO_GET(val)   ((((val) & SSC_RXCNT_TODO) >> 0) & 0xffff)
8439 +
8440 +/*******************************************************************************
8441 + * DMA_CON Register
8442 + ******************************************************************************/
8443 +
8444 +/* Receive Class (3:2) */
8445 +#define SSC_DMA_CON_RXCLS   (0x3 << 2)
8446 +#define SSC_DMA_CON_RXCLS_VAL(val)   (((val) & 0x3) << 2)
8447 +#define SSC_DMA_CON_RXCLS_GET(val)   ((((val) & SSC_DMA_CON_RXCLS) >> 2) & 0x3)
8448 +#define SSC_DMA_CON_RXCLS_SET(reg,val) (reg) = ((reg & ~SSC_DMA_CON_RXCLS) | (((val) & 0x3) << 2))
8449 +/* Transmit Path On (1) */
8450 +#define SSC_DMA_CON_TXON   (0x1 << 1)
8451 +#define SSC_DMA_CON_TXON_VAL(val)   (((val) & 0x1) << 1)
8452 +#define SSC_DMA_CON_TXON_GET(val)   ((((val) & SSC_DMA_CON_TXON) >> 1) & 0x1)
8453 +#define SSC_DMA_CON_TXON_SET(reg,val) (reg) = ((reg & ~SSC_DMA_CON_TXON) | (((val) & 0x1) << 1))
8454 +/* Receive Path On (0) */
8455 +#define SSC_DMA_CON_RXON   (0x1)
8456 +#define SSC_DMA_CON_RXON_VAL(val)   (((val) & 0x1) << 0)
8457 +#define SSC_DMA_CON_RXON_GET(val)   ((((val) & SSC_DMA_CON_RXON) >> 0) & 0x1)
8458 +#define SSC_DMA_CON_RXON_SET(reg,val) (reg) = ((reg & ~SSC_DMA_CON_RXON) | (((val) & 0x1) << 0))
8459 +
8460 +/*******************************************************************************
8461 + * \b\bIRNEN Register
8462 + ******************************************************************************/
8463 +
8464 +/* Frame End Interrupt Request Enable (3) */
8465 +#define SSC_IRNEN_F   (0x1 << 3)
8466 +#define SSC_IRNEN_F_VAL(val)   (((val) & 0x1) << 3)
8467 +#define SSC_IRNEN_F_GET(val)   ((((val) & SSC_IRNEN_F) >> 3) & 0x1)
8468 +#define SSC_IRNEN_F_SET(reg,val) (reg) = ((reg & ~SSC_IRNEN_F) | (((val) & 0x1) << 3))
8469 +/* Error Interrupt Request Enable (2) */
8470 +#define SSC_IRNEN_E   (0x1 << 2)
8471 +#define SSC_IRNEN_E_VAL(val)   (((val) & 0x1) << 2)
8472 +#define SSC_IRNEN_E_GET(val)   ((((val) & SSC_IRNEN_E) >> 2) & 0x1)
8473 +#define SSC_IRNEN_E_SET(reg,val) (reg) = ((reg & ~SSC_IRNEN_E) | (((val) & 0x1) << 2))
8474 +/* Receive Interrupt Request Enable (1) */
8475 +#define SSC_IRNEN_R   (0x1 << 1)
8476 +#define SSC_IRNEN_R_VAL(val)   (((val) & 0x1) << 1)
8477 +#define SSC_IRNEN_R_GET(val)   ((((val) & SSC_IRNEN_R) >> 1) & 0x1)
8478 +#define SSC_IRNEN_R_SET(reg,val) (reg) = ((reg & ~SSC_IRNEN_R) | (((val) & 0x1) << 1))
8479 +/* Transmit Interrupt Request Enable (0) */
8480 +#define SSC_IRNEN_T   (0x1)
8481 +#define SSC_IRNEN_T_VAL(val)   (((val) & 0x1) << 0)
8482 +#define SSC_IRNEN_T_GET(val)   ((((val) & SSC_IRNEN_T) >> 0) & 0x1)
8483 +#define SSC_IRNEN_T_SET(reg,val) (reg) = ((reg & ~SSC_IRNEN_T) | (((val) & 0x1) << 0))
8484 +
8485 +/*******************************************************************************
8486 + * IRNICR Register
8487 + ******************************************************************************/
8488 +
8489 +/* Frame End Interrupt Request (3) */
8490 +#define SSC_IRNICR_F   (0x1 << 3)
8491 +#define SSC_IRNICR_F_GET(val)   ((((val) & SSC_IRNICR_F) >> 3) & 0x1)
8492 +/* Error Interrupt Request (2) */
8493 +#define SSC_IRNICR_E   (0x1 << 2)
8494 +#define SSC_IRNICR_E_GET(val)   ((((val) & SSC_IRNICR_E) >> 2) & 0x1)
8495 +/* Receive Interrupt Request (1) */
8496 +#define SSC_IRNICR_R   (0x1 << 1)
8497 +#define SSC_IRNICR_R_GET(val)   ((((val) & SSC_IRNICR_R) >> 1) & 0x1)
8498 +/* Transmit Interrupt Request (0) */
8499 +#define SSC_IRNICR_T   (0x1)
8500 +#define SSC_IRNICR_T_GET(val)   ((((val) & SSC_IRNICR_T) >> 0) & 0x1)
8501 +
8502 +/*******************************************************************************
8503 + * IRNCR Register
8504 + ******************************************************************************/
8505 +
8506 +/* Frame End Interrupt Request (3) */
8507 +#define SSC_IRNCR_F   (0x1 << 3)
8508 +#define SSC_IRNCR_F_GET(val)   ((((val) & SSC_IRNCR_F) >> 3) & 0x1)
8509 +/* Error Interrupt Request (2) */
8510 +#define SSC_IRNCR_E   (0x1 << 2)
8511 +#define SSC_IRNCR_E_GET(val)   ((((val) & SSC_IRNCR_E) >> 2) & 0x1)
8512 +/* Receive Interrupt Request (1) */
8513 +#define SSC_IRNCR_R   (0x1 << 1)
8514 +#define SSC_IRNCR_R_GET(val)   ((((val) & SSC_IRNCR_R) >> 1) & 0x1)
8515 +/* Transmit Interrupt Request (0) */
8516 +#define SSC_IRNCR_T   (0x1)
8517 +#define SSC_IRNCR_T_GET(val)   ((((val) & SSC_IRNCR_T) >> 0) & 0x1)
8518 +
8519 +#endif /* __SSC_H */
8520 Index: linux-3.3.8/arch/mips/include/asm/mach-lantiq/svip/svip_mux.h
8521 ===================================================================
8522 --- /dev/null   1970-01-01 00:00:00.000000000 +0000
8523 +++ linux-3.3.8/arch/mips/include/asm/mach-lantiq/svip/svip_mux.h       2012-07-31 15:46:02.484476159 +0200
8524 @@ -0,0 +1,467 @@
8525 +/************************************************************************
8526 + *
8527 + * Copyright (c) 2007
8528 + * Infineon Technologies AG
8529 + * St. Martin Strasse 53; 81669 Muenchen; Germany
8530 + *
8531 + * This program is free software; you can redistribute it and/or
8532 + * modify it under the terms of the GNU General Public License
8533 + * as published by the Free Software Foundation; either version
8534 + * 2 of the License, or (at your option) any later version.
8535 + *
8536 + ************************************************************************/
8537 +
8538 +#ifndef __SVIP_MUX_H
8539 +#define __SVIP_MUX_H
8540 +
8541 +#define LTQ_MUX_P0_PINS                        20
8542 +#define LTQ_MUX_P1_PINS                        20
8543 +#define LTQ_MUX_P2_PINS                        19
8544 +#define LTQ_MUX_P3_PINS                        20
8545 +#define LTQ_MUX_P4_PINS                        24
8546 +
8547 +struct ltq_mux_pin {
8548 +       int dirin;
8549 +       int puen;
8550 +       int altsel0;
8551 +       int altsel1;
8552 +};
8553 +
8554 +struct ltq_mux_settings {
8555 +       const struct ltq_mux_pin *mux_p0;
8556 +       const struct ltq_mux_pin *mux_p1;
8557 +       const struct ltq_mux_pin *mux_p2;
8558 +       const struct ltq_mux_pin *mux_p3;
8559 +       const struct ltq_mux_pin *mux_p4;
8560 +};
8561 +
8562 +#define LTQ_MUX_P0_19_EXINT16          { 1, 0, 1, 0 }
8563 +#define LTQ_MUX_P0_19                  { 0, 0, 1, 0 }
8564 +
8565 +#define LTQ_MUX_P0_18_EJ_BRKIN         { 1, 0, 0, 0 }
8566 +#define LTQ_MUX_P0_18                  { 0, 0, 1, 0 }
8567 +#define LTQ_MUX_P0_18_IN               { 1, 0, 1, 0 }
8568 +
8569 +#define LTQ_MUX_P0_17_EXINT10          { 1, 0, 0, 0 }
8570 +#define LTQ_MUX_P0_17                  { 0, 0, 0, 0 }
8571 +#define LTQ_MUX_P0_17_ASC1_RXD         { 1, 0, 1, 0 }
8572 +
8573 +#define LTQ_MUX_P0_16_EXINT9           { 1, 0, 0, 0 }
8574 +#define LTQ_MUX_P0_16                  { 0, 0, 0, 0 }
8575 +#define LTQ_MUX_P0_16_ASC1_TXD         { 0, 0, 1, 0 }
8576 +
8577 +#define LTQ_MUX_P0_15_EXINT8           { 1, 0, 0, 0 }
8578 +#define LTQ_MUX_P0_15                  { 0, 0, 0, 0 }
8579 +#define LTQ_MUX_P0_15_ASC0_RXD         { 1, 0, 1, 0 }
8580 +
8581 +#define LTQ_MUX_P0_14_EXINT7           { 1, 0, 0, 0 }
8582 +#define LTQ_MUX_P0_14                  { 0, 0, 0, 0 }
8583 +#define LTQ_MUX_P0_14_ASC0_TXD         { 1, 0, 1, 0 }
8584 +
8585 +#define LTQ_MUX_P0_13_SSC0_CS7         { 0, 1, 0, 0 }
8586 +#define LTQ_MUX_P0_13_EXINT6           { 0, 0, 1, 0 }
8587 +#define LTQ_MUX_P0_13                  { 1, 0, 1, 0 }
8588 +#define LTQ_MUX_P0_13_SSC1_CS7         { 0, 0, 0, 1 }
8589 +#define LTQ_MUX_P0_13_SSC1_INT         { 0, 0, 1, 1 }
8590 +
8591 +#define LTQ_MUX_P0_12_SSC0_CS6         { 0, 1, 0, 0 }
8592 +#define LTQ_MUX_P0_12_EXINT5           { 0, 0, 1, 0 }
8593 +#define LTQ_MUX_P0_12                  { 1, 0, 1, 0 }
8594 +#define LTQ_MUX_P0_12_SSC1_CS6         { 0, 0, 0, 1 }
8595 +
8596 +#define LTQ_MUX_P0_11_SSC0_CS5         { 0, 1, 0, 0 }
8597 +#define LTQ_MUX_P0_11_EXINT4           { 1, 0, 1, 0 }
8598 +#define LTQ_MUX_P0_11                  { 1, 0, 0, 0 }
8599 +#define LTQ_MUX_P0_11_SSC1_CS5         { 0, 0, 0, 1 }
8600 +
8601 +#define LTQ_MUX_P0_10_SSC0_CS4         { 0, 1, 0, 0 }
8602 +#define LTQ_MUX_P0_10_EXINT3           { 1, 0, 1, 0 }
8603 +#define LTQ_MUX_P0_10                  { 0, 0, 1, 0 }
8604 +#define LTQ_MUX_P0_10_SSC1_CS4         { 0, 0, 0, 1 }
8605 +
8606 +#define LTQ_MUX_P0_9_SSC0_CS3          { 0, 1, 0, 0 }
8607 +#define LTQ_MUX_P0_9_EXINT2            { 1, 0, 1, 0 }
8608 +#define LTQ_MUX_P0_9                   { 0, 0, 1, 0 }
8609 +#define LTQ_MUX_P0_9_SSC1_CS3          { 0, 0, 0, 1 }
8610 +
8611 +#define LTQ_MUX_P0_8_SSC0_CS2          { 0, 1, 0, 0 }
8612 +#define LTQ_MUX_P0_8_EXINT1            { 1, 0, 1, 0 }
8613 +#define LTQ_MUX_P0_8                   { 0, 0, 1, 0 }
8614 +#define LTQ_MUX_P0_8_SSC1_CS2          { 0, 0, 0, 1 }
8615 +
8616 +#define LTQ_MUX_P0_7_SSC0_CS1          { 0, 1, 0, 0 }
8617 +#define LTQ_MUX_P0_7_EXINT0            { 1, 0, 1, 0 }
8618 +#define LTQ_MUX_P0_7                   { 0, 0, 1, 0 }
8619 +#define LTQ_MUX_P0_7_SSC1_CS1          { 0, 0, 0, 1 }
8620 +#define LTQ_MUX_P0_7_SSC1_CS0          { 1, 0, 0, 1 }
8621 +#define LTQ_MUX_P0_7_SSC2_CS0          { 1, 0, 1, 1 }
8622 +
8623 +#define LTQ_MUX_P0_6_SSC0_CS0          { 0, 1, 0, 0 }
8624 +#define LTQ_MUX_P0_6                   { 0, 0, 1, 0 }
8625 +#define LTQ_MUX_P0_6_IN                        { 1, 0, 1, 0 }
8626 +#define LTQ_MUX_P0_6_SSC1_CS0          { 0, 0, 0, 1 }
8627 +
8628 +#define LTQ_MUX_P0_5_SSC1_SCLK         { 0, 0, 0, 0 }
8629 +#define LTQ_MUX_P0_5                   { 0, 0, 1, 0 }
8630 +#define LTQ_MUX_P0_5_IN                        { 1, 0, 1, 0 }
8631 +#define LTQ_MUX_P0_5_SSC2_CLK          { 1, 0, 0, 1 }
8632 +
8633 +#define LTQ_MUX_P0_4_SSC1_MRST         { 1, 0, 0, 0 }
8634 +#define LTQ_MUX_P0_4                   { 0, 0, 1, 0 }
8635 +#define LTQ_MUX_P0_4_IN                        { 1, 0, 1, 0 }
8636 +#define LTQ_MUX_P0_4_SSC2_MRST         { 0, 0, 0, 1 }
8637 +
8638 +#define LTQ_MUX_P0_3_SSC1_MTSR         { 0, 0, 0, 0 }
8639 +#define LTQ_MUX_P0_3                   { 0, 0, 1, 0 }
8640 +#define LTQ_MUX_P0_3_IN                        { 1, 0, 1, 0 }
8641 +#define LTQ_MUX_P0_3_SSC2_MTSR         { 0, 0, 0, 1 }
8642 +
8643 +#define LTQ_MUX_P0_2_SSC0_SCLK         { 0, 0, 0, 0 }
8644 +#define LTQ_MUX_P0_2                   { 0, 0, 1, 0 }
8645 +#define LTQ_MUX_P0_2_IN                        { 1, 0, 1, 0 }
8646 +
8647 +#define LTQ_MUX_P0_1_SSC0_MRST         { 1, 0, 0, 0 }
8648 +#define LTQ_MUX_P0_1                   { 0, 0, 1, 0 }
8649 +#define LTQ_MUX_P0_1_IN                        { 1, 0, 1, 0 }
8650 +
8651 +#define LTQ_MUX_P0_0_SSC0_MTSR         { 0, 0, 0, 0 }
8652 +#define LTQ_MUX_P0_0                   { 0, 0, 1, 0 }
8653 +#define LTQ_MUX_P0_0_IN                        { 1, 0, 1, 0 }
8654 +
8655 +
8656 +#define LTQ_MUX_P1_19_PCM3_TC1         { 0, 0, 0, 0 }
8657 +#define LTQ_MUX_P1_19_EXINT15          { 1, 0, 1, 0 }
8658 +#define LTQ_MUX_P1_19                  { 0, 0, 1, 0 }
8659 +
8660 +#define LTQ_MUX_P1_18_PCM3_FSC         { 0, 0, 0, 0 }
8661 +#define LTQ_MUX_P1_18_EXINT11          { 1, 0, 1, 0 }
8662 +#define LTQ_MUX_P1_18                  { 0, 0, 1, 0 }
8663 +
8664 +#define LTQ_MUX_P1_17_PCM3_PCL         { 0, 0, 0, 0 }
8665 +#define LTQ_MUX_P1_17_EXINT12          { 1, 0, 1, 0 }
8666 +#define LTQ_MUX_P1_17                  { 0, 0, 1, 0 }
8667 +
8668 +#define LTQ_MUX_P1_16_PCM3_TX          { 0, 0, 0, 0 }
8669 +#define LTQ_MUX_P1_16_EXINT13          { 1, 0, 1, 0 }
8670 +#define LTQ_MUX_P1_16                  { 0, 0, 1, 0 }
8671 +
8672 +#define LTQ_MUX_P1_15_PCM3_RX          { 0, 0, 0, 0 }
8673 +#define LTQ_MUX_P1_15_EXINT14          { 1, 0, 1, 0 }
8674 +#define LTQ_MUX_P1_15                  { 0, 0, 1, 0 }
8675 +
8676 +#define LTQ_MUX_P1_14_PCM2_TC1         { 0, 0, 0, 0 }
8677 +#define LTQ_MUX_P1_14                  { 0, 0, 1, 0 }
8678 +#define LTQ_MUX_P1_14_IN               { 1, 0, 1, 0 }
8679 +
8680 +#define LTQ_MUX_P1_13_PCM2_FSC         { 0, 0, 0, 0 }
8681 +#define LTQ_MUX_P1_13                  { 0, 0, 1, 0 }
8682 +#define LTQ_MUX_P1_13_IN               { 1, 0, 1, 0 }
8683 +
8684 +#define LTQ_MUX_P1_12_PCM2_PCL         { 0, 0, 0, 0 }
8685 +#define LTQ_MUX_P1_12                  { 0, 0, 1, 0 }
8686 +#define LTQ_MUX_P1_12_IN               { 1, 0, 1, 0 }
8687 +
8688 +#define LTQ_MUX_P1_11_PCM2_TX          { 0, 0, 0, 0 }
8689 +#define LTQ_MUX_P1_11                  { 0, 0, 1, 0 }
8690 +#define LTQ_MUX_P1_11_IN               { 1, 0, 1, 0 }
8691 +
8692 +#define LTQ_MUX_P1_10_PCM2_RX          { 0, 0, 0, 0 }
8693 +#define LTQ_MUX_P1_10                  { 0, 0, 1, 0 }
8694 +#define LTQ_MUX_P1_10_IN               { 1, 0, 1, 0 }
8695 +
8696 +#define LTQ_MUX_P1_9_PCM1_TC1          { 0, 0, 0, 0 }
8697 +#define LTQ_MUX_P1_9                   { 0, 0, 1, 0 }
8698 +#define LTQ_MUX_P1_9_IN                        { 0, 0, 1, 0 }
8699 +
8700 +#define LTQ_MUX_P1_8_PCM1_FSC          { 0, 0, 0, 0 }
8701 +#define LTQ_MUX_P1_8                   { 0, 0, 1, 0 }
8702 +#define LTQ_MUX_P1_8_IN                        { 1, 0, 1, 0 }
8703 +
8704 +#define LTQ_MUX_P1_7_PCM1_PCL          { 0, 0, 0, 0 }
8705 +#define LTQ_MUX_P1_7                   { 0, 0, 1, 0 }
8706 +#define LTQ_MUX_P1_7_IN                        { 1, 0, 1, 0 }
8707 +
8708 +#define LTQ_MUX_P1_6_PCM1_TX           { 0, 0, 0, 0 }
8709 +#define LTQ_MUX_P1_6                   { 0, 0, 1, 0 }
8710 +#define LTQ_MUX_P1_6_IN                        { 1, 0, 1, 0 }
8711 +
8712 +#define LTQ_MUX_P1_5_PCM1_RX           { 0, 0, 0, 0 }
8713 +#define LTQ_MUX_P1_5                   { 0, 0, 1, 0 }
8714 +#define LTQ_MUX_P1_5_IN                        { 1, 0, 1, 0 }
8715 +
8716 +#define LTQ_MUX_P1_4_PCM0_TC1          { 0, 0, 0, 0 }
8717 +#define LTQ_MUX_P1_4                   { 0, 0, 1, 0 }
8718 +#define LTQ_MUX_P1_4_IN                        { 1, 0, 1, 0 }
8719 +
8720 +#define LTQ_MUX_P1_3_PCM0_FSC          { 0, 0, 0, 0 }
8721 +#define LTQ_MUX_P1_3                   { 0, 0, 1, 0 }
8722 +#define LTQ_MUX_P1_3_IN                        { 1, 0, 1, 0 }
8723 +
8724 +#define LTQ_MUX_P1_2_PCM0_PCL          { 0, 0, 0, 0 }
8725 +#define LTQ_MUX_P1_2                   { 0, 0, 1, 0 }
8726 +#define LTQ_MUX_P1_2_IN                        { 1, 0, 1, 0 }
8727 +
8728 +#define LTQ_MUX_P1_1_PCM0_TX           { 0, 0, 0, 0 }
8729 +#define LTQ_MUX_P1_1                   { 0, 0, 1, 0 }
8730 +#define LTQ_MUX_P1_1_IN                        { 1, 0, 1, 0 }
8731 +
8732 +#define LTQ_MUX_P1_0_PCM0_RX           { 0, 0, 0, 0 }
8733 +#define LTQ_MUX_P1_0                   { 0, 0, 1, 0 }
8734 +#define LTQ_MUX_P1_0_IN                        { 1, 0, 1, 0 }
8735 +
8736 +
8737 +#define LTQ_MUX_P2_18_EBU_BC1          { 0, 0, 0, 0 }
8738 +#define LTQ_MUX_P2_18                  { 0, 0, 1, 0 }
8739 +#define LTQ_MUX_P2_18_IN               { 1, 0, 1, 0 }
8740 +
8741 +#define LTQ_MUX_P2_17_EBU_BC0          { 0, 0, 0, 0 }
8742 +#define LTQ_MUX_P2_17                  { 0, 0, 1, 0 }
8743 +#define LTQ_MUX_P2_17_IN               { 1, 0, 1, 0 }
8744 +
8745 +#define LTQ_MUX_P2_16_EBU_RDBY         { 1, 0, 0, 0 }
8746 +#define LTQ_MUX_P2_16                  { 0, 0, 1, 0 }
8747 +#define LTQ_MUX_P2_16_IN               { 1, 0, 1, 0 }
8748 +
8749 +#define LTQ_MUX_P2_15_EBU_WAIT         { 1, 0, 0, 0 }
8750 +#define LTQ_MUX_P2_15                  { 0, 0, 1, 0 }
8751 +#define LTQ_MUX_P2_15_IN               { 1, 0, 1, 0 }
8752 +
8753 +#define LTQ_MUX_P2_14_EBU_ALE          { 0, 0, 0, 0 }
8754 +#define LTQ_MUX_P2_14                  { 0, 0, 1, 0 }
8755 +#define LTQ_MUX_P2_14_IN               { 1, 0, 1, 0 }
8756 +
8757 +#define LTQ_MUX_P2_13_EBU_WR           { 0, 0, 0, 0 }
8758 +#define LTQ_MUX_P2_13                  { 0, 0, 1, 0 }
8759 +#define LTQ_MUX_P2_13_IN               { 1, 0, 1, 0 }
8760 +
8761 +#define LTQ_MUX_P2_12_EBU_RD           { 0, 0, 0, 0 }
8762 +#define LTQ_MUX_P2_12                  { 0, 0, 1, 0 }
8763 +#define LTQ_MUX_P2_12_IN               { 1, 0, 1, 0 }
8764 +
8765 +#define LTQ_MUX_P2_11_EBU_A11          { 0, 0, 0, 0 }
8766 +#define LTQ_MUX_P2_11                  { 0, 0, 1, 0 }
8767 +#define LTQ_MUX_P2_11_IN               { 1, 0, 1, 0 }
8768 +
8769 +#define LTQ_MUX_P2_10_EBU_A10          { 0, 0, 0, 0 }
8770 +#define LTQ_MUX_P2_10                  { 0, 0, 1, 0 }
8771 +#define LTQ_MUX_P2_10_IN               { 1, 0, 1, 0 }
8772 +
8773 +#define LTQ_MUX_P2_9_EBU_A9            { 0, 0, 0, 0 }
8774 +#define LTQ_MUX_P2_9                   { 0, 0, 1, 0 }
8775 +#define LTQ_MUX_P2_9_IN                        { 1, 0, 1, 0 }
8776 +
8777 +#define LTQ_MUX_P2_8_EBU_A8            { 0, 0, 0, 0 }
8778 +#define LTQ_MUX_P2_8                   { 0, 0, 1, 0 }
8779 +#define LTQ_MUX_P2_8_IN                        { 1, 0, 1, 0 }
8780 +
8781 +#define LTQ_MUX_P2_7_EBU_A7            { 0, 0, 0, 0 }
8782 +#define LTQ_MUX_P2_7                   { 0, 0, 1, 0 }
8783 +#define LTQ_MUX_P2_7_IN                        { 1, 0, 1, 0 }
8784 +
8785 +#define LTQ_MUX_P2_6_EBU_A6            { 0, 0, 0, 0 }
8786 +#define LTQ_MUX_P2_6                   { 0, 0, 1, 0 }
8787 +#define LTQ_MUX_P2_6_IN                        { 1, 0, 1, 0 }
8788 +
8789 +#define LTQ_MUX_P2_5_EBU_A5            { 0, 0, 0, 0 }
8790 +#define LTQ_MUX_P2_5                   { 0, 0, 1, 0 }
8791 +#define LTQ_MUX_P2_5_IN                        { 1, 0, 1, 0 }
8792 +
8793 +#define LTQ_MUX_P2_4_EBU_A4            { 0, 0, 0, 0 }
8794 +#define LTQ_MUX_P2_4                   { 0, 0, 1, 0 }
8795 +#define LTQ_MUX_P2_4_IN                        { 1, 0, 1, 0 }
8796 +
8797 +#define LTQ_MUX_P2_3_EBU_A3            { 0, 0, 0, 0 }
8798 +#define LTQ_MUX_P2_3                   { 0, 0, 1, 0 }
8799 +#define LTQ_MUX_P2_3_IN                        { 1, 0, 1, 0 }
8800 +
8801 +#define LTQ_MUX_P2_2_EBU_A2            { 0, 0, 0, 0 }
8802 +#define LTQ_MUX_P2_2                   { 0, 0, 1, 0 }
8803 +#define LTQ_MUX_P2_2_IN                        { 1, 0, 1, 0 }
8804 +
8805 +#define LTQ_MUX_P2_1_EBU_A1            { 0, 0, 0, 0 }
8806 +#define LTQ_MUX_P2_1                   { 0, 0, 1, 0 }
8807 +#define LTQ_MUX_P2_1_IN                        { 1, 0, 1, 0 }
8808 +
8809 +#define LTQ_MUX_P2_0_EBU_A0            { 0, 0, 0, 0 }
8810 +#define LTQ_MUX_P2_0                   { 0, 0, 1, 0 }
8811 +#define LTQ_MUX_P2_0_IN                        { 1, 0, 1, 0 }
8812 +
8813 +
8814 +#define LTQ_MUX_P3_19_EBU_CS3          { 0, 0, 0, 0 }
8815 +#define LTQ_MUX_P3_19                  { 0, 0, 1, 0 }
8816 +#define LTQ_MUX_P3_19_IN               { 1, 0, 1, 0 }
8817 +
8818 +#define LTQ_MUX_P3_18_EBU_CS2          { 0, 0, 0, 0 }
8819 +#define LTQ_MUX_P3_18                  { 0, 0, 1, 0 }
8820 +#define LTQ_MUX_P3_18_IN               { 1, 0, 1, 0 }
8821 +
8822 +#define LTQ_MUX_P3_17_EBU_CS1          { 0, 0, 0, 0 }
8823 +#define LTQ_MUX_P3_17                  { 0, 0, 1, 0 }
8824 +#define LTQ_MUX_P3_17_IN               { 1, 0, 1, 0 }
8825 +
8826 +#define LTQ_MUX_P3_16_EBU_CS0          { 0, 0, 0, 0 }
8827 +#define LTQ_MUX_P3_16                  { 0, 0, 1, 0 }
8828 +#define LTQ_MUX_P3_16_IN               { 1, 0, 1, 0 }
8829 +
8830 +#define LTQ_MUX_P3_15_EBU_AD15         { 1, 0, 0, 0 }
8831 +#define LTQ_MUX_P3_15                  { 0, 0, 1, 0 }
8832 +#define LTQ_MUX_P3_15_IN               { 1, 0, 1, 0 }
8833 +
8834 +#define LTQ_MUX_P3_14_EBU_AD14         { 1, 0, 0, 0 }
8835 +#define LTQ_MUX_P3_14                  { 0, 0, 1, 0 }
8836 +#define LTQ_MUX_P3_14_IN               { 1, 0, 1, 0 }
8837 +
8838 +#define LTQ_MUX_P3_13_EBU_AD13         { 1, 0, 0, 0 }
8839 +#define LTQ_MUX_P3_13                  { 0, 0, 1, 0 }
8840 +#define LTQ_MUX_P3_13_IN               { 1, 0, 1, 0 }
8841 +
8842 +#define LTQ_MUX_P3_12_EBU_AD12         { 1, 0, 0, 0 }
8843 +#define LTQ_MUX_P3_12                  { 0, 0, 1, 0 }
8844 +#define LTQ_MUX_P3_12_IN               { 1, 0, 1, 0 }
8845 +
8846 +#define LTQ_MUX_P3_11_EBU_AD11         { 1, 0, 0, 0 }
8847 +#define LTQ_MUX_P3_11                  { 0, 0, 1, 0 }
8848 +#define LTQ_MUX_P3_11_IN               { 1, 0, 1, 0 }
8849 +
8850 +#define LTQ_MUX_P3_10_EBU_AD10         { 1, 0, 0, 0 }
8851 +#define LTQ_MUX_P3_10                  { 0, 0, 1, 0 }
8852 +#define LTQ_MUX_P3_10_IN               { 1, 0, 1, 0 }
8853 +
8854 +#define LTQ_MUX_P3_9_EBU_AD9           { 1, 0, 0, 0 }
8855 +#define LTQ_MUX_P3_9                   { 0, 0, 1, 0 }
8856 +#define LTQ_MUX_P3_9_IN                        { 1, 0, 1, 0 }
8857 +
8858 +#define LTQ_MUX_P3_8_EBU_AD8           { 1, 0, 0, 0 }
8859 +#define LTQ_MUX_P3_8                   { 0, 0, 1, 0 }
8860 +#define LTQ_MUX_P3_8_IN                        { 1, 0, 1, 0 }
8861 +
8862 +#define LTQ_MUX_P3_7_EBU_AD7           { 1, 0, 0, 0 }
8863 +#define LTQ_MUX_P3_7                   { 0, 0, 1, 0 }
8864 +#define LTQ_MUX_P3_7_IN                        { 1, 0, 1, 0 }
8865 +
8866 +#define LTQ_MUX_P3_6_EBU_AD6           { 1, 0, 0, 0 }
8867 +#define LTQ_MUX_P3_6                   { 0, 0, 1, 0 }
8868 +#define LTQ_MUX_P3_6_IN                        { 1, 0, 1, 0 }
8869 +
8870 +#define LTQ_MUX_P3_5_EBU_AD5           { 1, 0, 0, 0 }
8871 +#define LTQ_MUX_P3_5                   { 0, 0, 1, 0 }
8872 +#define LTQ_MUX_P3_5_IN                        { 1, 0, 1, 0 }
8873 +
8874 +#define LTQ_MUX_P3_4_EBU_AD4           { 1, 0, 0, 0 }
8875 +#define LTQ_MUX_P3_4                   { 0, 0, 1, 0 }
8876 +#define LTQ_MUX_P3_4_IN                        { 1, 0, 1, 0 }
8877 +
8878 +#define LTQ_MUX_P3_3_EBU_AD3           { 1, 0, 0, 0 }
8879 +#define LTQ_MUX_P3_3                   { 0, 0, 1, 0 }
8880 +#define LTQ_MUX_P3_3_IN                        { 1, 0, 1, 0 }
8881 +
8882 +#define LTQ_MUX_P3_2_EBU_AD2           { 1, 0, 0, 0 }
8883 +#define LTQ_MUX_P3_2                   { 0, 0, 1, 0 }
8884 +#define LTQ_MUX_P3_2_IN                        { 1, 0, 1, 0 }
8885 +
8886 +#define LTQ_MUX_P3_1_EBU_AD1           { 1, 0, 0, 0 }
8887 +#define LTQ_MUX_P3_1                   { 0, 0, 1, 0 }
8888 +#define LTQ_MUX_P3_1_IN                        { 1, 0, 1, 0 }
8889 +
8890 +#define LTQ_MUX_P3_0_EBU_AD0           { 1, 0, 0, 0 }
8891 +#define LTQ_MUX_P3_0                   { 0, 0, 1, 0 }
8892 +#define LTQ_MUX_P3_0_IN                        { 1, 0, 1, 0 }
8893 +
8894 +
8895 +#define LTQ_MUX_P4_23_SSLIC7_CLK       { 0, 0, 0, 0 }
8896 +#define LTQ_MUX_P4_23                  { 0, 0, 1, 0 }
8897 +#define LTQ_MUX_P4_23_IN               { 1, 0, 1, 0 }
8898 +
8899 +#define LTQ_MUX_P4_22_SSLIC7_RX                { 0, 0, 0, 0 }
8900 +#define LTQ_MUX_P4_22                  { 0, 0, 1, 0 }
8901 +#define LTQ_MUX_P4_22_IN               { 1, 0, 1, 0 }
8902 +
8903 +#define LTQ_MUX_P4_21_SSLIC7_TX                { 0, 0, 0, 0 }
8904 +#define LTQ_MUX_P4_21                  { 0, 0, 1, 0 }
8905 +#define LTQ_MUX_P4_21_IN               { 1, 0, 1, 0 }
8906 +
8907 +#define LTQ_MUX_P4_20_SSLIC6_CLK       { 0, 0, 0, 0 }
8908 +#define LTQ_MUX_P4_20                  { 0, 0, 1, 0 }
8909 +#define LTQ_MUX_P4_20_IN               { 1, 0, 1, 0 }
8910 +
8911 +#define LTQ_MUX_P4_19_SSLIC6_RX                { 0, 0, 0, 0 }
8912 +#define LTQ_MUX_P4_19                  { 0, 0, 1, 0 }
8913 +#define LTQ_MUX_P4_19_IN               { 1, 0, 1, 0 }
8914 +
8915 +#define LTQ_MUX_P4_18_SSLIC6_TX                { 0, 0, 0, 0 }
8916 +#define LTQ_MUX_P4_18                  { 0, 0, 1, 0 }
8917 +#define LTQ_MUX_P4_18_IN               { 1, 0, 1, 0 }
8918 +
8919 +#define LTQ_MUX_P4_17_SSLIC5_CLK       { 0, 0, 0, 0 }
8920 +#define LTQ_MUX_P4_17                  { 0, 0, 1, 0 }
8921 +#define LTQ_MUX_P4_17_IN               { 1, 0, 1, 0 }
8922 +
8923 +#define LTQ_MUX_P4_16_SSLIC5_RX                { 0, 0, 0, 0 }
8924 +#define LTQ_MUX_P4_16                  { 0, 0, 1, 0 }
8925 +#define LTQ_MUX_P4_16_IN               { 1, 0, 1, 0 }
8926 +
8927 +#define LTQ_MUX_P4_15_SSLIC5_TX                { 0, 0, 0, 0 }
8928 +#define LTQ_MUX_P4_15                  { 0, 0, 1, 0 }
8929 +#define LTQ_MUX_P4_15_IN               { 1, 0, 1, 0 }
8930 +
8931 +#define LTQ_MUX_P4_14_SSLIC4_CLK       { 0, 0, 0, 0 }
8932 +#define LTQ_MUX_P4_14                  { 0, 0, 1, 0 }
8933 +#define LTQ_MUX_P4_14_IN               { 1, 0, 1, 0 }
8934 +
8935 +#define LTQ_MUX_P4_13_SSLIC4_RX                { 0, 0, 0, 0 }
8936 +#define LTQ_MUX_P4_13                  { 0, 0, 1, 0 }
8937 +#define LTQ_MUX_P4_13_IN               { 1, 0, 1, 0 }
8938 +
8939 +#define LTQ_MUX_P4_12_SSLIC4_TX                { 0, 0, 0, 0 }
8940 +#define LTQ_MUX_P4_12                  { 0, 0, 1, 0 }
8941 +#define LTQ_MUX_P4_12_IN               { 1, 0, 1, 0 }
8942 +
8943 +#define LTQ_MUX_P4_11_SSLIC3_CLK       { 0, 0, 0, 0 }
8944 +#define LTQ_MUX_P4_11                  { 0, 0, 1, 0 }
8945 +#define LTQ_MUX_P4_11_IN               { 1, 0, 1, 0 }
8946 +
8947 +#define LTQ_MUX_P4_10_SSLIC3_RX                { 0, 0, 0, 0 }
8948 +#define LTQ_MUX_P4_10                  { 0, 0, 1, 0 }
8949 +#define LTQ_MUX_P4_10_IN               { 1, 0, 1, 0 }
8950 +
8951 +#define LTQ_MUX_P4_9_SSLIC3_TX         { 0, 0, 0, 0 }
8952 +#define LTQ_MUX_P4_9                   { 0, 0, 1, 0 }
8953 +#define LTQ_MUX_P4_9_IN                        { 1, 0, 1, 0 }
8954 +
8955 +#define LTQ_MUX_P4_8_SSLIC2_CLK                { 0, 0, 0, 0 }
8956 +#define LTQ_MUX_P4_8                   { 0, 0, 1, 0 }
8957 +#define LTQ_MUX_P4_8_IN                        { 1, 0, 1, 0 }
8958 +
8959 +#define LTQ_MUX_P4_7_SSLIC2_RX         { 0, 0, 0, 0 }
8960 +#define LTQ_MUX_P4_7                   { 0, 0, 1, 0 }
8961 +#define LTQ_MUX_P4_7_IN                        { 1, 0, 1, 0 }
8962 +
8963 +#define LTQ_MUX_P4_6_SSLIC2_TX         { 0, 0, 0, 0 }
8964 +#define LTQ_MUX_P4_6                   { 0, 0, 1, 0 }
8965 +#define LTQ_MUX_P4_6_IN                        { 1, 0, 1, 0 }
8966 +
8967 +#define LTQ_MUX_P4_5_SSLIC1_CLK                { 0, 0, 0, 0 }
8968 +#define LTQ_MUX_P4_5                   { 0, 0, 1, 0 }
8969 +#define LTQ_MUX_P4_5_IN                        { 1, 0, 1, 0 }
8970 +
8971 +#define LTQ_MUX_P4_4_SSLIC1_RX         { 0, 0, 0, 0 }
8972 +#define LTQ_MUX_P4_4                   { 0, 0, 1, 0 }
8973 +#define LTQ_MUX_P4_4_IN                        { 1, 0, 1, 0 }
8974 +
8975 +#define LTQ_MUX_P4_3_SSLIC1_TX         { 0, 0, 0, 0 }
8976 +#define LTQ_MUX_P4_3                   { 0, 0, 1, 0 }
8977 +#define LTQ_MUX_P4_3_IN                        { 1, 0, 1, 0 }
8978 +
8979 +#define LTQ_MUX_P4_2_SSLIC0_CLK                { 0, 0, 0, 0 }
8980 +#define LTQ_MUX_P4_2                   { 0, 0, 1, 0 }
8981 +#define LTQ_MUX_P4_2_IN                        { 1, 0, 1, 0 }
8982 +
8983 +#define LTQ_MUX_P4_1_SSLIC0_RX         { 0, 0, 0, 0 }
8984 +#define LTQ_MUX_P4_1                   { 0, 0, 1, 0 }
8985 +#define LTQ_MUX_P4_1_IN                        { 1, 0, 1, 0 }
8986 +
8987 +#define LTQ_MUX_P4_0_SSLIC0_TX         { 0, 0, 0, 0 }
8988 +#define LTQ_MUX_P4_0                   { 0, 0, 1, 0 }
8989 +#define LTQ_MUX_P4_0_IN                        { 1, 0, 1, 0 }
8990 +
8991 +#endif
8992 Index: linux-3.3.8/arch/mips/include/asm/mach-lantiq/svip/sys2_reg.h
8993 ===================================================================
8994 --- /dev/null   1970-01-01 00:00:00.000000000 +0000
8995 +++ linux-3.3.8/arch/mips/include/asm/mach-lantiq/svip/sys2_reg.h       2012-07-31 15:46:02.484476159 +0200
8996 @@ -0,0 +1,494 @@
8997 +/******************************************************************************
8998 +
8999 +  Copyright (c) 2007
9000 +  Infineon Technologies AG
9001 +  St. Martin Strasse 53; 81669 Munich, Germany
9002 +
9003 +  Any use of this Software is subject to the conclusion of a respective
9004 +  License Agreement. Without such a License Agreement no rights to the
9005 +  Software are granted.
9006 +
9007 + ******************************************************************************/
9008 +
9009 +#ifndef __SYS2_REG_H
9010 +#define __SYS2_REG_H
9011 +
9012 +#define sys2_r32(reg) ltq_r32(&sys2->reg)
9013 +#define sys2_w32(val, reg) ltq_w32(val, &sys2->reg)
9014 +#define sys2_w32_mask(clear, set, reg) ltq_w32_mask(clear, set, &sys2->reg)
9015 +
9016 +/** SYS2 register structure */
9017 +struct svip_reg_sys2 {
9018 +       volatile unsigned long  clksr;  /*  0x0000 */
9019 +       volatile unsigned long  clkenr;  /*  0x0004 */
9020 +       volatile unsigned long  clkclr;  /*  0x0008 */
9021 +       volatile unsigned long  reserved0[1];
9022 +       volatile unsigned long  rsr;  /*  0x0010 */
9023 +       volatile unsigned long  rreqr;  /*  0x0014 */
9024 +       volatile unsigned long  rrlsr;  /*  0x0018 */
9025 +};
9026 +
9027 +/*******************************************************************************
9028 + * SYS2 Clock Status Register
9029 + ******************************************************************************/
9030 +
9031 +/* Clock Enable for PORT4 */
9032 +#define SYS2_CLKSR_PORT4 (0x1 << 27)
9033 +#define SYS2_CLKSR_PORT4_VAL(val) (((val) & 0x1) << 27)
9034 +#define SYS2_CLKSR_PORT4_GET(val) (((val) & SYS2_CLKSR_PORT4) >> 27)
9035 +/* Clock Enable for HWSYNC */
9036 +#define SYS2_CLKSR_HWSYNC (0x1 << 26)
9037 +#define SYS2_CLKSR_HWSYNC_VAL(val) (((val) &
9038 +#define SYS2_CLKSR_HWSYNC_GET(val) (((val) & SYS2_CLKSR_HWSYNC) >> 26)
9039 +                                        /* Clock Enable for MBS */
9040 +#define SYS2_CLKSR_MBS (0x1 << 25)
9041 +#define SYS2_CLKSR_MBS_VAL(val) (((val) & 0x1) << 25)
9042 +#define SYS2_CLKSR_MBS_GET(val) (((val) & SYS2_CLKSR_MBS) >> 25)
9043 +                                        /* Clock Enable for SWINT */
9044 +#define SYS2_CLKSR_SWINT (0x1 << 24)
9045 +#define SYS2_CLKSR_SWINT_VAL(val) (((val) & 0x1) << 24)
9046 +#define SYS2_CLKSR_SWINT_GET(val) (((val) & SYS2_CLKSR_SWINT) >> 24)
9047 +                                        /* Clock Enable for HWACC3 */
9048 +#define SYS2_CLKSR_HWACC3 (0x1 << 19)
9049 +#define SYS2_CLKSR_HWACC3_VAL(val) (((val) &
9050 +#define SYS2_CLKSR_HWACC3_GET(val) (((val) & SYS2_CLKSR_HWACC3) >> 19)
9051 +                                        /* Clock Enable for HWACC2 */
9052 +#define SYS2_CLKSR_HWACC2 (0x1 << 18)
9053 +#define SYS2_CLKSR_HWACC2_VAL(val) (((val) &
9054 +#define SYS2_CLKSR_HWACC2_GET(val) (((val) & SYS2_CLKSR_HWACC2) >> 18)
9055 +                                        /* Clock Enable for HWACC1 */
9056 +#define SYS2_CLKSR_HWACC1 (0x1 << 17)
9057 +#define SYS2_CLKSR_HWACC1_VAL(val) (((val) &
9058 +#define SYS2_CLKSR_HWACC1_GET(val) (((val) & SYS2_CLKSR_HWACC1) >> 17)
9059 +                                        /* Clock Enable for HWACC0 */
9060 +#define SYS2_CLKSR_HWACC0 (0x1 << 16)
9061 +#define SYS2_CLKSR_HWACC0_VAL(val) (((val) &
9062 +#define SYS2_CLKSR_HWACC0_GET(val) (((val) & SYS2_CLKSR_HWACC0) >> 16)
9063 +                                        /* Clock Enable for SIF7 */
9064 +#define SYS2_CLKSR_SIF7 (0x1 << 15)
9065 +#define SYS2_CLKSR_SIF7_VAL(val) (((val) & 0x1) << 15)
9066 +#define SYS2_CLKSR_SIF7_GET(val) (((val) & SYS2_CLKSR_SIF7) >> 15)
9067 +                                        /* Clock Enable for SIF6 */
9068 +#define SYS2_CLKSR_SIF6 (0x1 << 14)
9069 +#define SYS2_CLKSR_SIF6_VAL(val) (((val) & 0x1) << 14)
9070 +#define SYS2_CLKSR_SIF6_GET(val) (((val) & SYS2_CLKSR_SIF6) >> 14)
9071 +                                        /* Clock Enable for SIF5 */
9072 +#define SYS2_CLKSR_SIF5 (0x1 << 13)
9073 +#define SYS2_CLKSR_SIF5_VAL(val) (((val) & 0x1) << 13)
9074 +#define SYS2_CLKSR_SIF5_GET(val) (((val) & SYS2_CLKSR_SIF5) >> 13)
9075 +                                        /* Clock Enable for SIF4 */
9076 +#define SYS2_CLKSR_SIF4 (0x1 << 12)
9077 +#define SYS2_CLKSR_SIF4_VAL(val) (((val) & 0x1) << 12)
9078 +#define SYS2_CLKSR_SIF4_GET(val) (((val) & SYS2_CLKSR_SIF4) >> 12)
9079 +                                        /* Clock Enable for SIF3 */
9080 +#define SYS2_CLKSR_SIF3 (0x1 << 11)
9081 +#define SYS2_CLKSR_SIF3_VAL(val) (((val) & 0x1) << 11)
9082 +#define SYS2_CLKSR_SIF3_GET(val) (((val) & SYS2_CLKSR_SIF3) >> 11)
9083 +/* Clock Enable for SIF2 */
9084 +#define SYS2_CLKSR_SIF2 (0x1 << 10)
9085 +#define SYS2_CLKSR_SIF2_VAL(val) (((val) & 0x1) << 10)
9086 +#define SYS2_CLKSR_SIF2_GET(val) (((val) & SYS2_CLKSR_SIF2) >> 10)
9087 +/* Clock Enable for SIF1 */
9088 +#define SYS2_CLKSR_SIF1 (0x1 << 9)
9089 +#define SYS2_CLKSR_SIF1_VAL(val) (((val) & 0x1) << 9)
9090 +#define SYS2_CLKSR_SIF1_GET(val) (((val) & SYS2_CLKSR_SIF1) >> 9)
9091 +/* Clock Enable for SIF0 */
9092 +#define SYS2_CLKSR_SIF0 (0x1 << 8)
9093 +#define SYS2_CLKSR_SIF0_VAL(val) (((val) & 0x1) << 8)
9094 +#define SYS2_CLKSR_SIF0_GET(val) (((val) & SYS2_CLKSR_SIF0) >> 8)
9095 +/* Clock Enable for DFEV7 */
9096 +#define SYS2_CLKSR_DFEV7 (0x1 << 7)
9097 +#define SYS2_CLKSR_DFEV7_VAL(val) (((val) & 0x1) << 7)
9098 +#define SYS2_CLKSR_DFEV7_GET(val) (((val) & SYS2_CLKSR_DFEV7) >> 7)
9099 +/* Clock Enable for DFEV6 */
9100 +#define SYS2_CLKSR_DFEV6 (0x1 << 6)
9101 +#define SYS2_CLKSR_DFEV6_VAL(val) (((val) & 0x1) << 6)
9102 +#define SYS2_CLKSR_DFEV6_GET(val) (((val) & SYS2_CLKSR_DFEV6) >> 6)
9103 +/* Clock Enable for DFEV5 */
9104 +#define SYS2_CLKSR_DFEV5 (0x1 << 5)
9105 +#define SYS2_CLKSR_DFEV5_VAL(val) (((val) & 0x1) << 5)
9106 +#define SYS2_CLKSR_DFEV5_GET(val) (((val) & SYS2_CLKSR_DFEV5) >> 5)
9107 +/* Clock Enable for DFEV4 */
9108 +#define SYS2_CLKSR_DFEV4 (0x1 << 4)
9109 +#define SYS2_CLKSR_DFEV4_VAL(val) (((val) & 0x1) << 4)
9110 +#define SYS2_CLKSR_DFEV4_GET(val) (((val) & SYS2_CLKSR_DFEV4) >> 4)
9111 +/* Clock Enable for DFEV3 */
9112 +#define SYS2_CLKSR_DFEV3 (0x1 << 3)
9113 +#define SYS2_CLKSR_DFEV3_VAL(val) (((val) & 0x1) << 3)
9114 +#define SYS2_CLKSR_DFEV3_GET(val) (((val) & SYS2_CLKSR_DFEV3) >> 3)
9115 +/* Clock Enable for DFEV2 */
9116 +#define SYS2_CLKSR_DFEV2 (0x1 << 2)
9117 +#define SYS2_CLKSR_DFEV2_VAL(val) (((val) & 0x1) << 2)
9118 +#define SYS2_CLKSR_DFEV2_GET(val) (((val) & SYS2_CLKSR_DFEV2) >> 2)
9119 +/* Clock Enable for DFEV1 */
9120 +#define SYS2_CLKSR_DFEV1 (0x1 << 1)
9121 +#define SYS2_CLKSR_DFEV1_VAL(val) (((val) & 0x1) << 1)
9122 +#define SYS2_CLKSR_DFEV1_GET(val) (((val) & SYS2_CLKSR_DFEV1) >> 1)
9123 +/* Clock Enable for DFEV0 */
9124 +#define SYS2_CLKSR_DFEV0 (0x1)
9125 +#define SYS2_CLKSR_DFEV0_VAL(val) (((val) & 0x1))
9126 +#define SYS2_CLKSR_DFEV0_GET(val) ((val) & SYS2_CLKSR_DFEV0)
9127 +
9128 +/*******************************************************************************
9129 + * SYS2 Clock Enable Register
9130 + ******************************************************************************/
9131 +
9132 +/* Clock Enable Request for PORT4 */
9133 +#define SYS2_CLKENR_PORT4 (0x1 << 27)
9134 +#define SYS2_CLKENR_PORT4_VAL(val) (((val) & 0x1) << 27)
9135 +#define SYS2_CLKENR_PORT4_SET (reg,val) (reg) = ((reg & ~SYS2_CLKENR_PORT4) | ((val & 0x1) << 27))
9136 +/* Clock Enable Request for HWSYNC */
9137 +#define SYS2_CLKENR_HWSYNC (0x1 << 26)
9138 +#define SYS2_CLKENR_HWSYNC_VAL(val) (((val) & 0x1) << 26)
9139 +#define SYS2_CLKENR_HWSYNC_SET (reg,val) (reg) = ((reg & ~SYS2_CLKENR_HWSYNC) | ((val & 0x1) << 26))
9140 +/* Clock Enable Request for MBS */
9141 +#define SYS2_CLKENR_MBS (0x1 << 25)
9142 +#define SYS2_CLKENR_MBS_VAL(val) (((val) & 0x1) << 25)
9143 +#define SYS2_CLKENR_MBS_SET (reg,val) (reg) = ((reg & ~SYS2_CLKENR_MBS) | ((val & 0x1) << 25))
9144 +/* Clock Enable Request for SWINT */
9145 +#define SYS2_CLKENR_SWINT (0x1 << 24)
9146 +#define SYS2_CLKENR_SWINT_VAL(val) (((val) & 0x1) << 24)
9147 +#define SYS2_CLKENR_SWINT_SET (reg,val) (reg) = ((reg & ~SYS2_CLKENR_SWINT) | ((val & 0x1) << 24))
9148 +/* Clock Enable Request for HWACC3 */
9149 +#define SYS2_CLKENR_HWACC3 (0x1 << 19)
9150 +#define SYS2_CLKENR_HWACC3_VAL(val) (((val) & 0x1) << 19)
9151 +#define SYS2_CLKENR_HWACC3_SET (reg,val) (reg) = ((reg & ~SYS2_CLKENR_HWACC3) | ((val & 0x1) << 19))
9152 +/* Clock Enable Request for HWACC2 */
9153 +#define SYS2_CLKENR_HWACC2 (0x1 << 18)
9154 +#define SYS2_CLKENR_HWACC2_VAL(val) (((val) & 0x1) << 18)
9155 +#define SYS2_CLKENR_HWACC2_SET (reg,val) (reg) = ((reg & ~SYS2_CLKENR_HWACC2) | ((val & 0x1) << 18))
9156 +/* Clock Enable Request for HWACC1 */
9157 +#define SYS2_CLKENR_HWACC1 (0x1 << 17)
9158 +#define SYS2_CLKENR_HWACC1_VAL(val) (((val) & 0x1) << 17)
9159 +#define SYS2_CLKENR_HWACC1_SET (reg,val) (reg) = ((reg & ~SYS2_CLKENR_HWACC1) | ((val & 0x1) << 17))
9160 +/* Clock Enable Request for HWACC0 */
9161 +#define SYS2_CLKENR_HWACC0 (0x1 << 16)
9162 +#define SYS2_CLKENR_HWACC0_VAL(val) (((val) & 0x1) << 16)
9163 +#define SYS2_CLKENR_HWACC0_SET (reg,val) (reg) = ((reg & ~SYS2_CLKENR_HWACC0) | ((val & 0x1) << 16))
9164 +/* Clock Enable Request for SIF7 */
9165 +#define SYS2_CLKENR_SIF7 (0x1 << 15)
9166 +#define SYS2_CLKENR_SIF7_VAL(val) (((val) & 0x1) << 15)
9167 +#define SYS2_CLKENR_SIF7_SET (reg,val) (reg) = ((reg & ~SYS2_CLKENR_SIF7) | ((val & 0x1) << 15))
9168 +/* Clock Enable Request for SIF6 */
9169 +#define SYS2_CLKENR_SIF6 (0x1 << 14)
9170 +#define SYS2_CLKENR_SIF6_VAL(val) (((val) & 0x1) << 14)
9171 +#define SYS2_CLKENR_SIF6_SET (reg,val) (reg) = ((reg & ~SYS2_CLKENR_SIF6) | ((val & 0x1) << 14))
9172 +/* Clock Enable Request for SIF5 */
9173 +#define SYS2_CLKENR_SIF5 (0x1 << 13)
9174 +#define SYS2_CLKENR_SIF5_VAL(val) (((val) & 0x1) << 13)
9175 +#define SYS2_CLKENR_SIF5_SET (reg,val) (reg) = ((reg & ~SYS2_CLKENR_SIF5) | ((val & 0x1) << 13))
9176 +/* Clock Enable Request for SIF4 */
9177 +#define SYS2_CLKENR_SIF4 (0x1 << 12)
9178 +#define SYS2_CLKENR_SIF4_VAL(val) (((val) & 0x1) << 12)
9179 +#define SYS2_CLKENR_SIF4_SET (reg,val) (reg) = ((reg & ~SYS2_CLKENR_SIF4) | ((val & 0x1) << 12))
9180 +/* Clock Enable Request for SIF3 */
9181 +#define SYS2_CLKENR_SIF3 (0x1 << 11)
9182 +#define SYS2_CLKENR_SIF3_VAL(val) (((val) & 0x1) << 11)
9183 +#define SYS2_CLKENR_SIF3_SET (reg,val) (reg) = ((reg & ~SYS2_CLKENR_SIF3) | ((val & 0x1) << 11))
9184 +/* Clock Enable Request for SIF2 */
9185 +#define SYS2_CLKENR_SIF2 (0x1 << 10)
9186 +#define SYS2_CLKENR_SIF2_VAL(val) (((val) & 0x1) << 10)
9187 +#define SYS2_CLKENR_SIF2_SET (reg,val) (reg) = ((reg & ~SYS2_CLKENR_SIF2) | ((val & 0x1) << 10))
9188 +/* Clock Enable Request for SIF1 */
9189 +#define SYS2_CLKENR_SIF1 (0x1 << 9)
9190 +#define SYS2_CLKENR_SIF1_VAL(val) (((val) & 0x1) << 9)
9191 +#define SYS2_CLKENR_SIF1_SET (reg,val) (reg) = ((reg & ~SYS2_CLKENR_SIF1) | ((val & 0x1) << 9))
9192 +/* Clock Enable Request for SIF0 */
9193 +#define SYS2_CLKENR_SIF0 (0x1 << 8)
9194 +#define SYS2_CLKENR_SIF0_VAL(val) (((val) & 0x1) << 8)
9195 +#define SYS2_CLKENR_SIF0_SET (reg,val) (reg) = ((reg & ~SYS2_CLKENR_SIF0) | ((val & 0x1) << 8))
9196 +/* Clock Enable Request for DFEV7 */
9197 +#define SYS2_CLKENR_DFEV7 (0x1 << 7)
9198 +#define SYS2_CLKENR_DFEV7_VAL(val) (((val) & 0x1) << 7)
9199 +#define SYS2_CLKENR_DFEV7_SET (reg,val) (reg) = ((reg & ~SYS2_CLKENR_DFEV7) | ((val & 0x1) << 7))
9200 +/* Clock Enable Request for DFEV6 */
9201 +#define SYS2_CLKENR_DFEV6 (0x1 << 6)
9202 +#define SYS2_CLKENR_DFEV6_VAL(val) (((val) & 0x1) << 6)
9203 +#define SYS2_CLKENR_DFEV6_SET (reg,val) (reg) = ((reg & ~SYS2_CLKENR_DFEV6) | ((val & 0x1) << 6))
9204 +/* Clock Enable Request for DFEV5 */
9205 +#define SYS2_CLKENR_DFEV5 (0x1 << 5)
9206 +#define SYS2_CLKENR_DFEV5_VAL(val) (((val) & 0x1) << 5)
9207 +#define SYS2_CLKENR_DFEV5_SET (reg,val) (reg) = ((reg & ~SYS2_CLKENR_DFEV5) | ((val & 0x1) << 5))
9208 +/* Clock Enable Request for DFEV4 */
9209 +#define SYS2_CLKENR_DFEV4 (0x1 << 4)
9210 +#define SYS2_CLKENR_DFEV4_VAL(val) (((val) & 0x1) << 4)
9211 +#define SYS2_CLKENR_DFEV4_SET (reg,val) (reg) = ((reg & ~SYS2_CLKENR_DFEV4) | ((val & 0x1) << 4))
9212 +/* Clock Enable Request for DFEV3 */
9213 +#define SYS2_CLKENR_DFEV3 (0x1 << 3)
9214 +#define SYS2_CLKENR_DFEV3_VAL(val) (((val) & 0x1) << 3)
9215 +#define SYS2_CLKENR_DFEV3_SET (reg,val) (reg) = ((reg & ~SYS2_CLKENR_DFEV3) | ((val & 0x1) << 3))
9216 +/* Clock Enable Request for DFEV2 */
9217 +#define SYS2_CLKENR_DFEV2 (0x1 << 2)
9218 +#define SYS2_CLKENR_DFEV2_VAL(val) (((val) & 0x1) << 2)
9219 +#define SYS2_CLKENR_DFEV2_SET (reg,val) (reg) = ((reg & ~SYS2_CLKENR_DFEV2) | ((val & 0x1) << 2))
9220 +/* Clock Enable Request for DFEV1 */
9221 +#define SYS2_CLKENR_DFEV1 (0x1 << 1)
9222 +#define SYS2_CLKENR_DFEV1_VAL(val) (((val) & 0x1) << 1)
9223 +#define SYS2_CLKENR_DFEV1_SET (reg,val) (reg) = ((reg & ~SYS2_CLKENR_DFEV1) | ((val & 0x1) << 1))
9224 +/* Clock Enable Request for DFEV0 */
9225 +#define SYS2_CLKENR_DFEV0 (0x1)
9226 +#define SYS2_CLKENR_DFEV0_VAL(val) (((val) & 0x1))
9227 +#define SYS2_CLKENR_DFEV0_SET (reg,val) (reg) = ((reg & ~SYS2_CLKENR_DFEV0) | ((val & 0x1)))
9228 +
9229 +/*******************************************************************************
9230 + * SYS2 Clock Clear Register
9231 + ******************************************************************************/
9232 +
9233 +/* Clock Disable Request for PORT4 */
9234 +#define SYS2_CLKCLR_PORT4 (0x1 << 27)
9235 +#define SYS2_CLKCLR_PORT4_VAL(val) (((val) & 0x1) << 27)
9236 +#define SYS2_CLKCLR_PORT4_SET (reg,val) (reg) = ((reg & ~SYS2_CLKCLR_PORT4) | ((val & 0x1) << 27))
9237 +/* Clock Disable Request for HWSYNC */
9238 +#define SYS2_CLKCLR_HWSYNC (0x1 << 26)
9239 +#define SYS2_CLKCLR_HWSYNC_VAL(val) (((val) & 0x1) << 26)
9240 +#define SYS2_CLKCLR_HWSYNC_SET (reg,val) (reg) = ((reg & ~SYS2_CLKCLR_HWSYNC) | ((val & 0x1) << 26))
9241 +/* Clock Disable Request for MBS */
9242 +#define SYS2_CLKCLR_MBS (0x1 << 25)
9243 +#define SYS2_CLKCLR_MBS_VAL(val) (((val) & 0x1) << 25)
9244 +#define SYS2_CLKCLR_MBS_SET (reg,val) (reg) = ((reg & ~SYS2_CLKCLR_MBS) | ((val & 0x1) << 25))
9245 +/* Clock Disable Request for SWINT */
9246 +#define SYS2_CLKCLR_SWINT (0x1 << 24)
9247 +#define SYS2_CLKCLR_SWINT_VAL(val) (((val) & 0x1) << 24)
9248 +#define SYS2_CLKCLR_SWINT_SET (reg,val) (reg) = ((reg & ~SYS2_CLKCLR_SWINT) | ((val & 0x1) << 24))
9249 +/* Clock Disable Request for HWACC3 */
9250 +#define SYS2_CLKCLR_HWACC3 (0x1 << 19)
9251 +#define SYS2_CLKCLR_HWACC3_VAL(val) (((val) & 0x1) << 19)
9252 +#define SYS2_CLKCLR_HWACC3_SET (reg,val) (reg) = ((reg & ~SYS2_CLKCLR_HWACC3) | ((val & 0x1) << 19))
9253 +/* Clock Disable Request for HWACC2 */
9254 +#define SYS2_CLKCLR_HWACC2 (0x1 << 18)
9255 +#define SYS2_CLKCLR_HWACC2_VAL(val) (((val) & 0x1) << 18)
9256 +#define SYS2_CLKCLR_HWACC2_SET (reg,val) (reg) = ((reg & ~SYS2_CLKCLR_HWACC2) | ((val & 0x1) << 18))
9257 +/* Clock Disable Request for HWACC1 */
9258 +#define SYS2_CLKCLR_HWACC1 (0x1 << 17)
9259 +#define SYS2_CLKCLR_HWACC1_VAL(val) (((val) & 0x1) << 17)
9260 +#define SYS2_CLKCLR_HWACC1_SET (reg,val) (reg) = ((reg & ~SYS2_CLKCLR_HWACC1) | ((val & 0x1) << 17))
9261 +/* Clock Disable Request for HWACC0 */
9262 +#define SYS2_CLKCLR_HWACC0 (0x1 << 16)
9263 +#define SYS2_CLKCLR_HWACC0_VAL(val) (((val) & 0x1) << 16)
9264 +#define SYS2_CLKCLR_HWACC0_SET (reg,val) (reg) = ((reg & ~SYS2_CLKCLR_HWACC0) | ((val & 0x1) << 16))
9265 +/* Clock Disable Request for SIF7 */
9266 +#define SYS2_CLKCLR_SIF7 (0x1 << 15)
9267 +#define SYS2_CLKCLR_SIF7_VAL(val) (((val) & 0x1) << 15)
9268 +#define SYS2_CLKCLR_SIF7_SET (reg,val) (reg) = ((reg & ~SYS2_CLKCLR_SIF7) | ((val & 0x1) << 15))
9269 +/* Clock Disable Request for SIF6 */
9270 +#define SYS2_CLKCLR_SIF6 (0x1 << 14)
9271 +#define SYS2_CLKCLR_SIF6_VAL(val) (((val) & 0x1) << 14)
9272 +#define SYS2_CLKCLR_SIF6_SET (reg,val) (reg) = ((reg & ~SYS2_CLKCLR_SIF6) | ((val & 0x1) << 14))
9273 +/* Clock Disable Request for SIF5 */
9274 +#define SYS2_CLKCLR_SIF5 (0x1 << 13)
9275 +#define SYS2_CLKCLR_SIF5_VAL(val) (((val) & 0x1) << 13)
9276 +#define SYS2_CLKCLR_SIF5_SET (reg,val) (reg) = ((reg & ~SYS2_CLKCLR_SIF5) | ((val & 0x1) << 13))
9277 +/* Clock Disable Request for SIF4 */
9278 +#define SYS2_CLKCLR_SIF4 (0x1 << 12)
9279 +#define SYS2_CLKCLR_SIF4_VAL(val) (((val) & 0x1) << 12)
9280 +#define SYS2_CLKCLR_SIF4_SET (reg,val) (reg) = ((reg & ~SYS2_CLKCLR_SIF4) | ((val & 0x1) << 12))
9281 +/* Clock Disable Request for SIF3 */
9282 +#define SYS2_CLKCLR_SIF3 (0x1 << 11)
9283 +#define SYS2_CLKCLR_SIF3_VAL(val) (((val) & 0x1) << 11)
9284 +#define SYS2_CLKCLR_SIF3_SET (reg,val) (reg) = ((reg & ~SYS2_CLKCLR_SIF3) | ((val & 0x1) << 11))
9285 +/* Clock Disable Request for SIF2 */
9286 +#define SYS2_CLKCLR_SIF2 (0x1 << 10)
9287 +#define SYS2_CLKCLR_SIF2_VAL(val) (((val) & 0x1) << 10)
9288 +#define SYS2_CLKCLR_SIF2_SET (reg,val) (reg) = ((reg & ~SYS2_CLKCLR_SIF2) | ((val & 0x1) << 10))
9289 +/* Clock Disable Request for SIF1 */
9290 +#define SYS2_CLKCLR_SIF1 (0x1 << 9)
9291 +#define SYS2_CLKCLR_SIF1_VAL(val) (((val) & 0x1) << 9)
9292 +#define SYS2_CLKCLR_SIF1_SET (reg,val) (reg) = ((reg & ~SYS2_CLKCLR_SIF1) | ((val & 0x1) << 9))
9293 +/* Clock Disable Request for SIF0 */
9294 +#define SYS2_CLKCLR_SIF0 (0x1 << 8)
9295 +#define SYS2_CLKCLR_SIF0_VAL(val) (((val) & 0x1) << 8)
9296 +#define SYS2_CLKCLR_SIF0_SET (reg,val) (reg) = ((reg & ~SYS2_CLKCLR_SIF0) | ((val & 0x1) << 8))
9297 +/* Clock Disable Request for DFEV7 */
9298 +#define SYS2_CLKCLR_DFEV7 (0x1 << 7)
9299 +#define SYS2_CLKCLR_DFEV7_VAL(val) (((val) & 0x1) << 7)
9300 +#define SYS2_CLKCLR_DFEV7_SET (reg,val) (reg) = ((reg & ~SYS2_CLKCLR_DFEV7) | ((val & 0x1) << 7))
9301 +/* Clock Disable Request for DFEV6 */
9302 +#define SYS2_CLKCLR_DFEV6 (0x1 << 6)
9303 +#define SYS2_CLKCLR_DFEV6_VAL(val) (((val) & 0x1) << 6)
9304 +#define SYS2_CLKCLR_DFEV6_SET (reg,val) (reg) = ((reg & ~SYS2_CLKCLR_DFEV6) | ((val & 0x1) << 6))
9305 +/* Clock Disable Request for DFEV5 */
9306 +#define SYS2_CLKCLR_DFEV5 (0x1 << 5)
9307 +#define SYS2_CLKCLR_DFEV5_VAL(val) (((val) & 0x1) << 5)
9308 +#define SYS2_CLKCLR_DFEV5_SET (reg,val) (reg) = ((reg & ~SYS2_CLKCLR_DFEV5) | ((val & 0x1) << 5))
9309 +/* Clock Disable Request for DFEV4 */
9310 +#define SYS2_CLKCLR_DFEV4 (0x1 << 4)
9311 +#define SYS2_CLKCLR_DFEV4_VAL(val) (((val) & 0x1) << 4)
9312 +#define SYS2_CLKCLR_DFEV4_SET (reg,val) (reg) = ((reg & ~SYS2_CLKCLR_DFEV4) | ((val & 0x1) << 4))
9313 +/* Clock Disable Request for DFEV3 */
9314 +#define SYS2_CLKCLR_DFEV3 (0x1 << 3)
9315 +#define SYS2_CLKCLR_DFEV3_VAL(val) (((val) & 0x1) << 3)
9316 +#define SYS2_CLKCLR_DFEV3_SET (reg,val) (reg) = ((reg & ~SYS2_CLKCLR_DFEV3) | ((val & 0x1) << 3))
9317 +/* Clock Disable Request for DFEV2 */
9318 +#define SYS2_CLKCLR_DFEV2 (0x1 << 2)
9319 +#define SYS2_CLKCLR_DFEV2_VAL(val) (((val) & 0x1) << 2)
9320 +#define SYS2_CLKCLR_DFEV2_SET (reg,val) (reg) = ((reg & ~SYS2_CLKCLR_DFEV2) | ((val & 0x1) << 2))
9321 +/* Clock Disable Request for DFEV1 */
9322 +#define SYS2_CLKCLR_DFEV1 (0x1 << 1)
9323 +#define SYS2_CLKCLR_DFEV1_VAL(val) (((val) & 0x1) << 1)
9324 +#define SYS2_CLKCLR_DFEV1_SET (reg,val) (reg) = ((reg & ~SYS2_CLKCLR_DFEV1) | ((val & 0x1) << 1))
9325 +/* Clock Disable Request for DFEV0 */
9326 +#define SYS2_CLKCLR_DFEV0 (0x1)
9327 +#define SYS2_CLKCLR_DFEV0_VAL(val) (((val) & 0x1))
9328 +#define SYS2_CLKCLR_DFEV0_SET (reg,val) (reg) = ((reg & ~SYS2_CLKCLR_DFEV0) | ((val & 0x1)))
9329 +
9330 +/*******************************************************************************
9331 + * SYS2 Reset Status Register
9332 + ******************************************************************************/
9333 +
9334 +/* HWACC3 Reset */
9335 +#define SYS2_RSR_HWACC3 (0x1 << 11)
9336 +#define SYS2_RSR_HWACC3_VAL(val) (((val) & 0x1) << 11)
9337 +#define SYS2_RSR_HWACC3_GET(val) (((val) & SYS2_RSR_HWACC3) >> 11)
9338 +/* HWACC2 Reset */
9339 +#define SYS2_RSR_HWACC2 (0x1 << 10)
9340 +#define SYS2_RSR_HWACC2_VAL(val) (((val) & 0x1) << 10)
9341 +#define SYS2_RSR_HWACC2_GET(val) (((val) & SYS2_RSR_HWACC2) >> 10)
9342 +/* HWACC1 Reset */
9343 +#define SYS2_RSR_HWACC1 (0x1 << 9)
9344 +#define SYS2_RSR_HWACC1_VAL(val) (((val) & 0x1) << 9)
9345 +#define SYS2_RSR_HWACC1_GET(val) (((val) & SYS2_RSR_HWACC1) >> 9)
9346 +/* HWACC0 Reset */
9347 +#define SYS2_RSR_HWACC0 (0x1 << 8)
9348 +#define SYS2_RSR_HWACC0_VAL(val) (((val) & 0x1) << 8)
9349 +#define SYS2_RSR_HWACC0_GET(val) (((val) & SYS2_RSR_HWACC0) >> 8)
9350 +/* DFEV7 Reset */
9351 +#define SYS2_RSR_DFEV7 (0x1 << 7)
9352 +#define SYS2_RSR_DFEV7_VAL(val) (((val) & 0x1) << 7)
9353 +#define SYS2_RSR_DFEV7_GET(val) (((val) & SYS2_RSR_DFEV7) >> 7)
9354 +/* DFEV6 Reset */
9355 +#define SYS2_RSR_DFEV6 (0x1 << 6)
9356 +#define SYS2_RSR_DFEV6_VAL(val) (((val) & 0x1) << 6)
9357 +#define SYS2_RSR_DFEV6_GET(val) (((val) & SYS2_RSR_DFEV6) >> 6)
9358 +/* DFEV5 Reset */
9359 +#define SYS2_RSR_DFEV5 (0x1 << 5)
9360 +#define SYS2_RSR_DFEV5_VAL(val) (((val) & 0x1) << 5)
9361 +#define SYS2_RSR_DFEV5_GET(val) (((val) & SYS2_RSR_DFEV5) >> 5)
9362 +/* DFEV4 Reset */
9363 +#define SYS2_RSR_DFEV4 (0x1 << 4)
9364 +#define SYS2_RSR_DFEV4_VAL(val) (((val) & 0x1) << 4)
9365 +#define SYS2_RSR_DFEV4_GET(val) (((val) & SYS2_RSR_DFEV4) >> 4)
9366 +/* DFEV3 Reset */
9367 +#define SYS2_RSR_DFEV3 (0x1 << 3)
9368 +#define SYS2_RSR_DFEV3_VAL(val) (((val) & 0x1) << 3)
9369 +#define SYS2_RSR_DFEV3_GET(val) (((val) & SYS2_RSR_DFEV3) >> 3)
9370 +/* DFEV2 Reset */
9371 +#define SYS2_RSR_DFEV2 (0x1 << 2)
9372 +#define SYS2_RSR_DFEV2_VAL(val) (((val) & 0x1) << 2)
9373 +#define SYS2_RSR_DFEV2_GET(val) (((val) & SYS2_RSR_DFEV2) >> 2)
9374 +/* DFEV1 Reset */
9375 +#define SYS2_RSR_DFEV1 (0x1 << 1)
9376 +#define SYS2_RSR_DFEV1_VAL(val) (((val) & 0x1) << 1)
9377 +#define SYS2_RSR_DFEV1_GET(val) (((val) & SYS2_RSR_DFEV1) >> 1)
9378 +/* DFEV0 Reset */
9379 +#define SYS2_RSR_DFEV0 (0x1)
9380 +#define SYS2_RSR_DFEV0_VAL(val) (((val) & 0x1))
9381 +#define SYS2_RSR_DFEV0_GET(val) ((val) & SYS2_RSR_DFEV0)
9382 +
9383 +/******************************************************************************
9384 + * SYS2 Reset Request Register
9385 + ******************************************************************************/
9386 +
9387 +/* HWACC3 Reset Request */
9388 +#define SYS2_RREQR_HWACC3 (0x1 << 11)
9389 +#define SYS2_RREQR_HWACC3_VAL(val) (((val) & 0x1) << 11)
9390 +#define SYS2_RREQR_HWACC3_SET (reg,val) (reg) = ((reg & ~SYS2_RREQR_HWACC3) | ((val & 0x1) << 11))
9391 +/* HWACC2 Reset Request */
9392 +#define SYS2_RREQR_HWACC2 (0x1 << 10)
9393 +#define SYS2_RREQR_HWACC2_VAL(val) (((val) & 0x1) << 10)
9394 +#define SYS2_RREQR_HWACC2_SET (reg,val) (reg) = ((reg & ~SYS2_RREQR_HWACC2) | ((val & 0x1) << 10))
9395 +/* HWACC1 Reset Request */
9396 +#define SYS2_RREQR_HWACC1 (0x1 << 9)
9397 +#define SYS2_RREQR_HWACC1_VAL(val) (((val) & 0x1) << 9)
9398 +#define SYS2_RREQR_HWACC1_SET (reg,val) (reg) = ((reg & ~SYS2_RREQR_HWACC1) | ((val & 0x1) << 9))
9399 +/* HWACC0 Reset Request */
9400 +#define SYS2_RREQR_HWACC0 (0x1 << 8)
9401 +#define SYS2_RREQR_HWACC0_VAL(val) (((val) & 0x1) << 8)
9402 +#define SYS2_RREQR_HWACC0_SET (reg,val) (reg) = ((reg & ~SYS2_RREQR_HWACC0) | ((val & 0x1) << 8))
9403 +/* DFEV7 Reset Request */
9404 +#define SYS2_RREQR_DFEV7 (0x1 << 7)
9405 +#define SYS2_RREQR_DFEV7_VAL(val) (((val) & 0x1) << 7)
9406 +#define SYS2_RREQR_DFEV7_SET (reg,val) (reg) = ((reg & ~SYS2_RREQR_DFEV7) | ((val & 0x1) << 7))
9407 +/* DFEV6 Reset Request */
9408 +#define SYS2_RREQR_DFEV6 (0x1 << 6)
9409 +#define SYS2_RREQR_DFEV6_VAL(val) (((val) & 0x1) << 6)
9410 +#define SYS2_RREQR_DFEV6_SET (reg,val) (reg) = ((reg & ~SYS2_RREQR_DFEV6) | ((val & 0x1) << 6))
9411 +/* DFEV5 Reset Request */
9412 +#define SYS2_RREQR_DFEV5 (0x1 << 5)
9413 +#define SYS2_RREQR_DFEV5_VAL(val) (((val) & 0x1) << 5)
9414 +#define SYS2_RREQR_DFEV5_SET (reg,val) (reg) = ((reg & ~SYS2_RREQR_DFEV5) | ((val & 0x1) << 5))
9415 +/* DFEV4 Reset Request */
9416 +#define SYS2_RREQR_DFEV4 (0x1 << 4)
9417 +#define SYS2_RREQR_DFEV4_VAL(val) (((val) & 0x1) << 4)
9418 +#define SYS2_RREQR_DFEV4_SET (reg,val) (reg) = ((reg & ~SYS2_RREQR_DFEV4) | ((val & 0x1) << 4))
9419 +/* DFEV3 Reset Request */
9420 +#define SYS2_RREQR_DFEV3 (0x1 << 3)
9421 +#define SYS2_RREQR_DFEV3_VAL(val) (((val) & 0x1) << 3)
9422 +#define SYS2_RREQR_DFEV3_SET (reg,val) (reg) = ((reg & ~SYS2_RREQR_DFEV3) | ((val & 0x1) << 3))
9423 +/* DFEV2 Reset Request */
9424 +#define SYS2_RREQR_DFEV2 (0x1 << 2)
9425 +#define SYS2_RREQR_DFEV2_VAL(val) (((val) & 0x1) << 2)
9426 +#define SYS2_RREQR_DFEV2_SET (reg,val) (reg) = ((reg & ~SYS2_RREQR_DFEV2) | ((val & 0x1) << 2))
9427 +/* DFEV1 Reset Request */
9428 +#define SYS2_RREQR_DFEV1 (0x1 << 1)
9429 +#define SYS2_RREQR_DFEV1_VAL(val) (((val) & 0x1) << 1)
9430 +#define SYS2_RREQR_DFEV1_SET (reg,val) (reg) = ((reg & ~SYS2_RREQR_DFEV1) | ((val & 0x1) << 1))
9431 +/* DFEV0 Reset Request */
9432 +#define SYS2_RREQR_DFEV0 (0x1)
9433 +#define SYS2_RREQR_DFEV0_VAL(val) (((val) & 0x1))
9434 +#define SYS2_RREQR_DFEV0_SET (reg,val) (reg) = ((reg & ~SYS2_RREQR_DFEV0) | ((val & 0x1)))
9435 +
9436 +/*******************************************************************************
9437 + * SYS2 Reset Release Register
9438 + ******************************************************************************/
9439 +
9440 +/* HWACC3 Reset Release */
9441 +#define SYS2_RRLSR_HWACC3 (0x1 << 11)
9442 +#define SYS2_RRLSR_HWACC3_VAL(val) (((val) & 0x1) << 11)
9443 +#define SYS2_RRLSR_HWACC3_SET (reg,val) (reg) = ((reg & ~SYS2_RRLSR_HWACC3) | ((val & 0x1) << 11))
9444 +/* HWACC2 Reset Release */
9445 +#define SYS2_RRLSR_HWACC2 (0x1 << 10)
9446 +#define SYS2_RRLSR_HWACC2_VAL(val) (((val) & 0x1) << 10)
9447 +#define SYS2_RRLSR_HWACC2_SET (reg,val) (reg) = ((reg & ~SYS2_RRLSR_HWACC2) | ((val & 0x1) << 10))
9448 +/* HWACC1 Reset Release */
9449 +#define SYS2_RRLSR_HWACC1 (0x1 << 9)
9450 +#define SYS2_RRLSR_HWACC1_VAL(val) (((val) & 0x1) << 9)
9451 +#define SYS2_RRLSR_HWACC1_SET (reg,val) (reg) = ((reg & ~SYS2_RRLSR_HWACC1) | ((val & 0x1) << 9))
9452 +/* HWACC0 Reset Release */
9453 +#define SYS2_RRLSR_HWACC0 (0x1 << 8)
9454 +#define SYS2_RRLSR_HWACC0_VAL(val) (((val) & 0x1) << 8)
9455 +#define SYS2_RRLSR_HWACC0_SET (reg,val) (reg) = ((reg & ~SYS2_RRLSR_HWACC0) | ((val & 0x1) << 8))
9456 +/* DFEV7 Reset Release */
9457 +#define SYS2_RRLSR_DFEV7 (0x1 << 7)
9458 +#define SYS2_RRLSR_DFEV7_VAL(val) (((val) & 0x1) << 7)
9459 +#define SYS2_RRLSR_DFEV7_SET (reg,val) (reg) = ((reg & ~SYS2_RRLSR_DFEV7) | ((val & 0x1) << 7))
9460 +/* DFEV6 Reset Release */
9461 +#define SYS2_RRLSR_DFEV6 (0x1 << 6)
9462 +#define SYS2_RRLSR_DFEV6_VAL(val) (((val) & 0x1) << 6)
9463 +#define SYS2_RRLSR_DFEV6_SET (reg,val) (reg) = ((reg & ~SYS2_RRLSR_DFEV6) | ((val & 0x1) << 6))
9464 +/* DFEV5 Reset Release */
9465 +#define SYS2_RRLSR_DFEV5 (0x1 << 5)
9466 +#define SYS2_RRLSR_DFEV5_VAL(val) (((val) & 0x1) << 5)
9467 +#define SYS2_RRLSR_DFEV5_SET (reg,val) (reg) = ((reg & ~SYS2_RRLSR_DFEV5) | ((val & 0x1) << 5))
9468 +/* DFEV4 Reset Release */
9469 +#define SYS2_RRLSR_DFEV4 (0x1 << 4)
9470 +#define SYS2_RRLSR_DFEV4_VAL(val) (((val) & 0x1) << 4)
9471 +#define SYS2_RRLSR_DFEV4_SET (reg,val) (reg) = ((reg & ~SYS2_RRLSR_DFEV4) | ((val & 0x1) << 4))
9472 +/* DFEV3 Reset Release */
9473 +#define SYS2_RRLSR_DFEV3 (0x1 << 3)
9474 +#define SYS2_RRLSR_DFEV3_VAL(val) (((val) & 0x1) << 3)
9475 +#define SYS2_RRLSR_DFEV3_SET (reg,val) (reg) = ((reg & ~SYS2_RRLSR_DFEV3) | ((val & 0x1) << 3))
9476 +/* DFEV2 Reset Release */
9477 +#define SYS2_RRLSR_DFEV2 (0x1 << 2)
9478 +#define SYS2_RRLSR_DFEV2_VAL(val) (((val) & 0x1) << 2)
9479 +#define SYS2_RRLSR_DFEV2_SET (reg,val) (reg) = ((reg & ~SYS2_RRLSR_DFEV2) | ((val & 0x1) << 2))
9480 +/* DFEV1 Reset Release */
9481 +#define SYS2_RRLSR_DFEV1 (0x1 << 1)
9482 +#define SYS2_RRLSR_DFEV1_VAL(val) (((val) & 0x1) << 1)
9483 +#define SYS2_RRLSR_DFEV1_SET (reg,val) (reg) = ((reg & ~SYS2_RRLSR_DFEV1) | ((val & 0x1) << 1))
9484 +/* DFEV0 Reset Release */
9485 +#define SYS2_RRLSR_DFEV0 (0x1)
9486 +#define SYS2_RRLSR_DFEV0_VAL(val) (((val) & 0x1))
9487 +#define SYS2_RRLSR_DFEV0_SET (reg,val) (reg) = ((reg & ~SYS2_RRLSR_DFEV0) | ((val & 0x1)))
9488 +
9489 +#endif /* __SYS2_H */
9490 +
9491 Index: linux-3.3.8/arch/mips/include/asm/mach-lantiq/svip/svip_pms.h
9492 ===================================================================
9493 --- /dev/null   1970-01-01 00:00:00.000000000 +0000
9494 +++ linux-3.3.8/arch/mips/include/asm/mach-lantiq/svip/svip_pms.h       2012-07-31 15:46:02.484476159 +0200
9495 @@ -0,0 +1,23 @@
9496 +/************************************************************************
9497 + *
9498 + * Copyright (c) 2007
9499 + * Infineon Technologies AG
9500 + * St. Martin Strasse 53; 81669 Muenchen; Germany
9501 + *
9502 + * This program is free software; you can redistribute it and/or
9503 + * modify it under the terms of the GNU General Public License
9504 + * as published by the Free Software Foundation; either version
9505 + * 2 of the License, or (at your option) any later version.
9506 + *
9507 + ************************************************************************/
9508 +
9509 +#ifndef __SVIP_PMS_H
9510 +#define __SVIP_PMS_H
9511 +
9512 +void svip_sys1_clk_enable(u32 mask);
9513 +int svip_sys1_clk_is_enabled(u32 mask);
9514 +
9515 +void svip_sys2_clk_enable(u32 mask);
9516 +int svip_sys2_clk_is_enabled(u32 mask);
9517 +
9518 +#endif