Re: [PATCH v4 0/6] Introduce PRU remoteproc consumer API

From: Mathieu Poirier
Date: Mon Jun 06 2022 - 11:56:21 EST


I have started to review this set, comments will come over the next few days. I
will clearly inform you when I am done reviewing.

Thanks,
Mathieu

On Fri, Jun 03, 2022 at 05:45:14PM +0530, Puranjay Mohan wrote:
> This is the v4 of the patch series [1]. The v3 had some comments
> on the DT patch that have been addressed here. The 6th patch in this
> series was missed in the previous versions, so, it has been added now.
>
> I have posted two more patch series that depend on this series, one to
> the soc tree and another to the networking tree. I had sent all the 3
> series, including this one as RFC [2] to get comments and to explain the
> dependencies.
>
> The Programmable Real-Time Unit and Industrial Communication Subsystem
> (PRU-ICSS or simply PRUSS) on various TI SoCs consists of dual 32-bit
> RISC cores (Programmable Real-Time Units, or PRUs) for program execution.
>
> There are 3 foundation components for PRUSS subsystem: the PRUSS platform
> driver, the PRUSS INTC driver and the PRUSS remoteproc driver. All were
> already merged and can be found under:
> 1) drivers/soc/ti/pruss.c
> Documentation/devicetree/bindings/soc/ti/ti,pruss.yaml
> 2) drivers/irqchip/irq-pruss-intc.c
> Documentation/devicetree/bindings/interrupt-controller/ti,pruss-intc.yaml
> 3) drivers/remoteproc/pru_rproc.c
> Documentation/devicetree/bindings/remoteproc/ti,pru-rproc.yaml
>
> The programmable nature of the PRUs provide flexibility to implement custom
> peripheral interfaces, fast real-time responses, or specialized data handling.
> Example of a PRU consumer drivers will be:
> - Software UART over PRUSS
> - PRU-ICSS Ethernet EMAC
>
> In order to make usage of common PRU resources and allow the consumer drivers to
> configure the PRU hardware for specific usage the PRU API is introduced.
>
> [1] https://patchwork.kernel.org/project/linux-remoteproc/cover/20220418104118.12878-1-p-mohan@xxxxxx/
> [2] https://patchwork.kernel.org/project/linux-remoteproc/cover/20220406094358.7895-1-p-mohan@xxxxxx/
>
> Thanks and Regards,
> Puranjay Mohan
>
> Roger Quadros (1):
> remoteproc: pru: Add pru_rproc_set_ctable() function
>
> Suman Anna (2):
> dt-bindings: remoteproc: Add PRU consumer bindings
> remoteproc: pru: Make sysfs entries read-only for PRU client driven
> boots
>
> Tero Kristo (3):
> remoteproc: pru: Add APIs to get and put the PRU cores
> remoteproc: pru: Configure firmware based on client setup
> remoteproc: pru: add support for configuring GPMUX based on client
> setup
>
> .../bindings/remoteproc/ti,pru-consumer.yaml | 69 +++++
> drivers/remoteproc/pru_rproc.c | 254 +++++++++++++++++-
> include/linux/pruss.h | 78 ++++++
> 3 files changed, 396 insertions(+), 5 deletions(-)
> create mode 100644 Documentation/devicetree/bindings/remoteproc/ti,pru-consumer.yaml
> create mode 100644 include/linux/pruss.h
>
> --
> 2.17.1
>