openwrt/target/linux/bcm63xx/dts/bcm6362-netgear-dgnd3700-v2.dts
Álvaro Fernández Rojas cdfcac6e24 bcm63xx: fix NETGEAR DGND3700v2 boot loop
The DGND3700v2 renames the cferam bootloader from cferam to cfeXXX, where XXX
is the number of firmware upgrades performed by the bootloader. Other bcm63xx
devices rename cferam.000 to cferam.XXX, but this device is special because
the cferam name isn't changed on the first firmware flashing but it's changed
on the subsequent ones.
Therefore, we need to look for "cfe" instead of "cferam" to properly detect
the cferam partition and fix the bootlop.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2023-06-14 23:27:29 +02:00

216 lines
3.2 KiB
Plaintext

// SPDX-License-Identifier: GPL-2.0-or-later
#include "bcm6362.dtsi"
#include <dt-bindings/input/input.h>
/ {
model = "Netgear DGND3700v2";
compatible = "netgear,dgnd3700-v2", "brcm,bcm6362";
aliases {
led-boot = &led_power_green;
led-failsafe = &led_power_green;
led-running = &led_power_green;
led-upgrade = &led_power_green;
};
chosen {
bootargs = "rootfstype=squashfs,ubifs noinitrd console=ttyS0,115200";
stdout-path = "serial0:115200n8";
};
keys {
compatible = "gpio-keys-polled";
#address-cells = <1>;
#size-cells = <0>;
poll-interval = <20>;
reset {
label = "reset";
gpios = <&pinctrl 24 1>;
linux,code = <KEY_RESTART>;
debounce-interval = <60>;
};
wlan {
label = "wlan";
gpios = <&pinctrl 25 1>;
linux,code = <KEY_WLAN>;
debounce-interval = <60>;
};
wps {
label = "wps";
gpios = <&pinctrl 26 1>;
linux,code = <KEY_WPS_BUTTON>;
debounce-interval = <60>;
};
};
leds {
compatible = "gpio-leds";
led@28 {
label = "green:dsl";
gpios = <&pinctrl 28 1>;
};
led@34 {
label = "red:power";
gpios = <&pinctrl 34 1>;
};
};
};
&leds {
status = "okay";
brcm,serial-leds;
brcm,serial-dat-low;
brcm,serial-shift-inv;
brcm,serial-mux;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_leds &pinctrl_serial_led>;
led@1 {
reg = <1>;
active-low;
label = "green:internet";
};
led_power_green: led@8 {
reg = <8>;
label = "green:power";
default-state = "on";
};
led@9 {
reg = <9>;
active-low;
label = "green:wps";
};
led@10 {
reg = <10>;
active-low;
label = "green:usb1";
};
led@11 {
reg = <11>;
active-low;
label = "green:usb2";
};
led@12 {
reg = <12>;
active-low;
label = "amber:internet";
};
led@13 {
reg = <13>;
active-low;
label = "green:ethernet";
};
led@14 {
reg = <14>;
active-low;
label = "amber:dsl";
};
led@16 {
reg = <16>;
active-low;
label = "amber:usb1";
};
led@17 {
reg = <17>;
active-low;
label = "amber:usb2";
};
led@18 {
reg = <18>;
active-low;
label = "amber:ethernet";
};
};
&nflash {
status = "okay";
nandcs@0 {
compatible = "brcm,nandcs";
#size-cells = <1>;
#address-cells = <1>;
reg = <0>;
nand-ecc-step-size = <512>;
nand-ecc-strength = <15>;
nand-on-flash-bbt;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "cferom";
reg = <0x0000000 0x0004000>;
read-only;
};
partition@4000 {
compatible = "brcm,wfi";
label = "wfi";
reg = <0x0004000 0x1c7c000>;
brcm,cferam = "cfe";
};
partition@1c80000 {
label = "flag";
reg = <0x1c80000 0x0040000>;
read-only;
};
partition@1cc0000 {
label = "pcbasn";
reg = <0x1cc0000 0x0040000>;
read-only;
};
partition@1d00000 {
label = "xxx";
reg = <0x1d00000 0x0080000>;
read-only;
};
partition@1d80000 {
label = "language_dev";
reg = <0x1d80000 0x0040000>;
read-only;
};
partition@1dc0000 {
label = "scnvram";
reg = <0x1dc0000 0x0100000>;
read-only;
};
};
};
};
&pinctrl {
pinctrl_leds: leds {
function = "led";
pins = "gpio1";
};
};
&uart0 {
status = "okay";
};