1// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
2
3#include <dt-bindings/gpio/gpio.h>
4#include <dt-bindings/input/input.h>
5#include <dt-bindings/leds/common.h>
6
7#include "bcm4906.dtsi"
8
9/ {
10	compatible = "tplink,archer-c2300-v1", "brcm,bcm4906", "brcm,bcm4908", "brcm,bcmbca";
11	model = "TP-Link Archer C2300 V1";
12
13	memory@0 {
14		device_type = "memory";
15		reg = <0x00 0x00 0x00 0x20000000>;
16	};
17
18	leds {
19		compatible = "gpio-leds";
20
21		led-power {
22			function = LED_FUNCTION_POWER;
23			color = <LED_COLOR_ID_BLUE>;
24			gpios = <&gpio0 0 GPIO_ACTIVE_LOW>;
25		};
26
27		led-2ghz {
28			function = "2ghz";
29			color = <LED_COLOR_ID_BLUE>;
30			gpios = <&gpio0 2 GPIO_ACTIVE_LOW>;
31		};
32
33		led-5ghz {
34			function = "5ghz";
35			color = <LED_COLOR_ID_BLUE>;
36			gpios = <&gpio0 3 GPIO_ACTIVE_LOW>;
37		};
38
39		led-wan-amber {
40			function = LED_FUNCTION_WAN;
41			color = <LED_COLOR_ID_AMBER>;
42			gpios = <&gpio0 4 GPIO_ACTIVE_HIGH>;
43		};
44
45		led-wan-blue {
46			function = LED_FUNCTION_WAN;
47			color = <LED_COLOR_ID_BLUE>;
48			gpios = <&gpio0 10 GPIO_ACTIVE_LOW>;
49		};
50
51		led-lan {
52			function = LED_FUNCTION_LAN;
53			color = <LED_COLOR_ID_BLUE>;
54			gpios = <&gpio0 12 GPIO_ACTIVE_LOW>;
55		};
56
57		led-wps {
58			function = LED_FUNCTION_WPS;
59			color = <LED_COLOR_ID_BLUE>;
60			gpios = <&gpio0 14 GPIO_ACTIVE_LOW>;
61		};
62
63		led-usb2 {
64			function = "usb2";
65			color = <LED_COLOR_ID_BLUE>;
66			gpios = <&gpio0 15 GPIO_ACTIVE_LOW>;
67		};
68
69		led-usb3 {
70			function = "usbd3";
71			color = <LED_COLOR_ID_BLUE>;
72			gpios = <&gpio0 17 GPIO_ACTIVE_LOW>;
73		};
74
75		led-brightness {
76			function = LED_FUNCTION_BACKLIGHT;
77			color = <LED_COLOR_ID_WHITE>;
78			gpios = <&gpio0 19 GPIO_ACTIVE_LOW>;
79		};
80	};
81
82	gpio-keys-polled {
83		compatible = "gpio-keys-polled";
84		poll-interval = <100>;
85
86		key-brightness {
87			label = "LEDs";
88			linux,code = <KEY_BRIGHTNESS_ZERO>;
89			gpios = <&gpio0 18 GPIO_ACTIVE_LOW>;
90		};
91
92		key-wps {
93			label = "WPS";
94			linux,code = <KEY_WPS_BUTTON>;
95			gpios = <&gpio0 21 GPIO_ACTIVE_LOW>;
96		};
97
98		key-wifi {
99			label = "WiFi";
100			linux,code = <KEY_RFKILL>;
101			gpios = <&gpio0 22 GPIO_ACTIVE_LOW>;
102		};
103
104		key-restart {
105			label = "Reset";
106			linux,code = <KEY_RESTART>;
107			gpios = <&gpio0 23 GPIO_ACTIVE_LOW>;
108		};
109	};
110};
111
112&usb_phy {
113	brcm,ioc = <1>;
114	status = "okay";
115};
116
117&ehci {
118	status = "okay";
119};
120
121&ohci {
122	status = "okay";
123};
124
125&xhci {
126	status = "okay";
127};
128
129&ports {
130	port@0 {
131		label = "lan4";
132	};
133
134	port@1 {
135		label = "lan3";
136	};
137
138	port@2 {
139		label = "lan2";
140	};
141
142	port@3 {
143		label = "lan1";
144	};
145
146	port@7 {
147		reg = <7>;
148		phy-mode = "internal";
149		phy-handle = <&phy12>;
150		label = "wan";
151	};
152};
153
154&nandcs {
155	nand-ecc-strength = <4>;
156	nand-ecc-step-size = <512>;
157	nand-on-flash-bbt;
158
159	#address-cells = <1>;
160	#size-cells = <0>;
161
162	partitions {
163		compatible = "brcm,bcm4908-partitions";
164		#address-cells = <1>;
165		#size-cells = <1>;
166
167		partition@0 {
168			label = "cferom";
169			reg = <0x0 0x100000>;
170		};
171
172		partition@100000 {
173			compatible = "brcm,bcm4908-firmware";
174			reg = <0x100000 0x3900000>;
175		};
176
177		partition@5800000 {
178			compatible = "brcm,bcm4908-firmware";
179			reg = <0x3a00000 0x3900000>;
180		};
181	};
182};
183