[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20220418104118.12878-1-p-mohan@ti.com>
Date: Mon, 18 Apr 2022 16:11:13 +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>
Subject: [PATCH v3 0/5] Introduce PRU remoteproc consumer API
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
Powered by blists - more mailing lists