| # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) | |
| %YAML 1.2 | |
| --- | |
| $id: http://devicetree.org/schemas/net/renesas,ethertsn.yaml# | |
| $schema: http://devicetree.org/meta-schemas/core.yaml# | |
| title: Renesas Ethernet TSN End-station | |
| maintainers: | |
| - Niklas Söderlund <niklas.soderlund@ragnatech.se> | |
| description: | |
| The RTSN device provides Ethernet network using a 10 Mbps, 100 Mbps, or 1 | |
| Gbps full-duplex link via MII/GMII/RMII/RGMII. Depending on the connected PHY. | |
| allOf: | |
| - $ref: ethernet-controller.yaml# | |
| properties: | |
| compatible: | |
| items: | |
| - enum: | |
| - renesas,r8a779g0-ethertsn # R-Car V4H | |
| - const: renesas,rcar-gen4-ethertsn | |
| reg: | |
| items: | |
| - description: TSN End Station target | |
| - description: generalized Precision Time Protocol target | |
| reg-names: | |
| items: | |
| - const: tsnes | |
| - const: gptp | |
| interrupts: | |
| items: | |
| - description: TX data interrupt | |
| - description: RX data interrupt | |
| interrupt-names: | |
| items: | |
| - const: tx | |
| - const: rx | |
| clocks: | |
| maxItems: 1 | |
| power-domains: | |
| maxItems: 1 | |
| resets: | |
| maxItems: 1 | |
| phy-mode: | |
| contains: | |
| enum: | |
| - mii | |
| - rgmii | |
| phy-handle: | |
| $ref: /schemas/types.yaml#/definitions/phandle | |
| description: | |
| Specifies a reference to a node representing a PHY device. | |
| rx-internal-delay-ps: | |
| enum: [0, 1800] | |
| default: 0 | |
| tx-internal-delay-ps: | |
| enum: [0, 2000] | |
| default: 0 | |
| mdio: | |
| $ref: /schemas/net/mdio.yaml# | |
| unevaluatedProperties: false | |
| required: | |
| - compatible | |
| - reg | |
| - reg-names | |
| - interrupts | |
| - interrupt-names | |
| - clocks | |
| - power-domains | |
| - resets | |
| - phy-mode | |
| - phy-handle | |
| - mdio | |
| additionalProperties: false | |
| examples: | |
| - | | |
| #include <dt-bindings/clock/r8a779g0-cpg-mssr.h> | |
| #include <dt-bindings/interrupt-controller/arm-gic.h> | |
| #include <dt-bindings/power/r8a779g0-sysc.h> | |
| #include <dt-bindings/gpio/gpio.h> | |
| tsn0: ethernet@e6460000 { | |
| compatible = "renesas,r8a779g0-ethertsn", "renesas,rcar-gen4-ethertsn"; | |
| reg = <0xe6460000 0x7000>, | |
| <0xe6449000 0x500>; | |
| reg-names = "tsnes", "gptp"; | |
| interrupts = <GIC_SPI 429 IRQ_TYPE_LEVEL_HIGH>, | |
| <GIC_SPI 430 IRQ_TYPE_LEVEL_HIGH>; | |
| interrupt-names = "tx", "rx"; | |
| clocks = <&cpg CPG_MOD 2723>; | |
| power-domains = <&sysc R8A779G0_PD_ALWAYS_ON>; | |
| resets = <&cpg 2723>; | |
| phy-mode = "rgmii"; | |
| tx-internal-delay-ps = <2000>; | |
| phy-handle = <&phy3>; | |
| mdio { | |
| #address-cells = <1>; | |
| #size-cells = <0>; | |
| reset-gpios = <&gpio1 23 GPIO_ACTIVE_LOW>; | |
| reset-post-delay-us = <4000>; | |
| phy3: ethernet-phy@0 { | |
| compatible = "ethernet-phy-ieee802.3-c45"; | |
| reg = <0>; | |
| interrupt-parent = <&gpio4>; | |
| interrupts = <3 IRQ_TYPE_LEVEL_LOW>; | |
| }; | |
| }; | |
| }; |