diff options
Diffstat (limited to 'target/linux/bcm63xx')
6 files changed, 254 insertions, 0 deletions
diff --git a/target/linux/bcm63xx/base-files/etc/board.d/01_leds b/target/linux/bcm63xx/base-files/etc/board.d/01_leds index 907a425d16..91d67f0c0b 100755 --- a/target/linux/bcm63xx/base-files/etc/board.d/01_leds +++ b/target/linux/bcm63xx/base-files/etc/board.d/01_leds @@ -21,6 +21,12 @@ adb,a4001n1) ucidef_set_led_netdev "lan" "LAN" "A4001N1:green:eth" "eth0" ucidef_set_led_usbdev "usb" "USB" "A4001N1:green:3g" "1-1" ;; +adb,pdg-a4001n-a-000-1a1-ax) + ucidef_set_led_netdev "lan" "LAN" "$model:green:internet" "eth0.1" + ucidef_set_led_netdev "wan" "WAN" "$model:green:adsl" "eth0.2" + ucidef_set_led_netdev "wlan0" "WIFI" "$model:green:wifi" "wlan0" + ucidef_set_led_usbdev "usb" "USB" "$model:green:service" "1-1" + ;; adb,av4202n) ucidef_set_led_netdev "wlan0" "WLAN" "AV4202N:blue:wifi" "wlan0" ;; diff --git a/target/linux/bcm63xx/base-files/etc/board.d/02_network b/target/linux/bcm63xx/base-files/etc/board.d/02_network index a3788adac2..784af29cb4 100755 --- a/target/linux/bcm63xx/base-files/etc/board.d/02_network +++ b/target/linux/bcm63xx/base-files/etc/board.d/02_network @@ -20,6 +20,7 @@ t-com,speedport-w-500v) ;; adb,a4001n1|\ adb,a4001n|\ +adb,pdg-a4001n-a-000-1a1-ax|\ adb,av4202n|\ brcm,bcm963281tan|\ brcm,bcm96328avng|\ diff --git a/target/linux/bcm63xx/base-files/etc/uci-defaults/09_fix_crc b/target/linux/bcm63xx/base-files/etc/uci-defaults/09_fix_crc index 813b51fb52..3fcf40434f 100644 --- a/target/linux/bcm63xx/base-files/etc/uci-defaults/09_fix_crc +++ b/target/linux/bcm63xx/base-files/etc/uci-defaults/09_fix_crc @@ -14,6 +14,7 @@ case "$(board_name)" in actiontec,r1000h|\ adb,a4001n|\ adb,a4001n1|\ + adb,pdg-a4001n-a-000-1a1-ax|\ brcm,bcm96328avng|\ brcm,bcm963281tan|\ bt,voyager-2110|\ diff --git a/target/linux/bcm63xx/dts/bcm6328-adb-pdg-a4001n-a-000-1a1-ax.dts b/target/linux/bcm63xx/dts/bcm6328-adb-pdg-a4001n-a-000-1a1-ax.dts new file mode 100644 index 0000000000..8a6a8b58a2 --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm6328-adb-pdg-a4001n-a-000-1a1-ax.dts @@ -0,0 +1,166 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +/dts-v1/; + +#include "bcm6328.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "ADB P.DG A4001N A-000-1A1-AX"; + compatible = "adb,pdg-a4001n-a-000-1a1-ax", "brcm,bcm6328"; + + 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,jffs2 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 23 1>; + linux,code = <KEY_RESTART>; + debounce-interval = <60>; + }; + + wps { + label = "wifi-led"; + gpios = <&pinctrl 24 1>; + linux,code = <KEY_WPS_BUTTON>; + debounce-interval = <60>; + }; + }; +}; + +&leds { + status = "okay"; + + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_leds>; + + led@2 { + reg = <2>; + active-low; + label = "pdg-a4001n-a-000-1a1-ax:red:internet"; + }; + + led@3 { + reg = <3>; + active-low; + label = "pdg-a4001n-a-000-1a1-ax:green:adsl"; + }; + + led@5 { + reg = <5>; + active-low; + label = "pdg-a4001n-a-000-1a1-ax:red:adsl"; + }; + + led@6 { + reg = <6>; + active-low; + label = "pdg-a4001n-a-000-1a1-ax:green:service"; + }; + + led@7 { + reg = <7>; + active-low; + label = "pdg-a4001n-a-000-1a1-ax:red:service"; + }; + + led@8 { + reg = <8>; + active-low; + label = "pdg-a4001n-a-000-1a1-ax:red:power"; + }; + + led@9 { + reg = <9>; + active-low; + label = "pdg-a4001n-a-000-1a1-ax:green:wifi"; + }; + + led@10 { + reg = <10>; + active-low; + label = "pdg-a4001n-a-000-1a1-ax:red:wifi"; + }; + + led@11 { + reg = <11>; + active-low; + label = "pdg-a4001n-a-000-1a1-ax:green:internet"; + }; + + led_power_green: led@12 { + reg = <12>; + active-low; + label = "pdg-a4001n-a-000-1a1-ax:green:power"; + default-state = "on"; + }; +}; + +&hsspi { + status = "okay"; + + flash@0 { + compatible = "jedec,spi-nor"; + spi-max-frequency = <16666667>; + spi-tx-bus-width = <2>; + spi-rx-bus-width = <2>; + reg = <0>; + + #address-cells = <1>; + #size-cells = <1>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + reg = <0x000000 0x010000>; + label = "cfe"; + read-only; + }; + + partition@10000 { + reg = <0x010000 0xfe0000>; + label = "linux"; + compatible = "brcm,bcm963xx-imagetag"; + }; + + partition@ff0000 { + reg = <0xff0000 0x010000>; + label = "nvram"; + }; + }; + }; +}; + +&pinctrl { + pinctrl_leds: leds { + function = "led"; + pins = "gpio2", "gpio3", + "gpio5", "gpio6", + "gpio7", "gpio8", + "gpio9", "gpio10", + "gpio11", "gpio12"; + }; +}; + +&uart0 { + status = "okay"; +}; diff --git a/target/linux/bcm63xx/image/bcm63xx.mk b/target/linux/bcm63xx/image/bcm63xx.mk index 219eff5183..2627cbb509 100644 --- a/target/linux/bcm63xx/image/bcm63xx.mk +++ b/target/linux/bcm63xx/image/bcm63xx.mk @@ -220,6 +220,18 @@ define Device/adb_a4001n1 endef TARGET_DEVICES += adb_a4001n1 +define Device/adb_pdg-a4001n-a-000-1a1-ax + $(Device/bcm63xx) + DEVICE_VENDOR := ADB + DEVICE_MODEL := P.DG A4001N A-000-1A1-AX + IMAGES += sysupgrade.bin + CFE_BOARD_ID := 96328avng + CHIP_ID := 6328 + FLASH_MB := 16 + DEVICE_PACKAGES := $(USB2_PACKAGES) $(B43_PACKAGES) +endef +TARGET_DEVICES += adb_pdg-a4001n-a-000-1a1-ax + define Device/adb_av4202n $(Device/bcm63xx) DEVICE_VENDOR := ADB diff --git a/target/linux/bcm63xx/patches-5.4/567-board-adb_pdg-a4001n-a-000-1a1-ax.patch b/target/linux/bcm63xx/patches-5.4/567-board-adb_pdg-a4001n-a-000-1a1-ax.patch new file mode 100644 index 0000000000..3976527b37 --- /dev/null +++ b/target/linux/bcm63xx/patches-5.4/567-board-adb_pdg-a4001n-a-000-1a1-ax.patch @@ -0,0 +1,68 @@ +--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c ++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c +@@ -627,6 +627,49 @@ static struct board_info __initdata boar + }, + }; + ++static struct board_info __initdata board_PDG_A4001N_A_000_1A1_AX = { ++ .name = "96328avng", ++ .expected_cpu_id = 0x6328, ++ ++ .has_pci = 1, ++ .use_fallback_sprom = 1, ++ .has_ohci0 = 1, ++ .has_ehci0 = 1, ++ .num_usbh_ports = 1, ++ .has_enetsw = 1, ++ ++ .enetsw = { ++ .used_ports = { ++ [0] = { ++ .used = 1, ++ .phy_id = 1, ++ .name = "Port 1", ++ }, ++ [1] = { ++ .used = 1, ++ .phy_id = 2, ++ .name = "Port 2", ++ }, ++ [2] = { ++ .used = 1, ++ .phy_id = 3, ++ .name = "Port 3", ++ }, ++ [3] = { ++ .used = 1, ++ .phy_id = 4, ++ .name = "Port 4", ++ }, ++ }, ++ }, ++ ++ .fallback_sprom = { ++ .type = SPROM_BCM43225, ++ .pci_bus = 1, ++ .pci_dev = 0, ++ }, ++}; ++ + static struct board_info __initdata board_A4001N1 = { + .name = "963281T_TEF", + .expected_cpu_id = 0x6328, +@@ -2849,6 +2892,7 @@ static const struct board_info __initcon + &board_AR5387un, + &board_963281TAN, + &board_A4001N, ++ &board_PDG_A4001N_A_000_1A1_AX, + &board_A4001N1, + &board_dsl_274xb_f1, + &board_FAST2704V2, +@@ -2957,6 +3001,7 @@ static struct of_device_id const bcm963x + #ifdef CONFIG_BCM63XX_CPU_6328 + { .compatible = "adb,a4001n", .data = &board_A4001N, }, + { .compatible = "adb,a4001n1", .data = &board_A4001N1, }, ++ { .compatible = "adb,pdg-a4001n-a-000-1a1-ax", .data = &board_PDG_A4001N_A_000_1A1_AX, }, + { .compatible = "brcm,bcm963281tan", .data = &board_963281TAN, }, + { .compatible = "brcm,bcm96328avng", .data = &board_96328avng, }, + { .compatible = "comtrend,ar-5381u", .data = &board_AR5381u, }, |