ramips: add support for TP-Link RE350
[openwrt/openwrt.git] / target / linux / ramips / dts / RE350.dts
1 /dts-v1/;
2
3 #include "mt7621.dtsi"
4
5 #include <dt-bindings/gpio/gpio.h>
6 #include <dt-bindings/input/input.h>
7
8 / {
9 compatible = "tplink,re350-v1", "mediatek,mt7621-soc";
10 model = "TP-LINK RE350 v1";
11
12 memory@0 {
13 device_type = "memory";
14 reg = <0x0 0x4000000>;
15 };
16
17 chosen {
18 bootargs = "console=ttyS0,57600";
19 };
20
21 gpio-leds {
22 compatible = "gpio-leds";
23
24 power {
25 label = "re350-v1:blue:power";
26 gpios = <&gpio0 22 GPIO_ACTIVE_LOW>;
27 };
28
29 wifi2g {
30 label = "re350-v1:blue:wifi2G";
31 gpios = <&gpio0 23 GPIO_ACTIVE_LOW>;
32 };
33
34 wifi5g {
35 label = "re350-v1:blue:wifi5G";
36 gpios = <&gpio0 24 GPIO_ACTIVE_LOW>;
37 };
38
39 wps_r {
40 label = "re350-v1:red:wps";
41 gpios = <&gpio0 25 GPIO_ACTIVE_HIGH>;
42 };
43
44 wps_b {
45 label = "re350-v1:blue:wps";
46 gpios = <&gpio0 26 GPIO_ACTIVE_HIGH>;
47 };
48
49 eth {
50 label = "re350-v1:green:eth_act";
51 gpios = <&gpio0 28 GPIO_ACTIVE_LOW>;
52 };
53
54 eth2 {
55 label = "re350-v1:green:eth_link";
56 gpios = <&gpio0 29 GPIO_ACTIVE_LOW>;
57 };
58 };
59
60 gpio-keys-polled {
61 compatible = "gpio-keys-polled";
62 #address-cells = <1>;
63 #size-cells = <0>;
64 poll-interval = <20>;
65
66 led {
67 label = "led";
68 gpios = <&gpio0 30 GPIO_ACTIVE_LOW>;
69 linux,code = <BTN_0>;
70 };
71
72 reset {
73 label = "reset";
74 gpios = <&gpio0 31 GPIO_ACTIVE_LOW>;
75 linux,code = <KEY_RESTART>;
76 };
77
78 power {
79 label = "power";
80 gpios = <&gpio1 0 GPIO_ACTIVE_LOW>;
81 linux,code = <KEY_POWER>;
82 };
83
84 wps {
85 label = "wps";
86 gpios = <&gpio1 1 GPIO_ACTIVE_LOW>;
87 linux,code = <KEY_WPS_BUTTON>;
88 };
89 };
90 };
91
92 &spi0 {
93 status = "okay";
94
95 w25q64@0 {
96 #address-cells = <1>;
97 #size-cells = <1>;
98 compatible = "jedec,spi-nor";
99 reg = <0>;
100 spi-max-frequency = <10000000>;
101 m25p,chunked-io = <32>;
102
103 partition@0 {
104 label = "u-boot";
105 reg = <0x0 0x20000>;
106 read-only;
107 };
108
109 partition@20000 {
110 label = "firmware";
111 reg = <0x20000 0x5e0000>;
112 };
113
114 config: partition@600000 {
115 label = "config";
116 reg = <0x600000 0x50000>;
117 read-only;
118 };
119
120 radio: partition@7f0000 {
121 label = "radio";
122 reg = <0x7f0000 0x10000>;
123 read-only;
124 };
125 };
126 };
127
128 &pcie {
129 status = "okay";
130
131 pcie0 {
132 mt76@0,0 {
133 reg = <0x0000 0 0 0 0>;
134 device_type = "pci";
135 mediatek,mtd-eeprom = <&radio 0>;
136 mtd-mac-address = <&config 0x10008>;
137 mtd-mac-address-increment = <1>;
138 };
139 };
140
141 pcie1 {
142 mt76@1,0 {
143 reg = <0x0000 0 0 0 0>;
144 device_type = "pci";
145 mediatek,mtd-eeprom = <&radio 0x8000>;
146 ieee80211-freq-limit = <5000000 6000000>;
147 mtd-mac-address = <&config 0x10008>;
148 mtd-mac-address-increment = <2>;
149 };
150 };
151 };
152
153 &ethernet {
154 mtd-mac-address = <&config 0x10008>;
155 };
156
157 &pinctrl {
158 state_default: pinctrl0 {
159 gpio {
160 ralink,group = "rgmii2", "wdt";
161 ralink,function = "gpio";
162 };
163 };
164 };