Quantcast
Channel: Processors
Viewing all articles
Browse latest Browse all 123849

Forum Post: RE: EVM6657 PCIe enumeration failure

$
0
0

While I wait for the actual FPGA file (if you have it, please post it here!), could you explain a bit more about the actual issue? I found a thread with your posts which describe the following issue.

http://e2e.ti.com/support/dsp/c6000_multi-core_dsps/f/639/t/203172.aspx?pi267198=1

"The production 6657 EVM only uses RBL (NO IBL), due to some DSS clock setting issues in PCIE code, the 6657 EVM can’t be enumerated by a Linux or Windows PC using DSS clock. So the 6657 EVM + AMC-PCIE  adaptor card can't work in a PC enviornment unless the PC can be configured to generate narrow spectrum 100 MHz PCIE reference clock.

Regards, Eric""

I am rather confused....the older FPGA firmware starts the IBL, just like all the EVM docs state and what I have so far been assuming. You are saying the IBL is no longer used, for any boot mode but I2C. Is this correct? Also, what are these " some DSS clock setting issues in PCIE code" exactly? Which register is affected?

The thread goes on and I find the following post:

"The production 6657 EVM boot directly from RBL (Rom boot loader) in PCIE boot mode, there may be some issue in the PCIE serdes setting in RBL code when using with a PC, typically with DSS clock.

For production 6678 EVM, it boots from IBL (intermediate boot loader) when in PCIE boot mode, the IBL code has some PCIE workaround for this DSS clock issue so 6678 EVM works fine with PC environment.  

The EVM is powered from PCIe PCB edge finger connector of the TMDXEVMPCI, no external power supply required.

Regards, Eric"

 

Again I am confused: this states that the EVM6678 DOEShave the I2C IBL boot followed by RBL boot of the selected flavor. So why is the EVM6657 different from the EVM6678? Especially since the EVM6657 does not boot over PCIe when used with the AMC-PCIE adapter?

I am assuming the DSS clock fix mentioned in the thread above sets the registers "SERDES_CFGx" up differently. However, when looking at the various clock schemes the EVM6657 supports, the one set by the IBL seems to be identical to the one I see set in the PCIe registers with my XDS560. Also, I can see the ROMCode writing them out:

========== RBL:

20b0e676:   400C                LDW.D1T1      *A4[2],A0 <== A0 = 0x22320
20b0e678:   1507                MV.L2X        A10,B0 <== A10 = 0x21800390
20b0e67a:   8441                ADD.L2        B0,4,B4
20b0e67c:   EE600200            .fphead       n, l, W, BU, nobr, nosat, 1110011b
20b0e680:   2C6E                NOP           2
20b0e682:   0005                STW.D2T1      A0,*B4[0]
20b0e684:   027A902A            MVK.S2        0xfffff520,B4
20b0e688:   0210586A            MVKH.S2       0x20b00000,B4
20b0e68c:   00100362            B.S2          B4
20b0e690:   0200AE28            MVK.S1        0x015c,A4
20b0e694:   01884162            ADDKPC.S2     0x20b0e6a0,B3,2 <== PC when the HW watch triggered.
20b0e698:   02013168            MVKH.S1       0x2620000,A4

========== IBL:
"C:\ti\mcsdk_2_01_02_06\tools\boot_loader\ibl\src\device\c665x\c665xinit.c"
void iblPCIeWorkaround() {     UINT32  v, flag_6678 = 0, flag_6670 = 0, flag_6657 = 0, MAGIC_ADDR;     UINT32  i;       /* Power up PCIe */     devicePowerPeriph (TARGET_PWR_PCIE);     for(i=0; i<1000; i++) asm (" NOP");      DEVICE_REG32_W ((PCIE_BASE_ADDR + PCIE_APP_SERDES_CFG0), 0x00062320);  /* ss clock */      DEVICE_REG32_W ((PCIE_BASE_ADDR + PCIE_APP_SERDES_CFG1), 0x00022320);  /* ss clock */ ... }

PCIE_APP_SERDES_CFG0 = 0x00062320 Corresponds with:
- [5] RX_LOS=1,
- [8:6] RX_CDR=4h,
- [12:9] RX_EQ=0001b,
- [13] RX_ENOC=1,
- [15:14] RX_LOOPBACK = 0,
- [16] TX_INVPAIR=0,
- [17] TX_CM=1,
- [18] TX_MSYNC=1,
- [20-19] TX_LOOPBACK=0.

Am I looking at the wrong register? Isn't the SERDES_CFGx register the one wihch determines the PCIe clocking scheme? If RBL and IBL write the same values, what else is the IBL doing that fixes the PCIe boot issue?

 

Please enlighten me :)

Thanks,

Dirk

 


Viewing all articles
Browse latest Browse all 123849

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>