# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML 1.2 --- $id: http://devicetree.org/schemas/net/pcs/renesas,rzn1-miic.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Renesas RZ/N1 MII converter maintainers: - Clément Léger <clement.leger@bootlin.com> description: | This MII converter is present on the Renesas RZ/N1 SoC family. It is responsible to do MII passthrough or convert it to RMII/RGMII. properties: '#address-cells': const: 1 '#size-cells': const: 0 compatible: items: - enum: - renesas,r9a06g032-miic - const: renesas,rzn1-miic reg: maxItems: 1 clocks: items: - description: MII reference clock - description: RGMII reference clock - description: RMII reference clock - description: AHB clock used for the MII converter register interface clock-names: items: - const: mii_ref - const: rgmii_ref - const: rmii_ref - const: hclk renesas,miic-switch-portin: description: MII Switch PORTIN configuration. This value should use one of the values defined in dt-bindings/net/pcs-rzn1-miic.h. $ref: /schemas/types.yaml#/definitions/uint32 enum: [1, 2] power-domains: maxItems: 1 patternProperties: "^mii-conv@[0-5]$": type: object description: MII converter port properties: reg: description: MII Converter port number. enum: [1, 2, 3, 4, 5] renesas,miic-input: description: Converter input port configuration. This value should use one of the values defined in dt-bindings/net/pcs-rzn1-miic.h. $ref: /schemas/types.yaml#/definitions/uint32 required: - reg - renesas,miic-input additionalProperties: false allOf: - if: properties: reg: const: 1 then: properties: renesas,miic-input: const: 0 - if: properties: reg: const: 2 then: properties: renesas,miic-input: enum: [1, 11] - if: properties: reg: const: 3 then: properties: renesas,miic-input: enum: [7, 10] - if: properties: reg: const: 4 then: properties: renesas,miic-input: enum: [4, 6, 9, 13] - if: properties: reg: const: 5 then: properties: renesas,miic-input: enum: [3, 5, 8, 12] required: - '#address-cells' - '#size-cells' - compatible - reg - clocks - clock-names - power-domains additionalProperties: false examples: - | #include <dt-bindings/net/pcs-rzn1-miic.h> #include <dt-bindings/clock/r9a06g032-sysctrl.h> eth-miic@44030000 { #address-cells = <1>; #size-cells = <0>; compatible = "renesas,r9a06g032-miic", "renesas,rzn1-miic"; reg = <0x44030000 0x10000>; clocks = <&sysctrl R9A06G032_CLK_MII_REF>, <&sysctrl R9A06G032_CLK_RGMII_REF>, <&sysctrl R9A06G032_CLK_RMII_REF>, <&sysctrl R9A06G032_HCLK_SWITCH_RG>; clock-names = "mii_ref", "rgmii_ref", "rmii_ref", "hclk"; renesas,miic-switch-portin = <MIIC_GMAC2_PORT>; power-domains = <&sysctrl>; mii_conv1: mii-conv@1 { renesas,miic-input = <MIIC_GMAC1_PORT>; reg = <1>; }; mii_conv2: mii-conv@2 { renesas,miic-input = <MIIC_SWITCH_PORTD>; reg = <2>; }; mii_conv3: mii-conv@3 { renesas,miic-input = <MIIC_SWITCH_PORTC>; reg = <3>; }; mii_conv4: mii-conv@4 { renesas,miic-input = <MIIC_SWITCH_PORTB>; reg = <4>; }; mii_conv5: mii-conv@5 { renesas,miic-input = <MIIC_SWITCH_PORTA>; reg = <5>; }; };