Linux 6.7-rc7
[linux-modified.git] / arch / arm64 / boot / dts / broadcom / bcmbca / bcm4906-tplink-archer-c2300-v1.dts
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                         trigger-sources = <&ohci_port1>, <&ehci_port1>;
68                         linux,default-trigger = "usbport";
69                 };
70
71                 led-usb3 {
72                         function = "usb3";
73                         color = <LED_COLOR_ID_BLUE>;
74                         gpios = <&gpio0 17 GPIO_ACTIVE_LOW>;
75                         trigger-sources = <&ohci_port2>, <&ehci_port2>, <&xhci_port2>;
76                         linux,default-trigger = "usbport";
77                 };
78
79                 led-brightness {
80                         function = LED_FUNCTION_BACKLIGHT;
81                         color = <LED_COLOR_ID_WHITE>;
82                         gpios = <&gpio0 19 GPIO_ACTIVE_LOW>;
83                 };
84         };
85
86         gpio-keys-polled {
87                 compatible = "gpio-keys-polled";
88                 poll-interval = <100>;
89
90                 key-brightness {
91                         label = "LEDs";
92                         linux,code = <KEY_BRIGHTNESS_ZERO>;
93                         gpios = <&gpio0 18 GPIO_ACTIVE_LOW>;
94                 };
95
96                 key-wps {
97                         label = "WPS";
98                         linux,code = <KEY_WPS_BUTTON>;
99                         gpios = <&gpio0 21 GPIO_ACTIVE_LOW>;
100                 };
101
102                 key-wifi {
103                         label = "WiFi";
104                         linux,code = <KEY_RFKILL>;
105                         gpios = <&gpio0 22 GPIO_ACTIVE_LOW>;
106                 };
107
108                 key-restart {
109                         label = "Reset";
110                         linux,code = <KEY_RESTART>;
111                         gpios = <&gpio0 23 GPIO_ACTIVE_LOW>;
112                 };
113         };
114 };
115
116 &usb_phy {
117         brcm,ioc = <1>;
118         status = "okay";
119 };
120
121 &ehci {
122         status = "okay";
123 };
124
125 &ohci {
126         status = "okay";
127 };
128
129 &xhci {
130         status = "okay";
131 };
132
133 &ports {
134         port@0 {
135                 label = "lan4";
136         };
137
138         port@1 {
139                 label = "lan3";
140         };
141
142         port@2 {
143                 label = "lan2";
144         };
145
146         port@3 {
147                 label = "lan1";
148         };
149
150         port@7 {
151                 reg = <7>;
152                 phy-mode = "internal";
153                 phy-handle = <&phy12>;
154                 label = "wan";
155         };
156 };
157
158 &nandcs {
159         nand-ecc-strength = <4>;
160         nand-ecc-step-size = <512>;
161         nand-on-flash-bbt;
162
163         #address-cells = <1>;
164         #size-cells = <0>;
165
166         partitions {
167                 compatible = "brcm,bcm4908-partitions";
168                 #address-cells = <1>;
169                 #size-cells = <1>;
170
171                 partition@0 {
172                         label = "cferom";
173                         reg = <0x0 0x100000>;
174                 };
175
176                 partition@100000 {
177                         compatible = "brcm,bcm4908-firmware";
178                         reg = <0x100000 0x3900000>;
179                 };
180
181                 partition@5800000 {
182                         compatible = "brcm,bcm4908-firmware";
183                         reg = <0x3a00000 0x3900000>;
184                 };
185         };
186 };