xref: /linux/Documentation/devicetree/bindings/net/pcs/renesas,rzn1-miic.yaml (revision 4f2c0a4acffbec01079c28f839422e64ddeff004)
1*45ed13d9SClément Léger# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*45ed13d9SClément Léger%YAML 1.2
3*45ed13d9SClément Léger---
4*45ed13d9SClément Léger$id: http://devicetree.org/schemas/net/pcs/renesas,rzn1-miic.yaml#
5*45ed13d9SClément Léger$schema: http://devicetree.org/meta-schemas/core.yaml#
6*45ed13d9SClément Léger
7*45ed13d9SClément Légertitle: Renesas RZ/N1 MII converter
8*45ed13d9SClément Léger
9*45ed13d9SClément Légermaintainers:
10*45ed13d9SClément Léger  - Clément Léger <clement.leger@bootlin.com>
11*45ed13d9SClément Léger
12*45ed13d9SClément Légerdescription: |
13*45ed13d9SClément Léger  This MII converter is present on the Renesas RZ/N1 SoC family. It is
14*45ed13d9SClément Léger  responsible to do MII passthrough or convert it to RMII/RGMII.
15*45ed13d9SClément Léger
16*45ed13d9SClément Légerproperties:
17*45ed13d9SClément Léger  '#address-cells':
18*45ed13d9SClément Léger    const: 1
19*45ed13d9SClément Léger
20*45ed13d9SClément Léger  '#size-cells':
21*45ed13d9SClément Léger    const: 0
22*45ed13d9SClément Léger
23*45ed13d9SClément Léger  compatible:
24*45ed13d9SClément Léger    items:
25*45ed13d9SClément Léger      - enum:
26*45ed13d9SClément Léger          - renesas,r9a06g032-miic
27*45ed13d9SClément Léger      - const: renesas,rzn1-miic
28*45ed13d9SClément Léger
29*45ed13d9SClément Léger  reg:
30*45ed13d9SClément Léger    maxItems: 1
31*45ed13d9SClément Léger
32*45ed13d9SClément Léger  clocks:
33*45ed13d9SClément Léger    items:
34*45ed13d9SClément Léger      - description: MII reference clock
35*45ed13d9SClément Léger      - description: RGMII reference clock
36*45ed13d9SClément Léger      - description: RMII reference clock
37*45ed13d9SClément Léger      - description: AHB clock used for the MII converter register interface
38*45ed13d9SClément Léger
39*45ed13d9SClément Léger  clock-names:
40*45ed13d9SClément Léger    items:
41*45ed13d9SClément Léger      - const: mii_ref
42*45ed13d9SClément Léger      - const: rgmii_ref
43*45ed13d9SClément Léger      - const: rmii_ref
44*45ed13d9SClément Léger      - const: hclk
45*45ed13d9SClément Léger
46*45ed13d9SClément Léger  renesas,miic-switch-portin:
47*45ed13d9SClément Léger    description: MII Switch PORTIN configuration. This value should use one of
48*45ed13d9SClément Léger      the values defined in dt-bindings/net/pcs-rzn1-miic.h.
49*45ed13d9SClément Léger    $ref: /schemas/types.yaml#/definitions/uint32
50*45ed13d9SClément Léger    enum: [1, 2]
51*45ed13d9SClément Léger
52*45ed13d9SClément Léger  power-domains:
53*45ed13d9SClément Léger    maxItems: 1
54*45ed13d9SClément Léger
55*45ed13d9SClément LégerpatternProperties:
56*45ed13d9SClément Léger  "^mii-conv@[0-5]$":
57*45ed13d9SClément Léger    type: object
58*45ed13d9SClément Léger    description: MII converter port
59*45ed13d9SClément Léger
60*45ed13d9SClément Léger    properties:
61*45ed13d9SClément Léger      reg:
62*45ed13d9SClément Léger        description: MII Converter port number.
63*45ed13d9SClément Léger        enum: [1, 2, 3, 4, 5]
64*45ed13d9SClément Léger
65*45ed13d9SClément Léger      renesas,miic-input:
66*45ed13d9SClément Léger        description: Converter input port configuration. This value should use
67*45ed13d9SClément Léger          one of the values defined in dt-bindings/net/pcs-rzn1-miic.h.
68*45ed13d9SClément Léger        $ref: /schemas/types.yaml#/definitions/uint32
69*45ed13d9SClément Léger
70*45ed13d9SClément Léger    required:
71*45ed13d9SClément Léger      - reg
72*45ed13d9SClément Léger      - renesas,miic-input
73*45ed13d9SClément Léger
74*45ed13d9SClément Léger    additionalProperties: false
75*45ed13d9SClément Léger
76*45ed13d9SClément Léger    allOf:
77*45ed13d9SClément Léger      - if:
78*45ed13d9SClément Léger          properties:
79*45ed13d9SClément Léger            reg:
80*45ed13d9SClément Léger              const: 1
81*45ed13d9SClément Léger        then:
82*45ed13d9SClément Léger          properties:
83*45ed13d9SClément Léger            renesas,miic-input:
84*45ed13d9SClément Léger              const: 0
85*45ed13d9SClément Léger      - if:
86*45ed13d9SClément Léger          properties:
87*45ed13d9SClément Léger            reg:
88*45ed13d9SClément Léger              const: 2
89*45ed13d9SClément Léger        then:
90*45ed13d9SClément Léger          properties:
91*45ed13d9SClément Léger            renesas,miic-input:
92*45ed13d9SClément Léger              enum: [1, 11]
93*45ed13d9SClément Léger      - if:
94*45ed13d9SClément Léger          properties:
95*45ed13d9SClément Léger            reg:
96*45ed13d9SClément Léger              const: 3
97*45ed13d9SClément Léger        then:
98*45ed13d9SClément Léger          properties:
99*45ed13d9SClément Léger            renesas,miic-input:
100*45ed13d9SClément Léger              enum: [7, 10]
101*45ed13d9SClément Léger      - if:
102*45ed13d9SClément Léger          properties:
103*45ed13d9SClément Léger            reg:
104*45ed13d9SClément Léger              const: 4
105*45ed13d9SClément Léger        then:
106*45ed13d9SClément Léger          properties:
107*45ed13d9SClément Léger            renesas,miic-input:
108*45ed13d9SClément Léger              enum: [4, 6, 9, 13]
109*45ed13d9SClément Léger      - if:
110*45ed13d9SClément Léger          properties:
111*45ed13d9SClément Léger            reg:
112*45ed13d9SClément Léger              const: 5
113*45ed13d9SClément Léger        then:
114*45ed13d9SClément Léger          properties:
115*45ed13d9SClément Léger            renesas,miic-input:
116*45ed13d9SClément Léger              enum: [3, 5, 8, 12]
117*45ed13d9SClément Léger
118*45ed13d9SClément Légerrequired:
119*45ed13d9SClément Léger  - '#address-cells'
120*45ed13d9SClément Léger  - '#size-cells'
121*45ed13d9SClément Léger  - compatible
122*45ed13d9SClément Léger  - reg
123*45ed13d9SClément Léger  - clocks
124*45ed13d9SClément Léger  - clock-names
125*45ed13d9SClément Léger  - power-domains
126*45ed13d9SClément Léger
127*45ed13d9SClément LégeradditionalProperties: false
128*45ed13d9SClément Léger
129*45ed13d9SClément Légerexamples:
130*45ed13d9SClément Léger  - |
131*45ed13d9SClément Léger    #include <dt-bindings/net/pcs-rzn1-miic.h>
132*45ed13d9SClément Léger    #include <dt-bindings/clock/r9a06g032-sysctrl.h>
133*45ed13d9SClément Léger
134*45ed13d9SClément Léger    eth-miic@44030000 {
135*45ed13d9SClément Léger      #address-cells = <1>;
136*45ed13d9SClément Léger      #size-cells = <0>;
137*45ed13d9SClément Léger      compatible = "renesas,r9a06g032-miic", "renesas,rzn1-miic";
138*45ed13d9SClément Léger      reg = <0x44030000 0x10000>;
139*45ed13d9SClément Léger      clocks = <&sysctrl R9A06G032_CLK_MII_REF>,
140*45ed13d9SClément Léger              <&sysctrl R9A06G032_CLK_RGMII_REF>,
141*45ed13d9SClément Léger              <&sysctrl R9A06G032_CLK_RMII_REF>,
142*45ed13d9SClément Léger              <&sysctrl R9A06G032_HCLK_SWITCH_RG>;
143*45ed13d9SClément Léger      clock-names = "mii_ref", "rgmii_ref", "rmii_ref", "hclk";
144*45ed13d9SClément Léger      renesas,miic-switch-portin = <MIIC_GMAC2_PORT>;
145*45ed13d9SClément Léger      power-domains = <&sysctrl>;
146*45ed13d9SClément Léger
147*45ed13d9SClément Léger      mii_conv1: mii-conv@1 {
148*45ed13d9SClément Léger        renesas,miic-input = <MIIC_GMAC1_PORT>;
149*45ed13d9SClément Léger        reg = <1>;
150*45ed13d9SClément Léger      };
151*45ed13d9SClément Léger
152*45ed13d9SClément Léger      mii_conv2: mii-conv@2 {
153*45ed13d9SClément Léger        renesas,miic-input = <MIIC_SWITCH_PORTD>;
154*45ed13d9SClément Léger        reg = <2>;
155*45ed13d9SClément Léger      };
156*45ed13d9SClément Léger
157*45ed13d9SClément Léger      mii_conv3: mii-conv@3 {
158*45ed13d9SClément Léger        renesas,miic-input = <MIIC_SWITCH_PORTC>;
159*45ed13d9SClément Léger        reg = <3>;
160*45ed13d9SClément Léger      };
161*45ed13d9SClément Léger
162*45ed13d9SClément Léger      mii_conv4: mii-conv@4 {
163*45ed13d9SClément Léger        renesas,miic-input = <MIIC_SWITCH_PORTB>;
164*45ed13d9SClément Léger        reg = <4>;
165*45ed13d9SClément Léger      };
166*45ed13d9SClément Léger
167*45ed13d9SClément Léger      mii_conv5: mii-conv@5 {
168*45ed13d9SClément Léger        renesas,miic-input = <MIIC_SWITCH_PORTA>;
169*45ed13d9SClément Léger        reg = <5>;
170*45ed13d9SClément Léger      };
171*45ed13d9SClément Léger    };
172