mirror of
https://github.com/torvalds/linux.git
synced 2026-06-06 13:37:36 +02:00
dt-bindings: net: ti: Adds DUAL-EMAC mode support on PRU-ICSS2 for AM57xx, AM43xx and AM33xx SOCs
Documentation update for the newly added "pruss2_eth" device tree node and its dependencies along with compatibility for PRU-ICSS Industrial Ethernet Peripheral (IEP), PRU-ICSS Enhanced Capture (eCAP) peripheral and using YAML binding document for AM57xx SoCs. Reviewed-by: Mohan Reddy Putluru <pmohan@couthit.com> Co-developed-by: Basharath Hussain Khaja <basharath@couthit.com> Signed-off-by: Basharath Hussain Khaja <basharath@couthit.com> Signed-off-by: Parvathi Pudi <parvathi@couthit.com> Reviewed-by: Rob Herring (Arm) <robh@kernel.org> Link: https://patch.msgid.link/20250912104741.528721-2-parvathi@couthit.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
1611666834
commit
eb391228ae
|
|
@ -8,6 +8,8 @@ title: Texas Instruments ICSS Industrial Ethernet Peripheral (IEP) module
|
|||
|
||||
maintainers:
|
||||
- Md Danish Anwar <danishanwar@ti.com>
|
||||
- Parvathi Pudi <parvathi@couthit.com>
|
||||
- Basharath Hussain Khaja <basharath@couthit.com>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
|
|
@ -17,9 +19,11 @@ properties:
|
|||
- ti,am642-icss-iep
|
||||
- ti,j721e-icss-iep
|
||||
- const: ti,am654-icss-iep
|
||||
|
||||
- const: ti,am654-icss-iep
|
||||
|
||||
- enum:
|
||||
- ti,am654-icss-iep
|
||||
- ti,am5728-icss-iep
|
||||
- ti,am4376-icss-iep
|
||||
- ti,am3356-icss-iep
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
|
|
|||
233
Documentation/devicetree/bindings/net/ti,icssm-prueth.yaml
Normal file
233
Documentation/devicetree/bindings/net/ti,icssm-prueth.yaml
Normal file
|
|
@ -0,0 +1,233 @@
|
|||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/net/ti,icssm-prueth.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Texas Instruments ICSSM PRUSS Ethernet
|
||||
|
||||
maintainers:
|
||||
- Roger Quadros <rogerq@ti.com>
|
||||
- Andrew F. Davis <afd@ti.com>
|
||||
- Parvathi Pudi <parvathi@couthit.com>
|
||||
- Basharath Hussain Khaja <basharath@couthit.com>
|
||||
|
||||
description:
|
||||
Ethernet based on the Programmable Real-Time Unit and Industrial
|
||||
Communication Subsystem.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- ti,am57-prueth # for AM57x SoC family
|
||||
- ti,am4376-prueth # for AM43x SoC family
|
||||
- ti,am3359-prueth # for AM33x SoC family
|
||||
|
||||
sram:
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
description:
|
||||
phandle to OCMC SRAM node
|
||||
|
||||
ti,mii-rt:
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
description:
|
||||
phandle to the MII_RT peripheral for ICSS
|
||||
|
||||
ti,iep:
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
description:
|
||||
phandle to IEP (Industrial Ethernet Peripheral) for ICSS
|
||||
|
||||
ti,ecap:
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
description:
|
||||
phandle to Enhanced Capture (eCAP) event for ICSS
|
||||
|
||||
interrupts:
|
||||
items:
|
||||
- description: High priority Rx Interrupt specifier.
|
||||
- description: Low priority Rx Interrupt specifier.
|
||||
|
||||
interrupt-names:
|
||||
items:
|
||||
- const: rx_hp
|
||||
- const: rx_lp
|
||||
|
||||
ethernet-ports:
|
||||
type: object
|
||||
additionalProperties: false
|
||||
|
||||
properties:
|
||||
'#address-cells':
|
||||
const: 1
|
||||
'#size-cells':
|
||||
const: 0
|
||||
|
||||
patternProperties:
|
||||
^ethernet-port@[0-1]$:
|
||||
type: object
|
||||
description: ICSSM PRUETH external ports
|
||||
$ref: ethernet-controller.yaml#
|
||||
unevaluatedProperties: false
|
||||
|
||||
properties:
|
||||
reg:
|
||||
items:
|
||||
- enum: [0, 1]
|
||||
description: ICSSM PRUETH port number
|
||||
|
||||
interrupts:
|
||||
maxItems: 3
|
||||
|
||||
interrupt-names:
|
||||
items:
|
||||
- const: rx
|
||||
- const: emac_ptp_tx
|
||||
- const: hsr_ptp_tx
|
||||
|
||||
required:
|
||||
- reg
|
||||
|
||||
anyOf:
|
||||
- required:
|
||||
- ethernet-port@0
|
||||
- required:
|
||||
- ethernet-port@1
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- sram
|
||||
- ti,mii-rt
|
||||
- ti,iep
|
||||
- ti,ecap
|
||||
- ethernet-ports
|
||||
- interrupts
|
||||
- interrupt-names
|
||||
|
||||
allOf:
|
||||
- $ref: /schemas/remoteproc/ti,pru-consumer.yaml#
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
/* Dual-MAC Ethernet application node on PRU-ICSS2 */
|
||||
pruss2_eth: pruss2-eth {
|
||||
compatible = "ti,am57-prueth";
|
||||
ti,prus = <&pru2_0>, <&pru2_1>;
|
||||
sram = <&ocmcram1>;
|
||||
ti,mii-rt = <&pruss2_mii_rt>;
|
||||
ti,iep = <&pruss2_iep>;
|
||||
ti,ecap = <&pruss2_ecap>;
|
||||
interrupts = <20 2 2>, <21 3 3>;
|
||||
interrupt-names = "rx_hp", "rx_lp";
|
||||
interrupt-parent = <&pruss2_intc>;
|
||||
|
||||
ethernet-ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
pruss2_emac0: ethernet-port@0 {
|
||||
reg = <0>;
|
||||
phy-handle = <&pruss2_eth0_phy>;
|
||||
phy-mode = "mii";
|
||||
interrupts = <20 2 2>, <26 6 6>, <23 6 6>;
|
||||
interrupt-names = "rx", "emac_ptp_tx", "hsr_ptp_tx";
|
||||
/* Filled in by bootloader */
|
||||
local-mac-address = [00 00 00 00 00 00];
|
||||
};
|
||||
|
||||
pruss2_emac1: ethernet-port@1 {
|
||||
reg = <1>;
|
||||
phy-handle = <&pruss2_eth1_phy>;
|
||||
phy-mode = "mii";
|
||||
interrupts = <21 3 3>, <27 9 7>, <24 9 7>;
|
||||
interrupt-names = "rx", "emac_ptp_tx", "hsr_ptp_tx";
|
||||
/* Filled in by bootloader */
|
||||
local-mac-address = [00 00 00 00 00 00];
|
||||
};
|
||||
};
|
||||
};
|
||||
- |
|
||||
/* Dual-MAC Ethernet application node on PRU-ICSS1 */
|
||||
pruss1_eth: pruss1-eth {
|
||||
compatible = "ti,am4376-prueth";
|
||||
ti,prus = <&pru1_0>, <&pru1_1>;
|
||||
sram = <&ocmcram>;
|
||||
ti,mii-rt = <&pruss1_mii_rt>;
|
||||
ti,iep = <&pruss1_iep>;
|
||||
ti,ecap = <&pruss1_ecap>;
|
||||
interrupts = <20 2 2>, <21 3 3>;
|
||||
interrupt-names = "rx_hp", "rx_lp";
|
||||
interrupt-parent = <&pruss1_intc>;
|
||||
|
||||
pinctrl-0 = <&pruss1_eth_default>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
ethernet-ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
pruss1_emac0: ethernet-port@0 {
|
||||
reg = <0>;
|
||||
phy-handle = <&pruss1_eth0_phy>;
|
||||
phy-mode = "mii";
|
||||
interrupts = <20 2 2>, <26 6 6>, <23 6 6>;
|
||||
interrupt-names = "rx", "emac_ptp_tx",
|
||||
"hsr_ptp_tx";
|
||||
/* Filled in by bootloader */
|
||||
local-mac-address = [00 00 00 00 00 00];
|
||||
};
|
||||
|
||||
pruss1_emac1: ethernet-port@1 {
|
||||
reg = <1>;
|
||||
phy-handle = <&pruss1_eth1_phy>;
|
||||
phy-mode = "mii";
|
||||
interrupts = <21 3 3>, <27 9 7>, <24 9 7>;
|
||||
interrupt-names = "rx", "emac_ptp_tx",
|
||||
"hsr_ptp_tx";
|
||||
/* Filled in by bootloader */
|
||||
local-mac-address = [00 00 00 00 00 00];
|
||||
};
|
||||
};
|
||||
};
|
||||
- |
|
||||
/* Dual-MAC Ethernet application node on PRU-ICSS */
|
||||
pruss_eth: pruss-eth {
|
||||
compatible = "ti,am3359-prueth";
|
||||
ti,prus = <&pru0>, <&pru1>;
|
||||
sram = <&ocmcram>;
|
||||
ti,mii-rt = <&pruss_mii_rt>;
|
||||
ti,iep = <&pruss_iep>;
|
||||
ti,ecap = <&pruss_ecap>;
|
||||
interrupts = <20 2 2>, <21 3 3>;
|
||||
interrupt-names = "rx_hp", "rx_lp";
|
||||
interrupt-parent = <&pruss_intc>;
|
||||
|
||||
pinctrl-0 = <&pruss_eth_default>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
ethernet-ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
pruss_emac0: ethernet-port@0 {
|
||||
reg = <0>;
|
||||
phy-handle = <&pruss_eth0_phy>;
|
||||
phy-mode = "mii";
|
||||
interrupts = <20 2 2>, <26 6 6>, <23 6 6>;
|
||||
interrupt-names = "rx", "emac_ptp_tx",
|
||||
"hsr_ptp_tx";
|
||||
/* Filled in by bootloader */
|
||||
local-mac-address = [00 00 00 00 00 00];
|
||||
};
|
||||
|
||||
pruss_emac1: ethernet-port@1 {
|
||||
reg = <1>;
|
||||
phy-handle = <&pruss_eth1_phy>;
|
||||
phy-mode = "mii";
|
||||
interrupts = <21 3 3>, <27 9 7>, <24 9 7>;
|
||||
interrupt-names = "rx", "emac_ptp_tx",
|
||||
"hsr_ptp_tx";
|
||||
/* Filled in by bootloader */
|
||||
local-mac-address = [00 00 00 00 00 00];
|
||||
};
|
||||
};
|
||||
};
|
||||
32
Documentation/devicetree/bindings/net/ti,pruss-ecap.yaml
Normal file
32
Documentation/devicetree/bindings/net/ti,pruss-ecap.yaml
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/net/ti,pruss-ecap.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Texas Instruments PRU-ICSS Enhanced Capture (eCAP) event module
|
||||
|
||||
maintainers:
|
||||
- Murali Karicheri <m-karicheri2@ti.com>
|
||||
- Parvathi Pudi <parvathi@couthit.com>
|
||||
- Basharath Hussain Khaja <basharath@couthit.com>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: ti,pruss-ecap
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
pruss2_ecap: ecap@30000 {
|
||||
compatible = "ti,pruss-ecap";
|
||||
reg = <0x30000 0x60>;
|
||||
};
|
||||
|
|
@ -251,6 +251,15 @@ patternProperties:
|
|||
|
||||
type: object
|
||||
|
||||
ecap@[a-f0-9]+$:
|
||||
description:
|
||||
PRU-ICSS has a Enhanced Capture (eCAP) event module which can generate
|
||||
and capture periodic timer based events which will be used for features
|
||||
like RX Pacing to rise interrupt when the timer event has occurred.
|
||||
Each PRU-ICSS instance has one eCAP module irrespective of SOCs.
|
||||
$ref: /schemas/net/ti,pruss-ecap.yaml#
|
||||
type: object
|
||||
|
||||
mii-rt@[a-f0-9]+$:
|
||||
description: |
|
||||
Real-Time Ethernet to support multiple industrial communication protocols.
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user