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.

[参考译文] Linux/AM3358:使用 Remoteproc 从驱动程序引导 PRU

Guru**** 2555630 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/610858/linux-am3358-pru-boot-from-driver-using-remoteproc

器件型号:AM3358

工具/软件:Linux

是否有人可以为我提供一些有关从驱动程序自动引导 PRU 固件的正确方法的提示? 我有一个自定义驱动程序,它具有使用 PRU-rproc 的 rpmsg 实现。 以前,我依靠 PRU_rproc_prob() 来加载 PRU 固件。 但是、当更新到更新的内核时、我注意到 PRU_rproc.c 现在包含以下内容:

/*
* rproc_add 将正常自动启动处理器、但这是
*不需要 PRU 客户端驱动的引导流程方法。 一个 PRU
*应用程序/客户端驱动程序将引导相应的 PRU
*远程处理器作为其状态机的一部分
* Remoteproc sysfs 接口或通过等效的内核 API
*
rproc->auto_boot = false;

如果需要、我可以使用 sysfs、但我更愿意将其保留在驱动程序中。 它看起来像调用 rproc_boot()将执行我想要的操作。 但是,由于我使用的是 PRU-rproc,所以我需要由 PRU_rproc_probe ()中的 rproc_alloc()生成的 rproc 结构。 我猜我需要将延迟的驱动程序探测器与驱动程序的设备树节点中的额外相位相结合、以获得必要的 rproc 指针?  是否有人对正确的方法有建议?