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
7title: Broadcom BCM6368 MDIO bus multiplexer
8
9maintainers:
10  - Álvaro Fernández Rojas <noltari@gmail.com>
11
12description:
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
17allOf:
18  - $ref: "mdio.yaml#"
19
20properties:
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
33required:
34  - compatible
35  - reg
36
37patternProperties:
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
55unevaluatedProperties: false
56
57examples:
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    };
77