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