Back to home page

OSCL-LXR

 
 

    


0001 /*
0002  * PCI / PCI-X / PCI-Express support for 4xx parts
0003  *
0004  * Copyright 2007 Ben. Herrenschmidt <benh@kernel.crashing.org>, IBM Corp.
0005  *
0006  * Bits and pieces extracted from arch/ppc support by
0007  *
0008  * Matt Porter <mporter@kernel.crashing.org>
0009  *
0010  * Copyright 2002-2005 MontaVista Software Inc.
0011  */
0012 #ifndef __PPC4XX_PCI_H__
0013 #define __PPC4XX_PCI_H__
0014 
0015 /*
0016  * 4xx PCI-X bridge register definitions
0017  */
0018 #define PCIX0_VENDID        0x000
0019 #define PCIX0_DEVID     0x002
0020 #define PCIX0_COMMAND       0x004
0021 #define PCIX0_STATUS        0x006
0022 #define PCIX0_REVID     0x008
0023 #define PCIX0_CLS       0x009
0024 #define PCIX0_CACHELS       0x00c
0025 #define PCIX0_LATTIM        0x00d
0026 #define PCIX0_HDTYPE        0x00e
0027 #define PCIX0_BIST      0x00f
0028 #define PCIX0_BAR0L     0x010
0029 #define PCIX0_BAR0H     0x014
0030 #define PCIX0_BAR1      0x018
0031 #define PCIX0_BAR2L     0x01c
0032 #define PCIX0_BAR2H     0x020
0033 #define PCIX0_BAR3      0x024
0034 #define PCIX0_CISPTR        0x028
0035 #define PCIX0_SBSYSVID      0x02c
0036 #define PCIX0_SBSYSID       0x02e
0037 #define PCIX0_EROMBA        0x030
0038 #define PCIX0_CAP       0x034
0039 #define PCIX0_RES0      0x035
0040 #define PCIX0_RES1      0x036
0041 #define PCIX0_RES2      0x038
0042 #define PCIX0_INTLN     0x03c
0043 #define PCIX0_INTPN     0x03d
0044 #define PCIX0_MINGNT        0x03e
0045 #define PCIX0_MAXLTNCY      0x03f
0046 #define PCIX0_BRDGOPT1      0x040
0047 #define PCIX0_BRDGOPT2      0x044
0048 #define PCIX0_ERREN     0x050
0049 #define PCIX0_ERRSTS        0x054
0050 #define PCIX0_PLBBESR       0x058
0051 #define PCIX0_PLBBEARL      0x05c
0052 #define PCIX0_PLBBEARH      0x060
0053 #define PCIX0_POM0LAL       0x068
0054 #define PCIX0_POM0LAH       0x06c
0055 #define PCIX0_POM0SA        0x070
0056 #define PCIX0_POM0PCIAL     0x074
0057 #define PCIX0_POM0PCIAH     0x078
0058 #define PCIX0_POM1LAL       0x07c
0059 #define PCIX0_POM1LAH       0x080
0060 #define PCIX0_POM1SA        0x084
0061 #define PCIX0_POM1PCIAL     0x088
0062 #define PCIX0_POM1PCIAH     0x08c
0063 #define PCIX0_POM2SA        0x090
0064 #define PCIX0_PIM0SAL       0x098
0065 #define PCIX0_PIM0SA        PCIX0_PIM0SAL
0066 #define PCIX0_PIM0LAL       0x09c
0067 #define PCIX0_PIM0LAH       0x0a0
0068 #define PCIX0_PIM1SA        0x0a4
0069 #define PCIX0_PIM1LAL       0x0a8
0070 #define PCIX0_PIM1LAH       0x0ac
0071 #define PCIX0_PIM2SAL       0x0b0
0072 #define PCIX0_PIM2SA        PCIX0_PIM2SAL
0073 #define PCIX0_PIM2LAL       0x0b4
0074 #define PCIX0_PIM2LAH       0x0b8
0075 #define PCIX0_OMCAPID       0x0c0
0076 #define PCIX0_OMNIPTR       0x0c1
0077 #define PCIX0_OMMC      0x0c2
0078 #define PCIX0_OMMA      0x0c4
0079 #define PCIX0_OMMUA     0x0c8
0080 #define PCIX0_OMMDATA       0x0cc
0081 #define PCIX0_OMMEOI        0x0ce
0082 #define PCIX0_PMCAPID       0x0d0
0083 #define PCIX0_PMNIPTR       0x0d1
0084 #define PCIX0_PMC       0x0d2
0085 #define PCIX0_PMCSR     0x0d4
0086 #define PCIX0_PMCSRBSE      0x0d6
0087 #define PCIX0_PMDATA        0x0d7
0088 #define PCIX0_PMSCRR        0x0d8
0089 #define PCIX0_CAPID     0x0dc
0090 #define PCIX0_NIPTR     0x0dd
0091 #define PCIX0_CMD       0x0de
0092 #define PCIX0_STS       0x0e0
0093 #define PCIX0_IDR       0x0e4
0094 #define PCIX0_CID       0x0e8
0095 #define PCIX0_RID       0x0ec
0096 #define PCIX0_PIM0SAH       0x0f8
0097 #define PCIX0_PIM2SAH       0x0fc
0098 #define PCIX0_MSGIL     0x100
0099 #define PCIX0_MSGIH     0x104
0100 #define PCIX0_MSGOL     0x108
0101 #define PCIX0_MSGOH     0x10c
0102 #define PCIX0_IM        0x1f8
0103 
0104 /*
0105  * 4xx PCI bridge register definitions
0106  */
0107 #define PCIL0_PMM0LA        0x00
0108 #define PCIL0_PMM0MA        0x04
0109 #define PCIL0_PMM0PCILA     0x08
0110 #define PCIL0_PMM0PCIHA     0x0c
0111 #define PCIL0_PMM1LA        0x10
0112 #define PCIL0_PMM1MA        0x14
0113 #define PCIL0_PMM1PCILA     0x18
0114 #define PCIL0_PMM1PCIHA     0x1c
0115 #define PCIL0_PMM2LA        0x20
0116 #define PCIL0_PMM2MA        0x24
0117 #define PCIL0_PMM2PCILA     0x28
0118 #define PCIL0_PMM2PCIHA     0x2c
0119 #define PCIL0_PTM1MS        0x30
0120 #define PCIL0_PTM1LA        0x34
0121 #define PCIL0_PTM2MS        0x38
0122 #define PCIL0_PTM2LA        0x3c
0123 
0124 /*
0125  * 4xx PCIe bridge register definitions
0126  */
0127 
0128 /* DCR offsets */
0129 #define DCRO_PEGPL_CFGBAH       0x00
0130 #define DCRO_PEGPL_CFGBAL       0x01
0131 #define DCRO_PEGPL_CFGMSK       0x02
0132 #define DCRO_PEGPL_MSGBAH       0x03
0133 #define DCRO_PEGPL_MSGBAL       0x04
0134 #define DCRO_PEGPL_MSGMSK       0x05
0135 #define DCRO_PEGPL_OMR1BAH      0x06
0136 #define DCRO_PEGPL_OMR1BAL      0x07
0137 #define DCRO_PEGPL_OMR1MSKH     0x08
0138 #define DCRO_PEGPL_OMR1MSKL     0x09
0139 #define DCRO_PEGPL_OMR2BAH      0x0a
0140 #define DCRO_PEGPL_OMR2BAL      0x0b
0141 #define DCRO_PEGPL_OMR2MSKH     0x0c
0142 #define DCRO_PEGPL_OMR2MSKL     0x0d
0143 #define DCRO_PEGPL_OMR3BAH      0x0e
0144 #define DCRO_PEGPL_OMR3BAL      0x0f
0145 #define DCRO_PEGPL_OMR3MSKH     0x10
0146 #define DCRO_PEGPL_OMR3MSKL     0x11
0147 #define DCRO_PEGPL_REGBAH       0x12
0148 #define DCRO_PEGPL_REGBAL       0x13
0149 #define DCRO_PEGPL_REGMSK       0x14
0150 #define DCRO_PEGPL_SPECIAL      0x15
0151 #define DCRO_PEGPL_CFG          0x16
0152 #define DCRO_PEGPL_ESR          0x17
0153 #define DCRO_PEGPL_EARH         0x18
0154 #define DCRO_PEGPL_EARL         0x19
0155 #define DCRO_PEGPL_EATR         0x1a
0156 
0157 /* DMER mask */
0158 #define GPL_DMER_MASK_DISA  0x02000000
0159 
0160 /*
0161  * System DCRs (SDRs)
0162  */
0163 #define PESDR0_PLLLCT1          0x03a0
0164 #define PESDR0_PLLLCT2          0x03a1
0165 #define PESDR0_PLLLCT3          0x03a2
0166 
0167 /*
0168  * 440SPe additional DCRs
0169  */
0170 #define PESDR0_440SPE_UTLSET1       0x0300
0171 #define PESDR0_440SPE_UTLSET2       0x0301
0172 #define PESDR0_440SPE_DLPSET        0x0302
0173 #define PESDR0_440SPE_LOOP      0x0303
0174 #define PESDR0_440SPE_RCSSET        0x0304
0175 #define PESDR0_440SPE_RCSSTS        0x0305
0176 #define PESDR0_440SPE_HSSL0SET1     0x0306
0177 #define PESDR0_440SPE_HSSL0SET2     0x0307
0178 #define PESDR0_440SPE_HSSL0STS      0x0308
0179 #define PESDR0_440SPE_HSSL1SET1     0x0309
0180 #define PESDR0_440SPE_HSSL1SET2     0x030a
0181 #define PESDR0_440SPE_HSSL1STS      0x030b
0182 #define PESDR0_440SPE_HSSL2SET1     0x030c
0183 #define PESDR0_440SPE_HSSL2SET2     0x030d
0184 #define PESDR0_440SPE_HSSL2STS      0x030e
0185 #define PESDR0_440SPE_HSSL3SET1     0x030f
0186 #define PESDR0_440SPE_HSSL3SET2     0x0310
0187 #define PESDR0_440SPE_HSSL3STS      0x0311
0188 #define PESDR0_440SPE_HSSL4SET1     0x0312
0189 #define PESDR0_440SPE_HSSL4SET2     0x0313
0190 #define PESDR0_440SPE_HSSL4STS          0x0314
0191 #define PESDR0_440SPE_HSSL5SET1     0x0315
0192 #define PESDR0_440SPE_HSSL5SET2     0x0316
0193 #define PESDR0_440SPE_HSSL5STS      0x0317
0194 #define PESDR0_440SPE_HSSL6SET1     0x0318
0195 #define PESDR0_440SPE_HSSL6SET2     0x0319
0196 #define PESDR0_440SPE_HSSL6STS      0x031a
0197 #define PESDR0_440SPE_HSSL7SET1     0x031b
0198 #define PESDR0_440SPE_HSSL7SET2     0x031c
0199 #define PESDR0_440SPE_HSSL7STS      0x031d
0200 #define PESDR0_440SPE_HSSCTLSET     0x031e
0201 #define PESDR0_440SPE_LANE_ABCD     0x031f
0202 #define PESDR0_440SPE_LANE_EFGH     0x0320
0203 
0204 #define PESDR1_440SPE_UTLSET1       0x0340
0205 #define PESDR1_440SPE_UTLSET2       0x0341
0206 #define PESDR1_440SPE_DLPSET        0x0342
0207 #define PESDR1_440SPE_LOOP      0x0343
0208 #define PESDR1_440SPE_RCSSET        0x0344
0209 #define PESDR1_440SPE_RCSSTS        0x0345
0210 #define PESDR1_440SPE_HSSL0SET1     0x0346
0211 #define PESDR1_440SPE_HSSL0SET2     0x0347
0212 #define PESDR1_440SPE_HSSL0STS      0x0348
0213 #define PESDR1_440SPE_HSSL1SET1     0x0349
0214 #define PESDR1_440SPE_HSSL1SET2     0x034a
0215 #define PESDR1_440SPE_HSSL1STS      0x034b
0216 #define PESDR1_440SPE_HSSL2SET1     0x034c
0217 #define PESDR1_440SPE_HSSL2SET2     0x034d
0218 #define PESDR1_440SPE_HSSL2STS      0x034e
0219 #define PESDR1_440SPE_HSSL3SET1     0x034f
0220 #define PESDR1_440SPE_HSSL3SET2     0x0350
0221 #define PESDR1_440SPE_HSSL3STS      0x0351
0222 #define PESDR1_440SPE_HSSCTLSET     0x0352
0223 #define PESDR1_440SPE_LANE_ABCD     0x0353
0224 
0225 #define PESDR2_440SPE_UTLSET1       0x0370
0226 #define PESDR2_440SPE_UTLSET2       0x0371
0227 #define PESDR2_440SPE_DLPSET        0x0372
0228 #define PESDR2_440SPE_LOOP      0x0373
0229 #define PESDR2_440SPE_RCSSET        0x0374
0230 #define PESDR2_440SPE_RCSSTS        0x0375
0231 #define PESDR2_440SPE_HSSL0SET1     0x0376
0232 #define PESDR2_440SPE_HSSL0SET2     0x0377
0233 #define PESDR2_440SPE_HSSL0STS      0x0378
0234 #define PESDR2_440SPE_HSSL1SET1     0x0379
0235 #define PESDR2_440SPE_HSSL1SET2     0x037a
0236 #define PESDR2_440SPE_HSSL1STS      0x037b
0237 #define PESDR2_440SPE_HSSL2SET1     0x037c
0238 #define PESDR2_440SPE_HSSL2SET2     0x037d
0239 #define PESDR2_440SPE_HSSL2STS      0x037e
0240 #define PESDR2_440SPE_HSSL3SET1     0x037f
0241 #define PESDR2_440SPE_HSSL3SET2     0x0380
0242 #define PESDR2_440SPE_HSSL3STS      0x0381
0243 #define PESDR2_440SPE_HSSCTLSET     0x0382
0244 #define PESDR2_440SPE_LANE_ABCD     0x0383
0245 
0246 /*
0247  * 405EX additional DCRs
0248  */
0249 #define PESDR0_405EX_UTLSET1        0x0400
0250 #define PESDR0_405EX_UTLSET2        0x0401
0251 #define PESDR0_405EX_DLPSET     0x0402
0252 #define PESDR0_405EX_LOOP       0x0403
0253 #define PESDR0_405EX_RCSSET     0x0404
0254 #define PESDR0_405EX_RCSSTS     0x0405
0255 #define PESDR0_405EX_PHYSET1        0x0406
0256 #define PESDR0_405EX_PHYSET2        0x0407
0257 #define PESDR0_405EX_BIST       0x0408
0258 #define PESDR0_405EX_LPB        0x040B
0259 #define PESDR0_405EX_PHYSTA     0x040C
0260 
0261 #define PESDR1_405EX_UTLSET1        0x0440
0262 #define PESDR1_405EX_UTLSET2        0x0441
0263 #define PESDR1_405EX_DLPSET     0x0442
0264 #define PESDR1_405EX_LOOP       0x0443
0265 #define PESDR1_405EX_RCSSET     0x0444
0266 #define PESDR1_405EX_RCSSTS     0x0445
0267 #define PESDR1_405EX_PHYSET1        0x0446
0268 #define PESDR1_405EX_PHYSET2        0x0447
0269 #define PESDR1_405EX_BIST       0x0448
0270 #define PESDR1_405EX_LPB        0x044B
0271 #define PESDR1_405EX_PHYSTA     0x044C
0272 
0273 /*
0274  * 460EX additional DCRs
0275  */
0276 #define PESDR0_460EX_L0BIST     0x0308
0277 #define PESDR0_460EX_L0BISTSTS      0x0309
0278 #define PESDR0_460EX_L0CDRCTL       0x030A
0279 #define PESDR0_460EX_L0DRV      0x030B
0280 #define PESDR0_460EX_L0REC      0x030C
0281 #define PESDR0_460EX_L0LPB      0x030D
0282 #define PESDR0_460EX_L0CLK      0x030E
0283 #define PESDR0_460EX_PHY_CTL_RST    0x030F
0284 #define PESDR0_460EX_RSTSTA     0x0310
0285 #define PESDR0_460EX_OBS        0x0311
0286 #define PESDR0_460EX_L0ERRC     0x0320
0287 
0288 #define PESDR1_460EX_L0BIST     0x0348
0289 #define PESDR1_460EX_L1BIST     0x0349
0290 #define PESDR1_460EX_L2BIST     0x034A
0291 #define PESDR1_460EX_L3BIST     0x034B
0292 #define PESDR1_460EX_L0BISTSTS      0x034C
0293 #define PESDR1_460EX_L1BISTSTS      0x034D
0294 #define PESDR1_460EX_L2BISTSTS      0x034E
0295 #define PESDR1_460EX_L3BISTSTS      0x034F
0296 #define PESDR1_460EX_L0CDRCTL       0x0350
0297 #define PESDR1_460EX_L1CDRCTL       0x0351
0298 #define PESDR1_460EX_L2CDRCTL       0x0352
0299 #define PESDR1_460EX_L3CDRCTL       0x0353
0300 #define PESDR1_460EX_L0DRV      0x0354
0301 #define PESDR1_460EX_L1DRV      0x0355
0302 #define PESDR1_460EX_L2DRV      0x0356
0303 #define PESDR1_460EX_L3DRV      0x0357
0304 #define PESDR1_460EX_L0REC      0x0358
0305 #define PESDR1_460EX_L1REC      0x0359
0306 #define PESDR1_460EX_L2REC      0x035A
0307 #define PESDR1_460EX_L3REC      0x035B
0308 #define PESDR1_460EX_L0LPB      0x035C
0309 #define PESDR1_460EX_L1LPB      0x035D
0310 #define PESDR1_460EX_L2LPB      0x035E
0311 #define PESDR1_460EX_L3LPB      0x035F
0312 #define PESDR1_460EX_L0CLK      0x0360
0313 #define PESDR1_460EX_L1CLK      0x0361
0314 #define PESDR1_460EX_L2CLK      0x0362
0315 #define PESDR1_460EX_L3CLK      0x0363
0316 #define PESDR1_460EX_PHY_CTL_RST    0x0364
0317 #define PESDR1_460EX_RSTSTA     0x0365
0318 #define PESDR1_460EX_OBS        0x0366
0319 #define PESDR1_460EX_L0ERRC     0x0368
0320 #define PESDR1_460EX_L1ERRC     0x0369
0321 #define PESDR1_460EX_L2ERRC     0x036A
0322 #define PESDR1_460EX_L3ERRC     0x036B
0323 #define PESDR0_460EX_IHS1       0x036C
0324 #define PESDR0_460EX_IHS2       0x036D
0325 
0326 /*
0327  * 460SX additional DCRs
0328  */
0329 #define PESDRn_460SX_RCEI       0x02
0330 
0331 #define PESDR0_460SX_HSSL0DAMP      0x320
0332 #define PESDR0_460SX_HSSL1DAMP      0x321
0333 #define PESDR0_460SX_HSSL2DAMP      0x322
0334 #define PESDR0_460SX_HSSL3DAMP      0x323
0335 #define PESDR0_460SX_HSSL4DAMP      0x324
0336 #define PESDR0_460SX_HSSL5DAMP      0x325
0337 #define PESDR0_460SX_HSSL6DAMP      0x326
0338 #define PESDR0_460SX_HSSL7DAMP      0x327
0339 
0340 #define PESDR1_460SX_HSSL0DAMP      0x354
0341 #define PESDR1_460SX_HSSL1DAMP      0x355
0342 #define PESDR1_460SX_HSSL2DAMP      0x356
0343 #define PESDR1_460SX_HSSL3DAMP      0x357
0344 
0345 #define PESDR2_460SX_HSSL0DAMP      0x384
0346 #define PESDR2_460SX_HSSL1DAMP      0x385
0347 #define PESDR2_460SX_HSSL2DAMP      0x386
0348 #define PESDR2_460SX_HSSL3DAMP      0x387
0349 
0350 #define PESDR0_460SX_HSSL0COEFA     0x328
0351 #define PESDR0_460SX_HSSL1COEFA     0x329
0352 #define PESDR0_460SX_HSSL2COEFA     0x32A
0353 #define PESDR0_460SX_HSSL3COEFA     0x32B
0354 #define PESDR0_460SX_HSSL4COEFA     0x32C
0355 #define PESDR0_460SX_HSSL5COEFA     0x32D
0356 #define PESDR0_460SX_HSSL6COEFA     0x32E
0357 #define PESDR0_460SX_HSSL7COEFA     0x32F
0358 
0359 #define PESDR1_460SX_HSSL0COEFA     0x358
0360 #define PESDR1_460SX_HSSL1COEFA     0x359
0361 #define PESDR1_460SX_HSSL2COEFA     0x35A
0362 #define PESDR1_460SX_HSSL3COEFA     0x35B
0363 
0364 #define PESDR2_460SX_HSSL0COEFA     0x388
0365 #define PESDR2_460SX_HSSL1COEFA     0x389
0366 #define PESDR2_460SX_HSSL2COEFA     0x38A
0367 #define PESDR2_460SX_HSSL3COEFA     0x38B
0368 
0369 #define PESDR0_460SX_HSSL1CALDRV    0x339
0370 #define PESDR1_460SX_HSSL1CALDRV    0x361
0371 #define PESDR2_460SX_HSSL1CALDRV    0x391
0372 
0373 #define PESDR0_460SX_HSSSLEW        0x338
0374 #define PESDR1_460SX_HSSSLEW        0x360
0375 #define PESDR2_460SX_HSSSLEW        0x390
0376 
0377 #define PESDR0_460SX_HSSCTLSET      0x31E
0378 #define PESDR1_460SX_HSSCTLSET      0x352
0379 #define PESDR2_460SX_HSSCTLSET      0x382
0380 
0381 #define PESDR0_460SX_RCSSET     0x304
0382 #define PESDR1_460SX_RCSSET     0x344
0383 #define PESDR2_460SX_RCSSET     0x374
0384 /*
0385  * Of the above, some are common offsets from the base
0386  */
0387 #define PESDRn_UTLSET1          0x00
0388 #define PESDRn_UTLSET2          0x01
0389 #define PESDRn_DLPSET           0x02
0390 #define PESDRn_LOOP         0x03
0391 #define PESDRn_RCSSET           0x04
0392 #define PESDRn_RCSSTS           0x05
0393 
0394 /* 440spe only */
0395 #define PESDRn_440SPE_HSSL0SET1     0x06
0396 #define PESDRn_440SPE_HSSL0SET2     0x07
0397 #define PESDRn_440SPE_HSSL0STS      0x08
0398 #define PESDRn_440SPE_HSSL1SET1     0x09
0399 #define PESDRn_440SPE_HSSL1SET2     0x0a
0400 #define PESDRn_440SPE_HSSL1STS      0x0b
0401 #define PESDRn_440SPE_HSSL2SET1     0x0c
0402 #define PESDRn_440SPE_HSSL2SET2     0x0d
0403 #define PESDRn_440SPE_HSSL2STS      0x0e
0404 #define PESDRn_440SPE_HSSL3SET1     0x0f
0405 #define PESDRn_440SPE_HSSL3SET2     0x10
0406 #define PESDRn_440SPE_HSSL3STS      0x11
0407 
0408 /* 440spe port 0 only */
0409 #define PESDRn_440SPE_HSSL4SET1     0x12
0410 #define PESDRn_440SPE_HSSL4SET2     0x13
0411 #define PESDRn_440SPE_HSSL4STS          0x14
0412 #define PESDRn_440SPE_HSSL5SET1     0x15
0413 #define PESDRn_440SPE_HSSL5SET2     0x16
0414 #define PESDRn_440SPE_HSSL5STS      0x17
0415 #define PESDRn_440SPE_HSSL6SET1     0x18
0416 #define PESDRn_440SPE_HSSL6SET2     0x19
0417 #define PESDRn_440SPE_HSSL6STS      0x1a
0418 #define PESDRn_440SPE_HSSL7SET1     0x1b
0419 #define PESDRn_440SPE_HSSL7SET2     0x1c
0420 #define PESDRn_440SPE_HSSL7STS      0x1d
0421 
0422 /* 405ex only */
0423 #define PESDRn_405EX_PHYSET1        0x06
0424 #define PESDRn_405EX_PHYSET2        0x07
0425 #define PESDRn_405EX_PHYSTA     0x0c
0426 
0427 /*
0428  * UTL register offsets
0429  */
0430 #define PEUTL_PBCTL     0x00
0431 #define PEUTL_PBBSZ     0x20
0432 #define PEUTL_OPDBSZ        0x68
0433 #define PEUTL_IPHBSZ        0x70
0434 #define PEUTL_IPDBSZ        0x78
0435 #define PEUTL_OUTTR     0x90
0436 #define PEUTL_INTR      0x98
0437 #define PEUTL_PCTL      0xa0
0438 #define PEUTL_RCSTA     0xB0
0439 #define PEUTL_RCIRQEN       0xb8
0440 
0441 /*
0442  * Config space register offsets
0443  */
0444 #define PECFG_ECRTCTL       0x074
0445 
0446 #define PECFG_BAR0LMPA      0x210
0447 #define PECFG_BAR0HMPA      0x214
0448 #define PECFG_BAR1MPA       0x218
0449 #define PECFG_BAR2LMPA      0x220
0450 #define PECFG_BAR2HMPA      0x224
0451 
0452 #define PECFG_PIMEN     0x33c
0453 #define PECFG_PIM0LAL       0x340
0454 #define PECFG_PIM0LAH       0x344
0455 #define PECFG_PIM1LAL       0x348
0456 #define PECFG_PIM1LAH       0x34c
0457 #define PECFG_PIM01SAL      0x350
0458 #define PECFG_PIM01SAH      0x354
0459 
0460 #define PECFG_POM0LAL       0x380
0461 #define PECFG_POM0LAH       0x384
0462 #define PECFG_POM1LAL       0x388
0463 #define PECFG_POM1LAH       0x38c
0464 #define PECFG_POM2LAL       0x390
0465 #define PECFG_POM2LAH       0x394
0466 
0467 /* 460sx only */
0468 #define PECFG_460SX_DLLSTA     0x3f8
0469 
0470 /* 460sx Bit Mappings */
0471 #define PECFG_460SX_DLLSTA_LINKUP    0x00000010
0472 #define DCRO_PEGPL_460SX_OMR1MSKL_UOT    0x00000004
0473 
0474 /* PEGPL Bit Mappings */
0475 #define DCRO_PEGPL_OMRxMSKL_VAL  0x00000001
0476 #define DCRO_PEGPL_OMR1MSKL_UOT  0x00000002
0477 #define DCRO_PEGPL_OMR3MSKL_IO   0x00000002
0478 
0479 /* 476FPE */
0480 #define PCCFG_LCPA          0x270
0481 #define PECFG_TLDLP         0x3F8
0482 #define PECFG_TLDLP_LNKUP       0x00000008
0483 #define PECFG_TLDLP_PRESENT     0x00000010
0484 #define DCRO_PEGPL_476FPE_OMR1MSKL_UOT   0x00000004
0485 
0486 /* SDR Bit Mappings */
0487 #define PESDRx_RCSSET_HLDPLB    0x10000000
0488 #define PESDRx_RCSSET_RSTGU 0x01000000
0489 #define PESDRx_RCSSET_RDY       0x00100000
0490 #define PESDRx_RCSSET_RSTDL     0x00010000
0491 #define PESDRx_RCSSET_RSTPYN    0x00001000
0492 
0493 enum
0494 {
0495     PTYPE_ENDPOINT      = 0x0,
0496     PTYPE_LEGACY_ENDPOINT   = 0x1,
0497     PTYPE_ROOT_PORT     = 0x4,
0498 
0499     LNKW_X1         = 0x1,
0500     LNKW_X4         = 0x4,
0501     LNKW_X8         = 0x8
0502 };
0503 
0504 
0505 #endif /* __PPC4XX_PCI_H__ */