ath79: add support for D-Link DIR-859 A1
[oweals/openwrt.git] / target / linux / ath79 / dts / qca9563_tplink_re450-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 "qca956x.dtsi"
8
9 / {
10         compatible = "tplink,re450-v2", "qca,qca9563";
11         model = "TP-Link RE450 v2";
12
13         chosen {
14                 bootargs = "console=ttyS0,115200n8";
15         };
16
17         aliases {
18                 led-boot = &system;
19                 led-failsafe = &system;
20                 led-running = &system;
21                 led-upgrade = &system;
22                 mdio-gpio0 = &mdio2;
23         };
24
25         leds {
26                 compatible = "gpio-leds";
27
28                 system: power {
29                         label = "tp-link:blue:power";
30                         gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
31                 };
32
33                 wlan2g {
34                         label = "tp-link:blue:wlan2g";
35                         gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
36                         linux,default-trigger = "phy1tpt";
37                 };
38
39                 wlan5g {
40                         label = "tp-link:blue:wlan5g";
41                         gpios = <&gpio 5 GPIO_ACTIVE_LOW>;
42                         linux,default-trigger = "phy0tpt";
43                 };
44
45                 lan_link {
46                         label = "tp-link:green:lan_link";
47                         gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
48                 };
49
50                 lan_data {
51                         label = "tp-link:green:lan_data";
52                         gpios = <&gpio 9 GPIO_ACTIVE_LOW>;
53                 };
54
55                 wps_blue {
56                         label = "tp-link:blue:wps";
57                         gpios = <&gpio 17 GPIO_ACTIVE_HIGH>;
58                 };
59
60                 wps_red {
61                         label = "tp-link:red:wps";
62                         gpios = <&gpio 20 GPIO_ACTIVE_HIGH>;
63                 };
64         };
65
66         keys {
67                 compatible = "gpio-keys";
68
69                 reset {
70                         label = "Reset button";
71                         linux,code = <KEY_RESTART>;
72                         gpios = <&gpio 6 GPIO_ACTIVE_LOW>;
73                         debounce-interval = <60>;
74                 };
75
76                 power {
77                         label = "Power button";
78                         linux,code = <KEY_POWER>;
79                         gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
80                         debounce-interval = <60>;
81                 };
82
83                 leds {
84                         label = "LED control button";
85                         linux,code = <BTN_0>;
86                         gpios = <&gpio 7 GPIO_ACTIVE_LOW>;
87                         debounce-interval = <60>;
88                 };
89
90                 wps {
91                         label = "WPS button";
92                         linux,code = <KEY_WPS_BUTTON>;
93                         gpios = <&gpio 19 GPIO_ACTIVE_LOW>;
94                         debounce-interval = <60>;
95                 };
96         };
97
98         mdio2: mdio {
99                 compatible = "virtual,mdio-gpio";
100
101                 gpios = <&gpio 3 GPIO_ACTIVE_HIGH>, /* MDC */
102                         <&gpio 4 GPIO_ACTIVE_HIGH>; /* MDIO */
103                 #address-cells = <1>;
104                 #size-cells = <0>;
105
106                 phy0: ethernet-phy@4 {
107                         reg = <4>;
108                         device_type = "ethernet-phy";
109                         reset-gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
110                 };
111         };
112 };
113
114 &pcie {
115         status = "okay";
116 };
117
118 &uart {
119         status = "okay";
120 };
121
122 &gpio {
123         status = "okay";
124 };
125
126 &spi {
127         status = "okay";
128         num-cs = <1>;
129
130         flash@0 {
131                 compatible = "jedec,spi-nor";
132                 reg = <0>;
133                 spi-max-frequency = <25000000>;
134
135                 partitions {
136                         compatible = "fixed-partitions";
137                         #address-cells = <1>;
138                         #size-cells = <1>;
139
140                         partition@0 {
141                                 label = "u-boot";
142                                 reg = <0x000000 0x020000>;
143                                 read-only;
144                         };
145
146                         partition@20000 {
147                                 compatible = "tplink,firmware";
148                                 label = "firmware";
149                                 reg = <0x020000 0x5e0000>;
150                         };
151
152                         partition@600000 {
153                                 label = "partition-table";
154                                 reg = <0x600000 0x010000>;
155                                 read-only;
156                         };
157
158                         info: partition@610000 {
159                                 label = "product-info";
160                                 reg = <0x610000 0x020000>;
161                                 read-only;
162                         };
163
164                         partition@630000 {
165                                 label = "config";
166                                 reg = <0x630000 0x020000>;
167                                 read-only;
168                         };
169
170                         art: partition@7f0000 {
171                                 label = "art";
172                                 reg = <0x7f0000 0x010000>;
173                                 read-only;
174                         };
175                 };
176         };
177 };
178
179 &eth0 {
180         status = "okay";
181         mtd-mac-address = <&info 0x8>;
182         phy-handle = <&phy0>;
183 };
184
185 &wmac {
186         status = "okay";
187         mtd-cal-data = <&art 0x1000>;
188         mtd-mac-address = <&info 0x8>;
189 };