diff --git a/target/linux/brcm63xx/base-files/etc/defconfig/96358-502V/network b/target/linux/brcm63xx/base-files/etc/defconfig/96358-502V/network new file mode 100644 index 0000000000..a35fd2ef9a --- /dev/null +++ b/target/linux/brcm63xx/base-files/etc/defconfig/96358-502V/network @@ -0,0 +1,14 @@ +# Copyright (C) 2006 OpenWrt.org + +config interface loopback + option ifname lo + option proto static + option ipaddr 127.0.0.1 + option netmask 255.0.0.0 + +config interface lan + option ifname eth0 + option type bridge + option proto static + option ipaddr 192.168.1.1 + option netmask 255.255.255.0 diff --git a/target/linux/brcm63xx/base-files/lib/brcm63xx.sh b/target/linux/brcm63xx/base-files/lib/brcm63xx.sh index b18386e0dd..2c62928a55 100755 --- a/target/linux/brcm63xx/base-files/lib/brcm63xx.sh +++ b/target/linux/brcm63xx/base-files/lib/brcm63xx.sh @@ -49,6 +49,11 @@ brcm63xx_detect() { brcm63xx_has_reset_button="true" ifname=eth0 ;; + "bcm63xx/96358-502V "*) + status_led="spw303v:green:power+adsl" + brcm63xx_has_reset_button="true" + ifname=eth0 + ;; "bcm63xx/CPVA642 "* ) status_led="power:green" brcm63xx_has_reset_button="true" diff --git a/target/linux/brcm63xx/image/Makefile b/target/linux/brcm63xx/image/Makefile index 144f5559ea..bf292de7e4 100644 --- a/target/linux/brcm63xx/image/Makefile +++ b/target/linux/brcm63xx/image/Makefile @@ -87,6 +87,21 @@ define Image/Build/RedBoot dd if=$(KDIR)/vmlinux.bin.gz of=$(BIN_DIR)/openwrt-$(1)-vmlinux.gz bs=65536 conv=sync endef +define Image/Build/SPW303V + # Generate the tagged image + $(STAGING_DIR_HOST)/bin/imagetag -i $(KDIR)/vmlinux.lzma.cfe -f $(KDIR)/root.$(1) \ + --output $(BIN_DIR)/openwrt-$(4)-$(1)-cfe.bin.tmp \ + --boardid $(2) --chipid $(3) --entry $(KERNEL_ENTRY) \ + --load-addr $(LOADADDR) --rsa-signature "$(5)" \ + $(6) $(7) $(8) $(9) + # Fix up header + $(STAGING_DIR_HOST)/bin/spw303v -i $(BIN_DIR)/openwrt-$(4)-$(1)-cfe.bin.tmp \ + -o $(BIN_DIR)/openwrt-$(4)-$(1)-cfe-sysupgrade.bin + $(STAGING_DIR_HOST)/bin/xorimage -i $(BIN_DIR)/openwrt-$(4)-$(1)-cfe-sysupgrade.bin \ + -o $(BIN_DIR)/openwrt-$(4)-$(1)-cfe-factory.bin + rm -f $(BIN_DIR)/openwrt-$(4)-$(1)-cfe.bin.tmp +endef + define Image/Build/CFEOLD $(TOPDIR)/scripts/brcmImage.pl -t -p \ -b $(2) -c $(3) \ @@ -209,6 +224,9 @@ define Image/Build #HW553 $(call Image/Build/CFEHW553,$(1),HW553,6358,0x20000,HW553) + + # T-Com Speedport W 303V Typ B + $(call Image/Build/SPW303V,$(1),96358-502V,6358,SPW303V) endef $(eval $(call BuildImage)) diff --git a/target/linux/brcm63xx/patches-2.6.37/453-board_spw303v.patch b/target/linux/brcm63xx/patches-2.6.37/453-board_spw303v.patch new file mode 100644 index 0000000000..8e97fcf00c --- /dev/null +++ b/target/linux/brcm63xx/patches-2.6.37/453-board_spw303v.patch @@ -0,0 +1,83 @@ +--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c ++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c +@@ -1728,6 +1728,72 @@ static struct board_info __initdata boar + .spis = nb4_spi_devices, + .num_spis = ARRAY_SIZE(nb4_spi_devices), + }; ++ ++ /* T-Home Speedport W 303V Typ B */ ++static struct board_info __initdata board_spw303v = { ++ .name = "96358-502V", ++ .expected_cpu_id = 0x6358, ++ ++ .has_uart0 = 1, ++ .has_enet0 = 1, ++ .has_pci = 1, ++ ++ .enet0 = { ++ .has_phy = 1, ++ .use_internal_phy = 1, ++ }, ++ ++ .leds = { ++ { ++ .name = "spw303v:green:power+adsl", ++ .gpio = 22, ++ .active_low = 1, ++ }, ++ { ++ .name = "spw303v:red:power+adsl", ++ .gpio = 2, ++ .active_low = 1, ++ }, ++ { ++ .name = "spw303v:green:ppp", ++ .gpio = 5, ++ .active_low = 1, ++ }, ++ { ++ .name = "spw303v:green:ses", ++ .gpio = 0, ++ .active_low = 1, ++ }, ++ { ++ .name = "spw303v:green:voip", ++ .gpio = 27, ++ .active_low = 1, ++ }, ++ { ++ .name = "spw303v:green:pots", ++ .gpio = 31, ++ .active_low = 1, ++ }, ++ }, ++ ++ .buttons = { ++ { ++ .desc = "reset", ++ .gpio = 11, ++ .type = EV_KEY, ++ .code = KEY_RESTART, ++ .threshold = 3, ++ }, ++ { ++ .desc = "ses", ++ .gpio = 37, ++ .active_low = 1, ++ .type = EV_KEY, ++ .code = KEY_WPS_BUTTON, ++ .threshold = 3, ++ }, ++ } ++}; + #endif + + static struct board_info __initdata board_HW553 = { +@@ -1845,6 +1911,7 @@ static const struct board_info __initdat + &board_nb4_fxc_r1, + &board_nb4_fxc_r2, + &board_HW553, ++ &board_spw303v, + #endif + }; +