Linux 6.9-rc1
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / net / socionext,uniphier-ave4.yaml
1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/net/socionext,uniphier-ave4.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Socionext AVE ethernet controller
8
9 maintainers:
10   - Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
11
12 description: |
13   This describes the devicetree bindings for AVE ethernet controller
14   implemented on Socionext UniPhier SoCs.
15
16 properties:
17   compatible:
18     enum:
19       - socionext,uniphier-pro4-ave4
20       - socionext,uniphier-pxs2-ave4
21       - socionext,uniphier-ld11-ave4
22       - socionext,uniphier-ld20-ave4
23       - socionext,uniphier-pxs3-ave4
24       - socionext,uniphier-nx1-ave4
25
26   reg:
27     maxItems: 1
28
29   interrupts:
30     maxItems: 1
31
32   phy-mode: true
33
34   phy-handle: true
35
36   mac-address: true
37
38   local-mac-address: true
39
40   clocks:
41     minItems: 1
42     maxItems: 4
43
44   clock-names: true
45
46   resets:
47     minItems: 1
48     maxItems: 2
49
50   reset-names: true
51
52   socionext,syscon-phy-mode:
53     $ref: /schemas/types.yaml#/definitions/phandle-array
54     items:
55       - items:
56           - description: phandle to syscon that configures phy mode
57           - description: ID of MAC instance
58     description:
59       A phandle to syscon with one argument that configures phy mode.
60       The argument is the ID of MAC instance.
61
62   mdio:
63     $ref: mdio.yaml#
64     unevaluatedProperties: false
65
66 allOf:
67   - $ref: ethernet-controller.yaml#
68   - if:
69       properties:
70         compatible:
71           contains:
72             const: socionext,uniphier-pro4-ave4
73     then:
74       properties:
75         clocks:
76           minItems: 4
77           maxItems: 4
78         clock-names:
79           items:
80             - const: gio
81             - const: ether
82             - const: ether-gb
83             - const: ether-phy
84         resets:
85           minItems: 2
86           maxItems: 2
87         reset-names:
88           items:
89             - const: gio
90             - const: ether
91     else:
92       properties:
93         clocks:
94           maxItems: 1
95         clock-names:
96           const: ether
97         resets:
98           maxItems: 1
99         reset-names:
100           const: ether
101
102 required:
103   - compatible
104   - reg
105   - interrupts
106   - phy-mode
107   - phy-handle
108   - clocks
109   - clock-names
110   - resets
111   - reset-names
112   - mdio
113
114 unevaluatedProperties: false
115
116 examples:
117   - |
118     ether: ethernet@65000000 {
119         compatible = "socionext,uniphier-ld20-ave4";
120                 reg = <0x65000000 0x8500>;
121                 interrupts = <0 66 4>;
122                 phy-mode = "rgmii";
123                 phy-handle = <&ethphy>;
124                 clock-names = "ether";
125                 clocks = <&sys_clk 6>;
126                 reset-names = "ether";
127                 resets = <&sys_rst 6>;
128                 socionext,syscon-phy-mode = <&soc_glue 0>;
129
130                 mdio {
131                         #address-cells = <1>;
132                         #size-cells = <0>;
133
134                         ethphy: ethernet-phy@1 {
135                                 reg = <1>;
136                         };
137                 };
138         };