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.

Unable to load PRU firmware for EVM OMAPL137 with new ramdisk.

Other Parts Discussed in Thread: OMAPL138, DA8XX, OMAP-L137

Hi,

I am currently working on EVM OMAPL137 & Linux kernel is used in the system.

EVM OMAPL137 have PRU system.

I have a serial daughter card for EVM OMAPL137 & I have tested the PRU serial expansion card by applying patch to the Linux kernel & loading the PRU module. The PRU system works properly.

But now I have build a new ramdisk from scratch using busy box v1.18.5 & I have copied the same configuration of PRU, PRU firmware & PRU module into the new ramdisk.

Now when I try to load PRU module it given me "can't load firmware" error. This PRU module & firmware use to work properly.

PRU firmware configuration is set in /lib/udev/firmware.sh. In firmware.sh FIRMWARE_DIRS="/lib/firmware/omapl_pru" configuration is set & OMAP_PRU firmware are kept in directory "/lib/firmware/omapl_pru". The above given setting use to work with arago ramdisk, but it is giving issue in my new ramdisk.

According to me issue might be related to mdev in busybox. In arago ramdisk udevd utility is present.

Can anyone provide solution for above given issue.

Thanks & Regards

Jitendra

  • Hi Jitendra,

    Can you make sure that the binary is actually present in the /lib/firmware/omapl_pru directory when the ramdisk is uncompressed? 

    The binary and modification to /lib/udev/firmware.sh need to be present when the ramdisk is built.  The ramdisk is most likely read-only, and modifying the script or adding the binary after the ramdisk is built will not be saved.

    Regards,

    Melissa

  • Hi Melissa,

     

    I'm looking  for a guide or info of how to compile the PRUSS linux loader examples but

    for the omap-137 da830 platform.

    which as you can see in this page http://processors.wiki.ti.com/index.php/PRU_Linux_Application_Loader

    are specified for the omap-l138 and the da850 plataform but not for the l137!

    I have followed this examples changing the compiler target architecture but there is also a different defconfig

    file for each architecture and for the da830 there aren't  some of the choices that are portrayed in the compiling

    instructions.

    In the mistral website there is a patch and software to enabling a CAN and UART device on the PRUSS but for my

    project I'm more interested in implementing a  timer control.

     

  • Hi Haroldo,

    To build the PRUSS Linux driver for the OMAPL137 platform, you will need to add the necessary support in the DA830 board files (adding PRU, L3, DDR memory map and IRQ resources and enabling PRU clocks) and add the DA830 dependency in the UIO config files.

    It should be easy to replicate the OMAPL138 changes to achieve this.  Refer to the attached patch for the DA850 specific support the for Linux driver. 6204.da850_specific_sections_of_uio_patch.txt

    Note in the drivers/uio/Kconfig file, you will need to modify "depends on ARCH_DAVINCI_DA850" to cover DA830 (i.e. ARCH_DAVINCI_DA8XX if this exists). Otherwise the PRUSS UIO driver will not come up for selection during make menuconfig.

    Regards,
    Melissa

  • HI Melissa,

     

     After following your advice, applying the modified patch for OMAP-L137  and compiling the kernel everything went fine

    and we are now able to run the examples.

     

     Thank You!