ath79: add support for indicating the boot state using multiple leds
[openwrt/openwrt.git] / target / linux / ath79 / dts / ar7161_dlink_dir-825-b1.dts
1 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
2 /dts-v1/;
3
4 #include <dt-bindings/gpio/gpio.h>
5 #include <dt-bindings/input/input.h>
6
7 #include "ar7100.dtsi"
8
9 / {
10 compatible = "dlink,dir-825-b1", "qca,ar7161";
11 model = "D-Link DIR825B1";
12
13 aliases {
14 led-boot = &orange_power;
15 led-failsafe = &orange_power;
16 led-running = &orange_power;
17 led-upgrade = &orange_power;
18 };
19
20 chosen {
21 bootargs = "console=ttyS0,115200";
22 };
23
24 extosc: ref {
25 compatible = "fixed-clock";
26 #clock-cells = <0>;
27 clock-output-names = "ref";
28 clock-frequency = <40000000>;
29 };
30
31 leds {
32 compatible = "gpio-leds";
33 blue_usb {
34 label = "d-link:blue:usb";
35 gpios = <&gpio 0 GPIO_ACTIVE_LOW>;
36 default-state = "off";
37 trigger-sources = <&usb_ochi_port>, <&usb_echi_port>;
38 linux,default-trigger = "usbport";
39 };
40
41 orange_power: orange_power {
42 label = "d-link:orange:power";
43 gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
44 };
45
46 blue_power {
47 label = "d-link:blue:power";
48 gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
49 default-state = "off";
50 };
51
52 blue_wps {
53 label = "d-link:blue:wps";
54 gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
55 default-state = "off";
56 };
57
58 orange_planet {
59 label = "d-link:orange:planet";
60 gpios = <&gpio 6 GPIO_ACTIVE_LOW>;
61 default-state = "off";
62 };
63
64 blue_planet {
65 label = "d-link:blue:planet";
66 gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
67 default-state = "off";
68 };
69 };
70
71 ath9k-leds {
72 compatible = "gpio-leds";
73
74 wlan2g {
75 label = "d-link:blue:wlan2g";
76 gpios = <&ath9k0 5 GPIO_ACTIVE_LOW>;
77 default-state = "off";
78 linux,default-trigger = "phy0tpt";
79 };
80
81 wlan5g {
82 label = "d-link:blue:wlan5g";
83 gpios = <&ath9k1 5 GPIO_ACTIVE_LOW>;
84 default-state = "off";
85 linux,default-trigger = "phy1tpt";
86 };
87
88 };
89
90 keys {
91 compatible = "gpio-keys-polled";
92 poll-interval = <20>;
93
94 reset {
95 label = "reset";
96 linux,code = <KEY_RESTART>;
97 gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
98 debounce-interval = <60>;
99 };
100
101 wps {
102 label = "wps";
103 linux,code = <KEY_WPS_BUTTON>;
104 gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
105 debounce-interval = <60>;
106 };
107 };
108
109 rtl8366s {
110 compatible = "realtek,rtl8366s";
111 gpio-sda = <&gpio 5 GPIO_ACTIVE_HIGH>;
112 gpio-sck = <&gpio 7 GPIO_ACTIVE_HIGH>;
113 realtek,initvals = <0x06 0x0108>;
114
115 mdio-bus {
116 #address-cells = <1>;
117 #size-cells = <0>;
118 status = "okay";
119
120 phy-mask = <0x10>;
121
122 phy4: ethernet-phy@4 {
123 reg = <4>;
124 phy-mode = "rgmii";
125 };
126 };
127
128 };
129 };
130
131
132 &usb1 {
133 #address-cells = <1>;
134 #size-cells = <0>;
135 status = "okay";
136
137 usb_ochi_port: port@1 {
138 reg = <1>;
139 #trigger-source-cells = <0>;
140 };
141 };
142
143 &usb2 {
144 #address-cells = <1>;
145 #size-cells = <0>;
146 status = "okay";
147
148 usb_echi_port: port@1 {
149 reg = <1>;
150 #trigger-source-cells = <0>;
151 };
152 };
153
154 &usb_phy {
155 status = "okay";
156 };
157
158 &pcie0 {
159 status = "okay";
160
161 ath9k0: wifi@0,11 {
162 compatible = "pci168c,0029";
163 reg = <0x8800 0 0 0 0>;
164 qca,no-eeprom;
165 #gpio-cells = <2>;
166 gpio-controller;
167 };
168
169 ath9k1: wifi@0,12 {
170 compatible = "pci168c,0029";
171 reg = <0x9000 0 0 0 0>;
172 qca,no-eeprom;
173 #gpio-cells = <2>;
174 gpio-controller;
175 };
176 };
177
178 &uart {
179 status = "okay";
180 };
181
182 &pll {
183 clocks = <&extosc>;
184 };
185
186 &spi {
187 status = "okay";
188 num-cs = <1>;
189
190 flash@0 {
191 compatible = "jedec,spi-nor";
192 reg = <0>;
193 spi-max-frequency = <25000000>;
194
195 partitions {
196 compatible = "fixed-partitions";
197 #address-cells = <1>;
198 #size-cells = <1>;
199
200 partition@0 {
201 label = "u-boot";
202 reg = <0x000000 0x040000>;
203 read-only;
204 };
205
206 partition@40000 {
207 label = "config";
208 reg = <0x040000 0x010000>;
209 read-only;
210 };
211
212 partition@50000 {
213 label = "firmware";
214 reg = <0x050000 0x610000>;
215 };
216
217 caldata: partition@60000 {
218 label = "caldata";
219 reg = <0x660000 0x010000>;
220 read-only;
221 };
222
223 partition@670000 {
224 label = "unknown";
225 reg = <0x670000 0x190000>;
226 read-only;
227 };
228 };
229 };
230 };
231
232
233 &eth0 {
234 status = "okay";
235 pll-data = <0x11110000 0x00001099 0x00991099>;
236
237 fixed-link {
238 speed = <1000>;
239 full-duplex;
240 };
241
242 };
243
244 &eth1 {
245 status = "okay";
246 pll-data = <0x11110000 0x00001099 0x00991099>;
247
248 phy-handle = <&phy4>;
249
250 };