This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Plugging TMS320C6678LE to PC

Hi, I am currently working on PCIe functionalities of the TMS320C6678LE eval board. My intention was to connect the eval board to a 32-bit PC so that I can run PCItree to observe the behaviors of the config registers as well as the device memory given by the bar. However, I ran into problem when trying to plug the eval board into the PC. After plugging the eval board in, the PC refuses to boot up. I am wondering if anyone had any luck plugging the eval board to a PC and managed to run it as per normal. Or is it not recommended to plug the eval board into the PC. If it is not recommended, may I know the reason? Any help would be much appreciated. 

  • KeckSoon,

    AMC to PCIe Adapter are you using?

    Best Regards,
    Chad

  • Kecksoon,

    There was some PC compatibility issue with old version of AMC-to-PCIe adapter card. But the issue should be fixed in the new version of adapter card, labeled with “PCB REV: 17-00107-03; PCA REV: 18-00107-03”.

    Please check the following link for the adapter info:

    http://www.ti.com/tool/tmdxevmpci#1

  • Hi Chad and Steven,

    thank you for your prompt response. The PCIe adapter that I am using currently is the version that you listed. However the PC still does not boot up when I plug the EVM in. The boot mode that I am in currently loads a program from the NOR flash to configure the PCI configuration space and make it an end point. Can it be done that way or the boot mode must be set to PCIe boot mode? 

  • Hi Steven,

    latest update: I managed to boot up the PC with the EVM plugged in. On the EVM, switch 9 pin 1 is the PCIe enable/disable switch. What I did was to enable it. However, one thing that I do not understand is that before I plug the EVM into the PC, I tested the EVM on a backplane that we designed ourselves, the PCIe enable switch was off all the while and yet it is able to communicate and do data transfer successfully with another EVM. So actually what is the function of the PCIe enable/disable switch?

    Although I am able to boot up the PC now, it seems like the PC is unable to detect the new hardware added. Also, using PCITree, the EVM was not detected. Since that is the case, my assumption for the PC not being able to detect the new hardware change is because the PC has already passed the link training stage during Windows boot up whereas the EVM is still in the process of booting up from NOR flash. In order to prove this point, I allowed the EVM to boot up first so that it will go into link training stage before starting up the PC. By doing this, the PC is not able to boot up again. However, if I were to push the full reset button on the EVM, the PC will continue to boot up as per normal. What are the likely causes of the PC freezing during boot up when the EVM is plugged in and in link training stage? Are there any specific steps to follow so that the PC can boot up normally and also detect the EVM?

  • KeckSoon,

    For PCIESSEN switch on C6678 EVM (SW9[1]), ON (0b) means PCIe module is disabled and OFF (1b) means PCIe module is enabled.

    I think this pin is used by the boot code to decide if to enable the PCIe module power domain in the boot process with PCIe boot mode.

    What test code did you run in the two EVMs testing on backplane please? If you are using the PCIe PDK example, the PCIESSEN switch will not matter, since the PDK example will always enable the PCIe module power domain in the testing.

    For the PC issue, do you have the external power supply attached to the EVM while it is plugged into the PCIe slot please? If so, could you remove the external power cord and let PCIe slot to supply the power to the EVM for the boot please? Or switch to the other slot will make any difference?

    I think it is worth trying to use PCIe boot mode instead of NOR boot to see if PC will boot and recognize the EVM. 

  • Steven,

    thank you for the input on the PCIESSEN switch. You were right that I ran the PCIe PDK example. But I am thinking should it be the other way round as I have seen it in the document 0 = disable, 1 = enable? That is OFF = disable , ON = enable. 

    For the PC issue, no external power supply were attached to the EVM. Unfortunately the PC that we are testing on has only 1 PCIe slot. However, we can be sure that the PCIe slot is functional as we had tested a Virtex 6 with their reference PCIe design on it.

    We had tested the EVM with PCIe boot mode, with PCIESSEN in OFF & ON position. Each time when we change the switch position, the PC and EVM were powered down and booted up again. In PCIESSEN OFF position, PC refuses to boot up. In PCIESSEN ON position, PC managed to boot up but no new hardware were detected even after reboot of PC. We also tested it out with another PCIe adapter since we had two pieces of that. 

  • KeckSoon,

    Are you using C6678 EVM Rev3.0 please? I think C6678 EVM TRM specifies that it is ON (0x0b) and OFF(0x1b) in figure 3.7 and table 3.17.

    Regarding to the PCIe boot issue, if you are using Rev3.0 EVM, the SW5[3] will choose if the PCIe module is using on-board clock generator or the external clock from AMC card as the reference clock of the PCIe module on EVM. Maybe you can try to the clock from AMC (SW5[3] =1 (OFF)) on your EVM to see if PCIe module could be detected.

    And another one is the the IBL update. If your EVM does not come with the latest IBL, it will be worth trying to update the IBL on the EVM for the PCIe boot with PC host.

    Please take a look at the following thread with a similar issue of PCIe boot. Eventually the customer could update the IBL and enumerate the PCIe module correctly. Hope it will help your issue as well:

    http://e2e.ti.com/support/dsp/c6000_multi-core_dsps/f/639/p/244411/868609.aspx#868609