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
7title: Socionext AVE ethernet controller
8
9maintainers:
10  - Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
11
12description: |
13  This describes the devicetree bindings for AVE ethernet controller
14  implemented on Socionext UniPhier SoCs.
15
16properties:
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
66allOf:
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
102required:
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
114unevaluatedProperties: false
115
116examples:
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        };
139