Kyle Swenson | 8d8f654 | 2021-03-15 11:02:55 -0600 | [diff] [blame^] | 1 | /* |
| 2 | * This program is free software; you can redistribute it and/or modify it |
| 3 | * under the terms of the GNU General Public License as published by the |
| 4 | * Free Software Foundation; either version 2 of the License, or (at your |
| 5 | * option) any later version. |
| 6 | * |
| 7 | * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED |
| 8 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF |
| 9 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN |
| 10 | * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, |
| 11 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT |
| 12 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF |
| 13 | * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON |
| 14 | * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
| 15 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF |
| 16 | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| 17 | * |
| 18 | * You should have received a copy of the GNU General Public License along |
| 19 | * with this program; if not, write to the Free Software Foundation, Inc., |
| 20 | * 675 Mass Ave, Cambridge, MA 02139, USA. |
| 21 | * |
| 22 | * Copyright 2004 IDT Inc. (rischelp@idt.com) |
| 23 | * |
| 24 | * Initial Release |
| 25 | */ |
| 26 | |
| 27 | #ifndef _ASM_RC32434_PCI_H_ |
| 28 | #define _ASM_RC32434_PCI_H_ |
| 29 | |
| 30 | #define epld_mask ((volatile unsigned char *)0xB900000d) |
| 31 | |
| 32 | #define PCI0_BASE_ADDR 0x18080000 |
| 33 | #define PCI_LBA_COUNT 4 |
| 34 | |
| 35 | struct pci_map { |
| 36 | u32 address; /* Address. */ |
| 37 | u32 control; /* Control. */ |
| 38 | u32 mapping; /* mapping. */ |
| 39 | }; |
| 40 | |
| 41 | struct pci_reg { |
| 42 | u32 pcic; |
| 43 | u32 pcis; |
| 44 | u32 pcism; |
| 45 | u32 pcicfga; |
| 46 | u32 pcicfgd; |
| 47 | volatile struct pci_map pcilba[PCI_LBA_COUNT]; |
| 48 | u32 pcidac; |
| 49 | u32 pcidas; |
| 50 | u32 pcidasm; |
| 51 | u32 pcidad; |
| 52 | u32 pcidma8c; |
| 53 | u32 pcidma9c; |
| 54 | u32 pcitc; |
| 55 | }; |
| 56 | |
| 57 | #define PCI_MSU_COUNT 2 |
| 58 | |
| 59 | struct pci_msu { |
| 60 | u32 pciim[PCI_MSU_COUNT]; |
| 61 | u32 pciom[PCI_MSU_COUNT]; |
| 62 | u32 pciid; |
| 63 | u32 pciiic; |
| 64 | u32 pciiim; |
| 65 | u32 pciiod; |
| 66 | u32 pciioic; |
| 67 | u32 pciioim; |
| 68 | }; |
| 69 | |
| 70 | /* |
| 71 | * PCI Control Register |
| 72 | */ |
| 73 | |
| 74 | #define PCI_CTL_EN (1 << 0) |
| 75 | #define PCI_CTL_TNR (1 << 1) |
| 76 | #define PCI_CTL_SCE (1 << 2) |
| 77 | #define PCI_CTL_IEN (1 << 3) |
| 78 | #define PCI_CTL_AAA (1 << 4) |
| 79 | #define PCI_CTL_EAP (1 << 5) |
| 80 | #define PCI_CTL_PCIM_BIT 6 |
| 81 | #define PCI_CTL_PCIM 0x000001c0 |
| 82 | |
| 83 | #define PCI_CTL_PCIM_DIS 0 |
| 84 | #define PCI_CTL_PCIM_TNR 1 /* Satellite - target not ready */ |
| 85 | #define PCI_CTL_PCIM_SUS 2 /* Satellite - suspended CPU. */ |
| 86 | #define PCI_CTL_PCIM_EXT 3 /* Host - external arbiter. */ |
| 87 | #define PCI_CTL PCIM_PRIO 4 /* Host - fixed priority arb. */ |
| 88 | #define PCI_CTL_PCIM_RR 5 /* Host - round robin priority. */ |
| 89 | #define PCI_CTL_PCIM_RSVD6 6 |
| 90 | #define PCI_CTL_PCIM_RSVD7 7 |
| 91 | |
| 92 | #define PCI_CTL_IGM (1 << 9) |
| 93 | |
| 94 | /* |
| 95 | * PCI Status Register |
| 96 | */ |
| 97 | |
| 98 | #define PCI_STAT_EED (1 << 0) |
| 99 | #define PCI_STAT_WR (1 << 1) |
| 100 | #define PCI_STAT_NMI (1 << 2) |
| 101 | #define PCI_STAT_II (1 << 3) |
| 102 | #define PCI_STAT_CWE (1 << 4) |
| 103 | #define PCI_STAT_CRE (1 << 5) |
| 104 | #define PCI_STAT_MDPE (1 << 6) |
| 105 | #define PCI_STAT_STA (1 << 7) |
| 106 | #define PCI_STAT_RTA (1 << 8) |
| 107 | #define PCI_STAT_RMA (1 << 9) |
| 108 | #define PCI_STAT_SSE (1 << 10) |
| 109 | #define PCI_STAT_OSE (1 << 11) |
| 110 | #define PCI_STAT_PE (1 << 12) |
| 111 | #define PCI_STAT_TAE (1 << 13) |
| 112 | #define PCI_STAT_RLE (1 << 14) |
| 113 | #define PCI_STAT_BME (1 << 15) |
| 114 | #define PCI_STAT_PRD (1 << 16) |
| 115 | #define PCI_STAT_RIP (1 << 17) |
| 116 | |
| 117 | /* |
| 118 | * PCI Status Mask Register |
| 119 | */ |
| 120 | |
| 121 | #define PCI_STATM_EED PCI_STAT_EED |
| 122 | #define PCI_STATM_WR PCI_STAT_WR |
| 123 | #define PCI_STATM_NMI PCI_STAT_NMI |
| 124 | #define PCI_STATM_II PCI_STAT_II |
| 125 | #define PCI_STATM_CWE PCI_STAT_CWE |
| 126 | #define PCI_STATM_CRE PCI_STAT_CRE |
| 127 | #define PCI_STATM_MDPE PCI_STAT_MDPE |
| 128 | #define PCI_STATM_STA PCI_STAT_STA |
| 129 | #define PCI_STATM_RTA PCI_STAT_RTA |
| 130 | #define PCI_STATM_RMA PCI_STAT_RMA |
| 131 | #define PCI_STATM_SSE PCI_STAT_SSE |
| 132 | #define PCI_STATM_OSE PCI_STAT_OSE |
| 133 | #define PCI_STATM_PE PCI_STAT_PE |
| 134 | #define PCI_STATM_TAE PCI_STAT_TAE |
| 135 | #define PCI_STATM_RLE PCI_STAT_RLE |
| 136 | #define PCI_STATM_BME PCI_STAT_BME |
| 137 | #define PCI_STATM_PRD PCI_STAT_PRD |
| 138 | #define PCI_STATM_RIP PCI_STAT_RIP |
| 139 | |
| 140 | /* |
| 141 | * PCI Configuration Address Register |
| 142 | */ |
| 143 | #define PCI_CFGA_REG_BIT 2 |
| 144 | #define PCI_CFGA_REG 0x000000fc |
| 145 | #define PCI_CFGA_REG_ID (0x00 >> 2) /* use PCFGID */ |
| 146 | #define PCI_CFGA_REG_04 (0x04 >> 2) /* use PCFG04_ */ |
| 147 | #define PCI_CFGA_REG_08 (0x08 >> 2) /* use PCFG08_ */ |
| 148 | #define PCI_CFGA_REG_0C (0x0C >> 2) /* use PCFG0C_ */ |
| 149 | #define PCI_CFGA_REG_PBA0 (0x10 >> 2) /* use PCIPBA_ */ |
| 150 | #define PCI_CFGA_REG_PBA1 (0x14 >> 2) /* use PCIPBA_ */ |
| 151 | #define PCI_CFGA_REG_PBA2 (0x18 >> 2) /* use PCIPBA_ */ |
| 152 | #define PCI_CFGA_REG_PBA3 (0x1c >> 2) /* use PCIPBA_ */ |
| 153 | #define PCI_CFGA_REG_SUBSYS (0x2c >> 2) /* use PCFGSS_ */ |
| 154 | #define PCI_CFGA_REG_3C (0x3C >> 2) /* use PCFG3C_ */ |
| 155 | #define PCI_CFGA_REG_PBBA0C (0x44 >> 2) /* use PCIPBAC_ */ |
| 156 | #define PCI_CFGA_REG_PBA0M (0x48 >> 2) |
| 157 | #define PCI_CFGA_REG_PBA1C (0x4c >> 2) /* use PCIPBAC_ */ |
| 158 | #define PCI_CFGA_REG_PBA1M (0x50 >> 2) |
| 159 | #define PCI_CFGA_REG_PBA2C (0x54 >> 2) /* use PCIPBAC_ */ |
| 160 | #define PCI_CFGA_REG_PBA2M (0x58 >> 2) |
| 161 | #define PCI_CFGA_REG_PBA3C (0x5c >> 2) /* use PCIPBAC_ */ |
| 162 | #define PCI_CFGA_REG_PBA3M (0x60 >> 2) |
| 163 | #define PCI_CFGA_REG_PMGT (0x64 >> 2) |
| 164 | #define PCI_CFGA_FUNC_BIT 8 |
| 165 | #define PCI_CFGA_FUNC 0x00000700 |
| 166 | #define PCI_CFGA_DEV_BIT 11 |
| 167 | #define PCI_CFGA_DEV 0x0000f800 |
| 168 | #define PCI_CFGA_DEV_INTERN 0 |
| 169 | #define PCI_CFGA_BUS_BIT 16 |
| 170 | #define PCI CFGA_BUS 0x00ff0000 |
| 171 | #define PCI_CFGA_BUS_TYPE0 0 |
| 172 | #define PCI_CFGA_EN (1 << 31) |
| 173 | |
| 174 | /* PCI CFG04 commands */ |
| 175 | #define PCI_CFG04_CMD_IO_ENA (1 << 0) |
| 176 | #define PCI_CFG04_CMD_MEM_ENA (1 << 1) |
| 177 | #define PCI_CFG04_CMD_BM_ENA (1 << 2) |
| 178 | #define PCI_CFG04_CMD_MW_INV (1 << 4) |
| 179 | #define PCI_CFG04_CMD_PAR_ENA (1 << 6) |
| 180 | #define PCI_CFG04_CMD_SER_ENA (1 << 8) |
| 181 | #define PCI_CFG04_CMD_FAST_ENA (1 << 9) |
| 182 | |
| 183 | /* PCI CFG04 status fields */ |
| 184 | #define PCI_CFG04_STAT_BIT 16 |
| 185 | #define PCI_CFG04_STAT 0xffff0000 |
| 186 | #define PCI_CFG04_STAT_66_MHZ (1 << 21) |
| 187 | #define PCI_CFG04_STAT_FBB (1 << 23) |
| 188 | #define PCI_CFG04_STAT_MDPE (1 << 24) |
| 189 | #define PCI_CFG04_STAT_DST (1 << 25) |
| 190 | #define PCI_CFG04_STAT_STA (1 << 27) |
| 191 | #define PCI_CFG04_STAT_RTA (1 << 28) |
| 192 | #define PCI_CFG04_STAT_RMA (1 << 29) |
| 193 | #define PCI_CFG04_STAT_SSE (1 << 30) |
| 194 | #define PCI_CFG04_STAT_PE (1 << 31) |
| 195 | |
| 196 | #define PCI_PBA_MSI (1 << 0) |
| 197 | #define PCI_PBA_P (1 << 2) |
| 198 | |
| 199 | /* PCI PBAC registers */ |
| 200 | #define PCI_PBAC_MSI (1 << 0) |
| 201 | #define PCI_PBAC_P (1 << 1) |
| 202 | #define PCI_PBAC_SIZE_BIT 2 |
| 203 | #define PCI_PBAC_SIZE 0x0000007c |
| 204 | #define PCI_PBAC_SB (1 << 7) |
| 205 | #define PCI_PBAC_PP (1 << 8) |
| 206 | #define PCI_PBAC_MR_BIT 9 |
| 207 | #define PCI_PBAC_MR 0x00000600 |
| 208 | #define PCI_PBAC_MR_RD 0 |
| 209 | #define PCI_PBAC_MR_RD_LINE 1 |
| 210 | #define PCI_PBAC_MR_RD_MULT 2 |
| 211 | #define PCI_PBAC_MRL (1 << 11) |
| 212 | #define PCI_PBAC_MRM (1 << 12) |
| 213 | #define PCI_PBAC_TRP (1 << 13) |
| 214 | |
| 215 | #define PCI_CFG40_TRDY_TIM 0x000000ff |
| 216 | #define PCI_CFG40_RET_LIM 0x0000ff00 |
| 217 | |
| 218 | /* |
| 219 | * PCI Local Base Address [0|1|2|3] Register |
| 220 | */ |
| 221 | |
| 222 | #define PCI_LBA_BADDR_BIT 0 |
| 223 | #define PCI_LBA_BADDR 0xffffff00 |
| 224 | |
| 225 | /* |
| 226 | * PCI Local Base Address Control Register |
| 227 | */ |
| 228 | |
| 229 | #define PCI_LBAC_MSI (1 << 0) |
| 230 | #define PCI_LBAC_MSI_MEM 0 |
| 231 | #define PCI_LBAC_MSI_IO 1 |
| 232 | #define PCI_LBAC_SIZE_BIT 2 |
| 233 | #define PCI_LBAC_SIZE 0x0000007c |
| 234 | #define PCI_LBAC_SB (1 << 7) |
| 235 | #define PCI_LBAC_RT (1 << 8) |
| 236 | #define PCI_LBAC_RT_NO_PREF 0 |
| 237 | #define PCI_LBAC_RT_PREF 1 |
| 238 | |
| 239 | /* |
| 240 | * PCI Local Base Address [0|1|2|3] Mapping Register |
| 241 | */ |
| 242 | #define PCI_LBAM_MADDR_BIT 8 |
| 243 | #define PCI_LBAM_MADDR 0xffffff00 |
| 244 | |
| 245 | /* |
| 246 | * PCI Decoupled Access Control Register |
| 247 | */ |
| 248 | #define PCI_DAC_DEN (1 << 0) |
| 249 | |
| 250 | /* |
| 251 | * PCI Decoupled Access Status Register |
| 252 | */ |
| 253 | #define PCI_DAS_D (1 << 0) |
| 254 | #define PCI_DAS_B (1 << 1) |
| 255 | #define PCI_DAS_E (1 << 2) |
| 256 | #define PCI_DAS_OFE (1 << 3) |
| 257 | #define PCI_DAS_OFF (1 << 4) |
| 258 | #define PCI_DAS_IFE (1 << 5) |
| 259 | #define PCI_DAS_IFF (1 << 6) |
| 260 | |
| 261 | /* |
| 262 | * PCI DMA Channel 8 Configuration Register |
| 263 | */ |
| 264 | #define PCI_DMA8C_MBS_BIT 0 |
| 265 | #define PCI_DMA8C_MBS 0x00000fff /* Maximum Burst Size. */ |
| 266 | #define PCI_DMA8C_OUR (1 << 12) |
| 267 | |
| 268 | /* |
| 269 | * PCI DMA Channel 9 Configuration Register |
| 270 | */ |
| 271 | #define PCI_DMA9C_MBS_BIT 0 /* Maximum Burst Size. */ |
| 272 | #define PCI_DMA9C_MBS 0x00000fff |
| 273 | |
| 274 | /* |
| 275 | * PCI to Memory(DMA Channel 8) AND Memory to PCI DMA(DMA Channel 9)Descriptors |
| 276 | */ |
| 277 | |
| 278 | #define PCI_DMAD_PT_BIT 22 /* in DEVCMD field (descriptor) */ |
| 279 | #define PCI_DMAD_PT 0x00c00000 /* preferred transaction field */ |
| 280 | /* These are for reads (DMA channel 8) */ |
| 281 | #define PCI_DMAD_DEVCMD_MR 0 /* memory read */ |
| 282 | #define PCI_DMAD_DEVCMD_MRL 1 /* memory read line */ |
| 283 | #define PCI_DMAD_DEVCMD_MRM 2 /* memory read multiple */ |
| 284 | #define PCI_DMAD_DEVCMD_IOR 3 /* I/O read */ |
| 285 | /* These are for writes (DMA channel 9) */ |
| 286 | #define PCI_DMAD_DEVCMD_MW 0 /* memory write */ |
| 287 | #define PCI_DMAD_DEVCMD_MWI 1 /* memory write invalidate */ |
| 288 | #define PCI_DMAD_DEVCMD_IOW 3 /* I/O write */ |
| 289 | |
| 290 | /* Swap byte field applies to both DMA channel 8 and 9 */ |
| 291 | #define PCI_DMAD_SB (1 << 24) /* swap byte field */ |
| 292 | |
| 293 | |
| 294 | /* |
| 295 | * PCI Target Control Register |
| 296 | */ |
| 297 | |
| 298 | #define PCI_TC_RTIMER_BIT 0 |
| 299 | #define PCI_TC_RTIMER 0x000000ff |
| 300 | #define PCI_TC_DTIMER_BIT 8 |
| 301 | #define PCI_TC_DTIMER 0x0000ff00 |
| 302 | #define PCI_TC_RDR (1 << 18) |
| 303 | #define PCI_TC_DDT (1 << 19) |
| 304 | |
| 305 | /* |
| 306 | * PCI messaging unit [applies to both inbound and outbound registers ] |
| 307 | */ |
| 308 | #define PCI_MSU_M0 (1 << 0) |
| 309 | #define PCI_MSU_M1 (1 << 1) |
| 310 | #define PCI_MSU_DB (1 << 2) |
| 311 | |
| 312 | #define PCI_MSG_ADDR 0xB8088010 |
| 313 | #define PCI0_ADDR 0xB8080000 |
| 314 | #define rc32434_pci ((struct pci_reg *) PCI0_ADDR) |
| 315 | #define rc32434_pci_msg ((struct pci_msu *) PCI_MSG_ADDR) |
| 316 | |
| 317 | #define PCIM_SHFT 0x6 |
| 318 | #define PCIM_BIT_LEN 0x7 |
| 319 | #define PCIM_H_EA 0x3 |
| 320 | #define PCIM_H_IA_FIX 0x4 |
| 321 | #define PCIM_H_IA_RR 0x5 |
| 322 | #if 0 |
| 323 | #define PCI_ADDR_START 0x13000000 |
| 324 | #endif |
| 325 | |
| 326 | #define PCI_ADDR_START 0x50000000 |
| 327 | |
| 328 | #define CPUTOPCI_MEM_WIN 0x02000000 |
| 329 | #define CPUTOPCI_IO_WIN 0x00100000 |
| 330 | #define PCILBA_SIZE_SHFT 2 |
| 331 | #define PCILBA_SIZE_MASK 0x1F |
| 332 | #define SIZE_256MB 0x1C |
| 333 | #define SIZE_128MB 0x1B |
| 334 | #define SIZE_64MB 0x1A |
| 335 | #define SIZE_32MB 0x19 |
| 336 | #define SIZE_16MB 0x18 |
| 337 | #define SIZE_4MB 0x16 |
| 338 | #define SIZE_2MB 0x15 |
| 339 | #define SIZE_1MB 0x14 |
| 340 | #define KORINA_CONFIG0_ADDR 0x80000000 |
| 341 | #define KORINA_CONFIG1_ADDR 0x80000004 |
| 342 | #define KORINA_CONFIG2_ADDR 0x80000008 |
| 343 | #define KORINA_CONFIG3_ADDR 0x8000000C |
| 344 | #define KORINA_CONFIG4_ADDR 0x80000010 |
| 345 | #define KORINA_CONFIG5_ADDR 0x80000014 |
| 346 | #define KORINA_CONFIG6_ADDR 0x80000018 |
| 347 | #define KORINA_CONFIG7_ADDR 0x8000001C |
| 348 | #define KORINA_CONFIG8_ADDR 0x80000020 |
| 349 | #define KORINA_CONFIG9_ADDR 0x80000024 |
| 350 | #define KORINA_CONFIG10_ADDR 0x80000028 |
| 351 | #define KORINA_CONFIG11_ADDR 0x8000002C |
| 352 | #define KORINA_CONFIG12_ADDR 0x80000030 |
| 353 | #define KORINA_CONFIG13_ADDR 0x80000034 |
| 354 | #define KORINA_CONFIG14_ADDR 0x80000038 |
| 355 | #define KORINA_CONFIG15_ADDR 0x8000003C |
| 356 | #define KORINA_CONFIG16_ADDR 0x80000040 |
| 357 | #define KORINA_CONFIG17_ADDR 0x80000044 |
| 358 | #define KORINA_CONFIG18_ADDR 0x80000048 |
| 359 | #define KORINA_CONFIG19_ADDR 0x8000004C |
| 360 | #define KORINA_CONFIG20_ADDR 0x80000050 |
| 361 | #define KORINA_CONFIG21_ADDR 0x80000054 |
| 362 | #define KORINA_CONFIG22_ADDR 0x80000058 |
| 363 | #define KORINA_CONFIG23_ADDR 0x8000005C |
| 364 | #define KORINA_CONFIG24_ADDR 0x80000060 |
| 365 | #define KORINA_CONFIG25_ADDR 0x80000064 |
| 366 | #define KORINA_CMD (PCI_CFG04_CMD_IO_ENA | \ |
| 367 | PCI_CFG04_CMD_MEM_ENA | \ |
| 368 | PCI_CFG04_CMD_BM_ENA | \ |
| 369 | PCI_CFG04_CMD_MW_INV | \ |
| 370 | PCI_CFG04_CMD_PAR_ENA | \ |
| 371 | PCI_CFG04_CMD_SER_ENA) |
| 372 | |
| 373 | #define KORINA_STAT (PCI_CFG04_STAT_MDPE | \ |
| 374 | PCI_CFG04_STAT_STA | \ |
| 375 | PCI_CFG04_STAT_RTA | \ |
| 376 | PCI_CFG04_STAT_RMA | \ |
| 377 | PCI_CFG04_STAT_SSE | \ |
| 378 | PCI_CFG04_STAT_PE) |
| 379 | |
| 380 | #define KORINA_CNFG1 ((KORINA_STAT<<16)|KORINA_CMD) |
| 381 | |
| 382 | #define KORINA_REVID 0 |
| 383 | #define KORINA_CLASS_CODE 0 |
| 384 | #define KORINA_CNFG2 ((KORINA_CLASS_CODE<<8) | \ |
| 385 | KORINA_REVID) |
| 386 | |
| 387 | #define KORINA_CACHE_LINE_SIZE 4 |
| 388 | #define KORINA_MASTER_LAT 0x3c |
| 389 | #define KORINA_HEADER_TYPE 0 |
| 390 | #define KORINA_BIST 0 |
| 391 | |
| 392 | #define KORINA_CNFG3 ((KORINA_BIST << 24) | \ |
| 393 | (KORINA_HEADER_TYPE<<16) | \ |
| 394 | (KORINA_MASTER_LAT<<8) | \ |
| 395 | KORINA_CACHE_LINE_SIZE) |
| 396 | |
| 397 | #define KORINA_BAR0 0x00000008 /* 128 MB Memory */ |
| 398 | #define KORINA_BAR1 0x18800001 /* 1 MB IO */ |
| 399 | #define KORINA_BAR2 0x18000001 /* 2 MB IO window for Korina |
| 400 | internal Registers */ |
| 401 | #define KORINA_BAR3 0x48000008 /* Spare 128 MB Memory */ |
| 402 | |
| 403 | #define KORINA_CNFG4 KORINA_BAR0 |
| 404 | #define KORINA_CNFG5 KORINA_BAR1 |
| 405 | #define KORINA_CNFG6 KORINA_BAR2 |
| 406 | #define KORINA_CNFG7 KORINA_BAR3 |
| 407 | |
| 408 | #define KORINA_SUBSYS_VENDOR_ID 0x011d |
| 409 | #define KORINA_SUBSYSTEM_ID 0x0214 |
| 410 | #define KORINA_CNFG8 0 |
| 411 | #define KORINA_CNFG9 0 |
| 412 | #define KORINA_CNFG10 0 |
| 413 | #define KORINA_CNFG11 ((KORINA_SUBSYS_VENDOR_ID<<16) | \ |
| 414 | KORINA_SUBSYSTEM_ID) |
| 415 | #define KORINA_INT_LINE 1 |
| 416 | #define KORINA_INT_PIN 1 |
| 417 | #define KORINA_MIN_GNT 8 |
| 418 | #define KORINA_MAX_LAT 0x38 |
| 419 | #define KORINA_CNFG12 0 |
| 420 | #define KORINA_CNFG13 0 |
| 421 | #define KORINA_CNFG14 0 |
| 422 | #define KORINA_CNFG15 ((KORINA_MAX_LAT<<24) | \ |
| 423 | (KORINA_MIN_GNT<<16) | \ |
| 424 | (KORINA_INT_PIN<<8) | \ |
| 425 | KORINA_INT_LINE) |
| 426 | #define KORINA_RETRY_LIMIT 0x80 |
| 427 | #define KORINA_TRDY_LIMIT 0x80 |
| 428 | #define KORINA_CNFG16 ((KORINA_RETRY_LIMIT<<8) | \ |
| 429 | KORINA_TRDY_LIMIT) |
| 430 | #define PCI_PBAxC_R 0x0 |
| 431 | #define PCI_PBAxC_RL 0x1 |
| 432 | #define PCI_PBAxC_RM 0x2 |
| 433 | #define SIZE_SHFT 2 |
| 434 | |
| 435 | #if defined(__MIPSEB__) |
| 436 | #define KORINA_PBA0C (PCI_PBAC_MRL | PCI_PBAC_SB | \ |
| 437 | ((PCI_PBAxC_RM & 0x3) << PCI_PBAC_MR_BIT) | \ |
| 438 | PCI_PBAC_PP | \ |
| 439 | (SIZE_128MB<<SIZE_SHFT) | \ |
| 440 | PCI_PBAC_P) |
| 441 | #else |
| 442 | #define KORINA_PBA0C (PCI_PBAC_MRL | \ |
| 443 | ((PCI_PBAxC_RM & 0x3) << PCI_PBAC_MR_BIT) | \ |
| 444 | PCI_PBAC_PP | \ |
| 445 | (SIZE_128MB<<SIZE_SHFT) | \ |
| 446 | PCI_PBAC_P) |
| 447 | #endif |
| 448 | #define KORINA_CNFG17 KORINA_PBA0C |
| 449 | #define KORINA_PBA0M 0x0 |
| 450 | #define KORINA_CNFG18 KORINA_PBA0M |
| 451 | |
| 452 | #if defined(__MIPSEB__) |
| 453 | #define KORINA_PBA1C ((SIZE_1MB<<SIZE_SHFT) | PCI_PBAC_SB | \ |
| 454 | PCI_PBAC_MSI) |
| 455 | #else |
| 456 | #define KORINA_PBA1C ((SIZE_1MB<<SIZE_SHFT) | \ |
| 457 | PCI_PBAC_MSI) |
| 458 | #endif |
| 459 | #define KORINA_CNFG19 KORINA_PBA1C |
| 460 | #define KORINA_PBA1M 0x0 |
| 461 | #define KORINA_CNFG20 KORINA_PBA1M |
| 462 | |
| 463 | #if defined(__MIPSEB__) |
| 464 | #define KORINA_PBA2C ((SIZE_2MB<<SIZE_SHFT) | PCI_PBAC_SB | \ |
| 465 | PCI_PBAC_MSI) |
| 466 | #else |
| 467 | #define KORINA_PBA2C ((SIZE_2MB<<SIZE_SHFT) | \ |
| 468 | PCI_PBAC_MSI) |
| 469 | #endif |
| 470 | #define KORINA_CNFG21 KORINA_PBA2C |
| 471 | #define KORINA_PBA2M 0x18000000 |
| 472 | #define KORINA_CNFG22 KORINA_PBA2M |
| 473 | #define KORINA_PBA3C 0 |
| 474 | #define KORINA_CNFG23 KORINA_PBA3C |
| 475 | #define KORINA_PBA3M 0 |
| 476 | #define KORINA_CNFG24 KORINA_PBA3M |
| 477 | |
| 478 | #define PCITC_DTIMER_VAL 8 |
| 479 | #define PCITC_RTIMER_VAL 0x10 |
| 480 | |
| 481 | #endif /* __ASM_RC32434_PCI_H */ |