From d5f1dd9079c1f1f2ef88721d1ce3ff15c01523b8 Mon Sep 17 00:00:00 2001
From: Jonas Gorski <jogo@openwrt.org>
Date: Mon, 8 Dec 2014 16:10:54 +0000
Subject: [PATCH] brcm63xx: add DT support for DG834GT/PN
MIME-Version: 1.0
Content-Type: text/plain; charset=utf8
Content-Transfer-Encoding: 8bit

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

SVN-Revision: 43573
---
 target/linux/brcm63xx/dts/dg834gtpn.dts       | 30 +++++++++++++++++++
 target/linux/brcm63xx/image/Makefile          |  4 +--
 ...ulate-the-compatible-to-board_info-l.patch |  3 +-
 ...ulate-the-compatible-to-board_info-l.patch |  3 +-
 target/linux/brcm63xx/profiles/netgear.mk     | 15 ++++++++++
 5 files changed, 51 insertions(+), 4 deletions(-)
 create mode 100644 target/linux/brcm63xx/dts/dg834gtpn.dts
 create mode 100644 target/linux/brcm63xx/profiles/netgear.mk

diff --git a/target/linux/brcm63xx/dts/dg834gtpn.dts b/target/linux/brcm63xx/dts/dg834gtpn.dts
new file mode 100644
index 0000000000..8742985454
--- /dev/null
+++ b/target/linux/brcm63xx/dts/dg834gtpn.dts
@@ -0,0 +1,30 @@
+/dts-v1/;
+
+/include/ "bcm6348.dtsi"
+
+/ {
+	model = "Netgear DG834GT/PN";
+	compatible = "netgear,dg834gtpn", "brcm,bcm6348";
+};
+
+&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 ac92c55248..09c291aa14 100755
--- a/target/linux/brcm63xx/image/Makefile
+++ b/target/linux/brcm63xx/image/Makefile
@@ -202,8 +202,6 @@ define Image/Build
 
 	# USR 9108
 	$(call Image/Build/CFE,$(1),96348GW-A,6348,USR9108)
-	# NetGear DG834GT, DG834PN
-	$(call Image/Build/CFE,$(1),96348GW-10,6348,DG834GT_DG834PN)
 	# Belkin f5d7633
 	$(call Image/Build/CFE,$(1),96348GW-10,6348,F5D7633)
 
@@ -301,6 +299,8 @@ $(eval $(call ImageDTB,CFEDTB,HG553,hg553,HW553,6358,HG553,--rsa-signature "Echo
 $(eval $(call ImageDTB,CFEDTB,HG556a_AB,hg556a-a,HW556,6358,HG556a_A,--rsa-signature "EchoLife_HG556a" --image-offset 0x20000 --block-size 0x10000 --tag-version 8))
 $(eval $(call ImageDTB,CFEDTB,HG556a_AB,hg556a-b,HW556,6358,HG556a_B,--rsa-signature "EchoLife_HG556a" --image-offset 0x20000 --block-size 0x20000 --tag-version 8))
 $(eval $(call ImageDTB,CFEDTB,HG556a_C,hg556a-c,HW556,6358,HG556a_C,--rsa-signature "EchoLife_HG556a" --image-offset 0x20000 --block-size 0x20000 --tag-version 8))
+# Netgear DG834GT/PN
+$(eval $(call ImageDTB,CFEDTB,DG834GTPN,dg834gtpn,96348GW-10,6348,DG834GT_PN))
 # Pirelli Alice Gate VoIP 2 Plus Wi-Fi AGPF-S0
 $(eval $(call ImageDTB,CFEDTB,AGPF_S0,agpf-s0,AGPF-S0,6358,AGV2+W,--block-size 0x20000 --image-offset 0x20000 --signature2 IMAGE --tag-version 8))
 # Pirelli A226G
diff --git a/target/linux/brcm63xx/patches-3.14/369-MIPS-BCM63XX-populate-the-compatible-to-board_info-l.patch b/target/linux/brcm63xx/patches-3.14/369-MIPS-BCM63XX-populate-the-compatible-to-board_info-l.patch
index 4e48629d26..9e6416d099 100644
--- a/target/linux/brcm63xx/patches-3.14/369-MIPS-BCM63XX-populate-the-compatible-to-board_info-l.patch
+++ b/target/linux/brcm63xx/patches-3.14/369-MIPS-BCM63XX-populate-the-compatible-to-board_info-l.patch
@@ -14,7 +14,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
 
 --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
 +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -736,6 +736,46 @@ static const struct board_info __initcon
+@@ -736,6 +736,47 @@ static const struct board_info __initcon
  };
  
  static struct of_device_id const bcm963xx_boards_dt[] = {
@@ -39,6 +39,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
 +	{ .compatible = "brcm,bcm96348gw-a", .data = &board_96348gw_a, },
 +	{ .compatible = "davolink,dv-201amr", .data = &board_DV201AMR, },
 +	{ .compatible = "dynalink,rta1025w", .data = &board_rta1025w_16, },
++	{ .compatible = "netgear,dg834gtpn", .data = &board_96348gw_10, },
 +	{ .compatible = "sagem,f@st2404", .data = &board_FAST2404, },
 +	{ .compatible = "tp-link,td-w8900gb", .data = &board_96348gw_11, },
 +#endif
diff --git a/target/linux/brcm63xx/patches-3.18/369-MIPS-BCM63XX-populate-the-compatible-to-board_info-l.patch b/target/linux/brcm63xx/patches-3.18/369-MIPS-BCM63XX-populate-the-compatible-to-board_info-l.patch
index 4e48629d26..9e6416d099 100644
--- a/target/linux/brcm63xx/patches-3.18/369-MIPS-BCM63XX-populate-the-compatible-to-board_info-l.patch
+++ b/target/linux/brcm63xx/patches-3.18/369-MIPS-BCM63XX-populate-the-compatible-to-board_info-l.patch
@@ -14,7 +14,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
 
 --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
 +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -736,6 +736,46 @@ static const struct board_info __initcon
+@@ -736,6 +736,47 @@ static const struct board_info __initcon
  };
  
  static struct of_device_id const bcm963xx_boards_dt[] = {
@@ -39,6 +39,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
 +	{ .compatible = "brcm,bcm96348gw-a", .data = &board_96348gw_a, },
 +	{ .compatible = "davolink,dv-201amr", .data = &board_DV201AMR, },
 +	{ .compatible = "dynalink,rta1025w", .data = &board_rta1025w_16, },
++	{ .compatible = "netgear,dg834gtpn", .data = &board_96348gw_10, },
 +	{ .compatible = "sagem,f@st2404", .data = &board_FAST2404, },
 +	{ .compatible = "tp-link,td-w8900gb", .data = &board_96348gw_11, },
 +#endif
diff --git a/target/linux/brcm63xx/profiles/netgear.mk b/target/linux/brcm63xx/profiles/netgear.mk
new file mode 100644
index 0000000000..562e0f5969
--- /dev/null
+++ b/target/linux/brcm63xx/profiles/netgear.mk
@@ -0,0 +1,15 @@
+#
+# Copyright (C) 2014 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+define Profile/DG834GTPN
+  NAME:=Netgear DG834GT/PN
+  PACKAGES:=kmod-ath5k wpad-mini
+endef
+define Profile/DG834GTPN/Description
+  Package set optimized for DG834GT/PN.
+endef
+$(eval $(call Profile,DG834GTPN))
-- 
2.30.2