summaryrefslogtreecommitdiffstats
path: root/Documentation/devicetree/bindings/net/socionext,uniphier-ave4.yaml
blob: b0ebcef6801ce50f728b24e70251125d8e1d373c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/net/socionext,uniphier-ave4.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Socionext AVE ethernet controller

maintainers:
  - Kunihiko Hayashi <hayashi.kunihiko@socionext.com>

description: |
  This describes the devicetree bindings for AVE ethernet controller
  implemented on Socionext UniPhier SoCs.

properties:
  compatible:
    enum:
      - socionext,uniphier-pro4-ave4
      - socionext,uniphier-pxs2-ave4
      - socionext,uniphier-ld11-ave4
      - socionext,uniphier-ld20-ave4
      - socionext,uniphier-pxs3-ave4
      - socionext,uniphier-nx1-ave4

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  phy-mode: true

  phy-handle: true

  mac-address: true

  local-mac-address: true

  clocks:
    minItems: 1
    maxItems: 4

  clock-names: true

  resets:
    minItems: 1
    maxItems: 2

  reset-names: true

  socionext,syscon-phy-mode:
    $ref: /schemas/types.yaml#/definitions/phandle-array
    items:
      - items:
          - description: phandle to syscon that configures phy mode
          - description: ID of MAC instance
    description:
      A phandle to syscon with one argument that configures phy mode.
      The argument is the ID of MAC instance.

  mdio:
    $ref: mdio.yaml#
    unevaluatedProperties: false

allOf:
  - $ref: ethernet-controller.yaml#
  - if:
      properties:
        compatible:
          contains:
            const: socionext,uniphier-pro4-ave4
    then:
      properties:
        clocks:
          minItems: 4
          maxItems: 4
        clock-names:
          items:
            - const: gio
            - const: ether
            - const: ether-gb
            - const: ether-phy
        resets:
          minItems: 2
          maxItems: 2
        reset-names:
          items:
            - const: gio
            - const: ether
    else:
      properties:
        clocks:
          maxItems: 1
        clock-names:
          const: ether
        resets:
          maxItems: 1
        reset-names:
          const: ether

required:
  - compatible
  - reg
  - interrupts
  - phy-mode
  - phy-handle
  - clocks
  - clock-names
  - resets
  - reset-names
  - mdio

unevaluatedProperties: false

examples:
  - |
    ether: ethernet@65000000 {
        compatible = "socionext,uniphier-ld20-ave4";
                reg = <0x65000000 0x8500>;
                interrupts = <0 66 4>;
                phy-mode = "rgmii";
                phy-handle = <&ethphy>;
                clock-names = "ether";
                clocks = <&sys_clk 6>;
                reset-names = "ether";
                resets = <&sys_rst 6>;
                socionext,syscon-phy-mode = <&soc_glue 0>;

                mdio {
                        #address-cells = <1>;
                        #size-cells = <0>;

                        ethphy: ethernet-phy@1 {
                                reg = <1>;
                        };
                };
        };