mbox series

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

Message ID 20201119140850.12268-1-grzegorz.jaszczyk@linaro.org (mailing list archive)
Headers show
Series Add a PRU remoteproc driver | expand

Message

Grzegorz Jaszczyk Nov. 19, 2020, 2:08 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 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 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 v2 version of the series. Please see the individual patches
for exact changes in each patch, following are the main changes from v1:
- Patch #1: fix two yamllint warnings.
- Patch #2: address Suman comments: minor style improvements and fix for
	    optional resource table handling (moved from patch #3).
- Patch #3: address Suman comment: minor style, comments and trace improvements
	    (no functional changes).
- Patch #4: No changes.
- Patch #5: Update documentation of pru_rproc_memcpy() function and is_k3 flag.
- Patch #6: No changes.

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                | 877 ++++++++++++++++++
 drivers/remoteproc/pru_rproc.h                |  46 +
 5 files changed, 1150 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

Suman Anna Dec. 4, 2020, 3:05 p.m. UTC | #1
Hi Greg,

On 11/19/20 8:08 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 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 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 v2 version of the series. Please see the individual patches
> for exact changes in each patch, following are the main changes from v1:
> - Patch #1: fix two yamllint warnings.
> - Patch #2: address Suman comments: minor style improvements and fix for
> 	    optional resource table handling (moved from patch #3).
> - Patch #3: address Suman comment: minor style, comments and trace improvements
> 	    (no functional changes).
> - Patch #4: No changes.
> - Patch #5: Update documentation of pru_rproc_memcpy() function and is_k3 flag.
> - Patch #6: No changes.
> 
> 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

One minor change for v3 when you repost to address Mathieu's comments, can you
please adjust the patch titles to use
"remoteproc: pru:" instead following the latest convention.

Thanks,
Suman

> 
>  .../bindings/remoteproc/ti,pru-rproc.yaml     | 214 +++++
>  drivers/remoteproc/Kconfig                    |  12 +
>  drivers/remoteproc/Makefile                   |   1 +
>  drivers/remoteproc/pru_rproc.c                | 877 ++++++++++++++++++
>  drivers/remoteproc/pru_rproc.h                |  46 +
>  5 files changed, 1150 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
>
Grzegorz Jaszczyk Dec. 4, 2020, 3:11 p.m. UTC | #2
Hi Suman,

On Fri, 4 Dec 2020 at 16:05, Suman Anna <s-anna@ti.com> wrote:
>
> Hi Greg,
>
> On 11/19/20 8:08 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 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 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 v2 version of the series. Please see the individual patches
> > for exact changes in each patch, following are the main changes from v1:
> > - Patch #1: fix two yamllint warnings.
> > - Patch #2: address Suman comments: minor style improvements and fix for
> >           optional resource table handling (moved from patch #3).
> > - Patch #3: address Suman comment: minor style, comments and trace improvements
> >           (no functional changes).
> > - Patch #4: No changes.
> > - Patch #5: Update documentation of pru_rproc_memcpy() function and is_k3 flag.
> > - Patch #6: No changes.
> >
> > 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
>
> One minor change for v3 when you repost to address Mathieu's comments, can you
> please adjust the patch titles to use
> "remoteproc: pru:" instead following the latest convention.

Sure - I will do that.
Thank you,
Grzegorz

>
> Thanks,
> Suman
>
> >
> >  .../bindings/remoteproc/ti,pru-rproc.yaml     | 214 +++++
> >  drivers/remoteproc/Kconfig                    |  12 +
> >  drivers/remoteproc/Makefile                   |   1 +
> >  drivers/remoteproc/pru_rproc.c                | 877 ++++++++++++++++++
> >  drivers/remoteproc/pru_rproc.h                |  46 +
> >  5 files changed, 1150 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
> >
>