.../bindings/remoteproc/ti,pru-consumer.yaml | 70 ++++++ drivers/remoteproc/pru_rproc.c | 234 +++++++++++++++++- include/linux/pruss.h | 78 ++++++ 3 files changed, 377 insertions(+), 5 deletions(-) create mode 100644 Documentation/devicetree/bindings/remoteproc/ti,pru-consumer.yaml create mode 100644 include/linux/pruss.h
This is the v3 of the patch series [1]. The v2 had some minor comments
which have been addressed here.
I will be posting two more patch series which 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/20201216165239.2744-1-grzegorz.jaszczyk@linaro.org/
[2] https://patchwork.kernel.org/project/linux-remoteproc/cover/20220406094358.7895-1-p-mohan@ti.com/
Thanks,
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 (2):
remoteproc: pru: Add APIs to get and put the PRU cores
remoteproc: pru: Configure firmware based on client setup
.../bindings/remoteproc/ti,pru-consumer.yaml | 70 ++++++
drivers/remoteproc/pru_rproc.c | 234 +++++++++++++++++-
include/linux/pruss.h | 78 ++++++
3 files changed, 377 insertions(+), 5 deletions(-)
create mode 100644 Documentation/devicetree/bindings/remoteproc/ti,pru-consumer.yaml
create mode 100644 include/linux/pruss.h
--
2.17.1
Hi Bjorn, Hi Mathieu, I am writing to follow up on this patch series. This has been on the list for the last 10 days and I have not received any comments on it. So, does this look good to everyone? I had solved the minor checkpatch issues from v2 so I guess this series should be good now? Looking forward to your comments. Thanks Puranjay Mohan On 18/04/22 16:11, Puranjay Mohan wrote: > This is the v3 of the patch series [1]. The v2 had some minor comments > which have been addressed here. > > I will be posting two more patch series which 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/20201216165239.2744-1-grzegorz.jaszczyk@linaro.org/ > [2] https://patchwork.kernel.org/project/linux-remoteproc/cover/20220406094358.7895-1-p-mohan@ti.com/ > > Thanks, > 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 (2): > remoteproc: pru: Add APIs to get and put the PRU cores > remoteproc: pru: Configure firmware based on client setup > > .../bindings/remoteproc/ti,pru-consumer.yaml | 70 ++++++ > drivers/remoteproc/pru_rproc.c | 234 +++++++++++++++++- > include/linux/pruss.h | 78 ++++++ > 3 files changed, 377 insertions(+), 5 deletions(-) > create mode 100644 Documentation/devicetree/bindings/remoteproc/ti,pru-consumer.yaml > create mode 100644 include/linux/pruss.h >
On Thu, Apr 28, 2022 at 04:53:22PM +0530, Puranjay Mohan wrote: > Hi Bjorn, > Hi Mathieu, > > I am writing to follow up on this patch series. > This has been on the list for the last 10 days and I have not received > any comments on it. So, does this look good to everyone? > 10 days - Euh! Just to put things in perspective, I am currently reviewing patches that have been sent around March 16th. > I had solved the minor checkpatch issues from v2 so I guess this series > should be good now? > > Looking forward to your comments. > > Thanks > Puranjay Mohan > > On 18/04/22 16:11, Puranjay Mohan wrote: > > This is the v3 of the patch series [1]. The v2 had some minor comments > > which have been addressed here. > > > > I will be posting two more patch series which 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/20201216165239.2744-1-grzegorz.jaszczyk@linaro.org/ > > [2] https://patchwork.kernel.org/project/linux-remoteproc/cover/20220406094358.7895-1-p-mohan@ti.com/ > > > > Thanks, > > 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 (2): > > remoteproc: pru: Add APIs to get and put the PRU cores > > remoteproc: pru: Configure firmware based on client setup > > > > .../bindings/remoteproc/ti,pru-consumer.yaml | 70 ++++++ > > drivers/remoteproc/pru_rproc.c | 234 +++++++++++++++++- > > include/linux/pruss.h | 78 ++++++ > > 3 files changed, 377 insertions(+), 5 deletions(-) > > create mode 100644 Documentation/devicetree/bindings/remoteproc/ti,pru-consumer.yaml > > create mode 100644 include/linux/pruss.h > >
© 2016 - 2026 Red Hat, Inc.