1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/net/renesas,ethertsn.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Renesas Ethernet TSN End-station 8 9maintainers: 10 - Niklas Söderlund <niklas.soderlund@ragnatech.se> 11 12description: 13 The RTSN device provides Ethernet network using a 10 Mbps, 100 Mbps, or 1 14 Gbps full-duplex link via MII/GMII/RMII/RGMII. Depending on the connected PHY. 15 16allOf: 17 - $ref: ethernet-controller.yaml# 18 19properties: 20 compatible: 21 items: 22 - enum: 23 - renesas,r8a779g0-ethertsn # R-Car V4H 24 - const: renesas,rcar-gen4-ethertsn 25 26 reg: 27 items: 28 - description: TSN End Station target 29 - description: generalized Precision Time Protocol target 30 31 reg-names: 32 items: 33 - const: tsnes 34 - const: gptp 35 36 interrupts: 37 items: 38 - description: TX data interrupt 39 - description: RX data interrupt 40 41 interrupt-names: 42 items: 43 - const: tx 44 - const: rx 45 46 clocks: 47 maxItems: 1 48 49 power-domains: 50 maxItems: 1 51 52 resets: 53 maxItems: 1 54 55 phy-mode: 56 contains: 57 enum: 58 - mii 59 - rgmii 60 61 phy-handle: 62 $ref: /schemas/types.yaml#/definitions/phandle 63 description: 64 Specifies a reference to a node representing a PHY device. 65 66 rx-internal-delay-ps: 67 enum: [0, 1800] 68 default: 0 69 70 tx-internal-delay-ps: 71 enum: [0, 2000] 72 default: 0 73 74 '#address-cells': 75 const: 1 76 77 '#size-cells': 78 const: 0 79 80patternProperties: 81 "^ethernet-phy@[0-9a-f]$": 82 type: object 83 $ref: ethernet-phy.yaml# 84 unevaluatedProperties: false 85 86required: 87 - compatible 88 - reg 89 - reg-names 90 - interrupts 91 - interrupt-names 92 - clocks 93 - power-domains 94 - resets 95 - phy-mode 96 - phy-handle 97 - '#address-cells' 98 - '#size-cells' 99 100additionalProperties: false 101 102examples: 103 - | 104 #include <dt-bindings/clock/r8a779g0-cpg-mssr.h> 105 #include <dt-bindings/interrupt-controller/arm-gic.h> 106 #include <dt-bindings/power/r8a779g0-sysc.h> 107 #include <dt-bindings/gpio/gpio.h> 108 109 tsn0: ethernet@e6460000 { 110 compatible = "renesas,r8a779g0-ethertsn", "renesas,rcar-gen4-ethertsn"; 111 reg = <0xe6460000 0x7000>, 112 <0xe6449000 0x500>; 113 reg-names = "tsnes", "gptp"; 114 interrupts = <GIC_SPI 429 IRQ_TYPE_LEVEL_HIGH>, 115 <GIC_SPI 430 IRQ_TYPE_LEVEL_HIGH>; 116 interrupt-names = "tx", "rx"; 117 clocks = <&cpg CPG_MOD 2723>; 118 power-domains = <&sysc R8A779G0_PD_ALWAYS_ON>; 119 resets = <&cpg 2723>; 120 121 phy-mode = "rgmii"; 122 tx-internal-delay-ps = <2000>; 123 phy-handle = <&phy3>; 124 125 #address-cells = <1>; 126 #size-cells = <0>; 127 128 phy3: ethernet-phy@3 { 129 compatible = "ethernet-phy-ieee802.3-c45"; 130 reg = <0>; 131 interrupt-parent = <&gpio4>; 132 interrupts = <3 IRQ_TYPE_LEVEL_LOW>; 133 reset-gpios = <&gpio1 23 GPIO_ACTIVE_LOW>; 134 }; 135 }; 136