mbox series

[v4,0/6] Add a PRU remoteproc driver

Message ID 20201208141002.17777-1-grzegorz.jaszczyk@linaro.org
Headers show
Series Add a PRU remoteproc driver | expand

Message

Grzegorz Jaszczyk Dec. 8, 2020, 2:09 p.m. UTC
Hi All,

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.

The K3 AM65x and J721E SoCs have the next generation of the PRU-ICSS IP,
commonly called ICSSG. The ICSSG IP on AM65x SoCs has two PRU cores,
two auxiliary custom PRU cores called Real Time Units (RTUs). The K3
AM65x SR2.0 and J721E SoCs have a revised version of the ICSSG IP, and
include two additional custom auxiliary PRU cores called Transmit PRUs
(Tx_PRUs).

This series contains the PRUSS remoteproc driver together with relevant
dt-binding. This is the 3rd foundation component for PRUSS subsystem, the
previous two 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

The following is a v4 version of the series. There is only one change
from v3 [1]:
- Use sizeof(unsigned int) instead of sizeof(int) for kcalloc in
pru_handle_intrmap() in patch #3.

[1] https://patchwork.kernel.org/project/linux-arm-kernel/cover/20201204201807.14716-1-grzegorz.jaszczyk@linaro.org/

Best regards,
Grzegorz

Grzegorz Jaszczyk (1):
  remoteproc: pru: Add support for PRU specific interrupt configuration

Suman Anna (5):
  dt-bindings: remoteproc: Add binding doc for PRU cores in the PRU-ICSS
  remoteproc: pru: Add a PRU remoteproc driver
  remoteproc: pru: Add pru-specific debugfs support
  remoteproc: pru: Add support for various PRU cores on K3 AM65x SoCs
  remoteproc: pru: Add support for various PRU cores on K3 J721E SoCs

 .../bindings/remoteproc/ti,pru-rproc.yaml     | 214 +++++
 drivers/remoteproc/Kconfig                    |  12 +
 drivers/remoteproc/Makefile                   |   1 +
 drivers/remoteproc/pru_rproc.c                | 875 ++++++++++++++++++
 drivers/remoteproc/pru_rproc.h                |  46 +
 5 files changed, 1148 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/remoteproc/ti,pru-rproc.yaml
 create mode 100644 drivers/remoteproc/pru_rproc.c
 create mode 100644 drivers/remoteproc/pru_rproc.h

Comments

Rob Herring (Arm) Dec. 10, 2020, 3 p.m. UTC | #1
On Tue, 08 Dec 2020 15:09:57 +0100, Grzegorz Jaszczyk wrote:
> From: Suman Anna <s-anna@ti.com>
> 
> 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.
> 
> The K3 AM65x amd J721E SoCs have the next generation of the PRU-ICSS IP,
> commonly called ICSSG. The ICSSG IP on AM65x SoCs has two PRU cores,
> two auxiliary custom PRU cores called Real Time Units (RTUs). The K3
> AM65x SR2.0 and J721E SoCs have a revised version of the ICSSG IP, and
> include two additional custom auxiliary PRU cores called Transmit PRUs
> (Tx_PRUs).
> 
> This patch adds the bindings for these PRU cores. The binding covers the
> OMAP architecture SoCs - AM33xx, AM437x and AM57xx; Keystone 2 architecture
> based 66AK2G SoC; and the K3 architecture based SoCs - AM65x and J721E. The
> Davinci based OMAPL138 SoCs will be covered in a future patch.
> 
> Co-developed-by: Roger Quadros <rogerq@ti.com>
> Signed-off-by: Roger Quadros <rogerq@ti.com>
> Signed-off-by: Suman Anna <s-anna@ti.com>
> Signed-off-by: Grzegorz Jaszczyk <grzegorz.jaszczyk@linaro.org>
> ---
> v3->v4:
> - no changes
> 
> v2->v3:
> - no changes
> v1->v2:
> - fix below yamllint warnings:
> ./Documentation/devicetree/bindings/remoteproc/ti,pru-rproc.yaml:37:6: [warning] wrong indentation: expected 6 but found 5 (indentation)
> ./Documentation/devicetree/bindings/remoteproc/ti,pru-rproc.yaml:92:2: [warning] wrong indentation: expected 2 but found 1 (indentation)
> ---
>  .../bindings/remoteproc/ti,pru-rproc.yaml     | 214 ++++++++++++++++++
>  1 file changed, 214 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/remoteproc/ti,pru-rproc.yaml
> 

Reviewed-by: Rob Herring <robh@kernel.org>
Suman Anna Dec. 10, 2020, 3:30 p.m. UTC | #2
Hi Bjorn,

On 12/8/20 8:09 AM, Grzegorz Jaszczyk wrote:
> Hi All,

> 

> 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.

> 

> The K3 AM65x and J721E SoCs have the next generation of the PRU-ICSS IP,

> commonly called ICSSG. The ICSSG IP on AM65x SoCs has two PRU cores,

> two auxiliary custom PRU cores called Real Time Units (RTUs). The K3

> AM65x SR2.0 and J721E SoCs have a revised version of the ICSSG IP, and

> include two additional custom auxiliary PRU cores called Transmit PRUs

> (Tx_PRUs).

> 

> This series contains the PRUSS remoteproc driver together with relevant

> dt-binding. This is the 3rd foundation component for PRUSS subsystem, the

> previous two 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

> 

> The following is a v4 version of the series. There is only one change

> from v3 [1]:

> - Use sizeof(unsigned int) instead of sizeof(int) for kcalloc in

> pru_handle_intrmap() in patch #3.

> 

> [1] https://patchwork.kernel.org/project/linux-arm-kernel/cover/20201204201807.14716-1-grzegorz.jaszczyk@linaro.org/

> 

> Best regards,

> Grzegorz

> 

> Grzegorz Jaszczyk (1):

>   remoteproc: pru: Add support for PRU specific interrupt configuration

> 

> Suman Anna (5):

>   dt-bindings: remoteproc: Add binding doc for PRU cores in the PRU-ICSS

>   remoteproc: pru: Add a PRU remoteproc driver

>   remoteproc: pru: Add pru-specific debugfs support

>   remoteproc: pru: Add support for various PRU cores on K3 AM65x SoCs

>   remoteproc: pru: Add support for various PRU cores on K3 J721E SoCs


All patches in this series are Reviewed now and we have got the binding ack as
well. Can you please pick this series up for 5.11 if it is not too late?

Thank you,
Suman

> 

>  .../bindings/remoteproc/ti,pru-rproc.yaml     | 214 +++++

>  drivers/remoteproc/Kconfig                    |  12 +

>  drivers/remoteproc/Makefile                   |   1 +

>  drivers/remoteproc/pru_rproc.c                | 875 ++++++++++++++++++

>  drivers/remoteproc/pru_rproc.h                |  46 +

>  5 files changed, 1148 insertions(+)

>  create mode 100644 Documentation/devicetree/bindings/remoteproc/ti,pru-rproc.yaml

>  create mode 100644 drivers/remoteproc/pru_rproc.c

>  create mode 100644 drivers/remoteproc/pru_rproc.h

>