brcm63xx: add DT support for TD-W8900GB
authorjogo <jogo@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Mon, 8 Dec 2014 16:10:46 +0000 (16:10 +0000)
committerjogo <jogo@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Mon, 8 Dec 2014 16:10:46 +0000 (16:10 +0000)
According to the vendor tarball, the TD-w8900GB's flash has 64k erase
block size, but CFE spans two blocks. So fixup the image offset
accordingly but keep block size at its default (64k).

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
[jogo: add commit message, add image offset, change nvram offset]
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43572 3c298f89-4303-0410-b956-a3cf2f4a3e73

target/linux/brcm63xx/dts/td-w8900gb.dts [new file with mode: 0644]
target/linux/brcm63xx/image/Makefile
target/linux/brcm63xx/patches-3.14/369-MIPS-BCM63XX-populate-the-compatible-to-board_info-l.patch
target/linux/brcm63xx/patches-3.14/505-board_spw500v.patch
target/linux/brcm63xx/patches-3.14/506-board_gw6200_gw6000.patch
target/linux/brcm63xx/patches-3.18/369-MIPS-BCM63XX-populate-the-compatible-to-board_info-l.patch
target/linux/brcm63xx/patches-3.18/505-board_spw500v.patch
target/linux/brcm63xx/patches-3.18/506-board_gw6200_gw6000.patch
target/linux/brcm63xx/profiles/tp-link.mk [new file with mode: 0644]

diff --git a/target/linux/brcm63xx/dts/td-w8900gb.dts b/target/linux/brcm63xx/dts/td-w8900gb.dts
new file mode 100644 (file)
index 0000000..c8ff50c
--- /dev/null
@@ -0,0 +1,30 @@
+/dts-v1/;
+
+/include/ "bcm6348.dtsi"
+
+/ {
+       model = "TP-Link TD-W8900GB";
+       compatible = "tp-link,td-w8900gb", "brcm,bcm6348";
+};
+
+&pflash {
+       status = "ok";
+
+       linux,part-probe = "bcm63xxpart";
+
+       cfe@0 {
+               label = "CFE";
+               reg = <0x000000 0x020000>;
+               read-only;
+       };
+
+       linux@20000 {
+               label = "linux";
+               reg = <0x020000 0x3d0000>;
+       };
+
+       nvram@3e0000 {
+               label = "nvram";
+               reg = <0x3f0000 0x010000>;
+       };
+};
index 48492fa..ac92c55 100755 (executable)
@@ -207,9 +207,6 @@ define Image/Build
        # Belkin f5d7633
        $(call Image/Build/CFE,$(1),96348GW-10,6348,F5D7633)
 
-       # TP-Link 8900GB
-       $(call Image/Build/CFE,$(1),96348GW-11,6348,TD8900GB,$(shell printf 'PRID\x89\x10\x00\x02'))
-
        # Inventel Livebox
        $(call Image/Build/RedBoot,livebox)
 
@@ -329,6 +326,8 @@ $(eval $(call ImageDTB,CFEDTB,GW6000,gw6000,96348GW,6348,GW6000))
 $(eval $(call ImageDTB,CFEDTB,GW6200,gw6200,96348GW,6348,GW6200,--rsa-signature "$(shell printf '\x99')"))
 # Telsey CPVA642-type (e.g. CPA-ZNTE60T)
 $(eval $(call ImageDTB,CFEDTB,CPVA642,cpva642,CPVA642,6358,CPA-ZNTE60T,--signature "Telsey Tlc" --signature2 "99.99.999" --second-image-flag "0" --pad 4))
+# TP-Link TD-W8900GB
+$(eval $(call ImageDTB,CFEDTB,TDW8900GB,td-w8900gb,96348GW-11,6348,TD-W8900GB,--rsa-signature "$(shell printf 'PRID\x89\x10\x00\x02')" --image-offset 0x20000))
 # SFR Neufbox 4
 $(eval $(call ImageDTB,CFEDTB,Neufbox4,nb4-ser-r0,96358VW,6358,NEUFBOX4-SER,--rsa-signature "OpenWRT-$(REVISION)"))
 $(eval $(call ImageDTB,CFEDTB,Neufbox4,nb4-fxc-r1,96358VW,6358,NEUFBOX4-FXC,--rsa-signature "OpenWRT-$(REVISION)"))
