00001 /** ============================================================================ 00002 * @file dm6437_hal_pci.h 00003 * 00004 * @path $(DSPLINK)/gpp/inc/sys/arch/DM6437/ 00005 * 00006 * @brief Hardware Abstraction Layer for PC-DM64LC PCI interface. 00007 * Defines interfaces to initialize the PCI interface. 00008 * 00009 * @ver 1.65.00.03 00010 * ============================================================================ 00011 * @copyright Copyright (C) 2002-2009, Texas Instruments Incorporated - 00012 * http://www.ti.com/ 00013 * 00014 * Redistribution and use in source and binary forms, with or without 00015 * modification, are permitted provided that the following conditions 00016 * are met: 00017 * 00018 * * Redistributions of source code must retain the above copyright 00019 * notice, this list of conditions and the following disclaimer. 00020 * 00021 * * Redistributions in binary form must reproduce the above copyright 00022 * notice, this list of conditions and the following disclaimer in the 00023 * documentation and/or other materials provided with the distribution. 00024 * 00025 * * Neither the name of Texas Instruments Incorporated nor the names of 00026 * its contributors may be used to endorse or promote products derived 00027 * from this software without specific prior written permission. 00028 * 00029 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 00030 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 00031 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 00032 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 00033 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 00034 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 00035 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 00036 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 00037 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 00038 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 00039 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 00040 * ============================================================================ 00041 */ 00042 00043 00044 #if !defined (DM6437_HAL_PCI_H) 00045 #define DM6437_HAL_PCI_H 00046 00047 00048 /* ----------------------------------- DSP/BIOS Link */ 00049 #include <dsplink.h> 00050 00051 /* ----------------------------------- Hardware Abstraction Layer */ 00052 #include <dm6437_hal.h> 00053 00054 00055 #if defined (__cplusplus) 00056 extern "C" { 00057 #endif /* if defined (__cplusplus) */ 00058 00059 00060 /** ============================================================================ 00061 * @const NUM_BARS 00062 * 00063 * @brief Number of BAR registers. 00064 * ============================================================================ 00065 */ 00066 #define NUM_BARS 6 00067 00068 /** ============================================================================ 00069 * @const PCI33_DMA_MAXTHROUGHPUT 00070 * 00071 * @brief Maximum through put of PCI interface. 00072 * ============================================================================ 00073 */ 00074 #define PCI33_DMA_MAXTHROUGHPUT 132u 00075 00076 /** ============================================================================ 00077 * @const DDR_REGS_BAR_NO 00078 * 00079 * @brief Number for the BAR register used for DDR EMIF register access. 00080 * ============================================================================ 00081 */ 00082 #define DDR_REGS_BAR_NO 1u 00083 00084 /** ============================================================================ 00085 * @const CFG_REGS_BAR_NO 00086 * 00087 * @brief Number for the BAR register used for register access. 00088 * ============================================================================ 00089 */ 00090 #define CFG_REGS_BAR_NO 2u 00091 00092 /** ============================================================================ 00093 * @const RWMEM_BAR_NO 00094 * 00095 * @brief Number for the BAR register used for L1DRAM access. 00096 * ============================================================================ 00097 */ 00098 #define RWMEM_BAR_NO 4u 00099 00100 /** ============================================================================ 00101 * @const SHMEM_BAR_NO 00102 * 00103 * @brief Number for the BAR register used for shared memory access. 00104 * ============================================================================ 00105 */ 00106 #define SHMEM_BAR_NO 5u 00107 00108 /** ============================================================================ 00109 * @const LPSC_GEM 00110 * 00111 * @brief Module number for GEM. 00112 * ============================================================================ 00113 */ 00114 #define LPSC_GEM 39u 00115 00116 /** ============================================================================ 00117 * @const LPSC_EDMA_TPCC 00118 * 00119 * @brief Module number for EDMA TPCC. 00120 * ============================================================================ 00121 */ 00122 #define LPSC_EDMA_TPCC 2u 00123 00124 /** ============================================================================ 00125 * @const LPSC_EDMA_TPTC0 00126 * 00127 * @brief Module number for EDMA TPTC0. 00128 * ============================================================================ 00129 */ 00130 #define LPSC_EDMA_TPTC0 3u 00131 00132 /** ============================================================================ 00133 * @const LPSC_EDMA_TPTC1 00134 * 00135 * @brief Module number for EDMA TPTC1. 00136 * ============================================================================ 00137 */ 00138 #define LPSC_EDMA_TPTC1 4u 00139 00140 /** ============================================================================ 00141 * @const LPSC_EDMA_TPTC2 00142 * 00143 * @brief Module number for EDMA TPTC2. 00144 * ============================================================================ 00145 */ 00146 #define LPSC_EDMA_TPTC2 5u 00147 00148 /** ============================================================================ 00149 * @const LPSC_DDR 00150 * 00151 * @brief Module number for DDR. 00152 * ============================================================================ 00153 */ 00154 #define LPSC_DDR 13u 00155 00156 /** ============================================================================ 00157 * @const DM6437_PCIMEM_BASE 00158 * 00159 * @brief PCI memory base in GEM memory space. 00160 * ============================================================================ 00161 */ 00162 #define DM6437_PCIMEM_BASE 0x30000000u 00163 00164 /** ============================================================================ 00165 * @const DM6437_DEVREG_BASE 00166 * 00167 * @brief Base address of Device config registers. 00168 * ============================================================================ 00169 */ 00170 #define DM6437_DEVREG_BASE 0x40000u 00171 00172 /** ============================================================================ 00173 * @const DM6437_PLLREG_BASE 00174 * 00175 * @brief Base address of PLL0 registers. 00176 * ============================================================================ 00177 */ 00178 #define DM6437_PLL0REG_BASE 0x40800u 00179 00180 /** ============================================================================ 00181 * @const DM6437_PLLREG_BASE 00182 * 00183 * @brief Base address of PLL1 registers. 00184 * ============================================================================ 00185 */ 00186 #define DM6437_PLL1REG_BASE 0x40C00u 00187 00188 /** ============================================================================ 00189 * @const DM6437_EDMAREG_BASE 00190 * 00191 * @brief Base address of EDMA registers. 00192 * ============================================================================ 00193 */ 00194 #define DM6437_EDMAREG_BASE 0x0u 00195 00196 /** ============================================================================ 00197 * @const DM6437_DDRREG_BASE 00198 * 00199 * @brief Base address of DDR PHY registers. 00200 * ============================================================================ 00201 */ 00202 #define DM6437_DDRREG_BASE 0x0u 00203 00204 /** ============================================================================ 00205 * @const DM6437_PSCREG_BASE 00206 * 00207 * @brief Base address of PSC registers. 00208 * ============================================================================ 00209 */ 00210 #define DM6437_PSCREG_BASE 0x41000u 00211 00212 /** ============================================================================ 00213 * @const DM6437_PCIREG_BASE 00214 * 00215 * @brief Base address of PCI backend registers. 00216 * ============================================================================ 00217 */ 00218 #define DM6437_PCIREG_BASE 0x1A000u 00219 00220 /** ============================================================================ 00221 * @const DM6437_SOFTINT0_MASK 00222 * 00223 * @brief Mask for generating soft int0 (DSP->GPP) 00224 * ============================================================================ 00225 */ 00226 #define DM6437_SOFTINT0_MASK 0x01000000u 00227 00228 /** ============================================================================ 00229 * @const DM6437_SOFTINT1_MASK 00230 * 00231 * @brief Mask for generating soft int1 (GPP->DSP) 00232 * ============================================================================ 00233 */ 00234 #define DM6437_SOFTINT1_MASK 0x02000000u 00235 00236 /** ============================================================================ 00237 * @const DM6437_LRESET_MASK 00238 * 00239 * @brief Mask for reseting/releasing GEM. 00240 * ============================================================================ 00241 */ 00242 #define DM6437_LRESET_MASK 0x00000100u 00243 00244 /** ============================================================================ 00245 * @const DM6437_INTSTATUS_MASK 00246 * 00247 * @brief Bitmask for Interrupt status (DSP->GPP) 00248 * ============================================================================ 00249 */ 00250 #define DM6437_INTSTATUS_MASK 0x00080000u 00251 00252 /** ============================================================================ 00253 * @const DM6437_BOOTCMPLTBC_MASK 00254 * 00255 * @brief Bitmask for Setting BC bit in BOOTCOMPLT register. 00256 * ============================================================================ 00257 */ 00258 #define DM6437_BOOTCMPLTBC_MASK 0x00000001u 00259 00260 /** ============================================================================ 00261 * @const DM6437_PCIADLEN 00262 * 00263 * @brief Length each segment of addressable PCI Space.. 00264 * ============================================================================ 00265 */ 00266 #define DM6437_PCIADLEN 0x00800000u 00267 00268 /** ============================================================================ 00269 * @const DM6437_PCIADWRBITMASK 00270 * 00271 * @brief Mask indicating writeable bits in PCI Address Window registers. 00272 * ============================================================================ 00273 */ 00274 #define DM6437_PCIADWRBITMASK 0xFF800000u 00275 00276 /** ============================================================================ 00277 * @const DM6437_PAGEWRBITMASK 00278 * 00279 * @brief Mask indicating writeable bits in PCI Base Address Mask Register5. 00280 * ============================================================================ 00281 */ 00282 #define DM6437_PAGEWRBITMASK 0xFF800000u 00283 00284 00285 /** ============================================================================ 00286 * @name DM6437_devRegs 00287 * 00288 * @brief Register Overlay Structure for Device config registers. 00289 * ============================================================================ 00290 */ 00291 typedef struct DM6437_devRegs_tag { 00292 volatile Uint32 PINMUX0 ; 00293 volatile Uint32 PINMUX1 ; 00294 volatile Uint32 DSPBOOTADDR ; 00295 volatile Uint32 BOOTCMPLT ; 00296 volatile Uint32 RSVD0 ; 00297 volatile Uint32 BOOTCFG ; 00298 volatile Uint32 VDD1P0V_ADJ ; 00299 volatile Uint32 VDD1P2V_ADJ ; 00300 volatile Uint32 DDR_SLEW ; 00301 volatile Uint32 PERIPHEN ; 00302 volatile Uint32 DEVICE_ID ; 00303 volatile Uint32 DAC_DEMEN ; 00304 volatile Uint32 UHPICTL ; 00305 volatile Uint32 RSVD1 [2] ; 00306 volatile Uint32 MSTPRI0 ; 00307 volatile Uint32 MSTPRI1 ; 00308 volatile Uint32 VPSS_CLK_CTRL ; 00309 volatile Uint32 VDD3P3V_PWRDN ; 00310 volatile Uint32 DFT_ENABLE ; 00311 volatile Uint32 SEC_SCAN_REG ; 00312 volatile Uint32 SEC_TEST_REG ; 00313 volatile Uint32 SEC_TAP_CTL ; 00314 volatile Uint32 PUBLIC_KEY0 ; 00315 volatile Uint32 PUBLIC_KEY1 ; 00316 volatile Uint32 PUBLIC_KEY2 ; 00317 volatile Uint32 PUBLIC_KEY3 ; 00318 volatile Uint32 VLYNQ_DELAY ; 00319 volatile Uint32 SEC_PSEUDO0 ; 00320 volatile Uint32 SEC_PSEUDO1 ; 00321 volatile Uint32 RSVD2 [3] ; 00322 volatile Uint32 TIMERCTL ; 00323 volatile Uint32 TPTCCCFG ; 00324 volatile Uint32 RSVD3 ; 00325 } DM6437_devRegs ; 00326 00327 /** ============================================================================ 00328 * @name DM6437_pllRegs 00329 * 00330 * @brief Register Overlay Structure for PLL. 00331 * ============================================================================ 00332 */ 00333 typedef struct DM6437_pllRegs_tag { 00334 volatile Uint32 PID ; 00335 volatile Uint8 RSVD0 [220] ; 00336 volatile Uint32 FUSERR ; 00337 volatile Uint32 RSTYPE ; 00338 volatile Uint32 RSTDEF ; 00339 volatile Uint8 RSVD1 [20] ; 00340 volatile Uint32 PLLCTL ; 00341 volatile Uint32 OCSEL ; 00342 volatile Uint32 SECCTL ; 00343 volatile Uint8 RSVD2 [4] ; 00344 volatile Uint32 PLLM ; 00345 volatile Uint32 PREDIV ; 00346 volatile Uint32 PLLDIV1 ; 00347 volatile Uint32 PLLDIV2 ; 00348 volatile Uint32 PLLDIV3 ; 00349 volatile Uint32 OSCDIV1 ; 00350 volatile Uint32 POSTDIV ; 00351 volatile Uint32 BPDIV ; 00352 volatile Uint32 WAKEUP ; 00353 volatile Uint8 RSVD3 [4] ; 00354 volatile Uint32 PLLCMD ; 00355 volatile Uint32 PLLSTAT ; 00356 volatile Uint32 ALNCTL ; 00357 volatile Uint32 DCHANGE ; 00358 volatile Uint32 CKEN ; 00359 volatile Uint32 CKSTAT ; 00360 volatile Uint32 SYSTAT ; 00361 volatile Uint8 RSVD4 [12] ; 00362 volatile Uint32 PLLDIV4 ; 00363 volatile Uint32 PLLDIV5 ; 00364 volatile Uint32 PLLDIV6 ; 00365 volatile Uint32 PLLDIV7 ; 00366 volatile Uint32 PLLDIV8 ; 00367 } DM6437_pllRegs ; 00368 00369 /** ============================================================================ 00370 * @name DM6437_ddrRegs 00371 * 00372 * @brief Register Overlay Structure for DDR. 00373 * ============================================================================ 00374 */ 00375 typedef struct { 00376 volatile Uint32 ERCSR ; 00377 volatile Uint32 SDRSTAT ; 00378 volatile Uint32 SDBCR ; 00379 volatile Uint32 SDRCR ; 00380 volatile Uint32 SDTIMR ; 00381 volatile Uint32 SDTIMR2 ; 00382 volatile Uint8 RSVD0 [8] ; 00383 volatile Uint32 VBPR ; 00384 volatile Uint8 RSVD1 [4] ; 00385 volatile Uint32 VBCFG1 ; 00386 volatile Uint32 VBCFG2 ; 00387 volatile Uint8 RSVD2 [16] ; 00388 volatile Uint32 PERFC1R ; 00389 volatile Uint32 PERFC2R ; 00390 volatile Uint32 PCCR ; 00391 volatile Uint32 PCMRSR ; 00392 volatile Uint8 RSVD3 [48] ; 00393 volatile Uint32 ASYNCCS2CR ; 00394 volatile Uint32 ASYNCCS3CR ; 00395 volatile Uint32 ASYNCCS4CR ; 00396 volatile Uint32 ASYNCCS5CR ; 00397 volatile Uint8 RSVD4 [16] ; 00398 volatile Uint32 AWCCR ; 00399 volatile Uint8 RSVD5 [28] ; 00400 volatile Uint32 IRR ; 00401 volatile Uint32 IMR ; 00402 volatile Uint32 IMSR ; 00403 volatile Uint32 IMCR ; 00404 volatile Uint8 RSVD6 [16] ; 00405 volatile Uint32 DDRPHYREV ; 00406 volatile Uint32 DDRPHYCR ; 00407 volatile Uint32 DDRPHYSR ; 00408 volatile Uint8 RSVD7 [4] ; 00409 volatile Uint32 VTPCTRL ; 00410 volatile Uint32 VTPSTAT ; 00411 } DM6437_ddrRegs ; 00412 00413 /** ============================================================================ 00414 * @name DM6437_pscRegs 00415 * 00416 * @brief Register Overlay Structure for PSC. 00417 * ============================================================================ 00418 */ 00419 typedef struct DM6437_pscRegs_tag { 00420 volatile Uint32 PID ; 00421 volatile Uint8 RSVD0 [12] ; 00422 volatile Uint32 GBLCTL ; 00423 volatile Uint8 RSVD1 [4] ; 00424 volatile Uint32 INTEVAL ; 00425 volatile Uint8 RSVD2 [36] ; 00426 volatile Uint32 ERRPR0 ; 00427 volatile Uint32 ERRPR1 ; 00428 volatile Uint8 RSVD3 [8] ; 00429 volatile Uint32 ERRCR0 ; 00430 volatile Uint32 ERRCR1 ; 00431 volatile Uint8 RSVD4 [8] ; 00432 volatile Uint32 PERRPR ; 00433 volatile Uint8 RSVD5 [4] ; 00434 volatile Uint32 PERRCR ; 00435 volatile Uint8 RSVD6 [4] ; 00436 volatile Uint32 EPCPR ; 00437 volatile Uint8 RSVD7 [4] ; 00438 volatile Uint32 EPCR ; 00439 volatile Uint8 RSVD8 [132] ; 00440 volatile Uint32 RAILSTAT ; 00441 volatile Uint32 RAILCTL ; 00442 volatile Uint32 RAILSEL ; 00443 volatile Uint8 RSVD9 [20] ; 00444 volatile Uint32 PTCMD ; 00445 volatile Uint8 RSVD10 [4] ; 00446 volatile Uint32 PTSTAT ; 00447 volatile Uint8 RSVD11 [212] ; 00448 volatile Uint32 PDSTAT [41] ; 00449 volatile Uint8 RSVD12 [92] ; 00450 volatile Uint32 PDCTL [41] ; 00451 volatile Uint8 RSVD13 [348] ; 00452 volatile Uint32 MRSTOUT [2] ; 00453 volatile Uint8 RSVD14 [8] ; 00454 volatile Uint32 MCKOUT [2] ; 00455 volatile Uint8 RSVD15 [232] ; 00456 volatile Uint32 MDCFG [41] ; 00457 volatile Uint8 RSVD16 [348] ; 00458 volatile Uint32 MDSTAT [41] ; 00459 volatile Uint8 RSVD17 [348] ; 00460 volatile Uint32 MDCTL [41] ; 00461 } DM6437_pscRegs ; 00462 00463 /** ============================================================================ 00464 * @name DM6437_paramEntry 00465 * 00466 * @brief Register Overlay Structure for PARAMENTRY. 00467 * ============================================================================ 00468 */ 00469 typedef struct DM6437_paramEntry_tags { 00470 volatile Uint32 OPTION ; 00471 volatile Uint32 SRC ; 00472 volatile Uint32 A_B_CNT ; 00473 volatile Uint32 DST ; 00474 volatile Uint32 SRC_DST_BIDX ; 00475 volatile Uint32 LINK_BCNTRLD ; 00476 volatile Uint32 SRC_DST_CIDX ; 00477 volatile Uint32 CCNT ; 00478 } DM6437_paramEntry ; 00479 00480 /** ============================================================================ 00481 * @name DM6437_edmaRegs 00482 * 00483 * @brief Register Overlay Structure for EDMA. 00484 * ============================================================================ 00485 */ 00486 typedef struct DM6437_edmaRegs_tag { 00487 volatile Uint32 REV ; 00488 volatile Uint32 CCCFG ; 00489 volatile Uint8 RSVD0 [248] ; 00490 volatile Uint32 DCHMAP [64] ; 00491 volatile Uint32 QCHMAP [8] ; 00492 volatile Uint8 RSVD1 [32] ; 00493 volatile Uint32 DMAQNUM [8] ; 00494 volatile Uint32 QDMAQNUM ; 00495 volatile Uint8 RSVD2 [28] ; 00496 volatile Uint32 QUETCMAP ; 00497 volatile Uint32 QUEPRI ; 00498 volatile Uint8 RSVD3 [120] ; 00499 volatile Uint32 EMR ; 00500 volatile Uint32 EMRH ; 00501 volatile Uint32 EMCR ; 00502 volatile Uint32 EMCRH ; 00503 volatile Uint32 QEMR ; 00504 volatile Uint32 QEMCR ; 00505 volatile Uint32 CCERR ; 00506 volatile Uint32 CCERRCLR ; 00507 volatile Uint32 EEVAL ; 00508 volatile Uint8 RSVD4 [28] ; 00509 volatile Uint8 RSVD5 [64] ; 00510 volatile Uint32 QRAE [8] ; 00511 volatile Uint8 RSVD6[96] ; 00512 volatile Uint8 RSVD7 [512] ; 00513 volatile Uint32 QSTAT [8] ; 00514 volatile Uint32 QWMTHRA ; 00515 volatile Uint32 QWMTHRB ; 00516 volatile Uint8 RSVD8 [24] ; 00517 volatile Uint32 CCSTAT ; 00518 volatile Uint8 RSVD9 [188] ; 00519 volatile Uint32 AETCTL ; 00520 volatile Uint32 AETSTAT ; 00521 volatile Uint32 AETCMD ; 00522 volatile Uint8 RSVD10 [244] ; 00523 volatile Uint32 MPFAR ; 00524 volatile Uint32 MPFSR ; 00525 volatile Uint32 MPFCR ; 00526 volatile Uint32 MPPAG ; 00527 volatile Uint32 MPPA [8] ; 00528 volatile Uint8 RSVD11 [2000] ; 00529 volatile Uint32 ER ; 00530 volatile Uint32 ERH ; 00531 volatile Uint32 ECR ; 00532 volatile Uint32 ECRH ; 00533 volatile Uint32 ESR ; 00534 volatile Uint32 ESRH ; 00535 volatile Uint32 CER ; 00536 volatile Uint32 CERH ; 00537 volatile Uint32 EER ; 00538 volatile Uint32 EERH ; 00539 volatile Uint32 EECR ; 00540 volatile Uint32 EECRH ; 00541 volatile Uint32 EESR ; 00542 volatile Uint32 EESRH ; 00543 volatile Uint32 SER ; 00544 volatile Uint32 SERH ; 00545 volatile Uint32 SECR ; 00546 volatile Uint32 SECRH ; 00547 volatile Uint8 RSVD12 [8] ; 00548 volatile Uint32 IER ; 00549 volatile Uint32 IERH ; 00550 volatile Uint32 IECR ; 00551 volatile Uint32 IECRH ; 00552 volatile Uint32 IESR ; 00553 volatile Uint32 IESRH ; 00554 volatile Uint32 IPR ; 00555 volatile Uint32 IPRH ; 00556 volatile Uint32 ICR ; 00557 volatile Uint32 ICRH ; 00558 volatile Uint32 IEVAL ; 00559 volatile Uint8 RSVD13 [4] ; 00560 volatile Uint32 QER ; 00561 volatile Uint32 QEER ; 00562 volatile Uint32 QEECR ; 00563 volatile Uint32 QEESR ; 00564 volatile Uint32 QSER ; 00565 volatile Uint32 QSECR ; 00566 volatile Uint8 RSVD14 [3944] ; 00567 volatile Uint8 RSVD15 [4096] ; 00568 volatile Uint8 RSVD16 [4096] ; 00569 DM6437_paramEntry PARAMENTRY[512] ; 00570 } DM6437_edmaRegs ; 00571 00572 /** ============================================================================ 00573 * @name DM6437_pciRegs 00574 * 00575 * @brief PCI Back end register overlay structure. 00576 * ============================================================================ 00577 */ 00578 typedef struct DM6437_pciRegs_tag { 00579 volatile Uint32 PCIREVID ; 00580 volatile Uint8 RSVD0 [12] ; 00581 volatile Uint32 PCISTATSET ; 00582 volatile Uint32 PCISTATCLR ; 00583 volatile Uint8 RSVD1 [8] ; 00584 volatile Uint32 PCIHINTSET ; 00585 volatile Uint32 PCIHINTCLR ; 00586 volatile Uint8 RSVD2 [8] ; 00587 volatile Uint32 PCIBINTSET ; 00588 volatile Uint32 PCIBINTCLR ; 00589 volatile Uint32 PCIBCLKMGT ; 00590 volatile Uint8 RSVD3 [196] ; 00591 volatile Uint32 PCIVENDEVMIR ; 00592 volatile Uint32 PCICSRMIR ; 00593 volatile Uint32 PCICLREVMIR ; 00594 volatile Uint32 PCICLINEMIR ; 00595 volatile Uint32 PCIBAR0MSK ; 00596 volatile Uint32 PCIBAR1MSK ; 00597 volatile Uint32 PCIBAR2MSK ; 00598 volatile Uint32 PCIBAR3MSK ; 00599 volatile Uint32 PCIBAR4MSK ; 00600 volatile Uint32 PCIBAR5MSK ; 00601 volatile Uint8 RSVD4[4] ; 00602 volatile Uint32 PCISUBIDMIR ; 00603 volatile Uint8 RSVD5 [4] ; 00604 volatile Uint32 PCICPBPTRMIR ; 00605 volatile Uint8 RSVD6 [4] ; 00606 volatile Uint32 PCILGINTMIR ; 00607 volatile Uint8 RSVD7 [64] ; 00608 volatile Uint32 PCISLVCNTL ; 00609 volatile Uint8 RSVD8 [60] ; 00610 volatile Uint32 PCIBAR0TRL ; 00611 volatile Uint32 PCIBAR1TRL ; 00612 volatile Uint32 PCIBAR2TRL ; 00613 volatile Uint32 PCIBAR3TRL ; 00614 volatile Uint32 PCIBAR4TRL ; 00615 volatile Uint32 PCIBAR5TRL ; 00616 volatile Uint8 RSVD9 [8] ; 00617 volatile Uint32 PCIBARMIR [6] ; 00618 volatile Uint8 RSVD10 [264] ; 00619 volatile Uint32 PCIMCFGDAT ; 00620 volatile Uint32 PCIMCFGADR ; 00621 volatile Uint32 PCIMCFGCMD ; 00622 volatile Uint8 RSVD11 [4] ; 00623 volatile Uint32 PCIMSTCFG ; 00624 volatile Uint32 PCIADDSUB [32] ; 00625 volatile Uint32 PCIVENDEVPRG ; 00626 volatile Uint32 PCICMDSTATPRG ; 00627 volatile Uint32 PCICLREVPRG ; 00628 volatile Uint32 PCISUBIDPRG ; 00629 volatile Uint32 PCIMAXLGPRG ; 00630 volatile Uint32 PCILRSTREG ; 00631 volatile Uint32 PCICFGDONE ; 00632 volatile Uint32 PCIBAR0MPRG ; 00633 volatile Uint32 PCIBAR1MPRG ; 00634 volatile Uint32 PCIBAR2MPRG ; 00635 volatile Uint32 PCIBAR3MPRG ; 00636 volatile Uint32 PCIBAR4MPRG ; 00637 volatile Uint32 PCIBAR5MPRG ; 00638 volatile Uint32 PCIBAR0PRG ; 00639 volatile Uint32 PCIBAR1PRG ; 00640 volatile Uint32 PCIBAR2PRG ; 00641 volatile Uint32 PCIBAR3PRG ; 00642 volatile Uint32 PCIBAR4PRG ; 00643 volatile Uint32 PCIBAR5PRG ; 00644 volatile Uint32 PCIBAR0TRLPRG ; 00645 volatile Uint32 PCIBAR1TRLPRG ; 00646 volatile Uint32 PCIBAR2TRLPRG ; 00647 volatile Uint32 PCIBAR3TRLPRG ; 00648 volatile Uint32 PCIBAR4TRLPRG ; 00649 volatile Uint32 PCIBAR5TRLPRG ; 00650 volatile Uint32 PCIBASENPRG ; 00651 } DM6437_pciRegs ; 00652 00653 00654 /** ============================================================================ 00655 * @name DM6437_HalPciPhyObj_tag 00656 * 00657 * @brief Physical Interface object. 00658 * 00659 * @param dev 00660 * Pointer to Linux struct for pci device . 00661 * @param busNo 00662 * BUS number for PCI card . 00663 * @param slotNo 00664 * SLOT number for PCI card . 00665 * @param prevPageAddr 00666 * Stores previous page base address . 00667 * @param barPhys 00668 * Physical address of BAR areas . 00669 * @param barLen 00670 * Length of BAR areas . 00671 * @param barVirt 00672 * Virtual address of BAR areas . 00673 * @param chnlId 00674 * EDMA Channel number. 00675 * ============================================================================ 00676 */ 00677 struct DM6437_HalPciPhyObj_tag { 00678 Pvoid dev ; 00679 Uint32 irqId ; 00680 Uint32 busNo ; 00681 Uint32 slotNo ; 00682 Uint32 prevPageAddr ; 00683 Uint32 barPhys [NUM_BARS] ; 00684 Uint32 barLen [NUM_BARS] ; 00685 Uint32 barVirt [NUM_BARS] ; 00686 Uint32 edmaChnlId ; 00687 } ; 00688 00689 00690 #if defined (__cplusplus) 00691 } 00692 #endif /* if defined (__cplusplus) */ 00693 00694 #endif /* !defined (DM6437_HAL_PCI_H) */