[lantiq] move files/ -> files-3.3/
[openwrt.git] / target / linux / lantiq / files-3.3 / arch / mips / include / asm / mach-lantiq / svip / mps_reg.h
1 /******************************************************************************
2
3   Copyright (c) 2007
4   Infineon Technologies AG
5   St. Martin Strasse 53; 81669 Munich, Germany
6
7   Any use of this Software is subject to the conclusion of a respective
8   License Agreement. Without such a License Agreement no rights to the
9   Software are granted.
10
11  ******************************************************************************/
12
13 #ifndef __MPS_REG_H
14 #define __MPS_REG_H
15
16 #define mbs_r32(reg) ltq_r32(&mbs->reg)
17 #define mbs_w32(val, reg) ltq_w32(val, &mbs->reg)
18 #define mbs_w32_mask(clear, set, reg) ltq_w32_mask(clear, set, &mbs->reg)
19
20 /** MBS register structure */
21 struct svip_reg_mbs {
22         unsigned long reserved0[4];
23         unsigned long mbsr0; /* 0x0010 */
24         unsigned long mbsr1; /* 0x0014 */
25         unsigned long mbsr2; /* 0x0018 */
26         unsigned long mbsr3; /* 0x001c */
27         unsigned long mbsr4; /* 0x0020 */
28         unsigned long mbsr5; /* 0x0024 */
29         unsigned long mbsr6; /* 0x0028 */
30         unsigned long mbsr7; /* 0x002c */
31         unsigned long mbsr8; /* 0x0030 */
32         unsigned long mbsr9; /* 0x0034 */
33         unsigned long mbsr10; /* 0x0038 */
34         unsigned long mbsr11; /* 0x003c */
35         unsigned long mbsr12; /* 0x0040 */
36         unsigned long mbsr13; /* 0x0044 */
37         unsigned long mbsr14; /* 0x0048 */
38         unsigned long mbsr15; /* 0x004c */
39         unsigned long mbsr16; /* 0x0050 */
40         unsigned long mbsr17; /* 0x0054 */
41         unsigned long mbsr18; /* 0x0058 */
42         unsigned long mbsr19; /* 0x005c */
43         unsigned long mbsr20; /* 0x0060 */
44         unsigned long mbsr21; /* 0x0064 */
45         unsigned long mbsr22; /* 0x0068 */
46         unsigned long mbsr23; /* 0x006c */
47         unsigned long mbsr24; /* 0x0070 */
48         unsigned long mbsr25; /* 0x0074 */
49         unsigned long mbsr26; /* 0x0078 */
50         unsigned long mbsr27; /* 0x007c */
51         unsigned long mbsr28; /* 0x0080 */
52 };
53
54 /** MPS register structure */
55 struct svip_reg_mps {
56         volatile unsigned long  mps_swirn0set;  /*  0x0000 */
57         volatile unsigned long  mps_swirn0en;  /*  0x0004 */
58         volatile unsigned long  mps_swirn0cr;  /*  0x0008 */
59         volatile unsigned long  mps_swirn0icr;  /*  0x000C */
60         volatile unsigned long  mps_swirn1set;  /*  0x0010 */
61         volatile unsigned long  mps_swirn1en;  /*  0x0014 */
62         volatile unsigned long  mps_swirn1cr;  /*  0x0018 */
63         volatile unsigned long  mps_swirn1icr;  /*  0x001C */
64         volatile unsigned long  mps_swirn2set;  /*  0x0020 */
65         volatile unsigned long  mps_swirn2en;  /*  0x0024 */
66         volatile unsigned long  mps_swirn2cr;  /*  0x0028 */
67         volatile unsigned long  mps_swirn2icr;  /*  0x002C */
68         volatile unsigned long  mps_swirn3set;  /*  0x0030 */
69         volatile unsigned long  mps_swirn3en;  /*  0x0034 */
70         volatile unsigned long  mps_swirn3cr;  /*  0x0038 */
71         volatile unsigned long  mps_swirn3icr;  /*  0x003C */
72         volatile unsigned long  mps_swirn4set;  /*  0x0040 */
73         volatile unsigned long  mps_swirn4en;  /*  0x0044 */
74         volatile unsigned long  mps_swirn4cr;  /*  0x0048 */
75         volatile unsigned long  mps_swirn4icr;  /*  0x004C */
76         volatile unsigned long  mps_swirn5set;  /*  0x0050 */
77         volatile unsigned long  mps_swirn5en;  /*  0x0054 */
78         volatile unsigned long  mps_swirn5cr;  /*  0x0058 */
79         volatile unsigned long  mps_swirn5icr;  /*  0x005C */
80         volatile unsigned long  mps_swirn6set;  /*  0x0060 */
81         volatile unsigned long  mps_swirn6en;  /*  0x0064 */
82         volatile unsigned long  mps_swirn6cr;  /*  0x0068 */
83         volatile unsigned long  mps_swirn6icr;  /*  0x006C */
84         volatile unsigned long  mps_swirn7set;  /*  0x0070 */
85         volatile unsigned long  mps_swirn7en;  /*  0x0074 */
86         volatile unsigned long  mps_swirn7cr;  /*  0x0078 */
87         volatile unsigned long  mps_swirn7icr;  /*  0x007C */
88         volatile unsigned long  mps_swirn8set;  /*  0x0080 */
89         volatile unsigned long  mps_swirn8en;  /*  0x0084 */
90         volatile unsigned long  mps_swirn8cr;  /*  0x0088 */
91         volatile unsigned long  mps_swirn8icr;  /*  0x008C */
92 };
93
94 /* Software Interrupt */
95 #define IFX_MPS_SWIRN0SET   ((volatile unsigned int*)(LTQ_SWINT_BASE + 0x0000))
96 #define IFX_MPS_SWIRN0EN   ((volatile unsigned int*)(LTQ_SWINT_BASE + 0x0004))
97 #define IFX_MPS_SWIRN0CR   ((volatile unsigned int*)(LTQ_SWINT_BASE + 0x0008))
98 #define IFX_MPS_SWIRN0ICR   ((volatile unsigned int*)(LTQ_SWINT_BASE + 0x000C))
99 #define IFX_MPS_SWIRN1SET   ((volatile unsigned int*)(LTQ_SWINT_BASE + 0x0010))
100 #define IFX_MPS_SWIRN1EN   ((volatile unsigned int*)(LTQ_SWINT_BASE + 0x0014))
101 #define IFX_MPS_SWIRN1CR   ((volatile unsigned int*)(LTQ_SWINT_BASE + 0x0018))
102 #define IFX_MPS_SWIRN1ICR   ((volatile unsigned int*)(LTQ_SWINT_BASE + 0x001C))
103 #define IFX_MPS_SWIRN2SET   ((volatile unsigned int*)(LTQ_SWINT_BASE + 0x0020))
104 #define IFX_MPS_SWIRN2EN   ((volatile unsigned int*)(LTQ_SWINT_BASE + 0x0024))
105 #define IFX_MPS_SWIRN2CR   ((volatile unsigned int*)(LTQ_SWINT_BASE + 0x0028))
106 #define IFX_MPS_SWIRN2ICR   ((volatile unsigned int*)(LTQ_SWINT_BASE + 0x002C))
107 #define IFX_MPS_SWIRN3SET   ((volatile unsigned int*)(LTQ_SWINT_BASE + 0x0030))
108 #define IFX_MPS_SWIRN3EN   ((volatile unsigned int*)(LTQ_SWINT_BASE + 0x0034))
109 #define IFX_MPS_SWIRN3CR   ((volatile unsigned int*)(LTQ_SWINT_BASE + 0x0038))
110 #define IFX_MPS_SWIRN3ICR   ((volatile unsigned int*)(LTQ_SWINT_BASE + 0x003C))
111 #define IFX_MPS_SWIRN4SET   ((volatile unsigned int*)(LTQ_SWINT_BASE + 0x0040))
112 #define IFX_MPS_SWIRN4EN   ((volatile unsigned int*)(LTQ_SWINT_BASE + 0x0044))
113 #define IFX_MPS_SWIRN4CR   ((volatile unsigned int*)(LTQ_SWINT_BASE + 0x0048))
114 #define IFX_MPS_SWIRN4ICR   ((volatile unsigned int*)(LTQ_SWINT_BASE + 0x004C))
115 #define IFX_MPS_SWIRN5SET   ((volatile unsigned int*)(LTQ_SWINT_BASE + 0x0050))
116 #define IFX_MPS_SWIRN5EN   ((volatile unsigned int*)(LTQ_SWINT_BASE + 0x0054))
117 #define IFX_MPS_SWIRN5CR   ((volatile unsigned int*)(LTQ_SWINT_BASE + 0x0058))
118 #define IFX_MPS_SWIRN5ICR   ((volatile unsigned int*)(LTQ_SWINT_BASE + 0x005C))
119 #define IFX_MPS_SWIRN6SET   ((volatile unsigned int*)(LTQ_SWINT_BASE + 0x0060))
120 #define IFX_MPS_SWIRN6EN   ((volatile unsigned int*)(LTQ_SWINT_BASE + 0x0064))
121 #define IFX_MPS_SWIRN6CR   ((volatile unsigned int*)(LTQ_SWINT_BASE + 0x0068))
122 #define IFX_MPS_SWIRN6ICR   ((volatile unsigned int*)(LTQ_SWINT_BASE + 0x006C))
123 #define IFX_MPS_SWIRN7SET   ((volatile unsigned int*)(LTQ_SWINT_BASE + 0x0070))
124 #define IFX_MPS_SWIRN7EN   ((volatile unsigned int*)(LTQ_SWINT_BASE + 0x0074))
125 #define IFX_MPS_SWIRN7CR   ((volatile unsigned int*)(LTQ_SWINT_BASE + 0x0078))
126 #define IFX_MPS_SWIRN7ICR   ((volatile unsigned int*)(LTQ_SWINT_BASE + 0x007C))
127 #define IFX_MPS_SWIRN8SET   ((volatile unsigned int*)(LTQ_SWINT_BASE + 0x0080))
128 #define IFX_MPS_SWIRN8EN   ((volatile unsigned int*)(LTQ_SWINT_BASE + 0x0084))
129 #define IFX_MPS_SWIRN8ICR   ((volatile unsigned int*)(LTQ_SWINT_BASE + 0x008C))
130 #define IFX_MPS_SWIRN8CR   ((volatile unsigned int*)(LTQ_SWINT_BASE + 0x0088))
131
132 /*******************************************************************************
133  * MPS_SWIRNSET Register
134  ******************************************************************************/
135
136 /* Software Interrupt Request IR5 (5) */
137 #define IFX_MPS_SWIRNSET_IR5   (0x1 << 5)
138 #define IFX_MPS_SWIRNSET_IR5_VAL(val)   (((val) & 0x1) << 5)
139 #define IFX_MPS_SWIRNSET_IR5_SET(reg,val) (reg) = (((reg & ~IFX_MPS_SWIRNSET_IR5) | (val) & 1) << 5)
140 /* Software Interrupt Request IR4 (4) */
141 #define IFX_MPS_SWIRNSET_IR4   (0x1 << 4)
142 #define IFX_MPS_SWIRNSET_IR4_VAL(val)   (((val) & 0x1) << 4)
143 #define IFX_MPS_SWIRNSET_IR4_SET(reg,val) (reg) = (((reg & ~IFX_MPS_SWIRNSET_IR4) | (val) & 1) << 4)
144 /* Software Interrupt Request IR3 (3) */
145 #define IFX_MPS_SWIRNSET_IR3   (0x1 << 3)
146 #define IFX_MPS_SWIRNSET_IR3_VAL(val)   (((val) & 0x1) << 3)
147 #define IFX_MPS_SWIRNSET_IR3_SET(reg,val) (reg) = (((reg & ~IFX_MPS_SWIRNSET_IR3) | (val) & 1) << 3)
148 /* Software Interrupt Request IR2 (2) */
149 #define IFX_MPS_SWIRNSET_IR2   (0x1 << 2)
150 #define IFX_MPS_SWIRNSET_IR2_VAL(val)   (((val) & 0x1) << 2)
151 #define IFX_MPS_SWIRNSET_IR2_SET(reg,val) (reg) = (((reg & ~IFX_MPS_SWIRNSET_IR2) | (val) & 1) << 2)
152 /* Software Interrupt Request IR1 (1) */
153 #define IFX_MPS_SWIRNSET_IR1   (0x1 << 1)
154 #define IFX_MPS_SWIRNSET_IR1_VAL(val)   (((val) & 0x1) << 1)
155 #define IFX_MPS_SWIRNSET_IR1_SET(reg,val) (reg) = (((reg & ~IFX_MPS_SWIRNSET_IR1) | (val) & 1) << 1)
156 /* Software Interrupt Request IR0 (0) */
157 #define IFX_MPS_SWIRNSET_IR0   (0x1)
158 #define IFX_MPS_SWIRNSET_IR0_VAL(val)   (((val) & 0x1) << 0)
159 #define IFX_MPS_SWIRNSET_IR0_SET(reg,val) (reg) = (((reg & ~IFX_MPS_SWIRNSET_IR0) | (val) & 1) << 0)
160
161 /*******************************************************************************
162  * MPS_SWIRNEN Register
163  ******************************************************************************/
164
165 /* Software Interrupt Request IR5 (5) */
166 #define IFX_MPS_SWIRNEN_IR5   (0x1 << 5)
167 #define IFX_MPS_SWIRNEN_IR5_VAL(val)   (((val) & 0x1) << 5)
168 #define IFX_MPS_SWIRNEN_IR5_GET(val)   ((((val) & IFX_MPS_SWIRNEN_IR5) >> 5) & 0x1)
169 #define IFX_MPS_SWIRNEN_IR5_SET(reg,val) (reg) = ((reg & ~IFX_MPS_SWIRNEN_IR5) | (((val) & 0x1) << 5))
170 /* Software Interrupt Request IR4 (4) */
171 #define IFX_MPS_SWIRNEN_IR4   (0x1 << 4)
172 #define IFX_MPS_SWIRNEN_IR4_VAL(val)   (((val) & 0x1) << 4)
173 #define IFX_MPS_SWIRNEN_IR4_GET(val)   ((((val) & IFX_MPS_SWIRNEN_IR4) >> 4) & 0x1)
174 #define IFX_MPS_SWIRNEN_IR4_SET(reg,val) (reg) = ((reg & ~IFX_MPS_SWIRNEN_IR4) | (((val) & 0x1) << 4))
175 /* Software Interrupt Request IR3 (3) */
176 #define IFX_MPS_SWIRNEN_IR3   (0x1 << 3)
177 #define IFX_MPS_SWIRNEN_IR3_VAL(val)   (((val) & 0x1) << 3)
178 #define IFX_MPS_SWIRNEN_IR3_GET(val)   ((((val) & IFX_MPS_SWIRNEN_IR3) >> 3) & 0x1)
179 #define IFX_MPS_SWIRNEN_IR3_SET(reg,val) (reg) = ((reg & ~IFX_MPS_SWIRNEN_IR3) | (((val) & 0x1) << 3))
180 /* Software Interrupt Request IR2 (2) */
181 #define IFX_MPS_SWIRNEN_IR2   (0x1 << 2)
182 #define IFX_MPS_SWIRNEN_IR2_VAL(val)   (((val) & 0x1) << 2)
183 #define IFX_MPS_SWIRNEN_IR2_GET(val)   ((((val) & IFX_MPS_SWIRNEN_IR2) >> 2) & 0x1)
184 #define IFX_MPS_SWIRNEN_IR2_SET(reg,val) (reg) = ((reg & ~IFX_MPS_SWIRNEN_IR2) | (((val) & 0x1) << 2))
185 /* Software Interrupt Request IR1 (1) */
186 #define IFX_MPS_SWIRNEN_IR1   (0x1 << 1)
187 #define IFX_MPS_SWIRNEN_IR1_VAL(val)   (((val) & 0x1) << 1)
188 #define IFX_MPS_SWIRNEN_IR1_GET(val)   ((((val) & IFX_MPS_SWIRNEN_IR1) >> 1) & 0x1)
189 #define IFX_MPS_SWIRNEN_IR1_SET(reg,val) (reg) = ((reg & ~IFX_MPS_SWIRNEN_IR1) | (((val) & 0x1) << 1))
190 /* Software Interrupt Request IR0 (0) */
191 #define IFX_MPS_SWIRNEN_IR0   (0x1)
192 #define IFX_MPS_SWIRNEN_IR0_VAL(val)   (((val) & 0x1) << 0)
193 #define IFX_MPS_SWIRNEN_IR0_GET(val)   ((((val) & IFX_MPS_SWIRNEN_IR0) >> 0) & 0x1)
194 #define IFX_MPS_SWIRNEN_IR0_SET(reg,val) (reg) = ((reg & ~IFX_MPS_SWIRNEN_IR0) | (((val) & 0x1) << 0))
195
196 /*******************************************************************************
197  * MPS_SWIRNICR Register
198  ******************************************************************************/
199
200 /* Software Interrupt Request IR5 (5) */
201 #define IFX_MPS_SWIRNICR_IR5   (0x1 << 5)
202 #define IFX_MPS_SWIRNICR_IR5_GET(val)   ((((val) & IFX_MPS_SWIRNICR_IR5) >> 5) & 0x1)
203 /* Software Interrupt Request IR4 (4) */
204 #define IFX_MPS_SWIRNICR_IR4   (0x1 << 4)
205 #define IFX_MPS_SWIRNICR_IR4_GET(val)   ((((val) & IFX_MPS_SWIRNICR_IR4) >> 4) & 0x1)
206 /* Software Interrupt Request IR3 (3) */
207 #define IFX_MPS_SWIRNICR_IR3   (0x1 << 3)
208 #define IFX_MPS_SWIRNICR_IR3_GET(val)   ((((val) & IFX_MPS_SWIRNICR_IR3) >> 3) & 0x1)
209 /* Software Interrupt Request IR2 (2) */
210 #define IFX_MPS_SWIRNICR_IR2   (0x1 << 2)
211 #define IFX_MPS_SWIRNICR_IR2_GET(val)   ((((val) & IFX_MPS_SWIRNICR_IR2) >> 2) & 0x1)
212 /* Software Interrupt Request IR1 (1) */
213 #define IFX_MPS_SWIRNICR_IR1   (0x1 << 1)
214 #define IFX_MPS_SWIRNICR_IR1_GET(val)   ((((val) & IFX_MPS_SWIRNICR_IR1) >> 1) & 0x1)
215 /* Software Interrupt Request IR0 (0) */
216 #define IFX_MPS_SWIRNICR_IR0   (0x1)
217 #define IFX_MPS_SWIRNICR_IR0_GET(val)   ((((val) & IFX_MPS_SWIRNICR_IR0) >> 0) & 0x1)
218
219 /*******************************************************************************
220  * MPS_SWIRNCR Register
221  ******************************************************************************/
222
223 /* Software Interrupt Request IR5 (5) */
224 #define IFX_MPS_SWIRNCR_IR5   (0x1 << 5)
225 #define IFX_MPS_SWIRNCR_IR5_GET(val)   ((((val) & IFX_MPS_SWIRNCR_IR5) >> 5) & 0x1)
226 /* Software Interrupt Request IR4 (4) */
227 #define IFX_MPS_SWIRNCR_IR4   (0x1 << 4)
228 #define IFX_MPS_SWIRNCR_IR4_GET(val)   ((((val) & IFX_MPS_SWIRNCR_IR4) >> 4) & 0x1)
229 /* Software Interrupt Request IR3 (3) */
230 #define IFX_MPS_SWIRNCR_IR3   (0x1 << 3)
231 #define IFX_MPS_SWIRNCR_IR3_GET(val)   ((((val) & IFX_MPS_SWIRNCR_IR3) >> 3) & 0x1)
232 /* Software Interrupt Request IR2 (2) */
233 #define IFX_MPS_SWIRNCR_IR2   (0x1 << 2)
234 #define IFX_MPS_SWIRNCR_IR2_GET(val)   ((((val) & IFX_MPS_SWIRNCR_IR2) >> 2) & 0x1)
235 /* Software Interrupt Request IR1 (1) */
236 #define IFX_MPS_SWIRNCR_IR1   (0x1 << 1)
237 #define IFX_MPS_SWIRNCR_IR1_GET(val)   ((((val) & IFX_MPS_SWIRNCR_IR1) >> 1) & 0x1)
238 /* Software Interrupt Request IR0 (0) */
239 #define IFX_MPS_SWIRNCR_IR0   (0x1)
240 #define IFX_MPS_SWIRNCR_IR0_GET(val)   ((((val) & IFX_MPS_SWIRNCR_IR0) >> 0) & 0x1)
241
242 #endif