ath79: add support for TP-Link TL-WDR4900 v2
[openwrt/openwrt.git] / target / linux / ath79 / dts / qca9558_tplink_tl-wdr4900-v2.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 "qca9557.dtsi"
8
9 / {
10 compatible = "tplink,tl-wdr4900-v2", "qca,qca9558";
11 model = "TP-Link TL-WDR4900 v2";
12
13 chosen {
14 bootargs = "console=ttyS0,115200n8";
15 };
16
17 aliases {
18 led-status = &led_system;
19 };
20
21 gpio_leds: leds {
22 compatible = "gpio-leds";
23
24 led_system: system {
25 label = "tp-link:blue:system";
26 gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
27 default-state = "on";
28 };
29
30 usb1 {
31 label = "tp-link:green:usb1";
32 gpios = <&gpio 19 GPIO_ACTIVE_LOW>;
33 default-state = "off";
34 trigger-sources = <&hub_port1>;
35 linux,default-trigger = "usbport";
36 };
37
38 usb2 {
39 label = "tp-link:green:usb2";
40 gpios = <&gpio 18 GPIO_ACTIVE_LOW>;
41 default-state = "off";
42 trigger-sources = <&hub_port0>;
43 linux,default-trigger = "usbport";
44 };
45
46 wlan2g {
47 label = "tp-link:blue:wlan2g";
48 gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
49 default-state = "off";
50 linux,default-trigger = "phy0tpt";
51 };
52
53 qss {
54 label = "tp-link:blue:qss";
55 gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
56 default-state = "off";
57 };
58 };
59
60 ath9k-leds {
61 compatible = "gpio-leds";
62
63 wlan5g {
64 label = "tp-link:blue:wlan5g";
65 gpios = <&ath9k 0 GPIO_ACTIVE_LOW>;
66 default-state = "off";
67 linux,default-trigger = "phy1tpt";
68 };
69 };
70
71 keys {
72 compatible = "gpio-keys";
73
74 reset {
75 label = "Reset button";
76 linux,code = <KEY_RESTART>;
77 gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
78 debounce-interval = <60>;
79 };
80 };
81
82 gpio-export {
83 compatible = "gpio-export";
84
85 gpio_usb1_power {
86 gpio-export,name = "tp-link:power:usb1";
87 gpio-export,output = <1>;
88 gpios = <&gpio 21 GPIO_ACTIVE_HIGH>;
89 };
90
91 gpio_usb2_power {
92 gpio-export,name = "tp-link:power:usb2";
93 gpio-export,output = <1>;
94 gpios = <&gpio 22 GPIO_ACTIVE_HIGH>;
95 };
96
97 };
98 };
99
100 &pcie1 {
101 status = "okay";
102
103 ath9k: wifi@0,0 {
104 compatible = "pci168c,0033";
105 reg = <0x0000 0 0 0 0>;
106 mtd-mac-address = <&uboot 0x1fc00>;
107 mtd-mac-address-increment = <(-2)>;
108 qca,no-eeprom;
109 #gpio-cells = <2>;
110 gpio-controller;
111 };
112 };
113
114 &uart {
115 status = "okay";
116 };
117
118 &usb_phy0 {
119 status = "okay";
120 };
121
122 &usb0 {
123 #address-cells = <1>;
124 #size-cells = <0>;
125 status = "okay";
126
127 hub_port0: port@1 {
128 reg = <1>;
129 #trigger-source-cells = <0>;
130 };
131 };
132
133 &usb_phy1 {
134 status = "okay";
135 };
136
137 &usb1 {
138 #address-cells = <1>;
139 #size-cells = <0>;
140 status = "okay";
141
142 hub_port1: port@1 {
143 reg = <1>;
144 #trigger-source-cells = <0>;
145 };
146 };
147
148 &spi {
149 status = "okay";
150 num-cs = <1>;
151
152 flash@0 {
153 compatible = "jedec,spi-nor";
154 reg = <0>;
155 spi-max-frequency = <25000000>;
156
157 partitions {
158 compatible = "fixed-partitions";
159 #address-cells = <1>;
160 #size-cells = <1>;
161
162 uboot: partition@0 {
163 label = "u-boot";
164 reg = <0x000000 0x020000>;
165 read-only;
166 };
167
168 partition@20000 {
169 label = "firmware";
170 reg = <0x020000 0x7d0000>;
171 };
172
173 art: partition@7f0000 {
174 label = "art";
175 reg = <0x7f0000 0x010000>;
176 read-only;
177 };
178 };
179 };
180 };
181
182 &mdio0 {
183 status = "okay";
184
185 phy0: ethernet-phy@0 {
186 reg = <0>;
187
188 qca,ar8327-initvals = <
189 0x04 0x00080080 /* PORT0 PAD MODE CTRL */
190 0x0c 0x07600000 /* PORT6 PAD MODE CTRL */
191 0x50 0xc737c737 /* LED_CTRL0 */
192 0x54 0x00000000 /* LED_CTRL1 */
193 0x58 0x00000000 /* LED_CTRL2 */
194 0x5c 0x0030c300 /* LED_CTRL3 */
195 0x7c 0x0000007e /* PORT0_STATUS */
196 0x94 0x0000007e /* PORT6 STATUS */
197 >;
198 };
199 };
200
201 &eth0 {
202 status = "okay";
203
204 mtd-mac-address = <&uboot 0x1fc00>;
205 mtd-mac-address-increment = <1>;
206 phy-handle = <&phy0>;
207 pll-data = <0x56000000 0x00000101 0x00001616>;
208
209 gmac-config {
210 device = <&gmac>;
211 rgmii-enabled = <1>;
212 };
213 };
214
215 &eth1 {
216 status = "okay";
217
218 mtd-mac-address = <&uboot 0x1fc00>;
219 pll-data = <0x03000101 0x00000101 0x00001616>;
220
221 fixed-link {
222 speed = <1000>;
223 full-duplex;
224 };
225 };
226
227 &wmac {
228 status = "okay";
229 mtd-cal-data = <&art 0x1000>;
230 mtd-mac-address = <&uboot 0x1fc00>;
231 mtd-mac-address-increment = <(-1)>;
232 };