[source] brcm63xx: add support for Pirelli/ADB P.DG AV4202N

LEDE Commits lede-commits at lists.infradead.org
Thu Feb 9 05:31:24 PST 2017


jogo pushed a commit to source.git, branch master:
https://git.lede-project.org/9d4f8ff4f65c5928852ebbe25d07a7533bcd540a

commit 9d4f8ff4f65c5928852ebbe25d07a7533bcd540a
Author: Paul Wassi <p.wassi at gmx.at>
AuthorDate: Sat Dec 24 00:24:44 2016 +0100

    brcm63xx: add support for Pirelli/ADB P.DG AV4202N
    
    This patch adds support for the ADB P.DG AV4202N aka Pirelli PRG AV4202N.
    
    Signed-off-by: Paul Wassi <p.wassi at gmx.at>
    Signed-off-by: Jonas Gorski <jonas.gorski at gmail.com>
---
 .../linux/brcm63xx/base-files/etc/board.d/01_leds  |  3 +
 .../brcm63xx/base-files/etc/board.d/02_network     |  1 +
 target/linux/brcm63xx/base-files/etc/diag.sh       |  3 +
 target/linux/brcm63xx/base-files/lib/brcm63xx.sh   |  3 +
 target/linux/brcm63xx/dts/av4202n.dts              | 68 +++++++++++++++++++++
 target/linux/brcm63xx/image/bcm63xx.mk             | 12 ++++
 .../brcm63xx/patches-4.4/576-board_AV4202N.patch   | 71 ++++++++++++++++++++++
 7 files changed, 161 insertions(+)

diff --git a/target/linux/brcm63xx/base-files/etc/board.d/01_leds b/target/linux/brcm63xx/base-files/etc/board.d/01_leds
index 8d8a942..7d208cc 100755
--- a/target/linux/brcm63xx/base-files/etc/board.d/01_leds
+++ b/target/linux/brcm63xx/base-files/etc/board.d/01_leds
@@ -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"
diff --git a/target/linux/brcm63xx/base-files/etc/board.d/02_network b/target/linux/brcm63xx/base-files/etc/board.d/02_network
index 3ace356..1cf54cb 100755
--- a/target/linux/brcm63xx/base-files/etc/board.d/02_network
+++ b/target/linux/brcm63xx/base-files/etc/board.d/02_network
@@ -80,6 +80,7 @@ a4001n1 |\
 a4001n |\
 ar-5381u |\
 ar-5387un |\
+av4202n |\
 bcm963281tan |\
 bcm96328avng |\
 bcm96368mvngr |\
diff --git a/target/linux/brcm63xx/base-files/etc/diag.sh b/target/linux/brcm63xx/base-files/etc/diag.sh
index 852a701..5f9a4d0 100644
--- a/target/linux/brcm63xx/base-files/etc/diag.sh
+++ b/target/linux/brcm63xx/base-files/etc/diag.sh
@@ -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"
 		;;
diff --git a/target/linux/brcm63xx/base-files/lib/brcm63xx.sh b/target/linux/brcm63xx/base-files/lib/brcm63xx.sh
index 9cc0b2b..1679482 100755
--- a/target/linux/brcm63xx/base-files/lib/brcm63xx.sh
+++ b/target/linux/brcm63xx/base-files/lib/brcm63xx.sh
@@ -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"
 		;;
diff --git a/target/linux/brcm63xx/dts/av4202n.dts b/target/linux/brcm63xx/dts/av4202n.dts
new file mode 100644
index 0000000..71d2b94
--- /dev/null
+++ b/target/linux/brcm63xx/dts/av4202n.dts
@@ -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>;
+		};
+	};
+};
diff --git a/target/linux/brcm63xx/image/bcm63xx.mk b/target/linux/brcm63xx/image/bcm63xx.mk
index ce03f7b..f38147e 100644
--- a/target/linux/brcm63xx/image/bcm63xx.mk
+++ b/target/linux/brcm63xx/image/bcm63xx.mk
@@ -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)
diff --git a/target/linux/brcm63xx/patches-4.4/576-board_AV4202N.patch b/target/linux/brcm63xx/patches-4.4/576-board_AV4202N.patch
new file mode 100644
index 0000000..814b289
--- /dev/null
+++ b/target/linux/brcm63xx/patches-4.4/576-board_AV4202N.patch
@@ -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, },



More information about the lede-commits mailing list