xref: /freebsd/sys/contrib/device-tree/Bindings/net/qca,ar71xx.yaml (revision 8bab661a3316d8bd9b9fbd11a3b4371b91507bd2)
1c66ec88fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2c66ec88fSEmmanuel Vadot%YAML 1.2
3c66ec88fSEmmanuel Vadot---
4c66ec88fSEmmanuel Vadot$id: http://devicetree.org/schemas/net/qca,ar71xx.yaml#
5c66ec88fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6c66ec88fSEmmanuel Vadot
7c66ec88fSEmmanuel Vadottitle: QCA AR71XX MAC
8c66ec88fSEmmanuel Vadot
9c66ec88fSEmmanuel VadotallOf:
10c66ec88fSEmmanuel Vadot  - $ref: ethernet-controller.yaml#
11c66ec88fSEmmanuel Vadot
12c66ec88fSEmmanuel Vadotmaintainers:
13c66ec88fSEmmanuel Vadot  - Oleksij Rempel <o.rempel@pengutronix.de>
14c66ec88fSEmmanuel Vadot
15c66ec88fSEmmanuel Vadotproperties:
16c66ec88fSEmmanuel Vadot  compatible:
17c66ec88fSEmmanuel Vadot    oneOf:
18c66ec88fSEmmanuel Vadot      - items:
19c66ec88fSEmmanuel Vadot          - enum:
20c66ec88fSEmmanuel Vadot              - qca,ar7100-eth   # Atheros AR7100
21c66ec88fSEmmanuel Vadot              - qca,ar7240-eth   # Atheros AR7240
22c66ec88fSEmmanuel Vadot              - qca,ar7241-eth   # Atheros AR7241
23c66ec88fSEmmanuel Vadot              - qca,ar7242-eth   # Atheros AR7242
24c66ec88fSEmmanuel Vadot              - qca,ar9130-eth   # Atheros AR9130
25c66ec88fSEmmanuel Vadot              - qca,ar9330-eth   # Atheros AR9330
26c66ec88fSEmmanuel Vadot              - qca,ar9340-eth   # Atheros AR9340
27c66ec88fSEmmanuel Vadot              - qca,qca9530-eth  # Qualcomm Atheros QCA9530
28c66ec88fSEmmanuel Vadot              - qca,qca9550-eth  # Qualcomm Atheros QCA9550
29c66ec88fSEmmanuel Vadot              - qca,qca9560-eth  # Qualcomm Atheros QCA9560
30c66ec88fSEmmanuel Vadot
31c66ec88fSEmmanuel Vadot  reg:
32c66ec88fSEmmanuel Vadot    maxItems: 1
33c66ec88fSEmmanuel Vadot
34c66ec88fSEmmanuel Vadot  interrupts:
35c66ec88fSEmmanuel Vadot    maxItems: 1
36c66ec88fSEmmanuel Vadot
37c66ec88fSEmmanuel Vadot  clocks:
38c66ec88fSEmmanuel Vadot    items:
39c66ec88fSEmmanuel Vadot      - description: MAC main clock
40c66ec88fSEmmanuel Vadot      - description: MDIO clock
41c66ec88fSEmmanuel Vadot
42c66ec88fSEmmanuel Vadot  clock-names:
43c66ec88fSEmmanuel Vadot    items:
44c66ec88fSEmmanuel Vadot      - const: eth
45c66ec88fSEmmanuel Vadot      - const: mdio
46c66ec88fSEmmanuel Vadot
47c66ec88fSEmmanuel Vadot  resets:
48c66ec88fSEmmanuel Vadot    items:
49c66ec88fSEmmanuel Vadot      - description: MAC reset
50c66ec88fSEmmanuel Vadot      - description: MDIO reset
51c66ec88fSEmmanuel Vadot
52c66ec88fSEmmanuel Vadot  reset-names:
53c66ec88fSEmmanuel Vadot    items:
54c66ec88fSEmmanuel Vadot      - const: mac
55c66ec88fSEmmanuel Vadot      - const: mdio
56c66ec88fSEmmanuel Vadot
57*e67e8565SEmmanuel Vadot  mdio:
58*e67e8565SEmmanuel Vadot    $ref: mdio.yaml#
59*e67e8565SEmmanuel Vadot    unevaluatedProperties: false
60*e67e8565SEmmanuel Vadot
61c66ec88fSEmmanuel Vadotrequired:
62c66ec88fSEmmanuel Vadot  - compatible
63c66ec88fSEmmanuel Vadot  - reg
64c66ec88fSEmmanuel Vadot  - interrupts
65c66ec88fSEmmanuel Vadot  - phy-mode
66c66ec88fSEmmanuel Vadot  - clocks
67c66ec88fSEmmanuel Vadot  - clock-names
68c66ec88fSEmmanuel Vadot  - resets
69c66ec88fSEmmanuel Vadot  - reset-names
70c66ec88fSEmmanuel Vadot
716be33864SEmmanuel VadotunevaluatedProperties: false
726be33864SEmmanuel Vadot
73c66ec88fSEmmanuel Vadotexamples:
74c66ec88fSEmmanuel Vadot  # Lager board
75c66ec88fSEmmanuel Vadot  - |
76c66ec88fSEmmanuel Vadot    eth0: ethernet@19000000 {
77c66ec88fSEmmanuel Vadot        compatible = "qca,ar9330-eth";
78c66ec88fSEmmanuel Vadot        reg = <0x19000000 0x200>;
79c66ec88fSEmmanuel Vadot        interrupts = <4>;
80c66ec88fSEmmanuel Vadot        resets = <&rst 9>, <&rst 22>;
81c66ec88fSEmmanuel Vadot        reset-names = "mac", "mdio";
82c66ec88fSEmmanuel Vadot        clocks = <&pll 1>, <&pll 2>;
83c66ec88fSEmmanuel Vadot        clock-names = "eth", "mdio";
84c66ec88fSEmmanuel Vadot        phy-mode = "mii";
85c66ec88fSEmmanuel Vadot        phy-handle = <&phy_port4>;
86c66ec88fSEmmanuel Vadot    };
87c66ec88fSEmmanuel Vadot
88c66ec88fSEmmanuel Vadot    eth1: ethernet@1a000000 {
89c66ec88fSEmmanuel Vadot        compatible = "qca,ar9330-eth";
90c66ec88fSEmmanuel Vadot        reg = <0x1a000000 0x200>;
91c66ec88fSEmmanuel Vadot        interrupts = <5>;
92c66ec88fSEmmanuel Vadot        resets = <&rst 13>, <&rst 23>;
93c66ec88fSEmmanuel Vadot        reset-names = "mac", "mdio";
94c66ec88fSEmmanuel Vadot        clocks = <&pll 1>, <&pll 2>;
95c66ec88fSEmmanuel Vadot        clock-names = "eth", "mdio";
96c66ec88fSEmmanuel Vadot
97c66ec88fSEmmanuel Vadot        phy-mode = "gmii";
98c66ec88fSEmmanuel Vadot
99c66ec88fSEmmanuel Vadot        fixed-link {
100c66ec88fSEmmanuel Vadot            speed = <1000>;
101c66ec88fSEmmanuel Vadot            full-duplex;
102c66ec88fSEmmanuel Vadot        };
103c66ec88fSEmmanuel Vadot
104c66ec88fSEmmanuel Vadot        mdio {
105c66ec88fSEmmanuel Vadot            #address-cells = <1>;
106c66ec88fSEmmanuel Vadot            #size-cells = <0>;
107c66ec88fSEmmanuel Vadot
108c66ec88fSEmmanuel Vadot            switch10: switch@10 {
109c66ec88fSEmmanuel Vadot                compatible = "qca,ar9331-switch";
110c66ec88fSEmmanuel Vadot                reg = <0x10>;
111c66ec88fSEmmanuel Vadot                resets = <&rst 8>;
112c66ec88fSEmmanuel Vadot                reset-names = "switch";
113c66ec88fSEmmanuel Vadot
114c66ec88fSEmmanuel Vadot                interrupt-parent = <&miscintc>;
115c66ec88fSEmmanuel Vadot                interrupts = <12>;
116c66ec88fSEmmanuel Vadot
117c66ec88fSEmmanuel Vadot                interrupt-controller;
118c66ec88fSEmmanuel Vadot                #interrupt-cells = <1>;
119c66ec88fSEmmanuel Vadot
120c66ec88fSEmmanuel Vadot                ports {
121c66ec88fSEmmanuel Vadot                    #address-cells = <1>;
122c66ec88fSEmmanuel Vadot                    #size-cells = <0>;
123c66ec88fSEmmanuel Vadot
124c66ec88fSEmmanuel Vadot                    switch_port0: port@0 {
125c66ec88fSEmmanuel Vadot                        reg = <0x0>;
126c66ec88fSEmmanuel Vadot                        ethernet = <&eth1>;
127c66ec88fSEmmanuel Vadot
128c66ec88fSEmmanuel Vadot                        phy-mode = "gmii";
129c66ec88fSEmmanuel Vadot
130c66ec88fSEmmanuel Vadot                        fixed-link {
131c66ec88fSEmmanuel Vadot                            speed = <1000>;
132c66ec88fSEmmanuel Vadot                            full-duplex;
133c66ec88fSEmmanuel Vadot                        };
134c66ec88fSEmmanuel Vadot                    };
135c66ec88fSEmmanuel Vadot
136c66ec88fSEmmanuel Vadot                    switch_port1: port@1 {
137c66ec88fSEmmanuel Vadot                        reg = <0x1>;
138c66ec88fSEmmanuel Vadot                        phy-handle = <&phy_port0>;
139c66ec88fSEmmanuel Vadot                        phy-mode = "internal";
140c66ec88fSEmmanuel Vadot                    };
141c66ec88fSEmmanuel Vadot
142c66ec88fSEmmanuel Vadot                    switch_port2: port@2 {
143c66ec88fSEmmanuel Vadot                        reg = <0x2>;
144c66ec88fSEmmanuel Vadot                        phy-handle = <&phy_port1>;
145c66ec88fSEmmanuel Vadot                        phy-mode = "internal";
146c66ec88fSEmmanuel Vadot                    };
147c66ec88fSEmmanuel Vadot
148c66ec88fSEmmanuel Vadot                    switch_port3: port@3 {
149c66ec88fSEmmanuel Vadot                        reg = <0x3>;
150c66ec88fSEmmanuel Vadot                        phy-handle = <&phy_port2>;
151c66ec88fSEmmanuel Vadot                        phy-mode = "internal";
152c66ec88fSEmmanuel Vadot                    };
153c66ec88fSEmmanuel Vadot
154c66ec88fSEmmanuel Vadot                    switch_port4: port@4 {
155c66ec88fSEmmanuel Vadot                        reg = <0x4>;
156c66ec88fSEmmanuel Vadot                        phy-handle = <&phy_port3>;
157c66ec88fSEmmanuel Vadot                        phy-mode = "internal";
158c66ec88fSEmmanuel Vadot                    };
159c66ec88fSEmmanuel Vadot                };
160c66ec88fSEmmanuel Vadot
161c66ec88fSEmmanuel Vadot                mdio {
162c66ec88fSEmmanuel Vadot                    #address-cells = <1>;
163c66ec88fSEmmanuel Vadot                    #size-cells = <0>;
164c66ec88fSEmmanuel Vadot
165c66ec88fSEmmanuel Vadot                    interrupt-parent = <&switch10>;
166c66ec88fSEmmanuel Vadot
167354d7675SEmmanuel Vadot                    phy_port0: ethernet-phy@0 {
168c66ec88fSEmmanuel Vadot                        reg = <0x0>;
169c66ec88fSEmmanuel Vadot                        interrupts = <0>;
170c66ec88fSEmmanuel Vadot                    };
171c66ec88fSEmmanuel Vadot
172354d7675SEmmanuel Vadot                    phy_port1: ethernet-phy@1 {
173c66ec88fSEmmanuel Vadot                        reg = <0x1>;
174c66ec88fSEmmanuel Vadot                        interrupts = <0>;
175c66ec88fSEmmanuel Vadot                    };
176c66ec88fSEmmanuel Vadot
177354d7675SEmmanuel Vadot                    phy_port2: ethernet-phy@2 {
178c66ec88fSEmmanuel Vadot                        reg = <0x2>;
179c66ec88fSEmmanuel Vadot                        interrupts = <0>;
180c66ec88fSEmmanuel Vadot                    };
181c66ec88fSEmmanuel Vadot
182354d7675SEmmanuel Vadot                    phy_port3: ethernet-phy@3 {
183c66ec88fSEmmanuel Vadot                        reg = <0x3>;
184c66ec88fSEmmanuel Vadot                        interrupts = <0>;
185c66ec88fSEmmanuel Vadot                    };
186c66ec88fSEmmanuel Vadot
187354d7675SEmmanuel Vadot                    phy_port4: ethernet-phy@4 {
188c66ec88fSEmmanuel Vadot                        reg = <0x4>;
189c66ec88fSEmmanuel Vadot                        interrupts = <0>;
190c66ec88fSEmmanuel Vadot                    };
191c66ec88fSEmmanuel Vadot                };
192c66ec88fSEmmanuel Vadot            };
193c66ec88fSEmmanuel Vadot        };
194c66ec88fSEmmanuel Vadot    };
195