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