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.

DM816x booting over PCIe using Non-TI CPU RC

Hello,

          In our custom board, DM8168 (EP) is connected to PPC cpu (RC) over PCIe. The goal is to boot DM816x over PCIe.  

          The sample code (driver and boot application) from TI is used for booting. The driver code is modified to fix the cross compilation issues and the minor bugs related to the data types (i.e. pointer type is changed from unsigned int to phys_addr_t). Sample application report an error message indicating mmap fail.  Logs are given below.

          Does anybody can help on booting the DM816x over PCIe using the Non-TI cpu RC.  

root@p2041rdb:/mnt/nfs/driver# ./lspci -v

0000:01:00.0 Class 0004: Device 104c:b800 (rev 01)
        Flags: bus master, fast devsel, latency 0, IRQ 40
        Memory at c00000000 (32-bit, non-prefetchable) [size=4K]
        Memory at c00800000 (32-bit, prefetchable) [size=8M]
        Memory at c01000000 (32-bit, prefetchable) [size=8M]
        Memory at <unassigned> (32-bit, prefetchable)
        Capabilities: [40] Power Management version 3
        Capabilities: [50] MSI: Enable- Count=1/1 Maskable- 64bit+
        Capabilities: [70] Express Endpoint, MSI 00
        Capabilities: [100] Advanced Error Reporting

root@p2041rdb:/mnt/nfs/driver# insmod ti81xx_pcie_bootdrv.ko
ti81xx_pcie_ep: Found TI81xx PCIe EP @0xe610f000, DEVICE ID = b800
pci 0000:01:00.0: This driver supports booting the first TI816x or TI814x target found on the bus
pci 0000:01:00.0: Major number 250 assigned
pci 0000:01:00.0: Added device to the sys file system
pci 0000:01:00.0: BAR Configuration -
                        Start   |       Length  |       Flags
pci 0000:01:00.0:       0xc00000000     |       4096    |       0x00040200
pci 0000:01:00.0:       0xc00800000     |       8388608 |       0x00042208
pci 0000:01:00.0:       0xc01000000     |       8388608 |       0x00042208
pci 0000:01:00.0: TI81XX registers mapped to 0xf127e000
pci 0000:01:00.0: TI81XX OCMC mapped to 0xf3c80000
pci 0000:01:00.0: TI81XX DDR mapped to 0xf4500000


root@p2041rdb:/mnt/nfs/driver# ./saBootApp u-boot.bin.img boot.scr uImage ubi_128_DM816X_UD_DVR.img 
Error: Cannot mmap = 50404580 bytes buffer
Mapping of uBoot to BAR1 (OCMC1) failed

 

  • Hello,

    Are you on EZSDK?

    Also, you can check here:

    http://processors.wiki.ti.com/index.php/TI81XX_PSP_PCI_Express_Endpoint_Boot_Driver_User_Guide

    BR

    Pavel

  • Hello Pavel,

               We are using the DVR RDK.

               The main issue is that we are using the kernel v3.0.34, which is using the 36 bit address. But, the TI driver is tested for 32 bit addressing. So, we updated the driver for 36bit address (by changing, unsigned long (4 bytes) -> unsigned long long (8 bytes)).

                When the application, try to mmap the address, then this error is occurred. Initial investigation shows that the mmap driver funtion is invoked with strange address values, which i could not findout as of now.

  • Please contact your local field support for RDK related inquiries.

    Regards,

    Pavel