index a38fca5..4e48629 100644 (file)
@@ -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,45 @@ static const struct board_info __initcon
+@@ -736,6 +736,46 @@ static const struct board_info __initcon
  };
  
  static struct of_device_id const bcm963xx_boards_dt[] = {
@@ -40,6 +40,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
 +      { .compatible = "davolink,dv-201amr", .data = &board_DV201AMR, },
 +      { .compatible = "dynalink,rta1025w", .data = &board_rta1025w_16, },
 +      { .compatible = "sagem,f@st2404", .data = &board_FAST2404, },
++      { .compatible = "tp-link,td-w8900gb", .data = &board_96348gw_11, },
 +#endif
 +#ifdef CONFIG_BCM63XX_CPU_6358
 +      { .compatible = "alcatel,rg100a", .data = &board_96358vw2, },
index 1d153c8..fd2263f 100644 (file)
@@ -98,6 +98,6 @@
        { .compatible = "dynalink,rta1025w", .data = &board_rta1025w_16, },
        { .compatible = "sagem,f@st2404", .data = &board_FAST2404, },
 +      { .compatible = "t-com,spw500v", .data = &board_spw500v, },
+       { .compatible = "tp-link,td-w8900gb", .data = &board_96348gw_11, },
  #endif
  #ifdef CONFIG_BCM63XX_CPU_6358
-       { .compatible = "alcatel,rg100a", .data = &board_96358vw2, },
index 27fa19d..3caa8a9 100644 (file)
        { .compatible = "t-com,spw500v", .data = &board_spw500v, },
 +      { .compatible = "tecom,gw6000", .data = &board_gw6000, },
 +      { .compatible = "tecom,gw6200", .data = &board_gw6200, },
+       { .compatible = "tp-link,td-w8900gb", .data = &board_96348gw_11, },
  #endif
  #ifdef CONFIG_BCM63XX_CPU_6358
-       { .compatible = "alcatel,rg100a", .data = &board_96358vw2, },
index a38fca5..4e48629 100644 (file)
@@ -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,45 @@ static const struct board_info __initcon
+@@ -736,6 +736,46 @@ static const struct board_info __initcon
  };
  
  static struct of_device_id const bcm963xx_boards_dt[] = {
@@ -40,6 +40,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
 +      { .compatible = "davolink,dv-201amr", .data = &board_DV201AMR, },
 +      { .compatible = "dynalink,rta1025w", .data = &board_rta1025w_16, },
 +      { .compatible = "sagem,f@st2404", .data = &board_FAST2404, },
++      { .compatible = "tp-link,td-w8900gb", .data = &board_96348gw_11, },
 +#endif
 +#ifdef CONFIG_BCM63XX_CPU_6358
 +      { .compatible = "alcatel,rg100a", .data = &board_96358vw2, },
index 1d153c8..fd2263f 100644 (file)
@@ -98,6 +98,6 @@
        { .compatible = "dynalink,rta1025w", .data = &board_rta1025w_16, },
        { .compatible = "sagem,f@st2404", .data = &board_FAST2404, },
 +      { .compatible = "t-com,spw500v", .data = &board_spw500v, },
+       { .compatible = "tp-link,td-w8900gb", .data = &board_96348gw_11, },
  #endif
  #ifdef CONFIG_BCM63XX_CPU_6358
-       { .compatible = "alcatel,rg100a", .data = &board_96358vw2, },
index 27fa19d..3caa8a9 100644 (file)
        { .compatible = "t-com,spw500v", .data = &board_spw500v, },
 +      { .compatible = "tecom,gw6000", .data = &board_gw6000, },
 +      { .compatible = "tecom,gw6200", .data = &board_gw6200, },
+       { .compatible = "tp-link,td-w8900gb", .data = &board_96348gw_11, },
  #endif
  #ifdef CONFIG_BCM63XX_CPU_6358
-       { .compatible = "alcatel,rg100a", .data = &board_96358vw2, },
diff --git a/target/linux/brcm63xx/profiles/tp-link.mk b/target/linux/brcm63xx/profiles/tp-link.mk
new file mode 100644 (file)
index 0000000..a7e7f26
--- /dev/null
@@ -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/TDW8900GB
+  NAME:=TP-Link TD-W8900GB
+  PACKAGES:=kmod-b43 wpad-mini
+endef
+define Profile/TDW8900GB/Description
+  Package set optimized for TD-W8900GB.
+endef
+$(eval $(call Profile,TDW8900GB))