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