Hello,
I'm using the C6678 PCIe module with pdk_C6678_1_1_2_6.
I noticed something : in the CSL there is an error about the device_vendor_id register.
It is not rightly decoded.
TI vendor id is 0x104C
However in the file cslr_pcie_cfg_endpoint.h there is :
#define CSL_PCIE_CFG_SPACE_ENDPOINT_VENDOR_DEVICE_ID_VENDOR_ID_MASK (0xFFFF0000u) #define CSL_PCIE_CFG_SPACE_ENDPOINT_VENDOR_DEVICE_ID_VENDOR_ID_SHIFT (0x00000010u) #define CSL_PCIE_CFG_SPACE_ENDPOINT_VENDOR_DEVICE_ID_VENDOR_ID_RESETVAL (0x00008888u) #define CSL_PCIE_CFG_SPACE_ENDPOINT_VENDOR_DEVICE_ID_DEVICE_ID_MASK (0x0000FFFFu) #define CSL_PCIE_CFG_SPACE_ENDPOINT_VENDOR_DEVICE_ID_DEVICE_ID_SHIFT (0x00000000u) #define CSL_PCIE_CFG_SPACE_ENDPOINT_VENDOR_DEVICE_ID_DEVICE_ID_RESETVAL (0x0000104Cu) #define CSL_PCIE_CFG_SPACE_ENDPOINT_VENDOR_DEVICE_ID_RESETVAL (0x8888104Cu)
As you can see the reset value of the DEVICE ID is 0x104C which is in fact the Vendor id...
Also when I use the LLD to read the vendor id and device id on the Root Complex with the following code :
memset (&idReg, 0, sizeof(idReg)); memset (&getRegs, 0, sizeof(getRegs)); getRegs.vndDevId = &idReg; if ((retVal = Pcie_readRegs (handle, pcie_LOCATION_LOCAL, &getRegs)) != pcie_RET_OK) { printf("Read vndDevId LOCAL register failed!\n"); } /* First the RC reads its own Vendor ID and Device ID */ printf("RC Vendor id 0x%x, Device id 0x%x \n", idReg.vndId, idReg.devId);
Here's what I get :
RC Vendor id 0xb005, Device id 0x104c
Which confirms the error in the CSL.
Here's what the raw value of the idReg is : 0xB005104C
The CSL should be corrected with :
#define CSL_PCIE_CFG_SPACE_ENDPOINT_VENDOR_DEVICE_ID_VENDOR_ID_MASK (0x0000FFFFu) #define CSL_PCIE_CFG_SPACE_ENDPOINT_VENDOR_DEVICE_ID_VENDOR_ID_SHIFT (0x00000000u) #define CSL_PCIE_CFG_SPACE_ENDPOINT_VENDOR_DEVICE_ID_VENDOR_ID_RESETVAL (0x0000104Cu) #define CSL_PCIE_CFG_SPACE_ENDPOINT_VENDOR_DEVICE_ID_DEVICE_ID_MASK (0xFFFF0000u) #define CSL_PCIE_CFG_SPACE_ENDPOINT_VENDOR_DEVICE_ID_DEVICE_ID_SHIFT (0x00000010u) #define CSL_PCIE_CFG_SPACE_ENDPOINT_VENDOR_DEVICE_ID_DEVICE_ID_RESETVAL (0x00008888u) #define CSL_PCIE_CFG_SPACE_ENDPOINT_VENDOR_DEVICE_ID_RESETVAL (0x8888104Cu)
TI engineers, can you confirm the issue ?
Regards,
Clement