Skip to contentSkip to conversation

remoteproc: pru: Enable PRU cores on K3 AM62x SoCs

PATCH In review Kishon Vijay Abraham I 3 participants 7 messages Jun 2, 2022 – Jul 5, 2022

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

v2 cover remoteproc: pru: Enable PRU cores on K3 AM62x SoCs

Series adds AM62x specific compatible string to enable PRUSS-M in AM62x SoCs.

Changes from v1:
1) Added a new patch to re-arrange "compatible" in alphabetic order

v1: https://lore.kernel.org/r/[email protected]

Kishon Vijay Abraham I (3):
dt-bindings: remoteproc: pru: Re-arrange "compatible" in alphabetic
order
dt-bindings: remoteproc: pru: Update bindings for K3 AM62x SoCs
remoteproc: pru: Add support for various PRU cores on K3 AM62x SoCs

 .../devicetree/bindings/remoteproc/ti,pru-rproc.yaml         | 5 +++--
 drivers/remoteproc/pru_rproc.c                               | 1 +
 2 files changed, 4 insertions(+), 2 deletions(-)
Signature · 1 line
2.17.1
#1 lore raw

PATCH v2 1/3 dt-bindings: remoteproc: pru: Re-arrange "compatible" in alphabetic order

Re-arrange "compatible" string in alphabetic order to decrease the chance of conflicts.

---
 .../devicetree/bindings/remoteproc/ti,pru-rproc.yaml          | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
Documentation/devicetree/bindings/remoteproc/ti,pru-rproc.yaml +2 -2
index d7c3a78e37e6..5b67837b7fce 100644
@@ -36,17 +36,17 @@ properties:
     enum:
       - ti,am3356-pru   # for AM335x SoC family (AM3356+ SoCs only)
       - ti,am4376-pru   # for AM437x SoC family (AM4376+ SoCs only)
+      - ti,am5728-pru   # for AM57xx SoC family
       - ti,am642-pru    # for PRUs in K3 AM64x SoC family
       - ti,am642-rtu    # for RTUs in K3 AM64x SoC family
       - ti,am642-tx-pru # for Tx_PRUs in K3 AM64x SoC family
-      - ti,am5728-pru   # for AM57xx SoC family
-      - ti,k2g-pru      # for 66AK2G SoC family
       - ti,am654-pru    # for PRUs in K3 AM65x SoC family
       - ti,am654-rtu    # for RTUs in K3 AM65x SoC family
       - ti,am654-tx-pru # for Tx_PRUs in K3 AM65x SR2.0 SoCs
       - ti,j721e-pru    # for PRUs in K3 J721E SoC family
       - ti,j721e-rtu    # for RTUs in K3 J721E SoC family
       - ti,j721e-tx-pru # for Tx_PRUs in K3 J721E SoC family
+      - ti,k2g-pru      # for 66AK2G SoC family
 
   reg:
     items:
Signature · 1 line
2.17.1
#3 lore raw

PATCH v2 2/3 dt-bindings: remoteproc: pru: Update bindings for K3 AM62x SoCs

In reply to Kishon Vijay Abraham I

Update the PRU remoteproc bindings for the PRU cores on AM62x SoCs.

---
 Documentation/devicetree/bindings/remoteproc/ti,pru-rproc.yaml | 1 +
 1 file changed, 1 insertion(+)
Documentation/devicetree/bindings/remoteproc/ti,pru-rproc.yaml +1 -0
index 5b67837b7fce..cd55d80137f7 100644
@@ -37,6 +37,7 @@ properties:
       - ti,am3356-pru   # for AM335x SoC family (AM3356+ SoCs only)
       - ti,am4376-pru   # for AM437x SoC family (AM4376+ SoCs only)
       - ti,am5728-pru   # for AM57xx SoC family
+      - ti,am625-pru    # for PRUs in K3 AM62x SoC family
       - ti,am642-pru    # for PRUs in K3 AM64x SoC family
       - ti,am642-rtu    # for RTUs in K3 AM64x SoC family
       - ti,am642-tx-pru # for Tx_PRUs in K3 AM64x SoC family
Signature · 1 line
2.17.1
#5 lore raw

PATCH v2 3/3 remoteproc: pru: Add support for various PRU cores on K3 AM62x SoCs

In reply to Kishon Vijay Abraham I

The K3 AM62x family of SoC has one PRUSS-M instance and it has two Programmable Real-Time Units (PRU0 and PRU1). This does not support Industrial Communications Subsystem features like Ethernet.

Enhance the existing PRU remoteproc driver to support the PRU cores by using specific compatibles. The initial names for the firmware images for each PRU core are retrieved from DT nodes, and can be adjusted through sysfs if required.

---
 drivers/remoteproc/pru_rproc.c | 1 +
 1 file changed, 1 insertion(+)
drivers/remoteproc/pru_rproc.c +1 -0
index 1777a01fa84e..128bf9912f2c 100644
@@ -897,6 +897,7 @@ static const struct of_device_id pru_rproc_match[] = {
 	{ .compatible = "ti,j721e-pru",		.data = &k3_pru_data },
 	{ .compatible = "ti,j721e-rtu",		.data = &k3_rtu_data },
 	{ .compatible = "ti,j721e-tx-pru",	.data = &k3_tx_pru_data },
+	{ .compatible = "ti,am625-pru",		.data = &k3_pru_data },
 	{},
 };
 MODULE_DEVICE_TABLE(of, pru_rproc_match);
Signature · 1 line
2.17.1
maintainer
#6 lore raw

Re: [PATCH v2 3/3] remoteproc: pru: Add support for various PRU cores on K3 AM62x SoCs

Quoted 19 lines · Kishon Vijay Abraham I

The K3 AM62x family of SoC has one PRUSS-M instance and it has two Programmable Real-Time Units (PRU0 and PRU1). This does not support Industrial Communications Subsystem features like Ethernet.

Enhance the existing PRU remoteproc driver to support the PRU cores by using specific compatibles. The initial names for the firmware images for each PRU core are retrieved from DT nodes, and can be adjusted through sysfs if required.

---
 drivers/remoteproc/pru_rproc.c | 1 +
 1 file changed, 1 insertion(+)
drivers/remoteproc/pru_rproc.c +0 -0
index 1777a01fa84e..128bf9912f2c 100644

drivers/remoteproc/pru_rproc.c static const struct of_device_id pru_rproc_match[] = { · line 900

Quoted 4 lines
drivers/remoteproc/pru_rproc.c +1 -0
@@ -897,6 +897,7 @@ static const struct of_device_id pru_rproc_match[] = {
 	{ .compatible = "ti,j721e-pru",		.data = &k3_pru_data },
 	{ .compatible = "ti,j721e-rtu",		.data = &k3_rtu_data },
 	{ .compatible = "ti,j721e-tx-pru",	.data = &k3_tx_pru_data },
+	{ .compatible = "ti,am625-pru",		.data = &k3_pru_data },

I have applied this set.

Thanks,
Mathieu

Quoted 6 lines
drivers/remoteproc/pru_rproc.c +0 -0
 	{},
 };
 MODULE_DEVICE_TABLE(of, pru_rproc_match);
Signature · 1 line
2.17.1