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.

Compiler/TMS320C6670: Using PCIe with NAND BOOT

Part Number: TMS320C6670


Tool/software: TI C/C++ Compiler

Hello

After I uploaded the application to NAND Flash,

I want to run PCIe by NAND boot and run the application.

so I try to use RBL's PCIe initialize

but there are not header files. "type.h", "device.h", "device_map.h"

please help me

  • help me

    I try to pdk/pcie_example
    because I think that pcie_example have pcie_init()
    but PC don't enumeration PCIe .
  • Hi,

    Please clarify if you are trying to boot from TI C6670 EVM or your own HW with TI C6670 SOC?

    If you want to boot directly from ROM with PCIE boot mode, I thought there are some issues and the PC will not enumerate it. So you have to boot from an intermediate boot loader (ROM ----- IBL ----- PCIE boot).

    In TI EVM, the FPGA forces the boot from IBL, then the IBL boot from the PCIE by reading the boot pin setup from the dip switch. The PCIE code for C6678 is under pdk_c667x_2_0_x\packages\ti\boot\ibl\src\device\c66x\c66xinit.c. Search for function iblPCIeWorkaround(). This also applies to C6670. This IBL code was flashed into EEPROM.

    It looks like you want find a PCIE boot code, you can use above.
    - For the PCIE boot code inside boot rom source code, it is for reference purpose and it doesn't contain the full headers so you can look at but can't build.
    - For the PCIE sample inside \pdk\drv\pcie, it is intended for board to board testing, certainly you can extract some code as the PCIE boot code, but we already did this in pdk_c667x_2_0_x\packages\ti\boot\ibl\src\device\c66x\c66xinit.c

    I thought you need to make sure the NAND boot is working, then add above PCIE boot code into your NAND boot application.

    Regards, Eric
  • I equip DSP with AMC adpator

    I checked NAND Boot is OK.

    here is my UART output. 

    I found that PCIebootmode and Nandbootmode have different Class id.

    [PCIe Boot Mode]

    [NAND Boot with PCIe_Init()]

    and I found this.

    in MCSDK  that is 0xb005104C.

    in PDK that is 0x8888104C.

    so, I change that code. 

    but I do not know how to apply it.

    please help me

  • Hi,

    Glad to know you have NAND boot for the PCIE application worked!

    DevID is minor issue. It is configurable at register address 0x21801000.

    3.2.2 Vendor and Device Identification Register (VENDOR_DEVICE_ID)
    31-16 DEVICE_ID PCIe Device ID. Writable from internal bus interface. See the device-specific data sheet for the value.
    15-0 VENDOR_ID PCIe Vendor ID. Writable from internal bus interface.

    I don't know what exact code you used in the the NAND boot case, the simplest way is you just add a line in your PCIE initialization code:
    *(unsigned int*)0x21801000 = you desired device and vendor id.

    Regards, Eric