blob: a3616fb7b3a8d0ffc46a11c74c55a51b9ed2e030 [file] [log] [blame]
Tom Riniab06a532025-04-02 08:31:19 -06001// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Copyright 2024 Linus Walleij <linus.walleij@linaro.org>
4 */
5
6/dts-v1/;
7
8#include "bcm6846.dtsi"
9#include <dt-bindings/gpio/gpio.h>
10#include <dt-bindings/input/input.h>
11#include <dt-bindings/leds/common.h>
12
13/ {
14 model = "Genexis XG6846B Ethernet layer 2/3 router";
15 compatible = "genexis,xg6846b", "brcm,bcm6846", "brcm,bcmbca";
16
17 aliases {
18 serial0 = &uart0;
19 };
20
21 chosen {
22 stdout-path = "serial0:115200n8";
23 };
24
25 /* Micron D9PTK 256 MB RAM */
26 memory@0 {
27 device_type = "memory";
28 reg = <0x0 0x10000000>;
29 };
30
31 reserved-memory {
32 #address-cells = <1>;
33 #size-cells = <1>;
34 ranges;
35
36 secondary-boot@0 {
37 no-map;
38 reg = <0x00000000 0x00008000>;
39 };
40 pmc3-firmware@8000 {
41 no-map;
42 reg = <0x00008000 0x00100000>;
43 };
44 };
45
46 gpio-keys {
47 compatible = "gpio-keys-polled";
48 poll-interval = <20000>;
49
50 /* Called "canyon rescue button" in the vendor DTB */
51 button-restart {
52 label = "Reset";
53 linux,code = <KEY_RESTART>;
54 gpios = <&gpio0 41 GPIO_ACTIVE_LOW>;
55 };
56 };
57};
58
59&gpio0 {
60 status = "okay";
61};
62
63&gpio1 {
64 status = "okay";
65};
66
67&gpio2 {
68 status = "okay";
69 /* Totally 79 GPIOs are available */
70 ngpios = <15>;
71};
72
73&uart0 {
74 status = "okay";
75};
76
77&leds {
78 status = "okay";
79 brcm,serial-shift-bits = <16>;
80
81 led@0 {
82 reg = <0>;
83 active-low;
84 function = "ext";
85 color = <LED_COLOR_ID_GREEN>;
86 };
87
88 led@1 {
89 reg = <1>;
90 active-low;
91 function = "ext";
92 color = <LED_COLOR_ID_AMBER>;
93 };
94
95 led@3 {
96 reg = <3>;
97 active-low;
98 function = LED_FUNCTION_WAN;
99 color = <LED_COLOR_ID_AMBER>;
100 };
101
102 led@4 {
103 reg = <4>;
104 active-low;
105 function = LED_FUNCTION_WAN;
106 color = <LED_COLOR_ID_GREEN>;
107 };
108
109 led@5 {
110 reg = <5>;
111 active-low;
112 function = LED_FUNCTION_POWER;
113 color = <LED_COLOR_ID_GREEN>;
114 };
115
116 led@6 {
117 reg = <6>;
118 active-low;
119 function = LED_FUNCTION_POWER;
120 color = <LED_COLOR_ID_RED>;
121 };
122
123 led@15 {
124 reg = <15>;
125 active-low;
126 function = LED_FUNCTION_USB;
127 color = <LED_COLOR_ID_GREEN>;
128 };
129
130 led@7 {
131 /* Activity 03 */
132 reg = <7>;
133 active-low;
134 function = "lan1";
135 color = <LED_COLOR_ID_AMBER>;
136 };
137
138 led@8 {
139 /* Activity 04 */
140 reg = <8>;
141 active-low;
142 function = "lan1";
143 color = <LED_COLOR_ID_GREEN>;
144 };
145
146 led@9 {
147 /* Activity 03 */
148 reg = <9>;
149 active-low;
150 function = "lan2";
151 color = <LED_COLOR_ID_AMBER>;
152 };
153
154 led@10 {
155 /* Activity 04 */
156 reg = <10>;
157 active-low;
158 function = "lan2";
159 color = <LED_COLOR_ID_GREEN>;
160 };
161
162 led@11 {
163 /* Activity 03 */
164 reg = <11>;
165 active-low;
166 function = "lan3";
167 color = <LED_COLOR_ID_AMBER>;
168 };
169
170 led@12 {
171 /* Activity 04 */
172 reg = <12>;
173 active-low;
174 function = "lan3";
175 color = <LED_COLOR_ID_GREEN>;
176 };
177
178 led@13 {
179 /* Activity 03 */
180 reg = <13>;
181 active-low;
182 function = "lan4";
183 color = <LED_COLOR_ID_AMBER>;
184 };
185
186 led@14 {
187 /* Activity 04 */
188 reg = <14>;
189 active-low;
190 function = "lan4";
191 color = <LED_COLOR_ID_GREEN>;
192 };
193};
194
195&hsspi {
196 status = "okay";
197};
198
199&nand_controller {
200 brcm,wp-not-connected;
201 status = "okay";
202};
203
204&nandcs {
205 nand-on-flash-bbt;
206 brcm,nand-ecc-use-strap;
207
208 /* Winbond W29N02GV, 256MB with 128KB erase blocks */
209 partitions {
210 compatible = "fixed-partitions";
211 #address-cells = <1>;
212 #size-cells = <1>;
213
214 loader@0 {
215 label = "loader";
216 reg = <0x00000000 0x00400000>;
217 };
218 image@400000 {
219 label = "image";
220 reg = <0x00400000 0x0fb00000>;
221 };
222 /* 0x00ff0000-0x00ffffff: bad block list */
223 };
224};
225
226&mdio {
227 status = "okay";
228
229 phy1: ethernet-phy@1 {
230 reg = <1>;
231 };
232 phy2: ethernet-phy@2 {
233 reg = <2>;
234 };
235 phy3: ethernet-phy@3 {
236 reg = <3>;
237 };
238 phy4: ethernet-phy@4 {
239 reg = <4>;
240 };
241 phy21: ethernet-phy@21 {
242 reg = <21>;
243 };
244};