bmips: add support for Sercomm SHG2500
[openwrt/staging/dedeckeh.git] / target / linux / bmips / dts / bcm63168-sercomm-shg2500.dts
1 // SPDX-License-Identifier: GPL-2.0-or-later
2
3 #include "bcm63268.dtsi"
4
5 / {
6 model = "Sercomm SHG2500";
7 compatible = "sercomm,shg2500", "brcm,bcm63168", "brcm,bcm63268";
8
9 aliases {
10 led-boot = &led_power_red;
11 led-failsafe = &led_power_red;
12 led-running = &led_power_red;
13 led-upgrade = &led_power_red;
14
15 led-internet = &led_internet_green;
16 led-usb = &led_modem_green;
17 led-wireless = &led_wireless_green;
18 };
19
20 i2c {
21 compatible = "i2c-gpio";
22 sda-gpios = <&gpio 14 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
23 scl-gpios = <&gpio 9 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
24 #address-cells = <1>;
25 #size-cells = <0>;
26 };
27
28 keys {
29 compatible = "gpio-keys-polled";
30 poll-interval = <20>;
31
32 wps {
33 label = "wps";
34 gpios = <&gpio 34 GPIO_ACTIVE_LOW>;
35 linux,code = <KEY_WPS_BUTTON>;
36 debounce-interval = <60>;
37 };
38
39 reset {
40 label = "reset";
41 gpios = <&gpio 35 GPIO_ACTIVE_LOW>;
42 linux,code = <KEY_RESTART>;
43 debounce-interval = <60>;
44 };
45 };
46 };
47
48 &ehci {
49 status = "okay";
50 };
51
52 &ethernet {
53 status = "okay";
54
55 nvmem-cells = <&macaddr_cferom_6a0>;
56 nvmem-cell-names = "mac-address";
57 };
58
59 &hsspi {
60 status = "okay";
61
62 led-controller@1 {
63 compatible = "sercomm,msp430-leds";
64 reg = <1>;
65 spi-max-frequency = <500000>;
66
67 led@1 {
68 reg = <1>;
69 label = "red:modem";
70 };
71
72 led_modem_green: led@2 {
73 reg = <2>;
74 label = "green:modem";
75 };
76
77 led@3 {
78 reg = <3>;
79 label = "blue:modem";
80 };
81
82 led@4 {
83 reg = <4>;
84 label = "red:internet";
85 };
86
87 led@5 {
88 reg = <5>;
89 label = "red:phone";
90 };
91
92 led@6 {
93 reg = <6>;
94 label = "green:phone";
95 };
96
97 led_wireless_green: led@7 {
98 reg = <7>;
99 label = "green:wifi";
100 };
101
102 led_power_red: led@8 {
103 reg = <8>;
104 label = "red:power";
105 };
106
107 led_internet_green: led@9 {
108 reg = <9>;
109 label = "green:internet";
110 };
111 };
112 };
113
114 &mdio_int {
115 phy12: ethernet-phy@c {
116 compatible = "ethernet-phy-ieee802.3-c22";
117 reg = <12>;
118 };
119 };
120
121 &mdio_ext {
122 switch@1e {
123 compatible = "brcm,bcm53125";
124 reg = <30>;
125
126 dsa,member = <1 0>;
127
128 ports {
129 #address-cells = <1>;
130 #size-cells = <0>;
131
132 port@1 {
133 reg = <1>;
134 label = "lan1";
135 };
136
137 port@2 {
138 reg = <2>;
139 label = "lan2";
140 };
141
142 port@3 {
143 reg = <3>;
144 label = "lan3";
145 };
146
147 port@4 {
148 reg = <4>;
149 label = "lan4";
150 };
151
152 port@8 {
153 reg = <8>;
154
155 phy-mode = "rgmii";
156 ethernet = <&switch0port4>;
157
158 fixed-link {
159 speed = <1000>;
160 full-duplex;
161 };
162 };
163 };
164 };
165 };
166
167 &nflash {
168 status = "okay";
169
170 nandcs@0 {
171 compatible = "brcm,nandcs";
172 reg = <0>;
173 nand-ecc-step-size = <512>;
174 nand-ecc-strength = <15>;
175 nand-on-flash-bbt;
176 brcm,nand-oob-sector-size = <64>;
177
178 #address-cells = <1>;
179 #size-cells = <1>;
180
181 partitions {
182 compatible = "fixed-partitions";
183 #address-cells = <1>;
184 #size-cells = <1>;
185
186 cferom: partition@0 {
187 label = "cferom";
188 reg = <0x0000000 0x0020000>;
189 read-only;
190 };
191
192 partition@20000 {
193 label = "part_map";
194 reg = <0x0020000 0x00a0000>;
195 read-only;
196 };
197
198 partition@c0000 {
199 label = "cferam1";
200 reg = <0x00c0000 0x0140000>;
201 read-only;
202 };
203
204 partition@200000 {
205 label = "cferam2";
206 reg = <0x0200000 0x0140000>;
207 read-only;
208 };
209
210 artition@6920000 {
211 label = "bootflag1";
212 reg = <0x6920000 0x0140000>;
213 };
214
215 partition@6a60000 {
216 label = "bootflag2";
217 reg = <0x6a60000 0x0140000>;
218 };
219
220 partition@520000 {
221 compatible = "sercomm,wfi";
222 label = "wfi";
223 reg = <0x0520000 0x6400000>;
224 };
225
226 partition@6ba0000 {
227 label = "xml_cfg";
228 reg = <0x6ba0000 0x0280000>;
229 read-only;
230 };
231
232 partition@6e20000 {
233 label = "app_data";
234 reg = <0x6e20000 0x0280000>;
235 read-only;
236 };
237 };
238 };
239 };
240
241 &ohci {
242 status = "okay";
243 };
244
245 &pcie {
246 status = "okay";
247 };
248
249 &pinctrl {
250 pinctrl_uart1: uart1-pins {
251 pinctrl_uart1_sdin: uart1_sdin {
252 function = "uart1_sdin";
253 pins = "gpio12";
254 };
255
256 pinctrl_uart1_sdout: uart1_sdout {
257 function = "uart1_sdout";
258 pins = "gpio13";
259 };
260 };
261 };
262
263 &switch0 {
264 dsa,member = <0 0>;
265
266 ports {
267 port@3 {
268 reg = <3>;
269 label = "wan";
270
271 phy-handle = <&phy12>;
272 phy-mode = "gmii";
273 };
274
275 switch0port4: port@4 {
276 reg = <4>;
277 label = "extsw";
278
279 phy-mode = "rgmii";
280
281 fixed-link {
282 speed = <1000>;
283 full-duplex;
284 };
285 };
286 };
287 };
288
289 &uart0 {
290 status = "okay";
291 };
292
293 &uart1 {
294 status = "okay";
295
296 pinctrl-names = "default";
297 pinctrl-0 = <&pinctrl_uart1>;
298 };
299
300 &usbh {
301 status = "okay";
302 };
303
304 &cferom {
305 compatible = "nvmem-cells";
306 #address-cells = <1>;
307 #size-cells = <1>;
308
309 macaddr_cferom_6a0: macaddr@6a0 {
310 reg = <0x6a0 0x6>;
311 };
312 };