1*5956d97fSEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0 2*5956d97fSEmmanuel Vadot%YAML 1.2 3*5956d97fSEmmanuel Vadot--- 4*5956d97fSEmmanuel Vadot$id: http://devicetree.org/schemas/net/mdio-mux-multiplexer.yaml# 5*5956d97fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6*5956d97fSEmmanuel Vadot 7*5956d97fSEmmanuel Vadottitle: Properties for an MDIO bus multiplexer consumer device 8*5956d97fSEmmanuel Vadot 9*5956d97fSEmmanuel Vadotmaintainers: 10*5956d97fSEmmanuel Vadot - Andrew Lunn <andrew@lunn.ch> 11*5956d97fSEmmanuel Vadot 12*5956d97fSEmmanuel Vadotdescription: |+ 13*5956d97fSEmmanuel Vadot This is a special case of MDIO mux when MDIO mux is defined as a consumer 14*5956d97fSEmmanuel Vadot of a mux producer device. The mux producer can be of any type like mmio mux 15*5956d97fSEmmanuel Vadot producer, gpio mux producer or generic register based mux producer. 16*5956d97fSEmmanuel Vadot 17*5956d97fSEmmanuel Vadot 18*5956d97fSEmmanuel VadotallOf: 19*5956d97fSEmmanuel Vadot - $ref: /schemas/net/mdio-mux.yaml# 20*5956d97fSEmmanuel Vadot 21*5956d97fSEmmanuel Vadotproperties: 22*5956d97fSEmmanuel Vadot compatible: 23*5956d97fSEmmanuel Vadot const: mdio-mux-multiplexer 24*5956d97fSEmmanuel Vadot 25*5956d97fSEmmanuel Vadot mux-controls: 26*5956d97fSEmmanuel Vadot maxItems: 1 27*5956d97fSEmmanuel Vadot 28*5956d97fSEmmanuel Vadotrequired: 29*5956d97fSEmmanuel Vadot - compatible 30*5956d97fSEmmanuel Vadot - mux-controls 31*5956d97fSEmmanuel Vadot 32*5956d97fSEmmanuel VadotunevaluatedProperties: false 33*5956d97fSEmmanuel Vadot 34*5956d97fSEmmanuel Vadotexamples: 35*5956d97fSEmmanuel Vadot - | 36*5956d97fSEmmanuel Vadot mux: mux-controller { // Mux Producer 37*5956d97fSEmmanuel Vadot compatible = "reg-mux"; 38*5956d97fSEmmanuel Vadot #mux-control-cells = <1>; 39*5956d97fSEmmanuel Vadot mux-reg-masks = <0x54 0xf8>, /* 0: reg 0x54, bits 7:3 */ 40*5956d97fSEmmanuel Vadot <0x54 0x07>; /* 1: reg 0x54, bits 2:0 */ 41*5956d97fSEmmanuel Vadot }; 42*5956d97fSEmmanuel Vadot 43*5956d97fSEmmanuel Vadot mdio-mux-1 { // Mux consumer 44*5956d97fSEmmanuel Vadot compatible = "mdio-mux-multiplexer"; 45*5956d97fSEmmanuel Vadot mux-controls = <&mux 0>; 46*5956d97fSEmmanuel Vadot mdio-parent-bus = <&emdio1>; 47*5956d97fSEmmanuel Vadot #address-cells = <1>; 48*5956d97fSEmmanuel Vadot #size-cells = <0>; 49*5956d97fSEmmanuel Vadot 50*5956d97fSEmmanuel Vadot mdio@0 { 51*5956d97fSEmmanuel Vadot reg = <0x0>; 52*5956d97fSEmmanuel Vadot #address-cells = <1>; 53*5956d97fSEmmanuel Vadot #size-cells = <0>; 54*5956d97fSEmmanuel Vadot }; 55*5956d97fSEmmanuel Vadot 56*5956d97fSEmmanuel Vadot mdio@8 { 57*5956d97fSEmmanuel Vadot reg = <0x8>; 58*5956d97fSEmmanuel Vadot #address-cells = <1>; 59*5956d97fSEmmanuel Vadot #size-cells = <0>; 60*5956d97fSEmmanuel Vadot }; 61*5956d97fSEmmanuel Vadot }; 62*5956d97fSEmmanuel Vadot 63*5956d97fSEmmanuel Vadot mdio-mux-2 { // Mux consumer 64*5956d97fSEmmanuel Vadot compatible = "mdio-mux-multiplexer"; 65*5956d97fSEmmanuel Vadot mux-controls = <&mux 1>; 66*5956d97fSEmmanuel Vadot mdio-parent-bus = <&emdio2>; 67*5956d97fSEmmanuel Vadot #address-cells = <1>; 68*5956d97fSEmmanuel Vadot #size-cells = <0>; 69*5956d97fSEmmanuel Vadot 70*5956d97fSEmmanuel Vadot mdio@0 { 71*5956d97fSEmmanuel Vadot reg = <0x0>; 72*5956d97fSEmmanuel Vadot #address-cells = <1>; 73*5956d97fSEmmanuel Vadot #size-cells = <0>; 74*5956d97fSEmmanuel Vadot }; 75*5956d97fSEmmanuel Vadot 76*5956d97fSEmmanuel Vadot mdio@1 { 77*5956d97fSEmmanuel Vadot reg = <0x1>; 78*5956d97fSEmmanuel Vadot #address-cells = <1>; 79*5956d97fSEmmanuel Vadot #size-cells = <0>; 80*5956d97fSEmmanuel Vadot }; 81*5956d97fSEmmanuel Vadot }; 82*5956d97fSEmmanuel Vadot... 83