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,unimac-mdio.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Broadcom UniMAC MDIO bus controller
8
9maintainers:
10  - Doug Berger <opendmb@gmail.com>
11  - Florian Fainelli <f.fainelli@gmail.com>
12  - Rafał Miłecki <rafal@milecki.pl>
13
14allOf:
15  - $ref: mdio.yaml#
16
17properties:
18  compatible:
19    enum:
20      - brcm,genet-mdio-v1
21      - brcm,genet-mdio-v2
22      - brcm,genet-mdio-v3
23      - brcm,genet-mdio-v4
24      - brcm,genet-mdio-v5
25      - brcm,asp-v2.0-mdio
26      - brcm,asp-v2.1-mdio
27      - brcm,asp-v2.2-mdio
28      - brcm,unimac-mdio
29
30  reg:
31    minItems: 1
32    items:
33      - description: base register
34      - description: indirect accesses to larger than 16-bits MDIO transactions
35
36  reg-names:
37    minItems: 1
38    items:
39      - const: mdio
40      - const: mdio_indir_rw
41
42  interrupts:
43    oneOf:
44      - description: >
45          Interrupt shared with the Ethernet MAC or Ethernet switch this MDIO
46          block is integrated from
47      - items:
48          - description: |
49              "mdio done" interrupt
50          - description: |
51              "mdio error" interrupt
52
53  interrupt-names:
54    oneOf:
55      - const: mdio_done_error
56      - items:
57          - const: mdio_done
58          - const: mdio_error
59
60  clocks:
61    description: A reference to the clock supplying the MDIO bus controller
62
63  clock-frequency:
64    description: >
65      The MDIO bus clock that must be output by the MDIO bus hardware, if
66      absent, the default hardware values are used
67
68unevaluatedProperties: false
69
70required:
71  - reg
72  - '#address-cells'
73  - '#size-cells'
74
75examples:
76  - |
77    mdio@403c0 {
78        compatible = "brcm,unimac-mdio";
79        reg = <0x403c0 0x8>, <0x40300 0x18>;
80        reg-names = "mdio", "mdio_indir_rw";
81        #address-cells = <1>;
82        #size-cells = <0>;
83
84        ethernet-phy@0 {
85            compatible = "ethernet-phy-ieee802.3-c22";
86            reg = <0>;
87        };
88    };
89