GNU Linux-libre 5.15.137-gnu
[releases.git] / Documentation / devicetree / bindings / net / brcm,bcm6368-mdio-mux.yaml
1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/net/brcm,bcm6368-mdio-mux.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Broadcom BCM6368 MDIO bus multiplexer
8
9 maintainers:
10   - Álvaro Fernández Rojas <noltari@gmail.com>
11
12 description:
13   This MDIO bus multiplexer defines buses that could be internal as well as
14   external to SoCs. When child bus is selected, one needs to select these two
15   properties as well to generate desired MDIO transaction on appropriate bus.
16
17 allOf:
18   - $ref: "mdio.yaml#"
19
20 properties:
21   compatible:
22     const: brcm,bcm6368-mdio-mux
23
24   "#address-cells":
25     const: 1
26
27   "#size-cells":
28     const: 0
29
30   reg:
31     maxItems: 1
32
33 required:
34   - compatible
35   - reg
36
37 patternProperties:
38   '^mdio@[0-1]$':
39     type: object
40     properties:
41       reg:
42         maxItems: 1
43
44       "#address-cells":
45         const: 1
46
47       "#size-cells":
48         const: 0
49
50     required:
51       - reg
52       - "#address-cells"
53       - "#size-cells"
54
55 unevaluatedProperties: false
56
57 examples:
58   - |
59     mdio0: mdio@10e000b0 {
60       #address-cells = <1>;
61       #size-cells = <0>;
62       compatible = "brcm,bcm6368-mdio-mux";
63       reg = <0x10e000b0 0x6>;
64
65       mdio_int: mdio@0 {
66         #address-cells = <1>;
67         #size-cells = <0>;
68         reg = <0>;
69       };
70
71       mdio_ext: mdio@1 {
72         #address-cells = <1>;
73         #size-cells = <0>;
74         reg = <1>;
75       };
76     };