8e79e126171640dbaf0f8c491a1806a5a152b431
[oweals/openwrt.git] / target / linux / ath79 / dts / qca9558_tplink_re350k-v1.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 "qca955x.dtsi"
8
9 / {
10         model = "TP-Link RE350K v1";
11         compatible = "tplink,re350k-v1", "qca,qca9558";
12
13         aliases {
14                 led-boot = &led_power;
15                 led-failsafe = &led_power;
16                 led-running = &led_power;
17                 led-upgrade = &led_power;
18                 mdio-gpio0 = &mdio2;
19         };
20
21         chosen {
22                 bootargs = "console=ttyS0,115200n8";
23         };
24
25         keys {
26                 compatible = "gpio-keys";
27
28                 app-config {
29                         label = "app-config";
30                         linux,code = <BTN_0>;
31                         gpios = <&gpio 20 GPIO_ACTIVE_LOW>;
32                         debounce-interval = <60>;
33                 };
34
35                 led {
36                         label = "led";
37                         linux,code = <BTN_1>;
38                         gpios = <&gpio 19 GPIO_ACTIVE_LOW>;
39                         debounce-interval = <60>;
40                 };
41
42                 reset {
43                         label = "reset";
44                         linux,code = <KEY_RESTART>;
45                         gpios = <&gpio 17 GPIO_ACTIVE_LOW>;
46                         debounce-interval = <60>;
47                 };
48         };
49
50         leds {
51                 compatible = "gpio-leds";
52
53                 led_power: power {
54                         label = "tp-link:green:power";
55                         gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
56                         default-state = "on";
57                 };
58
59                 wlan2g_green {
60                         label = "tp-link:green:wlan2g";
61                         gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
62                         linux,default-trigger = "phy1tpt";
63                 };
64
65                 wlan2g_red {
66                         label = "tp-link:red:wlan2g";
67                         gpios = <&gpio 21 GPIO_ACTIVE_LOW>;
68                 };
69
70                 wlan5g_green {
71                         label = "tp-link:green:wlan5g";
72                         gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
73                         linux,default-trigger = "phy0tpt";
74                 };
75
76                 wlan5g_red {
77                         label = "tp-link:red:wlan5g";
78                         gpios = <&gpio 22 GPIO_ACTIVE_LOW>;
79                 };
80         };
81
82         mdio2: mdio {
83                 compatible = "virtual,mdio-gpio";
84
85                 #address-cells = <1>;
86                 #size-cells = <0>;
87
88                 gpios = <&gpio 23 GPIO_ACTIVE_HIGH>,
89                         <&gpio 18 GPIO_ACTIVE_HIGH>;
90
91                 phy4: ethernet-phy@4 {
92                         reg = <4>;
93
94                         phy-mode = "rgmii-rxid";
95                         eee-broken-100tx;
96                         eee-broken-1000t;
97                 };
98         };
99 };
100
101 &eth0 {
102         status = "okay";
103
104         phy-handle = <&phy4>;
105         pll-data = <0x9e000000 0x80000101 0x80001313>;
106
107         mtd-mac-address = <&config 0x10008>;
108
109         gmac-config {
110                 device = <&gmac>;
111
112                 rxdv-delay = <2>;
113                 rxd-delay = <2>;
114                 txen-delay = <0>;
115                 txd-delay = <0>;
116                 rgmii-enabled = <1>;
117         };
118 };
119
120 &pcie0 {
121         status = "okay";
122 };
123
124 &spi {
125         status = "okay";
126
127         num-cs = <1>;
128
129         flash@0 {
130                 compatible = "jedec,spi-nor";
131                 reg = <0>;
132                 spi-max-frequency = <25000000>;
133
134                 partitions {
135                         compatible = "fixed-partitions";
136                         #address-cells = <1>;
137                         #size-cells = <1>;
138
139                         partition@0 {
140                                 label = "u-boot";
141                                 reg = <0x000000 0x020000>;
142                                 read-only;
143                         };
144
145                         partition@20000 {
146                                 compatible = "tplink,firmware";
147                                 label = "firmware";
148                                 reg = <0x020000 0xd70000>;
149                         };
150
151                         config: partition@d90000 {
152                                 label = "config";
153                                 reg = <0xd90000 0x260000>;
154                                 read-only;
155                         };
156
157                         art: partition@ff0000 {
158                                 label = "art";
159                                 reg = <0xff0000 0x010000>;
160                                 read-only;
161                         };
162                 };
163         };
164 };
165
166 &uart {
167         status = "okay";
168 };
169
170 &wmac {
171         status = "okay";
172
173         mtd-cal-data = <&art 0x1000>;
174         mtd-mac-address = <&config 0x10008>;
175 };