[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20220603121520.13730-1-p-mohan@ti.com>
Date: Fri, 3 Jun 2022 17:45:14 +0530
From: Puranjay Mohan <p-mohan@...com>
To: <linux-kernel@...r.kernel.org>
CC: <bjorn.andersson@...aro.org>, <mathieu.poirier@...aro.org>,
<krzysztof.kozlowski+dt@...aro.org>,
<linux-remoteproc@...r.kernel.org>, <devicetree@...r.kernel.org>,
<nm@...com>, <ssantosh@...nel.org>, <s-anna@...com>,
<p-mohan@...com>, <linux-arm-kernel@...ts.infradead.org>,
<rogerq@...nel.org>, <grygorii.strashko@...com>, <vigneshr@...com>,
<kishon@...com>, <robh@...nel.org>
Subject: [PATCH v4 0/6] Introduce PRU remoteproc consumer API
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@ti.com/
[2] https://patchwork.kernel.org/project/linux-remoteproc/cover/20220406094358.7895-1-p-mohan@ti.com/
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
Powered by blists - more mailing lists