xref: /freebsd/sys/contrib/device-tree/Bindings/net/renesas,ether.yaml (revision 2eb4d8dc723da3cf7d735a3226ae49da4c8c5dbc)
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:
13*2eb4d8dcSEmmanuel 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:
84c66ec88fSEmmanuel Vadot  "^ethernet-phy@[0-9a-f]$":
85c66ec88fSEmmanuel Vadot    type: object
86c66ec88fSEmmanuel Vadot    $ref: ethernet-phy.yaml#
87c66ec88fSEmmanuel Vadot
88c66ec88fSEmmanuel Vadotrequired:
89c66ec88fSEmmanuel Vadot  - compatible
90c66ec88fSEmmanuel Vadot  - reg
91c66ec88fSEmmanuel Vadot  - interrupts
92c66ec88fSEmmanuel Vadot  - phy-mode
93c66ec88fSEmmanuel Vadot  - phy-handle
94c66ec88fSEmmanuel Vadot  - '#address-cells'
95c66ec88fSEmmanuel Vadot  - '#size-cells'
96c66ec88fSEmmanuel Vadot  - clocks
97c66ec88fSEmmanuel Vadot
98c66ec88fSEmmanuel VadotadditionalProperties: false
99c66ec88fSEmmanuel Vadot
100c66ec88fSEmmanuel Vadotexamples:
101c66ec88fSEmmanuel Vadot  # Lager board
102c66ec88fSEmmanuel Vadot  - |
103c66ec88fSEmmanuel Vadot    #include <dt-bindings/clock/r8a7790-clock.h>
104c66ec88fSEmmanuel Vadot    #include <dt-bindings/interrupt-controller/irq.h>
105c66ec88fSEmmanuel Vadot
106c66ec88fSEmmanuel Vadot    ethernet@ee700000 {
107c66ec88fSEmmanuel Vadot        compatible = "renesas,ether-r8a7790", "renesas,rcar-gen2-ether";
108c66ec88fSEmmanuel Vadot        reg = <0xee700000 0x400>;
109c66ec88fSEmmanuel Vadot        interrupt-parent = <&gic>;
110c66ec88fSEmmanuel Vadot        interrupts = <0 162 IRQ_TYPE_LEVEL_HIGH>;
111c66ec88fSEmmanuel Vadot        clocks = <&mstp8_clks R8A7790_CLK_ETHER>;
112c66ec88fSEmmanuel Vadot        phy-mode = "rmii";
113c66ec88fSEmmanuel Vadot        phy-handle = <&phy1>;
114c66ec88fSEmmanuel Vadot        renesas,ether-link-active-low;
115c66ec88fSEmmanuel Vadot        #address-cells = <1>;
116c66ec88fSEmmanuel Vadot        #size-cells = <0>;
117c66ec88fSEmmanuel Vadot
118c66ec88fSEmmanuel Vadot        phy1: ethernet-phy@1 {
119c66ec88fSEmmanuel Vadot            reg = <1>;
120c66ec88fSEmmanuel Vadot            interrupt-parent = <&irqc0>;
121c66ec88fSEmmanuel Vadot            interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
122c66ec88fSEmmanuel Vadot        };
123c66ec88fSEmmanuel Vadot    };
124