Skip to content

Commit

Permalink
brcm63xx: add support for Pirelli/ADB P.DG AV4202N
Browse files Browse the repository at this point in the history
This patch adds support for the ADB P.DG AV4202N aka Pirelli PRG AV4202N.

Signed-off-by: Paul Wassi <p.wassi@gmx.at>
Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
  • Loading branch information
p-wassi authored and KanjiMonster committed Feb 9, 2017
1 parent 31d5c5b commit 9d4f8ff
Show file tree
Hide file tree
Showing 7 changed files with 161 additions and 0 deletions.
3 changes: 3 additions & 0 deletions target/linux/brcm63xx/base-files/etc/board.d/01_leds
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,9 @@ a4001n1)
a4001n)
ucidef_set_led_usbdev "usb" "USB" "A4001N:green:usb" "1-1"
;;
av4202n)
ucidef_set_led_netdev "wlan0" "WLAN" "AV4202N:blue:wifi" "wlan0"
;;
dgnd3700v1_dgnd3800b)
ucidef_set_led_netdev "lan" "LAN" "DGND3700v1_3800B:green:lan" "eth0.1"
ucidef_set_led_netdev "wan" "WAN" "DGND3700v1_3800B:green:inet" "eth0.2"
Expand Down
1 change: 1 addition & 0 deletions target/linux/brcm63xx/base-files/etc/board.d/02_network
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,7 @@ a4001n1 |\
a4001n |\
ar-5381u |\
ar-5387un |\
av4202n |\
bcm963281tan |\
bcm96328avng |\
bcm96368mvngr |\
Expand Down
3 changes: 3 additions & 0 deletions target/linux/brcm63xx/base-files/etc/diag.sh
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,9 @@ set_state() {
ar-5387un)
status_led="AR-5387un:green:power"
;;
av4202n)
status_led="AV4202N:white:power"
;;
bcm96348gw)
status_led="96348GW:green:power"
;;
Expand Down
3 changes: 3 additions & 0 deletions target/linux/brcm63xx/base-files/lib/brcm63xx.sh
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,9 @@ brcm63xx_dt_detect() {
"ADB P.DG A4001N1")
board_name="a4001n1"
;;
"ADB P.DG AV4202N")
board_name="av4202n"
;;
"Alcatel RG100A")
board_name="rg100a"
;;
Expand Down
68 changes: 68 additions & 0 deletions target/linux/brcm63xx/dts/av4202n.dts
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
/dts-v1/;

#include "bcm6368.dtsi"

#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>

/ {
model = "ADB P.DG AV4202N";
compatible = "adb,av4202n", "brcm,bcm6368";

chosen {
bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
};

gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
#size-cells = <0>;
poll-interval = <20>;
debounce-interval = <60>;

reset {
label = "reset";
gpios = <&gpio1 2 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
wlan {
label = "wlan";
gpios = <&gpio1 5 GPIO_ACTIVE_LOW>;
linux,code = <KEY_WLAN>;
};
};

gpio-leds {
compatible = "gpio-leds";

power_white {
label = "AV4202N:white:power";
gpios = <&gpio0 10 GPIO_ACTIVE_LOW>;
default-state = "on";
};
power_red {
label = "AV4202N:red:power";
gpios = <&gpio0 11 GPIO_ACTIVE_LOW>;
};
wan_white {
label = "AV4202N:white:wan";
gpios = <&gpio0 26 GPIO_ACTIVE_LOW>;
};
wan_red {
label = "AV4202N:red:wan";
gpios = <&gpio0 27 GPIO_ACTIVE_LOW>;
};
phone_white {
label = "AV4202N:white:phone";
gpios = <&gpio0 24 GPIO_ACTIVE_LOW>;
};
phone_red {
label = "AV4202N:red:phone";
gpios = <&gpio0 25 GPIO_ACTIVE_LOW>;
};
wifi {
label = "AV4202N:blue:wifi";
gpios = <&gpio0 22 GPIO_ACTIVE_LOW>;
};
};
};
12 changes: 12 additions & 0 deletions target/linux/brcm63xx/image/bcm63xx.mk
Original file line number Diff line number Diff line change
Expand Up @@ -200,6 +200,18 @@ define Device/A4001N1
endef
TARGET_DEVICES += A4001N1

define Device/AV4202N
$(Device/bcm63xx)
IMAGE_OFFSET := 0x20000
DEVICE_TITLE := ADB P.DG AV4202N
DEVICE_DTS := av4202n
CFE_BOARD_ID := 96368_Swiss_S1
CFE_CHIP_ID := 6368
DEVICE_PACKAGES := \
$(USB2_PACKAGES) $(B43_PACKAGES)
endef
TARGET_DEVICES += AV4202N

### Alcatel ###
define Device/RG100A
$(Device/bcm63xx)
Expand Down
71 changes: 71 additions & 0 deletions target/linux/brcm63xx/patches-4.4/576-board_AV4202N.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -1884,6 +1884,52 @@ static struct board_info __initdata boar
* known 6368 boards
*/
#ifdef CONFIG_BCM63XX_CPU_6368
+static struct board_info __initdata board_AV4202N = {
+ .name = "96368_Swiss_S1",
+ .expected_cpu_id = 0x6368,
+
+ .has_uart0 = 1,
+ .has_pci = 1,
+ .has_ohci0 = 1,
+ .has_ehci0 = 1,
+ .num_usbh_ports = 2,
+
+ .has_enetsw = 1,
+ .enetsw = {
+ .used_ports = {
+ [0] = {
+ .used = 1,
+ .phy_id = 1,
+ .name = "port1",
+ },
+
+ [1] = {
+ .used = 1,
+ .phy_id = 2,
+ .name = "port2",
+ },
+
+ [2] = {
+ .used = 1,
+ .phy_id = 3,
+ .name = "port3",
+ },
+
+ [3] = {
+ .used = 1,
+ .phy_id = 4,
+ .name = "port4",
+ },
+ },
+ },
+ .use_fallback_sprom = 1,
+ .fallback_sprom = {
+ .pci_bus = 0,
+ .pci_dev = 1,
+ },
+
+};
+
static struct board_info __initdata board_96368mvwg = {
.name = "96368MVWG",
.expected_cpu_id = 0x6368,
@@ -2648,6 +2694,7 @@ static const struct board_info __initcon
#endif

#ifdef CONFIG_BCM63XX_CPU_6368
+ &board_AV4202N,
&board_96368mvwg,
&board_96368mvngr,
&board_DGND3700v1_3800B,
@@ -2755,6 +2802,7 @@ static struct of_device_id const bcm963x
{ .compatible = "sfr,nb6-ser-r0", .data = &board_nb6, },
#endif
#ifdef CONFIG_BCM63XX_CPU_6368
+ { .compatible = "adb,av4202n", .data = &board_AV4202N, },
{ .compatible = "brcm,bcm96368mvngr", .data = &board_96368mvngr, },
{ .compatible = "brcm,bcm96368mvwg", .data = &board_96368mvwg, },
{ .compatible = "comtrend,vr-3025u", .data = &board_VR3025u, },

0 comments on commit 9d4f8ff

Please sign in to comment.