xref: /freebsd/sys/contrib/device-tree/Bindings/net/renesas,ether.yaml (revision 84943d6f38e936ac3b7a3947ca26eeb27a39f938)
1c66ec88fSEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0
2c66ec88fSEmmanuel Vadot%YAML 1.2
3c66ec88fSEmmanuel Vadot---
4c66ec88fSEmmanuel Vadot$id: http://devicetree.org/schemas/net/renesas,ether.yaml#
5c66ec88fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6c66ec88fSEmmanuel Vadot
7c66ec88fSEmmanuel Vadottitle: Renesas Electronics SH EtherMAC
8c66ec88fSEmmanuel Vadot
9c66ec88fSEmmanuel VadotallOf:
10c66ec88fSEmmanuel Vadot  - $ref: ethernet-controller.yaml#
11c66ec88fSEmmanuel Vadot
12c66ec88fSEmmanuel Vadotmaintainers:
132eb4d8dcSEmmanuel Vadot  - Sergei Shtylyov <sergei.shtylyov@gmail.com>
14c66ec88fSEmmanuel Vadot
15c66ec88fSEmmanuel Vadotproperties:
16c66ec88fSEmmanuel Vadot  compatible:
17c66ec88fSEmmanuel Vadot    oneOf:
18c66ec88fSEmmanuel Vadot      - items:
19c66ec88fSEmmanuel Vadot          - enum:
20c66ec88fSEmmanuel Vadot              - renesas,gether-r8a7740   # device is a part of R8A7740 SoC
21c66ec88fSEmmanuel Vadot              - renesas,gether-r8a77980  # device is a part of R8A77980 SoC
22c66ec88fSEmmanuel Vadot              - renesas,ether-r7s72100   # device is a part of R7S72100 SoC
23c66ec88fSEmmanuel Vadot              - renesas,ether-r7s9210    # device is a part of R7S9210 SoC
24c66ec88fSEmmanuel Vadot      - items:
25c66ec88fSEmmanuel Vadot          - enum:
26c66ec88fSEmmanuel Vadot              - renesas,ether-r8a7778    # device is a part of R8A7778 SoC
27c66ec88fSEmmanuel Vadot              - renesas,ether-r8a7779    # device is a part of R8A7779 SoC
28c66ec88fSEmmanuel Vadot          - enum:
29c66ec88fSEmmanuel Vadot              - renesas,rcar-gen1-ether  # a generic R-Car Gen1 device
30c66ec88fSEmmanuel Vadot      - items:
31c66ec88fSEmmanuel Vadot          - enum:
32c66ec88fSEmmanuel Vadot              - renesas,ether-r8a7742    # device is a part of R8A7742 SoC
33c66ec88fSEmmanuel Vadot              - renesas,ether-r8a7743    # device is a part of R8A7743 SoC
34c66ec88fSEmmanuel Vadot              - renesas,ether-r8a7745    # device is a part of R8A7745 SoC
35c66ec88fSEmmanuel Vadot              - renesas,ether-r8a7790    # device is a part of R8A7790 SoC
36c66ec88fSEmmanuel Vadot              - renesas,ether-r8a7791    # device is a part of R8A7791 SoC
37c66ec88fSEmmanuel Vadot              - renesas,ether-r8a7793    # device is a part of R8A7793 SoC
38c66ec88fSEmmanuel Vadot              - renesas,ether-r8a7794    # device is a part of R8A7794 SoC
39c66ec88fSEmmanuel Vadot          - enum:
40c66ec88fSEmmanuel Vadot              - renesas,rcar-gen2-ether  # a generic R-Car Gen2 or RZ/G1 device
41c66ec88fSEmmanuel Vadot
42c66ec88fSEmmanuel Vadot  reg:
43c66ec88fSEmmanuel Vadot    items:
44c66ec88fSEmmanuel Vadot      - description: E-DMAC/feLic registers
45c66ec88fSEmmanuel Vadot      - description: TSU registers
46c66ec88fSEmmanuel Vadot    minItems: 1
47c66ec88fSEmmanuel Vadot
48c66ec88fSEmmanuel Vadot  interrupts:
49c66ec88fSEmmanuel Vadot    maxItems: 1
50c66ec88fSEmmanuel Vadot
51c66ec88fSEmmanuel Vadot  '#address-cells':
52c66ec88fSEmmanuel Vadot    description: number of address cells for the MDIO bus
53c66ec88fSEmmanuel Vadot    const: 1
54c66ec88fSEmmanuel Vadot
55c66ec88fSEmmanuel Vadot  '#size-cells':
56c66ec88fSEmmanuel Vadot    description: number of size cells on the MDIO bus
57c66ec88fSEmmanuel Vadot    const: 0
58c66ec88fSEmmanuel Vadot
59c66ec88fSEmmanuel Vadot  clocks:
60c66ec88fSEmmanuel Vadot    maxItems: 1
61c66ec88fSEmmanuel Vadot
62c66ec88fSEmmanuel Vadot  power-domains:
63c66ec88fSEmmanuel Vadot    maxItems: 1
64c66ec88fSEmmanuel Vadot
65c66ec88fSEmmanuel Vadot  resets:
66c66ec88fSEmmanuel Vadot    maxItems: 1
67c66ec88fSEmmanuel Vadot
68c66ec88fSEmmanuel Vadot  phy-mode: true
69c66ec88fSEmmanuel Vadot
70c66ec88fSEmmanuel Vadot  phy-handle: true
71c66ec88fSEmmanuel Vadot
72c66ec88fSEmmanuel Vadot  renesas,no-ether-link:
73c66ec88fSEmmanuel Vadot    type: boolean
74c66ec88fSEmmanuel Vadot    description:
75c66ec88fSEmmanuel Vadot      specify when a board does not provide a proper Ether LINK signal
76c66ec88fSEmmanuel Vadot
77c66ec88fSEmmanuel Vadot  renesas,ether-link-active-low:
78c66ec88fSEmmanuel Vadot    type: boolean
79c66ec88fSEmmanuel Vadot    description:
80c66ec88fSEmmanuel Vadot      specify when the Ether LINK signal is active-low instead of normal
81c66ec88fSEmmanuel Vadot      active-high
82c66ec88fSEmmanuel Vadot
83c66ec88fSEmmanuel VadotpatternProperties:
84*84943d6fSEmmanuel Vadot  "@[0-9a-f]$":
85c66ec88fSEmmanuel Vadot    type: object
86c66ec88fSEmmanuel Vadot
87c66ec88fSEmmanuel Vadotrequired:
88c66ec88fSEmmanuel Vadot  - compatible
89c66ec88fSEmmanuel Vadot  - reg
90c66ec88fSEmmanuel Vadot  - interrupts
91c66ec88fSEmmanuel Vadot  - phy-mode
92c66ec88fSEmmanuel Vadot  - phy-handle
93c66ec88fSEmmanuel Vadot  - '#address-cells'
94c66ec88fSEmmanuel Vadot  - '#size-cells'
95c66ec88fSEmmanuel Vadot  - clocks
96c66ec88fSEmmanuel Vadot
97c66ec88fSEmmanuel VadotadditionalProperties: false
98c66ec88fSEmmanuel Vadot
99c66ec88fSEmmanuel Vadotexamples:
100c66ec88fSEmmanuel Vadot  # Lager board
101c66ec88fSEmmanuel Vadot  - |
1028cc087a1SEmmanuel Vadot    #include <dt-bindings/clock/r8a7790-cpg-mssr.h>
1038cc087a1SEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
1048cc087a1SEmmanuel Vadot    #include <dt-bindings/power/r8a7790-sysc.h>
1058cc087a1SEmmanuel Vadot    #include <dt-bindings/gpio/gpio.h>
106c66ec88fSEmmanuel Vadot
107c66ec88fSEmmanuel Vadot    ethernet@ee700000 {
108c66ec88fSEmmanuel Vadot        compatible = "renesas,ether-r8a7790", "renesas,rcar-gen2-ether";
109c66ec88fSEmmanuel Vadot        reg = <0xee700000 0x400>;
1108cc087a1SEmmanuel Vadot        interrupts = <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>;
1118cc087a1SEmmanuel Vadot        clocks = <&cpg CPG_MOD 813>;
1128cc087a1SEmmanuel Vadot        power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
1138cc087a1SEmmanuel Vadot        resets = <&cpg 813>;
114c66ec88fSEmmanuel Vadot        phy-mode = "rmii";
115c66ec88fSEmmanuel Vadot        phy-handle = <&phy1>;
116c66ec88fSEmmanuel Vadot        renesas,ether-link-active-low;
117c66ec88fSEmmanuel Vadot        #address-cells = <1>;
118c66ec88fSEmmanuel Vadot        #size-cells = <0>;
119c66ec88fSEmmanuel Vadot
120c66ec88fSEmmanuel Vadot        phy1: ethernet-phy@1 {
1218cc087a1SEmmanuel Vadot            compatible = "ethernet-phy-id0022.1537",
1228cc087a1SEmmanuel Vadot                         "ethernet-phy-ieee802.3-c22";
123c66ec88fSEmmanuel Vadot            reg = <1>;
124c66ec88fSEmmanuel Vadot            interrupt-parent = <&irqc0>;
125c66ec88fSEmmanuel Vadot            interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
1268cc087a1SEmmanuel Vadot            micrel,led-mode = <1>;
1278cc087a1SEmmanuel Vadot            reset-gpios = <&gpio5 31 GPIO_ACTIVE_LOW>;
128c66ec88fSEmmanuel Vadot        };
129c66ec88fSEmmanuel Vadot    };
130