xref: /freebsd/sys/contrib/device-tree/Bindings/net/brcm,unimac-mdio.yaml (revision 95eb4b873b6a8b527c5bd78d7191975dfca38998)
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,unimac-mdio
28
29  reg:
30    minItems: 1
31    items:
32      - description: base register
33      - description: indirect accesses to larger than 16-bits MDIO transactions
34
35  reg-names:
36    minItems: 1
37    items:
38      - const: mdio
39      - const: mdio_indir_rw
40
41  interrupts:
42    oneOf:
43      - description: >
44          Interrupt shared with the Ethernet MAC or Ethernet switch this MDIO
45          block is integrated from
46      - items:
47          - description: |
48              "mdio done" interrupt
49          - description: |
50              "mdio error" interrupt
51
52  interrupt-names:
53    oneOf:
54      - const: mdio_done_error
55      - items:
56          - const: mdio_done
57          - const: mdio_error
58
59  clocks:
60    description: A reference to the clock supplying the MDIO bus controller
61
62  clock-frequency:
63    description: >
64      The MDIO bus clock that must be output by the MDIO bus hardware, if
65      absent, the default hardware values are used
66
67unevaluatedProperties: false
68
69required:
70  - reg
71  - '#address-cells'
72  - '#size-cells'
73
74examples:
75  - |
76    mdio@403c0 {
77        compatible = "brcm,unimac-mdio";
78        reg = <0x403c0 0x8>, <0x40300 0x18>;
79        reg-names = "mdio", "mdio_indir_rw";
80        #address-cells = <1>;
81        #size-cells = <0>;
82
83        ethernet-phy@0 {
84            compatible = "ethernet-phy-ieee802.3-c22";
85            reg = <0>;
86        };
87    };
88