summaryrefslogtreecommitdiffstats
path: root/target/linux/brcm63xx
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/brcm63xx')
-rwxr-xr-xtarget/linux/brcm63xx/base-files/lib/brcm63xx.sh6
-rw-r--r--target/linux/brcm63xx/dts/dg834g_v4.dts66
-rwxr-xr-xtarget/linux/brcm63xx/image/Makefile2
-rw-r--r--target/linux/brcm63xx/patches-3.14/525-board_96348w3.patch8
-rw-r--r--target/linux/brcm63xx/patches-3.14/526-board_CT6373-1.patch2
-rw-r--r--target/linux/brcm63xx/patches-3.14/527-board_dva-g3810bn-tl-1.patch2
-rw-r--r--target/linux/brcm63xx/patches-3.14/528-board_nb6.patch2
-rw-r--r--target/linux/brcm63xx/patches-3.14/529-board_fast2604.patch4
-rw-r--r--target/linux/brcm63xx/patches-3.14/534-board_hw556.patch2
-rw-r--r--target/linux/brcm63xx/patches-3.14/537-board_fast2504n.patch2
-rw-r--r--target/linux/brcm63xx/patches-3.14/560-board_963268gu_p300.patch2
-rw-r--r--target/linux/brcm63xx/patches-3.14/561-board_WAP-5813n.patch2
-rw-r--r--target/linux/brcm63xx/patches-3.14/562-board_VR-3025u.patch2
-rw-r--r--target/linux/brcm63xx/patches-3.14/563-board_VR-3025un.patch2
-rw-r--r--target/linux/brcm63xx/patches-3.14/564-board_P870HW-51a_v2.patch2
-rw-r--r--target/linux/brcm63xx/patches-3.14/565-board_hw520.patch2
-rw-r--r--target/linux/brcm63xx/patches-3.14/568-board_DGND3700v1_3800B.patch2
-rw-r--r--target/linux/brcm63xx/patches-3.18/525-board_96348w3.patch8
-rw-r--r--target/linux/brcm63xx/patches-3.18/526-board_CT6373-1.patch2
-rw-r--r--target/linux/brcm63xx/patches-3.18/527-board_dva-g3810bn-tl-1.patch2
-rw-r--r--target/linux/brcm63xx/patches-3.18/528-board_nb6.patch2
-rw-r--r--target/linux/brcm63xx/patches-3.18/529-board_fast2604.patch4
-rw-r--r--target/linux/brcm63xx/patches-3.18/534-board_hw556.patch2
-rw-r--r--target/linux/brcm63xx/patches-3.18/537-board_fast2504n.patch2
-rw-r--r--target/linux/brcm63xx/patches-3.18/560-board_963268gu_p300.patch2
-rw-r--r--target/linux/brcm63xx/patches-3.18/561-board_WAP-5813n.patch2
-rw-r--r--target/linux/brcm63xx/patches-3.18/562-board_VR-3025u.patch2
-rw-r--r--target/linux/brcm63xx/patches-3.18/563-board_VR-3025un.patch2
-rw-r--r--target/linux/brcm63xx/patches-3.18/564-board_P870HW-51a_v2.patch2
-rw-r--r--target/linux/brcm63xx/patches-3.18/565-board_hw520.patch2
-rw-r--r--target/linux/brcm63xx/patches-3.18/568-board_DGND3700v1_3800B.patch2
-rw-r--r--target/linux/brcm63xx/patches-3.18/569-board_homehub2a.patch2
-rw-r--r--target/linux/brcm63xx/profiles/netgear.mk9
33 files changed, 125 insertions, 32 deletions
diff --git a/target/linux/brcm63xx/base-files/lib/brcm63xx.sh b/target/linux/brcm63xx/base-files/lib/brcm63xx.sh
index 324ea18404..991e3636a6 100755
--- a/target/linux/brcm63xx/base-files/lib/brcm63xx.sh
+++ b/target/linux/brcm63xx/base-files/lib/brcm63xx.sh
@@ -144,6 +144,9 @@ brcm63xx_dt_detect() {
"Netgear DG834GT/PN")
board_name="dg834gt"
;;
+ "Netgear DG834G v4")
+ board_name="dg834g_v4"
+ ;;
"Netgear DGND3700v1/DGND3800B")
board_name="dgnd3700v1_dgnd3800b"
;;
@@ -213,9 +216,6 @@ brcm63xx_legacy_detect() {
local board_name
case "$1" in
- 96348W3)
- board_name="dg834g_v4"
- ;;
CPVA502+)
board_name="cpva502p"
;;
diff --git a/target/linux/brcm63xx/dts/dg834g_v4.dts b/target/linux/brcm63xx/dts/dg834g_v4.dts
new file mode 100644
index 0000000000..8cbb3f3ce9
--- /dev/null
+++ b/target/linux/brcm63xx/dts/dg834g_v4.dts
@@ -0,0 +1,66 @@
+/dts-v1/;
+
+/include/ "bcm6348.dtsi"
+
+/ {
+ model = "Netgear DG834G v4";
+ compatible = "netgear,dg834g-v4", "brcm,bcm6348";
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ poll-interval = <20>;
+ debounce-interval = <60>;
+
+ reset {
+ label = "reset";
+ gpios = <&gpio0 6 1>;
+ linux,code = <0x198>;
+ };
+ };
+
+ gpio-leds {
+ compatible = "gpio-leds";
+
+ power_green {
+ label = "96348W3:green:power";
+ gpios = <&gpio0 0 1>;
+ default-state = "on";
+ };
+ status {
+ label = "96348W3:red:power";
+ gpios = <&gpio0 1 1>;
+ };
+ inet_green {
+ label = "96348W3::adsl";
+ gpios = <&gpio0 2 1>;
+ };
+ inet_red {
+ label = "96348W3::internet";
+ gpios = <&gpio0 3 1>;
+ };
+ };
+};
+
+&pflash {
+ status = "ok";
+
+ linux,part-probe = "bcm63xxpart";
+
+ cfe@0 {
+ label = "CFE";
+ reg = <0x000000 0x010000>;
+ read-only;
+ };
+
+ linux@10000 {
+ label = "linux";
+ reg = <0x010000 0x3e0000>;
+ };
+
+ nvram@3f0000 {
+ label = "nvram";
+ reg = <0x3f0000 0x010000>;
+ };
+};
diff --git a/target/linux/brcm63xx/image/Makefile b/target/linux/brcm63xx/image/Makefile
index bc633a7160..0c164770a1 100755
--- a/target/linux/brcm63xx/image/Makefile
+++ b/target/linux/brcm63xx/image/Makefile
@@ -332,6 +332,8 @@ $(eval $(call ImageDTB,RedBootDTB,Livebox,livebox,livebox-blue-5g))
$(eval $(call ImageDTB,Dummy,CVG834G,cvg834g,cvg834g,a020,0001,0022,vmlinux-cvg834g))
# Netgear DG834GT/PN
$(eval $(call ImageDTB,CFEDTB,DG834GTPN,DG834GT_PN,dg834gtpn,96348GW-10,6348))
+# Netgear DG834G v4
+$(eval $(call ImageDTB,Dummy,DG834GV4,DG834GTv4,dg834g_v4,96348W3,6348))
# Netgear DGND3700 v1 / DGND3800B
$(eval $(call ImageDTB,CFEDTB,DGND3700v1_3800B,DGND3700v1_3800B,dgnd3700v1,96368MVWG,6368,--image-offset 0x20000 --block-size 0x20000))
#Netgear DGND3700 v1 factory firmware
diff --git a/target/linux/brcm63xx/patches-3.14/525-board_96348w3.patch b/target/linux/brcm63xx/patches-3.14/525-board_96348w3.patch
index 676f704996..c0b14572c1 100644
--- a/target/linux/brcm63xx/patches-3.14/525-board_96348w3.patch
+++ b/target/linux/brcm63xx/patches-3.14/525-board_96348w3.patch
@@ -34,3 +34,11 @@
#endif
#ifdef CONFIG_BCM63XX_CPU_6358
+@@ -1443,6 +1463,7 @@ static struct of_device_id const bcm963x
+ { .compatible = "davolink,dv-201amr", .data = &board_DV201AMR, },
+ { .compatible = "dynalink,rta1025w", .data = &board_rta1025w_16, },
+ { .compatible = "netgear,dg834gtpn", .data = &board_96348gw_10, },
++ { .compatible = "netgear,dg834g-v4", .data = &board_96348W3, },
+ { .compatible = "sagem,f@st2404", .data = &board_FAST2404, },
+ { .compatible = "t-com,spw500v", .data = &board_spw500v, },
+ { .compatible = "tecom,gw6000", .data = &board_gw6000, },
diff --git a/target/linux/brcm63xx/patches-3.14/526-board_CT6373-1.patch b/target/linux/brcm63xx/patches-3.14/526-board_CT6373-1.patch
index 6b296ee479..11e4ff4be5 100644
--- a/target/linux/brcm63xx/patches-3.14/526-board_CT6373-1.patch
+++ b/target/linux/brcm63xx/patches-3.14/526-board_CT6373-1.patch
@@ -40,7 +40,7 @@
&board_HW553,
&board_spw303v,
#endif
-@@ -1474,6 +1500,7 @@ static struct of_device_id const bcm963x
+@@ -1475,6 +1501,7 @@ static struct of_device_id const bcm963x
{ .compatible = "alcatel,rg100a", .data = &board_96358vw2, },
{ .compatible = "brcm,bcm96358vw", .data = &board_96358vw, },
{ .compatible = "brcm,bcm96358vw2", .data = &board_96358vw2, },
diff --git a/target/linux/brcm63xx/patches-3.14/527-board_dva-g3810bn-tl-1.patch b/target/linux/brcm63xx/patches-3.14/527-board_dva-g3810bn-tl-1.patch
index d1c703c9d1..4ac9d2db5c 100644
--- a/target/linux/brcm63xx/patches-3.14/527-board_dva-g3810bn-tl-1.patch
+++ b/target/linux/brcm63xx/patches-3.14/527-board_dva-g3810bn-tl-1.patch
@@ -45,7 +45,7 @@
#endif
#ifdef CONFIG_BCM63XX_CPU_6368
-@@ -1503,6 +1534,7 @@ static struct of_device_id const bcm963x
+@@ -1504,6 +1535,7 @@ static struct of_device_id const bcm963x
{ .compatible = "comtrend,ct-6373", .data = &board_ct6373_1, },
{ .compatible = "d-link,dsl-274xb-c2", .data = &board_dsl_274xb_rev_c, },
{ .compatible = "d-link,dsl-2650u", .data = &board_96358vw2, },
diff --git a/target/linux/brcm63xx/patches-3.14/528-board_nb6.patch b/target/linux/brcm63xx/patches-3.14/528-board_nb6.patch
index 7788622fc0..68c1dc3696 100644
--- a/target/linux/brcm63xx/patches-3.14/528-board_nb6.patch
+++ b/target/linux/brcm63xx/patches-3.14/528-board_nb6.patch
@@ -100,7 +100,7 @@
#ifdef CONFIG_BCM63XX_CPU_6368
&board_96368mvwg,
&board_96368mvngr,
-@@ -1545,6 +1617,9 @@ static struct of_device_id const bcm963x
+@@ -1546,6 +1618,9 @@ static struct of_device_id const bcm963x
{ .compatible = "t-com,spw303v", .data = &board_spw303v, },
{ .compatible = "telsey,cpva642", .data = &board_CPVA642, },
#endif
diff --git a/target/linux/brcm63xx/patches-3.14/529-board_fast2604.patch b/target/linux/brcm63xx/patches-3.14/529-board_fast2604.patch
index ae81e31246..11a4f6aaf8 100644
--- a/target/linux/brcm63xx/patches-3.14/529-board_fast2604.patch
+++ b/target/linux/brcm63xx/patches-3.14/529-board_fast2604.patch
@@ -32,9 +32,9 @@
&board_DV201AMR,
&board_96348gw_a,
&board_rta1025w_16,
-@@ -1593,6 +1611,7 @@ static struct of_device_id const bcm963x
- { .compatible = "dynalink,rta1025w", .data = &board_rta1025w_16, },
+@@ -1594,6 +1612,7 @@ static struct of_device_id const bcm963x
{ .compatible = "netgear,dg834gtpn", .data = &board_96348gw_10, },
+ { .compatible = "netgear,dg834g-v4", .data = &board_96348W3, },
{ .compatible = "sagem,f@st2404", .data = &board_FAST2404, },
+ { .compatible = "sagem,f@st2604", .data = &board_FAST2604, },
{ .compatible = "t-com,spw500v", .data = &board_spw500v, },
diff --git a/target/linux/brcm63xx/patches-3.14/534-board_hw556.patch b/target/linux/brcm63xx/patches-3.14/534-board_hw556.patch
index 7ea7297bb6..280ac79f67 100644
--- a/target/linux/brcm63xx/patches-3.14/534-board_hw556.patch
+++ b/target/linux/brcm63xx/patches-3.14/534-board_hw556.patch
@@ -112,7 +112,7 @@
&board_spw303v,
&board_DVAG3810BN,
#endif
-@@ -1855,6 +1946,9 @@ static struct of_device_id const bcm963x
+@@ -1856,6 +1947,9 @@ static struct of_device_id const bcm963x
{ .compatible = "d-link,dsl-2650u", .data = &board_96358vw2, },
{ .compatible = "d-link,dva-g3810bn/tl", .data = &board_DVAG3810BN, },
{ .compatible = "huawei,hg553", .data = &board_HW553, },
diff --git a/target/linux/brcm63xx/patches-3.14/537-board_fast2504n.patch b/target/linux/brcm63xx/patches-3.14/537-board_fast2504n.patch
index 7c877527ba..c83e5b7ae0 100644
--- a/target/linux/brcm63xx/patches-3.14/537-board_fast2504n.patch
+++ b/target/linux/brcm63xx/patches-3.14/537-board_fast2504n.patch
@@ -58,7 +58,7 @@ Signed-off-by: Max Staudt <openwrt.max@enpas.org>
#endif
#ifdef CONFIG_BCM63XX_CPU_6368
-@@ -2054,6 +2092,7 @@ static struct of_device_id const bcm963x
+@@ -2055,6 +2093,7 @@ static struct of_device_id const bcm963x
{ .compatible = "telsey,cpva642", .data = &board_CPVA642, },
#endif
#ifdef CONFIG_BCM63XX_CPU_6362
diff --git a/target/linux/brcm63xx/patches-3.14/560-board_963268gu_p300.patch b/target/linux/brcm63xx/patches-3.14/560-board_963268gu_p300.patch
index 986f85b3fd..ca7ed5519c 100644
--- a/target/linux/brcm63xx/patches-3.14/560-board_963268gu_p300.patch
+++ b/target/linux/brcm63xx/patches-3.14/560-board_963268gu_p300.patch
@@ -75,7 +75,7 @@
&board_963269bhr,
&board_vw6339gu,
#endif
-@@ -2236,6 +2297,7 @@ static struct of_device_id const bcm963x
+@@ -2237,6 +2298,7 @@ static struct of_device_id const bcm963x
{ .compatible = "brcm,bcm96368mvwg", .data = &board_96368mvwg, },
#endif
#ifdef CONFIG_BCM63XX_CPU_63268
diff --git a/target/linux/brcm63xx/patches-3.14/561-board_WAP-5813n.patch b/target/linux/brcm63xx/patches-3.14/561-board_WAP-5813n.patch
index 56a620d51c..803ccc9c3d 100644
--- a/target/linux/brcm63xx/patches-3.14/561-board_WAP-5813n.patch
+++ b/target/linux/brcm63xx/patches-3.14/561-board_WAP-5813n.patch
@@ -84,7 +84,7 @@
#endif
#ifdef CONFIG_BCM63XX_CPU_63268
&board_963268bu_p300,
-@@ -2295,6 +2357,7 @@ static struct of_device_id const bcm963x
+@@ -2296,6 +2358,7 @@ static struct of_device_id const bcm963x
#ifdef CONFIG_BCM63XX_CPU_6368
{ .compatible = "brcm,bcm96368mvngr", .data = &board_96368mvngr, },
{ .compatible = "brcm,bcm96368mvwg", .data = &board_96368mvwg, },
diff --git a/target/linux/brcm63xx/patches-3.14/562-board_VR-3025u.patch b/target/linux/brcm63xx/patches-3.14/562-board_VR-3025u.patch
index 67f7bae674..8660a6dfcb 100644
--- a/target/linux/brcm63xx/patches-3.14/562-board_VR-3025u.patch
+++ b/target/linux/brcm63xx/patches-3.14/562-board_VR-3025u.patch
@@ -69,7 +69,7 @@
&board_WAP5813n,
#endif
#ifdef CONFIG_BCM63XX_CPU_63268
-@@ -2357,6 +2412,7 @@ static struct of_device_id const bcm963x
+@@ -2358,6 +2413,7 @@ static struct of_device_id const bcm963x
#ifdef CONFIG_BCM63XX_CPU_6368
{ .compatible = "brcm,bcm96368mvngr", .data = &board_96368mvngr, },
{ .compatible = "brcm,bcm96368mvwg", .data = &board_96368mvwg, },
diff --git a/target/linux/brcm63xx/patches-3.14/563-board_VR-3025un.patch b/target/linux/brcm63xx/patches-3.14/563-board_VR-3025un.patch
index 5745e7b4f3..e63b5e2220 100644
--- a/target/linux/brcm63xx/patches-3.14/563-board_VR-3025un.patch
+++ b/target/linux/brcm63xx/patches-3.14/563-board_VR-3025un.patch
@@ -69,7 +69,7 @@
&board_WAP5813n,
#endif
#ifdef CONFIG_BCM63XX_CPU_63268
-@@ -2413,6 +2468,7 @@ static struct of_device_id const bcm963x
+@@ -2414,6 +2469,7 @@ static struct of_device_id const bcm963x
{ .compatible = "brcm,bcm96368mvngr", .data = &board_96368mvngr, },
{ .compatible = "brcm,bcm96368mvwg", .data = &board_96368mvwg, },
{ .compatible = "comtrend,vr-3025u", .data = &board_VR3025u, },
diff --git a/target/linux/brcm63xx/patches-3.14/564-board_P870HW-51a_v2.patch b/target/linux/brcm63xx/patches-3.14/564-board_P870HW-51a_v2.patch
index ba9595019f..8078200a9d 100644
--- a/target/linux/brcm63xx/patches-3.14/564-board_P870HW-51a_v2.patch
+++ b/target/linux/brcm63xx/patches-3.14/564-board_P870HW-51a_v2.patch
@@ -58,7 +58,7 @@
&board_VR3025u,
&board_VR3025un,
&board_WAP5813n,
-@@ -2470,6 +2514,7 @@ static struct of_device_id const bcm963x
+@@ -2471,6 +2515,7 @@ static struct of_device_id const bcm963x
{ .compatible = "comtrend,vr-3025u", .data = &board_VR3025u, },
{ .compatible = "comtrend,vr-3025un", .data = &board_VR3025un, },
{ .compatible = "comtrend,wap-5813n", .data = &board_WAP5813n, },
diff --git a/target/linux/brcm63xx/patches-3.14/565-board_hw520.patch b/target/linux/brcm63xx/patches-3.14/565-board_hw520.patch
index 2d135b4449..19d5807b33 100644
--- a/target/linux/brcm63xx/patches-3.14/565-board_hw520.patch
+++ b/target/linux/brcm63xx/patches-3.14/565-board_hw520.patch
@@ -46,7 +46,7 @@
&board_HW553,
&board_HW556_A,
&board_HW556_B,
-@@ -2491,6 +2523,7 @@ static struct of_device_id const bcm963x
+@@ -2492,6 +2524,7 @@ static struct of_device_id const bcm963x
{ .compatible = "d-link,dsl-274xb-c2", .data = &board_dsl_274xb_rev_c, },
{ .compatible = "d-link,dsl-2650u", .data = &board_96358vw2, },
{ .compatible = "d-link,dva-g3810bn/tl", .data = &board_DVAG3810BN, },
diff --git a/target/linux/brcm63xx/patches-3.14/568-board_DGND3700v1_3800B.patch b/target/linux/brcm63xx/patches-3.14/568-board_DGND3700v1_3800B.patch
index 5ae9ec5f42..c9463f0097 100644
--- a/target/linux/brcm63xx/patches-3.14/568-board_DGND3700v1_3800B.patch
+++ b/target/linux/brcm63xx/patches-3.14/568-board_DGND3700v1_3800B.patch
@@ -57,7 +57,7 @@
&board_P870HW51A_V2,
&board_VR3025u,
&board_VR3025un,
-@@ -2729,6 +2772,7 @@ static struct of_device_id const bcm963x
+@@ -2730,6 +2773,7 @@ static struct of_device_id const bcm963x
{ .compatible = "comtrend,vr-3025u", .data = &board_VR3025u, },
{ .compatible = "comtrend,vr-3025un", .data = &board_VR3025un, },
{ .compatible = "comtrend,wap-5813n", .data = &board_WAP5813n, },
diff --git a/target/linux/brcm63xx/patches-3.18/525-board_96348w3.patch b/target/linux/brcm63xx/patches-3.18/525-board_96348w3.patch
index 676f704996..c0b14572c1 100644
--- a/target/linux/brcm63xx/patches-3.18/525-board_96348w3.patch
+++ b/target/linux/brcm63xx/patches-3.18/525-board_96348w3.patch
@@ -34,3 +34,11 @@
#endif
#ifdef CONFIG_BCM63XX_CPU_6358
+@@ -1443,6 +1463,7 @@ static struct of_device_id const bcm963x
+ { .compatible = "davolink,dv-201amr", .data = &board_DV201AMR, },
+ { .compatible = "dynalink,rta1025w", .data = &board_rta1025w_16, },
+ { .compatible = "netgear,dg834gtpn", .data = &board_96348gw_10, },
++ { .compatible = "netgear,dg834g-v4", .data = &board_96348W3, },
+ { .compatible = "sagem,f@st2404", .data = &board_FAST2404, },
+ { .compatible = "t-com,spw500v", .data = &board_spw500v, },
+ { .compatible = "tecom,gw6000", .data = &board_gw6000, },
diff --git a/target/linux/brcm63xx/patches-3.18/526-board_CT6373-1.patch b/target/linux/brcm63xx/patches-3.18/526-board_CT6373-1.patch
index 6b296ee479..11e4ff4be5 100644
--- a/target/linux/brcm63xx/patches-3.18/526-board_CT6373-1.patch
+++ b/target/linux/brcm63xx/patches-3.18/526-board_CT6373-1.patch
@@ -40,7 +40,7 @@
&board_HW553,
&board_spw303v,
#endif
-@@ -1474,6 +1500,7 @@ static struct of_device_id const bcm963x
+@@ -1475,6 +1501,7 @@ static struct of_device_id const bcm963x
{ .compatible = "alcatel,rg100a", .data = &board_96358vw2, },
{ .compatible = "brcm,bcm96358vw", .data = &board_96358vw, },
{ .compatible = "brcm,bcm96358vw2", .data = &board_96358vw2, },
diff --git a/target/linux/brcm63xx/patches-3.18/527-board_dva-g3810bn-tl-1.patch b/target/linux/brcm63xx/patches-3.18/527-board_dva-g3810bn-tl-1.patch
index d1c703c9d1..4ac9d2db5c 100644
--- a/target/linux/brcm63xx/patches-3.18/527-board_dva-g3810bn-tl-1.patch
+++ b/target/linux/brcm63xx/patches-3.18/527-board_dva-g3810bn-tl-1.patch
@@ -45,7 +45,7 @@
#endif
#ifdef CONFIG_BCM63XX_CPU_6368
-@@ -1503,6 +1534,7 @@ static struct of_device_id const bcm963x
+@@ -1504,6 +1535,7 @@ static struct of_device_id const bcm963x
{ .compatible = "comtrend,ct-6373", .data = &board_ct6373_1, },
{ .compatible = "d-link,dsl-274xb-c2", .data = &board_dsl_274xb_rev_c, },
{ .compatible = "d-link,dsl-2650u", .data = &board_96358vw2, },
diff --git a/target/linux/brcm63xx/patches-3.18/528-board_nb6.patch b/target/linux/brcm63xx/patches-3.18/528-board_nb6.patch
index 7788622fc0..68c1dc3696 100644
--- a/target/linux/brcm63xx/patches-3.18/528-board_nb6.patch
+++ b/target/linux/brcm63xx/patches-3.18/528-board_nb6.patch
@@ -100,7 +100,7 @@
#ifdef CONFIG_BCM63XX_CPU_6368
&board_96368mvwg,
&board_96368mvngr,
-@@ -1545,6 +1617,9 @@ static struct of_device_id const bcm963x
+@@ -1546,6 +1618,9 @@ static struct of_device_id const bcm963x
{ .compatible = "t-com,spw303v", .data = &board_spw303v, },
{ .compatible = "telsey,cpva642", .data = &board_CPVA642, },
#endif
diff --git a/target/linux/brcm63xx/patches-3.18/529-board_fast2604.patch b/target/linux/brcm63xx/patches-3.18/529-board_fast2604.patch
index ae81e31246..11a4f6aaf8 100644
--- a/target/linux/brcm63xx/patches-3.18/529-board_fast2604.patch
+++ b/target/linux/brcm63xx/patches-3.18/529-board_fast2604.patch
@@ -32,9 +32,9 @@
&board_DV201AMR,
&board_96348gw_a,
&board_rta1025w_16,
-@@ -1593,6 +1611,7 @@ static struct of_device_id const bcm963x
- { .compatible = "dynalink,rta1025w", .data = &board_rta1025w_16, },
+@@ -1594,6 +1612,7 @@ static struct of_device_id const bcm963x
{ .compatible = "netgear,dg834gtpn", .data = &board_96348gw_10, },
+ { .compatible = "netgear,dg834g-v4", .data = &board_96348W3, },
{ .compatible = "sagem,f@st2404", .data = &board_FAST2404, },
+ { .compatible = "sagem,f@st2604", .data = &board_FAST2604, },
{ .compatible = "t-com,spw500v", .data = &board_spw500v, },
diff --git a/target/linux/brcm63xx/patches-3.18/534-board_hw556.patch b/target/linux/brcm63xx/patches-3.18/534-board_hw556.patch
index 7ea7297bb6..280ac79f67 100644
--- a/target/linux/brcm63xx/patches-3.18/534-board_hw556.patch
+++ b/target/linux/brcm63xx/patches-3.18/534-board_hw556.patch
@@ -112,7 +112,7 @@
&board_spw303v,
&board_DVAG3810BN,
#endif
-@@ -1855,6 +1946,9 @@ static struct of_device_id const bcm963x
+@@ -1856,6 +1947,9 @@ static struct of_device_id const bcm963x
{ .compatible = "d-link,dsl-2650u", .data = &board_96358vw2, },
{ .compatible = "d-link,dva-g3810bn/tl", .data = &board_DVAG3810BN, },
{ .compatible = "huawei,hg553", .data = &board_HW553, },
diff --git a/target/linux/brcm63xx/patches-3.18/537-board_fast2504n.patch b/target/linux/brcm63xx/patches-3.18/537-board_fast2504n.patch
index 7c877527ba..c83e5b7ae0 100644
--- a/target/linux/brcm63xx/patches-3.18/537-board_fast2504n.patch
+++ b/target/linux/brcm63xx/patches-3.18/537-board_fast2504n.patch
@@ -58,7 +58,7 @@ Signed-off-by: Max Staudt <openwrt.max@enpas.org>
#endif
#ifdef CONFIG_BCM63XX_CPU_6368
-@@ -2054,6 +2092,7 @@ static struct of_device_id const bcm963x
+@@ -2055,6 +2093,7 @@ static struct of_device_id const bcm963x
{ .compatible = "telsey,cpva642", .data = &board_CPVA642, },
#endif
#ifdef CONFIG_BCM63XX_CPU_6362
diff --git a/target/linux/brcm63xx/patches-3.18/560-board_963268gu_p300.patch b/target/linux/brcm63xx/patches-3.18/560-board_963268gu_p300.patch
index 986f85b3fd..ca7ed5519c 100644
--- a/target/linux/brcm63xx/patches-3.18/560-board_963268gu_p300.patch
+++ b/target/linux/brcm63xx/patches-3.18/560-board_963268gu_p300.patch
@@ -75,7 +75,7 @@
&board_963269bhr,
&board_vw6339gu,
#endif
-@@ -2236,6 +2297,7 @@ static struct of_device_id const bcm963x
+@@ -2237,6 +2298,7 @@ static struct of_device_id const bcm963x
{ .compatible = "brcm,bcm96368mvwg", .data = &board_96368mvwg, },
#endif
#ifdef CONFIG_BCM63XX_CPU_63268
diff --git a/target/linux/brcm63xx/patches-3.18/561-board_WAP-5813n.patch b/target/linux/brcm63xx/patches-3.18/561-board_WAP-5813n.patch
index 56a620d51c..803ccc9c3d 100644
--- a/target/linux/brcm63xx/patches-3.18/561-board_WAP-5813n.patch
+++ b/target/linux/brcm63xx/patches-3.18/561-board_WAP-5813n.patch
@@ -84,7 +84,7 @@
#endif
#ifdef CONFIG_BCM63XX_CPU_63268
&board_963268bu_p300,
-@@ -2295,6 +2357,7 @@ static struct of_device_id const bcm963x
+@@ -2296,6 +2358,7 @@ static struct of_device_id const bcm963x
#ifdef CONFIG_BCM63XX_CPU_6368
{ .compatible = "brcm,bcm96368mvngr", .data = &board_96368mvngr, },
{ .compatible = "brcm,bcm96368mvwg", .data = &board_96368mvwg, },
diff --git a/target/linux/brcm63xx/patches-3.18/562-board_VR-3025u.patch b/target/linux/brcm63xx/patches-3.18/562-board_VR-3025u.patch
index 67f7bae674..8660a6dfcb 100644
--- a/target/linux/brcm63xx/patches-3.18/562-board_VR-3025u.patch
+++ b/target/linux/brcm63xx/patches-3.18/562-board_VR-3025u.patch
@@ -69,7 +69,7 @@
&board_WAP5813n,
#endif
#ifdef CONFIG_BCM63XX_CPU_63268
-@@ -2357,6 +2412,7 @@ static struct of_device_id const bcm963x
+@@ -2358,6 +2413,7 @@ static struct of_device_id const bcm963x
#ifdef CONFIG_BCM63XX_CPU_6368
{ .compatible = "brcm,bcm96368mvngr", .data = &board_96368mvngr, },
{ .compatible = "brcm,bcm96368mvwg", .data = &board_96368mvwg, },
diff --git a/target/linux/brcm63xx/patches-3.18/563-board_VR-3025un.patch b/target/linux/brcm63xx/patches-3.18/563-board_VR-3025un.patch
index 5745e7b4f3..e63b5e2220 100644
--- a/target/linux/brcm63xx/patches-3.18/563-board_VR-3025un.patch
+++ b/target/linux/brcm63xx/patches-3.18/563-board_VR-3025un.patch
@@ -69,7 +69,7 @@
&board_WAP5813n,
#endif
#ifdef CONFIG_BCM63XX_CPU_63268
-@@ -2413,6 +2468,7 @@ static struct of_device_id const bcm963x
+@@ -2414,6 +2469,7 @@ static struct of_device_id const bcm963x
{ .compatible = "brcm,bcm96368mvngr", .data = &board_96368mvngr, },
{ .compatible = "brcm,bcm96368mvwg", .data = &board_96368mvwg, },
{ .compatible = "comtrend,vr-3025u", .data = &board_VR3025u, },
diff --git a/target/linux/brcm63xx/patches-3.18/564-board_P870HW-51a_v2.patch b/target/linux/brcm63xx/patches-3.18/564-board_P870HW-51a_v2.patch
index ba9595019f..8078200a9d 100644
--- a/target/linux/brcm63xx/patches-3.18/564-board_P870HW-51a_v2.patch
+++ b/target/linux/brcm63xx/patches-3.18/564-board_P870HW-51a_v2.patch
@@ -58,7 +58,7 @@
&board_VR3025u,
&board_VR3025un,
&board_WAP5813n,
-@@ -2470,6 +2514,7 @@ static struct of_device_id const bcm963x
+@@ -2471,6 +2515,7 @@ static struct of_device_id const bcm963x
{ .compatible = "comtrend,vr-3025u", .data = &board_VR3025u, },
{ .compatible = "comtrend,vr-3025un", .data = &board_VR3025un, },
{ .compatible = "comtrend,wap-5813n", .data = &board_WAP5813n, },
diff --git a/target/linux/brcm63xx/patches-3.18/565-board_hw520.patch b/target/linux/brcm63xx/patches-3.18/565-board_hw520.patch
index 2d135b4449..19d5807b33 100644
--- a/target/linux/brcm63xx/patches-3.18/565-board_hw520.patch
+++ b/target/linux/brcm63xx/patches-3.18/565-board_hw520.patch
@@ -46,7 +46,7 @@
&board_HW553,
&board_HW556_A,
&board_HW556_B,
-@@ -2491,6 +2523,7 @@ static struct of_device_id const bcm963x
+@@ -2492,6 +2524,7 @@ static struct of_device_id const bcm963x
{ .compatible = "d-link,dsl-274xb-c2", .data = &board_dsl_274xb_rev_c, },
{ .compatible = "d-link,dsl-2650u", .data = &board_96358vw2, },
{ .compatible = "d-link,dva-g3810bn/tl", .data = &board_DVAG3810BN, },
diff --git a/target/linux/brcm63xx/patches-3.18/568-board_DGND3700v1_3800B.patch b/target/linux/brcm63xx/patches-3.18/568-board_DGND3700v1_3800B.patch
index 5ae9ec5f42..c9463f0097 100644
--- a/target/linux/brcm63xx/patches-3.18/568-board_DGND3700v1_3800B.patch
+++ b/target/linux/brcm63xx/patches-3.18/568-board_DGND3700v1_3800B.patch
@@ -57,7 +57,7 @@
&board_P870HW51A_V2,
&board_VR3025u,
&board_VR3025un,
-@@ -2729,6 +2772,7 @@ static struct of_device_id const bcm963x
+@@ -2730,6 +2773,7 @@ static struct of_device_id const bcm963x
{ .compatible = "comtrend,vr-3025u", .data = &board_VR3025u, },
{ .compatible = "comtrend,vr-3025un", .data = &board_VR3025un, },
{ .compatible = "comtrend,wap-5813n", .data = &board_WAP5813n, },
diff --git a/target/linux/brcm63xx/patches-3.18/569-board_homehub2a.patch b/target/linux/brcm63xx/patches-3.18/569-board_homehub2a.patch
index 429d0be9fe..ba304eac7e 100644
--- a/target/linux/brcm63xx/patches-3.18/569-board_homehub2a.patch
+++ b/target/linux/brcm63xx/patches-3.18/569-board_homehub2a.patch
@@ -41,7 +41,7 @@
&board_HW520,
&board_HW553,
&board_HW556_A,
-@@ -2761,6 +2788,7 @@ static struct of_device_id const bcm963x
+@@ -2762,6 +2789,7 @@ static struct of_device_id const bcm963x
{ .compatible = "sfr,nb4-fxc-r1", .data = &board_nb4_fxc_r1, },
{ .compatible = "t-com,spw303v", .data = &board_spw303v, },
{ .compatible = "telsey,cpva642", .data = &board_CPVA642, },
diff --git a/target/linux/brcm63xx/profiles/netgear.mk b/target/linux/brcm63xx/profiles/netgear.mk
index 20224a259a..bc345bb347 100644
--- a/target/linux/brcm63xx/profiles/netgear.mk
+++ b/target/linux/brcm63xx/profiles/netgear.mk
@@ -23,6 +23,15 @@ define Profile/DG834GTPN/Description
endef
$(eval $(call Profile,DG834GTPN))
+define Profile/DG834GV4
+ NAME:=Netgear DG834G v4
+ PACKAGES:=kmod-b43 wpad-mini
+endef
+define Profile/DG834GTPN/Description
+ Package set optimized for DG834G v4.
+endef
+$(eval $(call Profile,DG834GV4))
+
define Profile/DGND3700v1_3800B
NAME:=Netgear DGND3700 v1 / DGND3800B
PACKAGES:=kmod-b43 wpad-mini \