From b0ae41f849c237d2e1c842a9819fb3e3ec73f9b5 Mon Sep 17 00:00:00 2001 From: Jonas Gorski Date: Mon, 8 Dec 2014 16:10:46 +0000 Subject: [PATCH] brcm63xx: add DT support for TD-W8900GB MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 [jogo: add commit message, add image offset, change nvram offset] Signed-off-by: Jonas Gorski SVN-Revision: 43572 --- target/linux/brcm63xx/dts/td-w8900gb.dts | 30 +++++++++++++++++++ target/linux/brcm63xx/image/Makefile | 5 ++-- ...ulate-the-compatible-to-board_info-l.patch | 3 +- .../patches-3.14/505-board_spw500v.patch | 2 +- .../506-board_gw6200_gw6000.patch | 2 +- ...ulate-the-compatible-to-board_info-l.patch | 3 +- .../patches-3.18/505-board_spw500v.patch | 2 +- .../506-board_gw6200_gw6000.patch | 2 +- target/linux/brcm63xx/profiles/tp-link.mk | 15 ++++++++++ 9 files changed, 55 insertions(+), 9 deletions(-) create mode 100644 target/linux/brcm63xx/dts/td-w8900gb.dts create mode 100644 target/linux/brcm63xx/profiles/tp-link.mk diff --git a/target/linux/brcm63xx/dts/td-w8900gb.dts b/target/linux/brcm63xx/dts/td-w8900gb.dts new file mode 100644 index 0000000000..c8ff50c8f2 --- /dev/null +++ b/target/linux/brcm63xx/dts/td-w8900gb.dts @@ -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>; + }; +}; diff --git a/target/linux/brcm63xx/image/Makefile b/target/linux/brcm63xx/image/Makefile index 48492fabf6..ac92c55248 100755 --- a/target/linux/brcm63xx/image/Makefile +++ b/target/linux/brcm63xx/image/Makefile @@ -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)")) 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 a38fca589f..4e48629d26 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 --- 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 + { .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, }, diff --git a/target/linux/brcm63xx/patches-3.14/505-board_spw500v.patch b/target/linux/brcm63xx/patches-3.14/505-board_spw500v.patch index 1d153c85a3..fd2263fe18 100644 --- a/target/linux/brcm63xx/patches-3.14/505-board_spw500v.patch +++ b/target/linux/brcm63xx/patches-3.14/505-board_spw500v.patch @@ -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, }, diff --git a/target/linux/brcm63xx/patches-3.14/506-board_gw6200_gw6000.patch b/target/linux/brcm63xx/patches-3.14/506-board_gw6200_gw6000.patch index 27fa19def8..3caa8a9204 100644 --- a/target/linux/brcm63xx/patches-3.14/506-board_gw6200_gw6000.patch +++ b/target/linux/brcm63xx/patches-3.14/506-board_gw6200_gw6000.patch @@ -128,6 +128,6 @@ { .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/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 a38fca589f..4e48629d26 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 --- 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 + { .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, }, diff --git a/target/linux/brcm63xx/patches-3.18/505-board_spw500v.patch b/target/linux/brcm63xx/patches-3.18/505-board_spw500v.patch index 1d153c85a3..fd2263fe18 100644 --- a/target/linux/brcm63xx/patches-3.18/505-board_spw500v.patch +++ b/target/linux/brcm63xx/patches-3.18/505-board_spw500v.patch @@ -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, }, diff --git a/target/linux/brcm63xx/patches-3.18/506-board_gw6200_gw6000.patch b/target/linux/brcm63xx/patches-3.18/506-board_gw6200_gw6000.patch index 27fa19def8..3caa8a9204 100644 --- a/target/linux/brcm63xx/patches-3.18/506-board_gw6200_gw6000.patch +++ b/target/linux/brcm63xx/patches-3.18/506-board_gw6200_gw6000.patch @@ -128,6 +128,6 @@ { .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 index 0000000000..a7e7f26e20 --- /dev/null +++ b/target/linux/brcm63xx/profiles/tp-link.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/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))