Message ID | 20250214054702.1073139-2-parvathi@couthit.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | PRU-ICSSM Ethernet Driver | expand |
Hi, > On Fri, Feb 14, 2025 at 11:16:53AM +0530, parvathi wrote: >> From: Parvathi Pudi <parvathi@couthit.com> >> >> 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. >> >> Signed-off-by: Parvathi Pudi <parvathi@couthit.com> >> Signed-off-by: Basharath Hussain Khaja <basharath@couthit.com> > > The sender of the patch S-o-b goes last. And maybe you want a > Co-developed-by tag here too? > Yes, you are correct. We will address this in the next version. >> --- >> .../devicetree/bindings/net/ti,icss-iep.yaml | 4 +- >> .../bindings/net/ti,icssm-prueth.yaml | 147 ++++++++++++++++++ >> .../bindings/net/ti,pruss-ecap.yaml | 32 ++++ >> .../devicetree/bindings/soc/ti/ti,pruss.yaml | 9 ++ >> 4 files changed, 191 insertions(+), 1 deletion(-) >> create mode 100644 Documentation/devicetree/bindings/net/ti,icssm-prueth.yaml >> create mode 100644 Documentation/devicetree/bindings/net/ti,pruss-ecap.yaml >> >> diff --git a/Documentation/devicetree/bindings/net/ti,icss-iep.yaml >> b/Documentation/devicetree/bindings/net/ti,icss-iep.yaml >> index e36e3a622904..858d74638167 100644 >> --- a/Documentation/devicetree/bindings/net/ti,icss-iep.yaml >> +++ b/Documentation/devicetree/bindings/net/ti,icss-iep.yaml >> @@ -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: >> @@ -19,7 +21,7 @@ properties: >> - const: ti,am654-icss-iep >> >> - const: ti,am654-icss-iep >> - >> + - const: ti,am5728-icss-iep > > Use enum adding to the prior entry. > We will check whether we can use "enum" for 2 consts and address this in the next version. >> >> reg: >> maxItems: 1 >> diff --git a/Documentation/devicetree/bindings/net/ti,icssm-prueth.yaml >> b/Documentation/devicetree/bindings/net/ti,icssm-prueth.yaml >> new file mode 100644 >> index 000000000000..1dffa6bd7a88 >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/net/ti,icssm-prueth.yaml >> @@ -0,0 +1,147 @@ >> +# 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 >> + >> + 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 MII_RT module's syscon regmap >> + >> + 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 { > > Drop unused labels. > We did verified and all the labels were appropriately used, could you point us to the exact label you are referring to. Thanks and Regards, Parvathi.
diff --git a/Documentation/devicetree/bindings/net/ti,icss-iep.yaml b/Documentation/devicetree/bindings/net/ti,icss-iep.yaml index e36e3a622904..858d74638167 100644 --- a/Documentation/devicetree/bindings/net/ti,icss-iep.yaml +++ b/Documentation/devicetree/bindings/net/ti,icss-iep.yaml @@ -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: @@ -19,7 +21,7 @@ properties: - const: ti,am654-icss-iep - const: ti,am654-icss-iep - + - const: ti,am5728-icss-iep reg: maxItems: 1 diff --git a/Documentation/devicetree/bindings/net/ti,icssm-prueth.yaml b/Documentation/devicetree/bindings/net/ti,icssm-prueth.yaml new file mode 100644 index 000000000000..1dffa6bd7a88 --- /dev/null +++ b/Documentation/devicetree/bindings/net/ti,icssm-prueth.yaml @@ -0,0 +1,147 @@ +# 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 + + 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 MII_RT module's syscon regmap + + 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]; + }; + }; + }; diff --git a/Documentation/devicetree/bindings/net/ti,pruss-ecap.yaml b/Documentation/devicetree/bindings/net/ti,pruss-ecap.yaml new file mode 100644 index 000000000000..42f217099b2e --- /dev/null +++ b/Documentation/devicetree/bindings/net/ti,pruss-ecap.yaml @@ -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>; + }; diff --git a/Documentation/devicetree/bindings/soc/ti/ti,pruss.yaml b/Documentation/devicetree/bindings/soc/ti/ti,pruss.yaml index 927b3200e29e..594f54264a8c 100644 --- a/Documentation/devicetree/bindings/soc/ti/ti,pruss.yaml +++ b/Documentation/devicetree/bindings/soc/ti/ti,pruss.yaml @@ -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 modeule irrespective of SOCs. + + type: object + mii-rt@[a-f0-9]+$: description: | Real-Time Ethernet to support multiple industrial communication protocols.