xref: /freebsd/sys/contrib/device-tree/Bindings/net/brcm,bcmgenet.yaml (revision f126890ac5386406dadf7c4cfa9566cbb56537c5)
1e67e8565SEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2e67e8565SEmmanuel Vadot%YAML 1.2
3e67e8565SEmmanuel Vadot---
4e67e8565SEmmanuel Vadot$id: http://devicetree.org/schemas/net/brcm,bcmgenet.yaml#
5e67e8565SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6e67e8565SEmmanuel Vadot
78bab661aSEmmanuel Vadottitle: Broadcom BCM7xxx Ethernet Controller (GENET)
8e67e8565SEmmanuel Vadot
9e67e8565SEmmanuel Vadotmaintainers:
10e67e8565SEmmanuel Vadot  - Doug Berger <opendmb@gmail.com>
11e67e8565SEmmanuel Vadot  - Florian Fainelli <f.fainelli@gmail.com>
12e67e8565SEmmanuel Vadot
13e67e8565SEmmanuel Vadotproperties:
14e67e8565SEmmanuel Vadot  compatible:
15e67e8565SEmmanuel Vadot    enum:
16e67e8565SEmmanuel Vadot      - brcm,genet-v1
17e67e8565SEmmanuel Vadot      - brcm,genet-v2
18e67e8565SEmmanuel Vadot      - brcm,genet-v3
19e67e8565SEmmanuel Vadot      - brcm,genet-v4
20e67e8565SEmmanuel Vadot      - brcm,genet-v5
21e67e8565SEmmanuel Vadot      - brcm,bcm2711-genet-v5
22e67e8565SEmmanuel Vadot      - brcm,bcm7712-genet-v5
23e67e8565SEmmanuel Vadot
24e67e8565SEmmanuel Vadot  reg:
25e67e8565SEmmanuel Vadot    maxItems: 1
26e67e8565SEmmanuel Vadot
27e67e8565SEmmanuel Vadot  interrupts:
28e67e8565SEmmanuel Vadot    minItems: 2
29e67e8565SEmmanuel Vadot    items:
30e67e8565SEmmanuel Vadot      - description: general purpose interrupt line
31e67e8565SEmmanuel Vadot      - description: RX and TX rings interrupt line
32e67e8565SEmmanuel Vadot      - description: Wake-on-LAN interrupt line
33e67e8565SEmmanuel Vadot
34e67e8565SEmmanuel Vadot
35e67e8565SEmmanuel Vadot  clocks:
36e67e8565SEmmanuel Vadot    minItems: 1
37e67e8565SEmmanuel Vadot    items:
38e67e8565SEmmanuel Vadot      - description: main clock
39e67e8565SEmmanuel Vadot      - description: EEE clock
40e67e8565SEmmanuel Vadot      - description: Wake-on-LAN clock
41e67e8565SEmmanuel Vadot
42e67e8565SEmmanuel Vadot  clock-names:
43e67e8565SEmmanuel Vadot    minItems: 1
44e67e8565SEmmanuel Vadot    items:
45e67e8565SEmmanuel Vadot      - const: enet
46e67e8565SEmmanuel Vadot      - const: enet-eee
47e67e8565SEmmanuel Vadot      - const: enet-wol
48e67e8565SEmmanuel Vadot
49e67e8565SEmmanuel Vadot  "#address-cells":
50e67e8565SEmmanuel Vadot    const: 1
51e67e8565SEmmanuel Vadot
52e67e8565SEmmanuel Vadot  "#size-cells":
53e67e8565SEmmanuel Vadot    const: 1
54e67e8565SEmmanuel Vadot
55e67e8565SEmmanuel VadotpatternProperties:
56e67e8565SEmmanuel Vadot  "^mdio@[0-9a-f]+$":
57e67e8565SEmmanuel Vadot    type: object
58*f126890aSEmmanuel Vadot    $ref: brcm,unimac-mdio.yaml
59e67e8565SEmmanuel Vadot
60e67e8565SEmmanuel Vadot    description:
61e67e8565SEmmanuel Vadot      GENET internal UniMAC MDIO bus
62e67e8565SEmmanuel Vadot
63e67e8565SEmmanuel Vadotrequired:
64e67e8565SEmmanuel Vadot  - reg
65e67e8565SEmmanuel Vadot  - interrupts
66e67e8565SEmmanuel Vadot  - phy-mode
67e67e8565SEmmanuel Vadot  - "#address-cells"
68e67e8565SEmmanuel Vadot  - "#size-cells"
69e67e8565SEmmanuel Vadot
70e67e8565SEmmanuel VadotallOf:
71e67e8565SEmmanuel Vadot  - $ref: ethernet-controller.yaml
72e67e8565SEmmanuel Vadot
73e67e8565SEmmanuel VadotunevaluatedProperties: false
74e67e8565SEmmanuel Vadot
75e67e8565SEmmanuel Vadotexamples:
76e67e8565SEmmanuel Vadot  - |
77e67e8565SEmmanuel Vadot    ethernet@f0b60000 {
78e67e8565SEmmanuel Vadot        phy-mode = "internal";
79e67e8565SEmmanuel Vadot        phy-handle = <&phy1>;
80e67e8565SEmmanuel Vadot        mac-address = [ 00 10 18 36 23 1a ];
81e67e8565SEmmanuel Vadot        compatible = "brcm,genet-v4";
82e67e8565SEmmanuel Vadot        reg = <0xf0b60000 0xfc4c>;
83e67e8565SEmmanuel Vadot        interrupts = <0x0 0x14 0x0>, <0x0 0x15 0x0>;
84e67e8565SEmmanuel Vadot        #address-cells = <1>;
85e67e8565SEmmanuel Vadot        #size-cells = <1>;
86e67e8565SEmmanuel Vadot
87e67e8565SEmmanuel Vadot        mdio0: mdio@e14 {
88e67e8565SEmmanuel Vadot           compatible = "brcm,genet-mdio-v4";
89e67e8565SEmmanuel Vadot           #address-cells = <1>;
90e67e8565SEmmanuel Vadot           #size-cells = <0>;
91e67e8565SEmmanuel Vadot           reg = <0xe14 0x8>;
92e67e8565SEmmanuel Vadot
93e67e8565SEmmanuel Vadot           phy1: ethernet-phy@1 {
94e67e8565SEmmanuel Vadot                max-speed = <1000>;
95e67e8565SEmmanuel Vadot                reg = <1>;
96e67e8565SEmmanuel Vadot                compatible = "ethernet-phy-ieee802.3-c22";
97e67e8565SEmmanuel Vadot           };
98e67e8565SEmmanuel Vadot        };
99e67e8565SEmmanuel Vadot    };
100e67e8565SEmmanuel Vadot
101e67e8565SEmmanuel Vadot  - |
102e67e8565SEmmanuel Vadot    ethernet@f0b80000 {
103e67e8565SEmmanuel Vadot        phy-mode = "moca";
104e67e8565SEmmanuel Vadot        fixed-link = <1 0 1000 0 0>;
105e67e8565SEmmanuel Vadot        mac-address = [ 00 10 18 36 24 1a ];
106e67e8565SEmmanuel Vadot        compatible = "brcm,genet-v4";
107e67e8565SEmmanuel Vadot        #address-cells = <1>;
108e67e8565SEmmanuel Vadot        #size-cells = <1>;
109e67e8565SEmmanuel Vadot        reg = <0xf0b80000 0xfc4c>;
110e67e8565SEmmanuel Vadot        interrupts = <0x0 0x16 0x0>, <0x0 0x17 0x0>;
111e67e8565SEmmanuel Vadot
112e67e8565SEmmanuel Vadot        mdio1: mdio@e14 {
113e67e8565SEmmanuel Vadot           compatible = "brcm,genet-mdio-v4";
114e67e8565SEmmanuel Vadot           #address-cells = <1>;
115e67e8565SEmmanuel Vadot           #size-cells = <0>;
116e67e8565SEmmanuel Vadot           reg = <0xe14 0x8>;
117e67e8565SEmmanuel Vadot        };
118e67e8565SEmmanuel Vadot    };
119e67e8565SEmmanuel Vadot
120e67e8565SEmmanuel Vadot  - |
121e67e8565SEmmanuel Vadot    ethernet@f0ba0000 {
122e67e8565SEmmanuel Vadot        phy-mode = "rgmii";
123e67e8565SEmmanuel Vadot        phy-handle = <&phy0>;
124e67e8565SEmmanuel Vadot        mac-address = [ 00 10 18 36 26 1a ];
125e67e8565SEmmanuel Vadot        compatible = "brcm,genet-v4";
126e67e8565SEmmanuel Vadot        #address-cells = <1>;
127e67e8565SEmmanuel Vadot        #size-cells = <1>;
128e67e8565SEmmanuel Vadot        reg = <0xf0ba0000 0xfc4c>;
129e67e8565SEmmanuel Vadot        interrupts = <0x0 0x18 0x0>, <0x0 0x19 0x0>;
130e67e8565SEmmanuel Vadot
131e67e8565SEmmanuel Vadot        mdio2: mdio@e14 {
132e67e8565SEmmanuel Vadot           compatible = "brcm,genet-mdio-v4";
133e67e8565SEmmanuel Vadot           #address-cells = <1>;
134e67e8565SEmmanuel Vadot           #size-cells = <0>;
135e67e8565SEmmanuel Vadot           reg = <0xe14 0x8>;
136e67e8565SEmmanuel Vadot
137e67e8565SEmmanuel Vadot           phy0: ethernet-phy@0 {
138e67e8565SEmmanuel Vadot                max-speed = <1000>;
139e67e8565SEmmanuel Vadot                reg = <0>;
140e67e8565SEmmanuel Vadot                compatible = "ethernet-phy-ieee802.3-c22";
141e67e8565SEmmanuel Vadot           };
142e67e8565SEmmanuel Vadot        };
143e67e8565SEmmanuel Vadot    };
144