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.

AM4376: PRU in u-boot

Part Number: AM4376

Hi,

we try to load & start PRU in u-boot (currently we do this in Linux).

So we found in u-boot following config symbols:

CONFIG_CMD_REMOTEPROC

CONFIG_REMOTEPROC_TI_POWER

CONFIG_REMOTEPROC

CONFIG_SPL_REMOTEPROC_SUPPORT

My question is: is AM43x supported to load & start ICSS PRUs ?

Best Regards

Walter

  • Before anyone jumps in with more debug,

    Do share the processor-sdk-linux version and am437x board details used. 

    Thanks

    Praneeth

  • We use custom AM4376 board and u-boot 2018.01

  • My question is: is AM43x supported to load & start ICSS PRUs ?

    This is not supported in the current TI U-Boot tree (ti-u-boot-2021.01) used for current production v8.x type SDKs for AM335x/AM437x type devices, only for new K3 devices (AM6x, etc.), through CONFIG_REMOTEPROC_TI_PRU.

    If this feature is required on AM437x one could attempt to update the U-Boot drivers located at drivers/remoteproc/pru_rproc.c and drivers/soc/ti/pruss.c with elements from the corresponding Linux Kernel drivers (same drivers/remoteproc/pru_rproc.c and drivers/soc/ti/pruss.c locations within the tree) which do support those devices to make the U-Boot drivers also compatible with AM335x/AM437x type devices. In addition to that the Kconfig dependencies located at drivers/remoteproc/Kconfig and drivers/soc/ti/Kconfig will need to get updated too to remove the dependency on ARCH_K3. At first glance I don't see why this couldn't be done if sufficiently motivated however this is likely a non-trivial effort, and certainly not something that can be supported through the forum.

    Regards, Andreas

  • Looks like this got misassigned. Apologies for the delayed responses here.

    As far as I can tell, TI has never supported remoteproc initializing PRU cores in uboot. That was true when I looked into the question back in 2018, and it is still true in the latest SDK 8.2 (https://e2e.ti.com/support/processors-group/processors/f/processors-forum/677952/linux-processor-sdk-am437x-gpo-pin-undefined-until-pru-starts/2498099#2498099 - back then I was discussing the potential to simply turn on the PRU clocks, not even using the rproc driver)

    TI is not adding any new features for AM335x or AM437x software - future SDKs are only to move to the latest kernel version and fix bugs. So any uboot PRU remoteproc development effort would not be able to be supported by TI.

    Depending on the startup time needs, PRU initialization could happen earlier in the Linux boot process than from the terminal after Linux has already finished booting.

    Regards,

    Nick