diff --git a/target/linux/brcm47xx/image/Makefile b/target/linux/brcm47xx/image/Makefile index c290f9a..eafb92d 100644 --- a/target/linux/brcm47xx/image/Makefile +++ b/target/linux/brcm47xx/image/Makefile @@ -320,6 +320,7 @@ ifeq ($(SUBTARGET),mips74k) $(eval $(call LinksysDevice,e2500-v2.1,25RU,2.1.0)) $(eval $(call LinksysDevice,e2500-v3,25V3,3.0.0)) $(eval $(call LinksysDevice,e3200-v1,3200,1.0.1)) + $(eval $(call AsusDevice,wumc710)) $(eval $(call LinksysDevice,e4200-v1,4200,1.0.5)) $(eval $(call NetgearDevice,wgr614-v10_north-america,U12H139T01_NETGEAR,2)) $(eval $(call NetgearDevice,wgr614-v10_other-regions,U12H139T01_NETGEAR,1)) diff --git a/target/linux/brcm47xx/patches-4.1/320-MIPS-BCM47XX-Devices-database-update-for-4.x.patch b/target/linux/brcm47xx/patches-4.1/320-MIPS-BCM47XX-Devices-database-update-for-4.x.patch index 68214c8..ca59bd1 100644 --- a/target/linux/brcm47xx/patches-4.1/320-MIPS-BCM47XX-Devices-database-update-for-4.x.patch +++ b/target/linux/brcm47xx/patches-4.1/320-MIPS-BCM47XX-Devices-database-update-for-4.x.patch @@ -29,6 +29,14 @@ {{BCM47XX_BOARD_NETGEAR_WNR2000, "Netgear WNR2000"}, "U12H114T00_NETGEAR"}, {{BCM47XX_BOARD_NETGEAR_WNR3500L, "Netgear WNR3500L"}, "U12H136T99_NETGEAR"}, {{BCM47XX_BOARD_NETGEAR_WNR3500U, "Netgear WNR3500U"}, "U12H136T00_NETGEAR"}, +@@ -178,6 +178,7 @@ + {{BCM47XX_BOARD_PHICOMM_M1, "Phicomm M1"}, "0x0590", "80", "0x1104"}, + {{BCM47XX_BOARD_ZTE_H218N, "ZTE H218N"}, "0x053d", "1234", "0x1305"}, + {{BCM47XX_BOARD_NETGEAR_WNR3500L, "Netgear WNR3500L"}, "0x04CF", "3500", "02"}, ++ {{BCM47XX_BOARD_LINKSYS_WUMC710, "Linksys WUMC710"}, "0x0617", "1234", "0x1402"}, + {{BCM47XX_BOARD_LINKSYS_WRT54G_TYPE_0101, "Linksys WRT54G/GS/GL"}, "0x0101", "42", "0x10"}, + {{BCM47XX_BOARD_LINKSYS_WRT54G_TYPE_0467, "Linksys WRT54G/GS/GL"}, "0x0467", "42", "0x10"}, + {{BCM47XX_BOARD_LINKSYS_WRT54G_TYPE_0708, "Linksys WRT54G/GS/GL"}, "0x0708", "42", "0x10"}, --- a/arch/mips/bcm47xx/buttons.c +++ b/arch/mips/bcm47xx/buttons.c @@ -20,6 +20,12 @@ @@ -63,6 +71,19 @@ bcm47xx_buttons_linksys_wrt54g3gv2[] __initconst = { BCM47XX_GPIO_KEY(5, KEY_WIMAX), BCM47XX_GPIO_KEY(6, KEY_RESTART), +@@ -299,6 +299,12 @@ + BCM47XX_GPIO_KEY(6, KEY_RESTART), + }; + ++static const struct gpio_keys_button ++bcm47xx_buttons_linksys_wumc710[] __initconst = { ++ BCM47XX_GPIO_KEY(4, KEY_WPS_BUTTON), ++ BCM47XX_GPIO_KEY(6, KEY_RESTART), ++}; ++ + /* Luxul */ + + static const struct gpio_keys_button @@ -333,6 +351,17 @@ bcm47xx_buttons_motorola_wr850gv2v3[] __ /* Netgear */ @@ -116,6 +137,16 @@ case BCM47XX_BOARD_LINKSYS_WRT54G3GV2: err = bcm47xx_copy_bdata(bcm47xx_buttons_linksys_wrt54g3gv2); break; +@@ -560,6 +563,9 @@ + case BCM47XX_BOARD_LINKSYS_WRTSL54GS: + err = bcm47xx_copy_bdata(bcm47xx_buttons_linksys_wrtsl54gs); + break; ++ case BCM47XX_BOARD_LINKSYS_WUMC710: ++ err = bcm47xx_copy_bdata(bcm47xx_buttons_linksys_wumc710); ++ break; + + case BCM47XX_BOARD_LUXUL_XWR_1750_V1: + err = bcm47xx_copy_bdata(bcm47xx_buttons_luxul_xwr_1750_v1); @@ -579,6 +622,12 @@ int __init bcm47xx_buttons_register(void err = bcm47xx_copy_bdata(bcm47xx_buttons_motorola_wr850gv2v3); break; @@ -149,6 +180,14 @@ BCM47XX_BOARD_LINKSYS_WRT54G3GV2, BCM47XX_BOARD_LINKSYS_WRT54G_TYPE_0101, BCM47XX_BOARD_LINKSYS_WRT54G_TYPE_0467, +@@ -79,6 +79,7 @@ + BCM47XX_BOARD_LINKSYS_WRT610NV1, + BCM47XX_BOARD_LINKSYS_WRT610NV2, + BCM47XX_BOARD_LINKSYS_WRTSL54GS, ++ BCM47XX_BOARD_LINKSYS_WUMC710, + + BCM47XX_BOARD_LUXUL_XWR_1750_V1, + @@ -88,9 +89,12 @@ enum bcm47xx_board { BCM47XX_BOARD_MOTOROLA_WR850GP, BCM47XX_BOARD_MOTOROLA_WR850GV2V3, @@ -201,6 +240,22 @@ bcm47xx_leds_linksys_wrt54g_generic[] __initconst = { BCM47XX_GPIO_LED(0, "unk", "dmz", 1, LEDS_GPIO_DEFSTATE_OFF), BCM47XX_GPIO_LED(1, "unk", "power", 0, LEDS_GPIO_DEFSTATE_ON), +@@ -370,6 +370,15 @@ + BCM47XX_GPIO_LED(7, "orange", "wps", 1, LEDS_GPIO_DEFSTATE_OFF), + }; + ++static const struct gpio_led ++bcm47xx_leds_linksys_wumc710[] __initconst = { ++ BCM47XX_GPIO_LED(8, "blue", "power", 1, LEDS_GPIO_DEFSTATE_ON), ++ BCM47XX_GPIO_LED(10, "blue", "wlan", 1, LEDS_GPIO_DEFSTATE_OFF), ++ BCM47XX_GPIO_LED(11, "blue", "wps", 1, LEDS_GPIO_DEFSTATE_OFF), ++ BCM47XX_GPIO_LED(12, "red", "wps", 1, LEDS_GPIO_DEFSTATE_OFF), ++}; ++ ++ + /* Luxul */ + + static const struct gpio_led @@ -478,6 +493,9 @@ void __init bcm47xx_leds_register(void) enum bcm47xx_board board = bcm47xx_board_get(); @@ -221,3 +276,15 @@ case BCM47XX_BOARD_LINKSYS_WRT54G3GV2: bcm47xx_set_pdata(bcm47xx_leds_linksys_wrt54g3gv2); break; +@@ -632,6 +640,10 @@ + case BCM47XX_BOARD_LINKSYS_WRTSL54GS: + bcm47xx_set_pdata(bcm47xx_leds_linksys_wrtsl54gs); + break; ++ case BCM47XX_BOARD_LINKSYS_WUMC710: ++ bcm47xx_set_pdata(bcm47xx_leds_linksys_wumc710); ++ break; ++ + + case BCM47XX_BOARD_LUXUL_XWR_1750_V1: + bcm47xx_set_pdata(bcm47xx_leds_luxul_xwr_1750_v1); + diff --git a/target/linux/brcm47xx/base-files/etc/board.d/01_detect b/target/linux/brcm47xx/base-files/etc/board.d/01_detect index 91ac16e..5867365 100755 --- a/target/linux/brcm47xx/base-files/etc/board.d/01_detect +++ b/target/linux/brcm47xx/base-files/etc/board.d/01_detect @@ -70,6 +70,11 @@ detect_by_boardtype() { ucidef_set_interfaces_lan_wan "eth0" "eth1" ;; + "0x0617") + ucidef_add_switch "switch0" \ + "1:lan" "2:lan" "3:lan" "4:wan" "8@eth0" + ;; + "0x0467") ucidef_add_switch "switch0" \ "0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "5@eth0"