diff options
Diffstat (limited to 'arch/powerpc/sysdev/ppc4xx_pci.h')
-rw-r--r-- | arch/powerpc/sysdev/ppc4xx_pci.h | 242 |
1 files changed, 242 insertions, 0 deletions
diff --git a/arch/powerpc/sysdev/ppc4xx_pci.h b/arch/powerpc/sysdev/ppc4xx_pci.h index 8b787bfdc8a5..43e51ce5c477 100644 --- a/arch/powerpc/sysdev/ppc4xx_pci.h +++ b/arch/powerpc/sysdev/ppc4xx_pci.h | |||
@@ -121,5 +121,247 @@ | |||
121 | #define PCIL0_PTM2MS 0x38 | 121 | #define PCIL0_PTM2MS 0x38 |
122 | #define PCIL0_PTM2LA 0x3c | 122 | #define PCIL0_PTM2LA 0x3c |
123 | 123 | ||
124 | /* | ||
125 | * 4xx PCIe bridge register definitions | ||
126 | */ | ||
127 | |||
128 | /* DCR offsets */ | ||
129 | #define DCRO_PEGPL_CFGBAH 0x00 | ||
130 | #define DCRO_PEGPL_CFGBAL 0x01 | ||
131 | #define DCRO_PEGPL_CFGMSK 0x02 | ||
132 | #define DCRO_PEGPL_MSGBAH 0x03 | ||
133 | #define DCRO_PEGPL_MSGBAL 0x04 | ||
134 | #define DCRO_PEGPL_MSGMSK 0x05 | ||
135 | #define DCRO_PEGPL_OMR1BAH 0x06 | ||
136 | #define DCRO_PEGPL_OMR1BAL 0x07 | ||
137 | #define DCRO_PEGPL_OMR1MSKH 0x08 | ||
138 | #define DCRO_PEGPL_OMR1MSKL 0x09 | ||
139 | #define DCRO_PEGPL_OMR2BAH 0x0a | ||
140 | #define DCRO_PEGPL_OMR2BAL 0x0b | ||
141 | #define DCRO_PEGPL_OMR2MSKH 0x0c | ||
142 | #define DCRO_PEGPL_OMR2MSKL 0x0d | ||
143 | #define DCRO_PEGPL_OMR3BAH 0x0e | ||
144 | #define DCRO_PEGPL_OMR3BAL 0x0f | ||
145 | #define DCRO_PEGPL_OMR3MSKH 0x10 | ||
146 | #define DCRO_PEGPL_OMR3MSKL 0x11 | ||
147 | #define DCRO_PEGPL_REGBAH 0x12 | ||
148 | #define DCRO_PEGPL_REGBAL 0x13 | ||
149 | #define DCRO_PEGPL_REGMSK 0x14 | ||
150 | #define DCRO_PEGPL_SPECIAL 0x15 | ||
151 | #define DCRO_PEGPL_CFG 0x16 | ||
152 | #define DCRO_PEGPL_ESR 0x17 | ||
153 | #define DCRO_PEGPL_EARH 0x18 | ||
154 | #define DCRO_PEGPL_EARL 0x19 | ||
155 | #define DCRO_PEGPL_EATR 0x1a | ||
156 | |||
157 | /* DMER mask */ | ||
158 | #define GPL_DMER_MASK_DISA 0x02000000 | ||
159 | |||
160 | /* | ||
161 | * System DCRs (SDRs) | ||
162 | */ | ||
163 | #define PESDR0_PLLLCT1 0x03a0 | ||
164 | #define PESDR0_PLLLCT2 0x03a1 | ||
165 | #define PESDR0_PLLLCT3 0x03a2 | ||
166 | |||
167 | /* | ||
168 | * 440SPe additional DCRs | ||
169 | */ | ||
170 | #define PESDR0_440SPE_UTLSET1 0x0300 | ||
171 | #define PESDR0_440SPE_UTLSET2 0x0301 | ||
172 | #define PESDR0_440SPE_DLPSET 0x0302 | ||
173 | #define PESDR0_440SPE_LOOP 0x0303 | ||
174 | #define PESDR0_440SPE_RCSSET 0x0304 | ||
175 | #define PESDR0_440SPE_RCSSTS 0x0305 | ||
176 | #define PESDR0_440SPE_HSSL0SET1 0x0306 | ||
177 | #define PESDR0_440SPE_HSSL0SET2 0x0307 | ||
178 | #define PESDR0_440SPE_HSSL0STS 0x0308 | ||
179 | #define PESDR0_440SPE_HSSL1SET1 0x0309 | ||
180 | #define PESDR0_440SPE_HSSL1SET2 0x030a | ||
181 | #define PESDR0_440SPE_HSSL1STS 0x030b | ||
182 | #define PESDR0_440SPE_HSSL2SET1 0x030c | ||
183 | #define PESDR0_440SPE_HSSL2SET2 0x030d | ||
184 | #define PESDR0_440SPE_HSSL2STS 0x030e | ||
185 | #define PESDR0_440SPE_HSSL3SET1 0x030f | ||
186 | #define PESDR0_440SPE_HSSL3SET2 0x0310 | ||
187 | #define PESDR0_440SPE_HSSL3STS 0x0311 | ||
188 | #define PESDR0_440SPE_HSSL4SET1 0x0312 | ||
189 | #define PESDR0_440SPE_HSSL4SET2 0x0313 | ||
190 | #define PESDR0_440SPE_HSSL4STS 0x0314 | ||
191 | #define PESDR0_440SPE_HSSL5SET1 0x0315 | ||
192 | #define PESDR0_440SPE_HSSL5SET2 0x0316 | ||
193 | #define PESDR0_440SPE_HSSL5STS 0x0317 | ||
194 | #define PESDR0_440SPE_HSSL6SET1 0x0318 | ||
195 | #define PESDR0_440SPE_HSSL6SET2 0x0319 | ||
196 | #define PESDR0_440SPE_HSSL6STS 0x031a | ||
197 | #define PESDR0_440SPE_HSSL7SET1 0x031b | ||
198 | #define PESDR0_440SPE_HSSL7SET2 0x031c | ||
199 | #define PESDR0_440SPE_HSSL7STS 0x031d | ||
200 | #define PESDR0_440SPE_HSSCTLSET 0x031e | ||
201 | #define PESDR0_440SPE_LANE_ABCD 0x031f | ||
202 | #define PESDR0_440SPE_LANE_EFGH 0x0320 | ||
203 | |||
204 | #define PESDR1_440SPE_UTLSET1 0x0340 | ||
205 | #define PESDR1_440SPE_UTLSET2 0x0341 | ||
206 | #define PESDR1_440SPE_DLPSET 0x0342 | ||
207 | #define PESDR1_440SPE_LOOP 0x0343 | ||
208 | #define PESDR1_440SPE_RCSSET 0x0344 | ||
209 | #define PESDR1_440SPE_RCSSTS 0x0345 | ||
210 | #define PESDR1_440SPE_HSSL0SET1 0x0346 | ||
211 | #define PESDR1_440SPE_HSSL0SET2 0x0347 | ||
212 | #define PESDR1_440SPE_HSSL0STS 0x0348 | ||
213 | #define PESDR1_440SPE_HSSL1SET1 0x0349 | ||
214 | #define PESDR1_440SPE_HSSL1SET2 0x034a | ||
215 | #define PESDR1_440SPE_HSSL1STS 0x034b | ||
216 | #define PESDR1_440SPE_HSSL2SET1 0x034c | ||
217 | #define PESDR1_440SPE_HSSL2SET2 0x034d | ||
218 | #define PESDR1_440SPE_HSSL2STS 0x034e | ||
219 | #define PESDR1_440SPE_HSSL3SET1 0x034f | ||
220 | #define PESDR1_440SPE_HSSL3SET2 0x0350 | ||
221 | #define PESDR1_440SPE_HSSL3STS 0x0351 | ||
222 | #define PESDR1_440SPE_HSSCTLSET 0x0352 | ||
223 | #define PESDR1_440SPE_LANE_ABCD 0x0353 | ||
224 | |||
225 | #define PESDR2_440SPE_UTLSET1 0x0370 | ||
226 | #define PESDR2_440SPE_UTLSET2 0x0371 | ||
227 | #define PESDR2_440SPE_DLPSET 0x0372 | ||
228 | #define PESDR2_440SPE_LOOP 0x0373 | ||
229 | #define PESDR2_440SPE_RCSSET 0x0374 | ||
230 | #define PESDR2_440SPE_RCSSTS 0x0375 | ||
231 | #define PESDR2_440SPE_HSSL0SET1 0x0376 | ||
232 | #define PESDR2_440SPE_HSSL0SET2 0x0377 | ||
233 | #define PESDR2_440SPE_HSSL0STS 0x0378 | ||
234 | #define PESDR2_440SPE_HSSL1SET1 0x0379 | ||
235 | #define PESDR2_440SPE_HSSL1SET2 0x037a | ||
236 | #define PESDR2_440SPE_HSSL1STS 0x037b | ||
237 | #define PESDR2_440SPE_HSSL2SET1 0x037c | ||
238 | #define PESDR2_440SPE_HSSL2SET2 0x037d | ||
239 | #define PESDR2_440SPE_HSSL2STS 0x037e | ||
240 | #define PESDR2_440SPE_HSSL3SET1 0x037f | ||
241 | #define PESDR2_440SPE_HSSL3SET2 0x0380 | ||
242 | #define PESDR2_440SPE_HSSL3STS 0x0381 | ||
243 | #define PESDR2_440SPE_HSSCTLSET 0x0382 | ||
244 | #define PESDR2_440SPE_LANE_ABCD 0x0383 | ||
245 | |||
246 | /* | ||
247 | * 405EX additional DCRs | ||
248 | */ | ||
249 | #define PESDR0_405EX_UTLSET1 0x0400 | ||
250 | #define PESDR0_405EX_UTLSET2 0x0401 | ||
251 | #define PESDR0_405EX_DLPSET 0x0402 | ||
252 | #define PESDR0_405EX_LOOP 0x0403 | ||
253 | #define PESDR0_405EX_RCSSET 0x0404 | ||
254 | #define PESDR0_405EX_RCSSTS 0x0405 | ||
255 | #define PESDR0_405EX_PHYSET1 0x0406 | ||
256 | #define PESDR0_405EX_PHYSET2 0x0407 | ||
257 | #define PESDR0_405EX_BIST 0x0408 | ||
258 | #define PESDR0_405EX_LPB 0x040B | ||
259 | #define PESDR0_405EX_PHYSTA 0x040C | ||
260 | |||
261 | #define PESDR1_405EX_UTLSET1 0x0440 | ||
262 | #define PESDR1_405EX_UTLSET2 0x0441 | ||
263 | #define PESDR1_405EX_DLPSET 0x0442 | ||
264 | #define PESDR1_405EX_LOOP 0x0443 | ||
265 | #define PESDR1_405EX_RCSSET 0x0444 | ||
266 | #define PESDR1_405EX_RCSSTS 0x0445 | ||
267 | #define PESDR1_405EX_PHYSET1 0x0446 | ||
268 | #define PESDR1_405EX_PHYSET2 0x0447 | ||
269 | #define PESDR1_405EX_BIST 0x0448 | ||
270 | #define PESDR1_405EX_LPB 0x044B | ||
271 | #define PESDR1_405EX_PHYSTA 0x044C | ||
272 | |||
273 | /* | ||
274 | * Of the above, some are common offsets from the base | ||
275 | */ | ||
276 | #define PESDRn_UTLSET1 0x00 | ||
277 | #define PESDRn_UTLSET2 0x01 | ||
278 | #define PESDRn_DLPSET 0x02 | ||
279 | #define PESDRn_LOOP 0x03 | ||
280 | #define PESDRn_RCSSET 0x04 | ||
281 | #define PESDRn_RCSSTS 0x05 | ||
282 | |||
283 | /* 440spe only */ | ||
284 | #define PESDRn_440SPE_HSSL0SET1 0x06 | ||
285 | #define PESDRn_440SPE_HSSL0SET2 0x07 | ||
286 | #define PESDRn_440SPE_HSSL0STS 0x08 | ||
287 | #define PESDRn_440SPE_HSSL1SET1 0x09 | ||
288 | #define PESDRn_440SPE_HSSL1SET2 0x0a | ||
289 | #define PESDRn_440SPE_HSSL1STS 0x0b | ||
290 | #define PESDRn_440SPE_HSSL2SET1 0x0c | ||
291 | #define PESDRn_440SPE_HSSL2SET2 0x0d | ||
292 | #define PESDRn_440SPE_HSSL2STS 0x0e | ||
293 | #define PESDRn_440SPE_HSSL3SET1 0x0f | ||
294 | #define PESDRn_440SPE_HSSL3SET2 0x10 | ||
295 | #define PESDRn_440SPE_HSSL3STS 0x11 | ||
296 | |||
297 | /* 440spe port 0 only */ | ||
298 | #define PESDRn_440SPE_HSSL4SET1 0x12 | ||
299 | #define PESDRn_440SPE_HSSL4SET2 0x13 | ||
300 | #define PESDRn_440SPE_HSSL4STS 0x14 | ||
301 | #define PESDRn_440SPE_HSSL5SET1 0x15 | ||
302 | #define PESDRn_440SPE_HSSL5SET2 0x16 | ||
303 | #define PESDRn_440SPE_HSSL5STS 0x17 | ||
304 | #define PESDRn_440SPE_HSSL6SET1 0x18 | ||
305 | #define PESDRn_440SPE_HSSL6SET2 0x19 | ||
306 | #define PESDRn_440SPE_HSSL6STS 0x1a | ||
307 | #define PESDRn_440SPE_HSSL7SET1 0x1b | ||
308 | #define PESDRn_440SPE_HSSL7SET2 0x1c | ||
309 | #define PESDRn_440SPE_HSSL7STS 0x1d | ||
310 | |||
311 | /* 405ex only */ | ||
312 | #define PESDRn_405EX_PHYSET1 0x06 | ||
313 | #define PESDRn_405EX_PHYSET2 0x07 | ||
314 | #define PESDRn_405EX_PHYSTA 0x0c | ||
315 | |||
316 | /* | ||
317 | * UTL register offsets | ||
318 | */ | ||
319 | #define PEUTL_PBCTL 0x00 | ||
320 | #define PEUTL_PBBSZ 0x20 | ||
321 | #define PEUTL_OPDBSZ 0x68 | ||
322 | #define PEUTL_IPHBSZ 0x70 | ||
323 | #define PEUTL_IPDBSZ 0x78 | ||
324 | #define PEUTL_OUTTR 0x90 | ||
325 | #define PEUTL_INTR 0x98 | ||
326 | #define PEUTL_PCTL 0xa0 | ||
327 | #define PEUTL_RCSTA 0xB0 | ||
328 | #define PEUTL_RCIRQEN 0xb8 | ||
329 | |||
330 | /* | ||
331 | * Config space register offsets | ||
332 | */ | ||
333 | #define PECFG_BAR0LMPA 0x210 | ||
334 | #define PECFG_BAR0HMPA 0x214 | ||
335 | #define PECFG_BAR1MPA 0x218 | ||
336 | #define PECFG_BAR2LMPA 0x220 | ||
337 | #define PECFG_BAR2HMPA 0x224 | ||
338 | |||
339 | #define PECFG_PIMEN 0x33c | ||
340 | #define PECFG_PIM0LAL 0x340 | ||
341 | #define PECFG_PIM0LAH 0x344 | ||
342 | #define PECFG_PIM1LAL 0x348 | ||
343 | #define PECFG_PIM1LAH 0x34c | ||
344 | #define PECFG_PIM01SAL 0x350 | ||
345 | #define PECFG_PIM01SAH 0x354 | ||
346 | |||
347 | #define PECFG_POM0LAL 0x380 | ||
348 | #define PECFG_POM0LAH 0x384 | ||
349 | #define PECFG_POM1LAL 0x388 | ||
350 | #define PECFG_POM1LAH 0x38c | ||
351 | #define PECFG_POM2LAL 0x390 | ||
352 | #define PECFG_POM2LAH 0x394 | ||
353 | |||
354 | |||
355 | enum | ||
356 | { | ||
357 | PTYPE_ENDPOINT = 0x0, | ||
358 | PTYPE_LEGACY_ENDPOINT = 0x1, | ||
359 | PTYPE_ROOT_PORT = 0x4, | ||
360 | |||
361 | LNKW_X1 = 0x1, | ||
362 | LNKW_X4 = 0x4, | ||
363 | LNKW_X8 = 0x8 | ||
364 | }; | ||
365 | |||
124 | 366 | ||
125 | #endif /* __PPC4XX_PCI_H__ */ | 367 | #endif /* __PPC4XX_PCI_H__ */ |