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