1*cb7aa33aSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*cb7aa33aSEmmanuel Vadot%YAML 1.2 3*cb7aa33aSEmmanuel Vadot--- 4*cb7aa33aSEmmanuel Vadot$id: http://devicetree.org/schemas/net/amlogic,g12a-mdio-mux.yaml# 5*cb7aa33aSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6*cb7aa33aSEmmanuel Vadot 7*cb7aa33aSEmmanuel Vadottitle: MDIO bus multiplexer/glue of Amlogic G12a SoC family 8*cb7aa33aSEmmanuel Vadot 9*cb7aa33aSEmmanuel Vadotdescription: 10*cb7aa33aSEmmanuel Vadot This is a special case of a MDIO bus multiplexer. It allows to choose between 11*cb7aa33aSEmmanuel Vadot the internal mdio bus leading to the embedded 10/100 PHY or the external 12*cb7aa33aSEmmanuel Vadot MDIO bus. 13*cb7aa33aSEmmanuel Vadot 14*cb7aa33aSEmmanuel Vadotmaintainers: 15*cb7aa33aSEmmanuel Vadot - Neil Armstrong <neil.armstrong@linaro.org> 16*cb7aa33aSEmmanuel Vadot 17*cb7aa33aSEmmanuel VadotallOf: 18*cb7aa33aSEmmanuel Vadot - $ref: mdio-mux.yaml# 19*cb7aa33aSEmmanuel Vadot 20*cb7aa33aSEmmanuel Vadotproperties: 21*cb7aa33aSEmmanuel Vadot compatible: 22*cb7aa33aSEmmanuel Vadot const: amlogic,g12a-mdio-mux 23*cb7aa33aSEmmanuel Vadot 24*cb7aa33aSEmmanuel Vadot reg: 25*cb7aa33aSEmmanuel Vadot maxItems: 1 26*cb7aa33aSEmmanuel Vadot 27*cb7aa33aSEmmanuel Vadot clocks: 28*cb7aa33aSEmmanuel Vadot items: 29*cb7aa33aSEmmanuel Vadot - description: peripheral clock 30*cb7aa33aSEmmanuel Vadot - description: platform crytal 31*cb7aa33aSEmmanuel Vadot - description: SoC 50MHz MPLL 32*cb7aa33aSEmmanuel Vadot 33*cb7aa33aSEmmanuel Vadot clock-names: 34*cb7aa33aSEmmanuel Vadot items: 35*cb7aa33aSEmmanuel Vadot - const: pclk 36*cb7aa33aSEmmanuel Vadot - const: clkin0 37*cb7aa33aSEmmanuel Vadot - const: clkin1 38*cb7aa33aSEmmanuel Vadot 39*cb7aa33aSEmmanuel Vadotrequired: 40*cb7aa33aSEmmanuel Vadot - compatible 41*cb7aa33aSEmmanuel Vadot - reg 42*cb7aa33aSEmmanuel Vadot - clocks 43*cb7aa33aSEmmanuel Vadot - clock-names 44*cb7aa33aSEmmanuel Vadot 45*cb7aa33aSEmmanuel VadotunevaluatedProperties: false 46*cb7aa33aSEmmanuel Vadot 47*cb7aa33aSEmmanuel Vadotexamples: 48*cb7aa33aSEmmanuel Vadot - | 49*cb7aa33aSEmmanuel Vadot #include <dt-bindings/interrupt-controller/irq.h> 50*cb7aa33aSEmmanuel Vadot #include <dt-bindings/interrupt-controller/arm-gic.h> 51*cb7aa33aSEmmanuel Vadot mdio-multiplexer@4c000 { 52*cb7aa33aSEmmanuel Vadot compatible = "amlogic,g12a-mdio-mux"; 53*cb7aa33aSEmmanuel Vadot reg = <0x4c000 0xa4>; 54*cb7aa33aSEmmanuel Vadot clocks = <&clkc_eth_phy>, <&xtal>, <&clkc_mpll>; 55*cb7aa33aSEmmanuel Vadot clock-names = "pclk", "clkin0", "clkin1"; 56*cb7aa33aSEmmanuel Vadot mdio-parent-bus = <&mdio0>; 57*cb7aa33aSEmmanuel Vadot #address-cells = <1>; 58*cb7aa33aSEmmanuel Vadot #size-cells = <0>; 59*cb7aa33aSEmmanuel Vadot 60*cb7aa33aSEmmanuel Vadot mdio@0 { 61*cb7aa33aSEmmanuel Vadot reg = <0>; 62*cb7aa33aSEmmanuel Vadot #address-cells = <1>; 63*cb7aa33aSEmmanuel Vadot #size-cells = <0>; 64*cb7aa33aSEmmanuel Vadot }; 65*cb7aa33aSEmmanuel Vadot 66*cb7aa33aSEmmanuel Vadot mdio@1 { 67*cb7aa33aSEmmanuel Vadot reg = <1>; 68*cb7aa33aSEmmanuel Vadot #address-cells = <1>; 69*cb7aa33aSEmmanuel Vadot #size-cells = <0>; 70*cb7aa33aSEmmanuel Vadot 71*cb7aa33aSEmmanuel Vadot ethernet-phy@8 { 72*cb7aa33aSEmmanuel Vadot compatible = "ethernet-phy-id0180.3301", 73*cb7aa33aSEmmanuel Vadot "ethernet-phy-ieee802.3-c22"; 74*cb7aa33aSEmmanuel Vadot interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>; 75*cb7aa33aSEmmanuel Vadot reg = <8>; 76*cb7aa33aSEmmanuel Vadot max-speed = <100>; 77*cb7aa33aSEmmanuel Vadot }; 78*cb7aa33aSEmmanuel Vadot }; 79*cb7aa33aSEmmanuel Vadot }; 80*cb7aa33aSEmmanuel Vadot... 81