xref: /freebsd/sys/contrib/device-tree/Bindings/net/renesas,ethertsn.yaml (revision 7d0873ebb83b19ba1e8a89e679470d885efe12e3)
18d13bc63SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
28d13bc63SEmmanuel Vadot%YAML 1.2
38d13bc63SEmmanuel Vadot---
48d13bc63SEmmanuel Vadot$id: http://devicetree.org/schemas/net/renesas,ethertsn.yaml#
58d13bc63SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
68d13bc63SEmmanuel Vadot
78d13bc63SEmmanuel Vadottitle: Renesas Ethernet TSN End-station
88d13bc63SEmmanuel Vadot
98d13bc63SEmmanuel Vadotmaintainers:
108d13bc63SEmmanuel Vadot  - Niklas Söderlund <niklas.soderlund@ragnatech.se>
118d13bc63SEmmanuel Vadot
128d13bc63SEmmanuel Vadotdescription:
138d13bc63SEmmanuel Vadot  The RTSN device provides Ethernet network using a 10 Mbps, 100 Mbps, or 1
148d13bc63SEmmanuel Vadot  Gbps full-duplex link via MII/GMII/RMII/RGMII. Depending on the connected PHY.
158d13bc63SEmmanuel Vadot
168d13bc63SEmmanuel VadotallOf:
178d13bc63SEmmanuel Vadot  - $ref: ethernet-controller.yaml#
188d13bc63SEmmanuel Vadot
198d13bc63SEmmanuel Vadotproperties:
208d13bc63SEmmanuel Vadot  compatible:
218d13bc63SEmmanuel Vadot    items:
228d13bc63SEmmanuel Vadot      - enum:
238d13bc63SEmmanuel Vadot          - renesas,r8a779g0-ethertsn       # R-Car V4H
248d13bc63SEmmanuel Vadot      - const: renesas,rcar-gen4-ethertsn
258d13bc63SEmmanuel Vadot
268d13bc63SEmmanuel Vadot  reg:
278d13bc63SEmmanuel Vadot    items:
288d13bc63SEmmanuel Vadot      - description: TSN End Station target
298d13bc63SEmmanuel Vadot      - description: generalized Precision Time Protocol target
308d13bc63SEmmanuel Vadot
318d13bc63SEmmanuel Vadot  reg-names:
328d13bc63SEmmanuel Vadot    items:
338d13bc63SEmmanuel Vadot      - const: tsnes
348d13bc63SEmmanuel Vadot      - const: gptp
358d13bc63SEmmanuel Vadot
368d13bc63SEmmanuel Vadot  interrupts:
378d13bc63SEmmanuel Vadot    items:
388d13bc63SEmmanuel Vadot      - description: TX data interrupt
398d13bc63SEmmanuel Vadot      - description: RX data interrupt
408d13bc63SEmmanuel Vadot
418d13bc63SEmmanuel Vadot  interrupt-names:
428d13bc63SEmmanuel Vadot    items:
438d13bc63SEmmanuel Vadot      - const: tx
448d13bc63SEmmanuel Vadot      - const: rx
458d13bc63SEmmanuel Vadot
468d13bc63SEmmanuel Vadot  clocks:
478d13bc63SEmmanuel Vadot    maxItems: 1
488d13bc63SEmmanuel Vadot
498d13bc63SEmmanuel Vadot  power-domains:
508d13bc63SEmmanuel Vadot    maxItems: 1
518d13bc63SEmmanuel Vadot
528d13bc63SEmmanuel Vadot  resets:
538d13bc63SEmmanuel Vadot    maxItems: 1
548d13bc63SEmmanuel Vadot
558d13bc63SEmmanuel Vadot  phy-mode:
568d13bc63SEmmanuel Vadot    contains:
578d13bc63SEmmanuel Vadot      enum:
588d13bc63SEmmanuel Vadot        - mii
598d13bc63SEmmanuel Vadot        - rgmii
608d13bc63SEmmanuel Vadot
618d13bc63SEmmanuel Vadot  phy-handle:
628d13bc63SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/phandle
638d13bc63SEmmanuel Vadot    description:
648d13bc63SEmmanuel Vadot      Specifies a reference to a node representing a PHY device.
658d13bc63SEmmanuel Vadot
668d13bc63SEmmanuel Vadot  rx-internal-delay-ps:
678d13bc63SEmmanuel Vadot    enum: [0, 1800]
688d13bc63SEmmanuel Vadot    default: 0
698d13bc63SEmmanuel Vadot
708d13bc63SEmmanuel Vadot  tx-internal-delay-ps:
718d13bc63SEmmanuel Vadot    enum: [0, 2000]
728d13bc63SEmmanuel Vadot    default: 0
738d13bc63SEmmanuel Vadot
74*7d0873ebSEmmanuel Vadot  mdio:
75*7d0873ebSEmmanuel Vadot    $ref: /schemas/net/mdio.yaml#
768d13bc63SEmmanuel Vadot    unevaluatedProperties: false
778d13bc63SEmmanuel Vadot
788d13bc63SEmmanuel Vadotrequired:
798d13bc63SEmmanuel Vadot  - compatible
808d13bc63SEmmanuel Vadot  - reg
818d13bc63SEmmanuel Vadot  - reg-names
828d13bc63SEmmanuel Vadot  - interrupts
838d13bc63SEmmanuel Vadot  - interrupt-names
848d13bc63SEmmanuel Vadot  - clocks
858d13bc63SEmmanuel Vadot  - power-domains
868d13bc63SEmmanuel Vadot  - resets
878d13bc63SEmmanuel Vadot  - phy-mode
888d13bc63SEmmanuel Vadot  - phy-handle
89*7d0873ebSEmmanuel Vadot  - mdio
908d13bc63SEmmanuel Vadot
918d13bc63SEmmanuel VadotadditionalProperties: false
928d13bc63SEmmanuel Vadot
938d13bc63SEmmanuel Vadotexamples:
948d13bc63SEmmanuel Vadot  - |
958d13bc63SEmmanuel Vadot    #include <dt-bindings/clock/r8a779g0-cpg-mssr.h>
968d13bc63SEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
978d13bc63SEmmanuel Vadot    #include <dt-bindings/power/r8a779g0-sysc.h>
988d13bc63SEmmanuel Vadot    #include <dt-bindings/gpio/gpio.h>
998d13bc63SEmmanuel Vadot
1008d13bc63SEmmanuel Vadot    tsn0: ethernet@e6460000 {
1018d13bc63SEmmanuel Vadot        compatible = "renesas,r8a779g0-ethertsn", "renesas,rcar-gen4-ethertsn";
1028d13bc63SEmmanuel Vadot        reg = <0xe6460000 0x7000>,
1038d13bc63SEmmanuel Vadot              <0xe6449000 0x500>;
1048d13bc63SEmmanuel Vadot        reg-names = "tsnes", "gptp";
1058d13bc63SEmmanuel Vadot        interrupts = <GIC_SPI 429 IRQ_TYPE_LEVEL_HIGH>,
1068d13bc63SEmmanuel Vadot                     <GIC_SPI 430 IRQ_TYPE_LEVEL_HIGH>;
1078d13bc63SEmmanuel Vadot        interrupt-names = "tx", "rx";
1088d13bc63SEmmanuel Vadot        clocks = <&cpg CPG_MOD 2723>;
1098d13bc63SEmmanuel Vadot        power-domains = <&sysc R8A779G0_PD_ALWAYS_ON>;
1108d13bc63SEmmanuel Vadot        resets = <&cpg 2723>;
1118d13bc63SEmmanuel Vadot
1128d13bc63SEmmanuel Vadot        phy-mode = "rgmii";
1138d13bc63SEmmanuel Vadot        tx-internal-delay-ps = <2000>;
1148d13bc63SEmmanuel Vadot        phy-handle = <&phy3>;
1158d13bc63SEmmanuel Vadot
116*7d0873ebSEmmanuel Vadot        mdio {
1178d13bc63SEmmanuel Vadot            #address-cells = <1>;
1188d13bc63SEmmanuel Vadot            #size-cells = <0>;
1198d13bc63SEmmanuel Vadot
120*7d0873ebSEmmanuel Vadot            reset-gpios = <&gpio1 23 GPIO_ACTIVE_LOW>;
121*7d0873ebSEmmanuel Vadot            reset-post-delay-us = <4000>;
122*7d0873ebSEmmanuel Vadot
123*7d0873ebSEmmanuel Vadot            phy3: ethernet-phy@0 {
1248d13bc63SEmmanuel Vadot                compatible = "ethernet-phy-ieee802.3-c45";
1258d13bc63SEmmanuel Vadot                reg = <0>;
1268d13bc63SEmmanuel Vadot                interrupt-parent = <&gpio4>;
1278d13bc63SEmmanuel Vadot                interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
128*7d0873ebSEmmanuel Vadot            };
1298d13bc63SEmmanuel Vadot        };
1308d13bc63SEmmanuel Vadot    };
131