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.

PRUSS Linux Kernel loader for kernel v2.6.37 on OMAP-L138

Other Parts Discussed in Thread: DA8XX, AM1808, OMAPL138

Hi,

I'm using Linux kernel v2.6.37 (TI Release 3.21.00.04), and I've followed the directions to create a loader for the PRUSS as outlined in the wiki.  The version of the PRUSS loader retreived from the subversion server at "svn export https://gforge.ti.com/svn/pru_sw" is not compatible with kernel version 2.6.37.  I am willing to manually patch the kernel, however there seems to be some major differences in the devices_da8xx.c file which may not resolve.

Is there a more up to date version of the PRUSS loader which will patch against kernel v2.6.37 ?

Googling around I found a reference to uio_pruss.patch file for 2.6.37 at the arago project, submitted by Melissa Watkins (TI Engineer).  Will this help ? Can/how can I get a copy of that patch file ?

TIA, John Volpe

  • Hi John,

    Did you pull the sources using "svn export https://gforge.ti.com/svn/pru_sw -r 24" or "svn export https://gforge.ti.com/svn/pru_sw"? 

    The patch available under -r 24 is for the v2.6.32 kernel.  However, the latter command pulls the latest sources from GForge, which contains the patch for the v2.6.37 kernel.  The AM1808 SDK v5.03.02 contains the linux-2.6.3-psp03.21.00.04.sdk kernel which has already been patched to support the uio_pru driver.

    Regards,

    Melissa

  • Melissa,

    This is what I get when applying the patch against the 2.6.37 kernel.  I "exported" the tip of the repository, not rev 24, which gave me rev 33. 

    The patch file was located in trunk/kernel_loader/uio/patch/uio_pruss.patch

    As you can see from below, some of the patches succeeded which says I'm in the correct directory and have the correct strip value.

    I'm proceeding with the SDK you referenced - AM1808 SDK v5.03.02.  I will let you know what I get from that.


    ******** gasb V00.1.3011.15379 STARTING **************

    tar -zxf linux-03.21.00.04.tar.gz

    ln -sf linux-03.21.00.04 linux

    patch --directory linux --strip=1 <uio_pruss.patch

    patching file arch/arm/configs/da850_omapl138_defconfig

    Hunk #1 FAILED at 1361.

    Hunk #2 FAILED at 1535.

    2 out of 2 hunks FAILED -- saving rejects to file arch/arm/configs/da850_omapl138_defconfig.rej

    patching file arch/arm/mach-davinci/board-da850-evm.c

    Hunk #1 succeeded at 1784 (offset 729 lines).

    patching file arch/arm/mach-davinci/da850.c

    Hunk #1 succeeded at 241 (offset 4 lines).

    Hunk #2 FAILED at 392.

    Hunk #3 succeeded at 454 (offset 28 lines).

    Hunk #4 FAILED at 449.

    2 out of 4 hunks FAILED -- saving rejects to file arch/arm/mach-davinci/da850.c.rej

    patching file arch/arm/mach-davinci/devices-da8xx.c

    Hunk #1 FAILED at 972.

    1 out of 1 hunk FAILED -- saving rejects to file arch/arm/mach-davinci/devices-da8xx.c.rej

    patching file arch/arm/mach-davinci/include/mach/da8xx.h

    Hunk #1 FAILED at 75.

    Hunk #2 FAILED at 162.

    2 out of 2 hunks FAILED -- saving rejects to file arch/arm/mach-davinci/include/mach/da8xx.h.rej

    patching file drivers/uio/Kconfig

    Hunk #1 succeeded at 94 with fuzz 2.

    patching file drivers/uio/Makefile

    Hunk #1 FAILED at 6.

    1 out of 1 hunk FAILED -- saving rejects to file drivers/uio/Makefile.rej

    patching file drivers/uio/uio_pru.c

    make: *** [linux] Error 1

  • Melissa,

    The pre-patched kernel worked for me and I will use that in place of the one I was using.

    Thanks,

    John