SPRUIL1D May 2019 – December 2024 DRA829J , DRA829J-Q1 , DRA829V , DRA829V-Q1 , TDA4VM , TDA4VM-Q1
The PCIe subsystem includes two CBASS modules (CBASS_SLV0/1 and CBASS_SLV2) to provide access to the various sub-components.
The CBASS_SLV0/1 is used to access the PCIe egress data region through the VBUSM2AXI bridge and the AXI slave port of the PCIe controller. There are three data regions implemented in the CBASS_SLV0/1. The PCIE_DAT0 region provides a region with 27 bits of address and PCIE_DAT1 region provides a region with 32 bits of address. These regions are provided to ensure separate memory spaces for 32-bit and 64-bit maps at the SoC level. The PCIE_DAT2 region provides a region with 48 bits of address. This is used to route all requests with casel not equal to zero to the PCIe controller slave port. The destination for all these three regions is the AXI slave port of the PCIe controller. CBASS_SLV0 is used for high priority access; CBASS_SLV1 is used for low priority access.
The CBASS_SLV2 provides multiple regions to access the VBUSP configuration ports of the sub-components of the PCIe sub-system like the PCIe controller configuration port, USER_CFG, VMAP, CPTS and the ECC aggregators. Having multiple regions on the VBUSP configuration port enables the SoC infrastructure to have hardware firewalls that can provide secure access to configuration registers.
The SERDES PLL should be initialized prior to accessing the PCIe core and ECC_AGGR1 configuration registers. Any accesses to these two regions prior to initializing the SERDES PLL will complete with a read/write status error in CBASS_SLV2.