blob: ea35d19be829a37a657f6a3fb45153981ea16fb9 [file] [log] [blame]
Tom Rini93743d22024-04-01 09:08:13 -04001# 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 };