xref: /linux/Documentation/devicetree/bindings/net/socionext,uniphier-ave4.yaml (revision c532de5a67a70f8533d495f8f2aaa9a0491c3ad0)
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:
45    minItems: 1
46    maxItems: 4
47
48  resets:
49    minItems: 1
50    maxItems: 2
51
52  reset-names:
53    minItems: 1
54    maxItems: 2
55
56  socionext,syscon-phy-mode:
57    $ref: /schemas/types.yaml#/definitions/phandle-array
58    items:
59      - items:
60          - description: phandle to syscon that configures phy mode
61          - description: ID of MAC instance
62    description:
63      A phandle to syscon with one argument that configures phy mode.
64      The argument is the ID of MAC instance.
65
66  mdio:
67    $ref: mdio.yaml#
68    unevaluatedProperties: false
69
70allOf:
71  - $ref: ethernet-controller.yaml#
72  - if:
73      properties:
74        compatible:
75          contains:
76            const: socionext,uniphier-pro4-ave4
77    then:
78      properties:
79        clocks:
80          minItems: 4
81          maxItems: 4
82        clock-names:
83          items:
84            - const: gio
85            - const: ether
86            - const: ether-gb
87            - const: ether-phy
88        resets:
89          minItems: 2
90          maxItems: 2
91        reset-names:
92          items:
93            - const: gio
94            - const: ether
95    else:
96      properties:
97        clocks:
98          maxItems: 1
99        clock-names:
100          const: ether
101        resets:
102          maxItems: 1
103        reset-names:
104          const: ether
105
106required:
107  - compatible
108  - reg
109  - interrupts
110  - phy-mode
111  - phy-handle
112  - clocks
113  - clock-names
114  - resets
115  - reset-names
116  - mdio
117
118unevaluatedProperties: false
119
120examples:
121  - |
122    ether: ethernet@65000000 {
123        compatible = "socionext,uniphier-ld20-ave4";
124                reg = <0x65000000 0x8500>;
125                interrupts = <0 66 4>;
126                phy-mode = "rgmii";
127                phy-handle = <&ethphy>;
128                clock-names = "ether";
129                clocks = <&sys_clk 6>;
130                reset-names = "ether";
131                resets = <&sys_rst 6>;
132                socionext,syscon-phy-mode = <&soc_glue 0>;
133
134                mdio {
135                        #address-cells = <1>;
136                        #size-cells = <0>;
137
138                        ethphy: ethernet-phy@1 {
139                                reg = <1>;
140                        };
141                };
142        };
143