Skip to content

Commit 618775c

Browse files
linuswffainelli
authored andcommitted
ARM: dts: broadcom: Add Genexis XG6846B DTS file
This adds a device tree for the Genexis XG6846B router. Signed-off-by: Linus Walleij <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Florian Fainelli <[email protected]>
1 parent 8166df7 commit 618775c

File tree

2 files changed

+245
-0
lines changed

2 files changed

+245
-0
lines changed

arch/arm/boot/dts/broadcom/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ dtb-$(CONFIG_ARCH_BCM2835) += \
3636
bcm2835-rpi-zero.dtb \
3737
bcm2835-rpi-zero-w.dtb
3838
dtb-$(CONFIG_ARCH_BCMBCA) += \
39+
bcm6846-genexis-xg6846b.dtb \
3940
bcm947622.dtb \
4041
bcm963138.dtb \
4142
bcm963138dvt.dtb \
Lines changed: 244 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,244 @@
1+
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2+
/*
3+
* Copyright 2024 Linus Walleij <[email protected]>
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+
};

0 commit comments

Comments
 (0)