瀏覽代碼

brcm63xx: Add kernel support for Sagemcom F@ST2704V2 ADSL router

This adds kernel support support for Sagemcom F@st 2704 wireless ADSL
router.
It's a BCM6328-based 802.11n wireless router with USB port and ADSL2+
modem equipped with 64 MiB RAM and 8 MiB flash.

Signed-off-by: Marcin Jurkowski <[email protected]>
Patchwork: http://patchwork.openwrt.org/patch/4266/
Signed-off-by: Jonas Gorski <[email protected]>

SVN-Revision: 39671
Jonas Gorski 12 年之前
父節點
當前提交
f92b2a956b

+ 145 - 0
target/linux/brcm63xx/patches-3.10/536-board_fast2704.patch

@@ -0,0 +1,145 @@
+From: Marcin Jurkowski <[email protected]>
+Date: Thu, 31 Oct 2013 22:33:10 +0000
+Subject: [PATCH] bcm63xx: Add kernel support for Sagemcom F@ST2704V2 ADSL
+ router
+
+This adds kernel support support for Sagemcom F@st 2704 wireless ADSL
+router.
+It's a BCM6328-based 802.11n wireless router with USB port and ADSL2+
+modem equipped with 64 MiB RAM and 8 MiB flash.
+
+Signed-off-by: Marcin Jurkowski <[email protected]>
+---
+--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
+@@ -1480,6 +1480,122 @@ static struct board_info __initdata boar
+ 	},
+ };
+ 
++static struct board_info __initdata board_FAST2704V2 = {
++	.name				= "F@ST2704V2",
++	.expected_cpu_id		= 0x6328,
++
++	.has_uart0			= 1,
++	.has_pci			= 1,
++	.has_ohci0			= 1,
++	.has_ehci0			= 1,
++	.has_usbd			= 1,
++
++	.has_enetsw			= 1,
++
++	.enetsw = {
++		.used_ports = {
++			[0] = {
++				.used	= 1,
++				.phy_id = 1,
++				.name	= "Port 1",
++			},
++			[1] = {
++				.used	= 1,
++				.phy_id	= 2,
++				.name	= "Port 2",
++			},
++			[2] = {
++				.used	= 1,
++				.phy_id	= 3,
++				.name	= "Port 3",
++			},
++			[3] = {
++				.used	= 1,
++				.phy_id	= 4,
++				.name	= "Port 4",
++			},
++		},
++	},
++
++	.leds = {
++		/* front LEDs */
++		{
++			.name			= "F@ST2704V2:green:power",
++			.gpio			= 4,
++			.active_low		= 1,
++			.default_trigger	= "default-on",
++		},
++		{
++			.name			= "F@ST2704V2:red:power",
++			.gpio			= 5,
++			.active_low		= 1,
++		},
++		{
++			.name			= "F@ST2704V2:red:inet",
++			.gpio			= 2,
++			.active_low		= 1,
++		},
++		{
++			.name			= "F@ST2704V2:green:dsl",
++			.gpio			= 3,
++			.active_low		= 1,
++		},
++		{
++			.name			= "F@ST2704V2:green:inet",
++			.gpio			= 11,
++			.active_low		= 1,
++		},
++		{
++			.name			= "F@ST2704V2:green:usb",
++			.gpio			= 1,
++			.active_low		= 1,
++		},
++
++		/* side button LEDs */
++		{
++			.name			= "F@ST2704V2:green:wps",
++			.gpio			= 10,
++			.active_low		= 1,
++		},
++
++		/* FIXME: can't control gpio0 line in "out" state, needs further investigation */
++		/*
++		{
++			.name			= "F@ST2704V2:green:rfkill",
++			.gpio			= 0,
++			.active_low		= 1,
++		},
++		*/
++
++	},
++	.buttons = {
++		{
++			.desc			= "reset",
++			.gpio			= 23,
++			.active_low		= 1,
++			.type			= EV_KEY,
++			.code			= KEY_RESTART,
++			.debounce_interval	= BCM963XX_KEYS_DEBOUNCE_INTERVAL,
++		},
++		{
++			.desc			= "wps",
++			.gpio			= 24,
++			.active_low		= 1,
++			.type			= EV_KEY,
++			.code			= KEY_WPS_BUTTON,
++			.debounce_interval	= BCM963XX_KEYS_DEBOUNCE_INTERVAL,
++		},
++		{
++			.desc			= "rfkill",
++			.gpio			= 15,
++			.active_low		= 1,
++			.type			= EV_KEY,
++			.code			= KEY_WLAN,
++			.debounce_interval	= BCM963XX_KEYS_DEBOUNCE_INTERVAL,
++		},
++	},
++};
++
+ static struct board_info __initdata board_rta1025w_16 = {
+ 	.name				= "RTA1025W_16",
+ 	.expected_cpu_id		= 0x6348,
+@@ -3828,6 +3944,7 @@ static const struct board_info __initcon
+ 	&board_963281TAN,
+ 	&board_963281T_TEF,
+ 	&board_dsl_274xb_f1,
++	&board_FAST2704V2,
+ #endif
+ #ifdef CONFIG_BCM63XX_CPU_6338
+ 	&board_96338gw,

+ 1 - 1
target/linux/brcm63xx/patches-3.10/550-alice_gate2_leds.patch

@@ -1,6 +1,6 @@
 --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
 +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -2094,6 +2094,99 @@ static struct board_info __initdata boar
+@@ -2210,6 +2210,99 @@ static struct board_info __initdata boar
  
  	.has_ohci0 = 1,
  	.has_ehci0 = 1,

+ 1 - 1
target/linux/brcm63xx/patches-3.10/551-96348gw_a_leds.patch

@@ -1,6 +1,6 @@
 --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
 +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1539,6 +1539,19 @@ static struct board_info __initdata boar
+@@ -1655,6 +1655,19 @@ static struct board_info __initdata boar
  	},
  
  	.has_ohci0 = 1,

+ 5 - 5
target/linux/brcm63xx/patches-3.10/553-boards_probe_switch.patch

@@ -54,7 +54,7 @@
  		.force_speed_100	= 1,
  		.force_duplex_full	= 1,
  	},
-@@ -1545,6 +1557,12 @@ static struct board_info __initdata boar
+@@ -1621,6 +1633,12 @@ static struct board_info __initdata boar
  		.use_internal_phy	= 1,
  	},
  	.enet1 = {
@@ -67,7 +67,7 @@
  		.force_speed_100	= 1,
  		.force_duplex_full	= 1,
  	},
-@@ -1920,6 +1938,8 @@ static struct board_info __initdata boar
+@@ -2036,6 +2054,8 @@ static struct board_info __initdata boar
  	},
  
  	.enet1 = {
@@ -76,7 +76,7 @@
  		.force_speed_100	= 1,
  		.force_duplex_full	= 1,
  	},
-@@ -1972,6 +1992,8 @@ static struct board_info __initdata boar
+@@ -2088,6 +2108,8 @@ static struct board_info __initdata boar
  	},
  
  	.enet1 = {
@@ -85,7 +85,7 @@
  		.force_speed_100	= 1,
  		.force_duplex_full	= 1,
  	},
-@@ -2112,6 +2134,8 @@ static struct board_info __initdata boar
+@@ -2228,6 +2250,8 @@ static struct board_info __initdata boar
  	},
  
  	.enet1 = {
@@ -94,7 +94,7 @@
  		.force_speed_100	= 1,
  		.force_duplex_full	= 1,
  	},
-@@ -2229,6 +2253,8 @@ static struct board_info __initdata boar
+@@ -2345,6 +2369,8 @@ static struct board_info __initdata boar
  	},
  
  	.enet1 = {

+ 1 - 1
target/linux/brcm63xx/patches-3.10/554-board_DWVS0_leds_buttons.patch

@@ -1,6 +1,6 @@
 --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
 +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -2261,6 +2261,94 @@ static struct board_info __initdata boar
+@@ -2377,6 +2377,94 @@ static struct board_info __initdata boar
  
  	.has_ohci0			= 1,
  	.has_ehci0			= 1,

+ 1 - 1
target/linux/brcm63xx/patches-3.10/555-board_96318ref.patch

@@ -94,7 +94,7 @@
   * known 6328 boards
   */
  #ifdef CONFIG_BCM63XX_CPU_6328
-@@ -4052,6 +4139,9 @@ static const struct board_info __initcon
+@@ -4168,6 +4255,9 @@ static const struct board_info __initcon
  #ifdef CONFIG_BCM63XX_CPU_3368
  	&board_cvg834g,
  #endif

+ 1 - 1
target/linux/brcm63xx/patches-3.10/556-board_96318ref_p300.patch

@@ -95,7 +95,7 @@
  #endif
  
  /*
-@@ -4141,6 +4229,7 @@ static const struct board_info __initcon
+@@ -4257,6 +4345,7 @@ static const struct board_info __initcon
  #endif
  #ifdef CONFIG_BCM63XX_CPU_6318
  	&board_96318ref,

+ 2 - 2
target/linux/brcm63xx/patches-3.10/557-board_bcm963269bhr.patch

@@ -1,6 +1,6 @@
 --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
 +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -4221,6 +4221,75 @@ static struct board_info __initdata boar
+@@ -4337,6 +4337,75 @@ static struct board_info __initdata boar
  #endif
  
  /*
@@ -76,7 +76,7 @@
   * all boards
   */
  static const struct board_info __initconst *bcm963xx_boards[] = {
-@@ -4303,6 +4372,9 @@ static const struct board_info __initcon
+@@ -4420,6 +4489,9 @@ static const struct board_info __initcon
  	&board_96368mvwg,
  	&board_96368mvngr,
  #endif

+ 2 - 2
target/linux/brcm63xx/patches-3.10/801-ssb_export_fallback_sprom.patch

@@ -8,7 +8,7 @@
  #include <linux/spi/spi.h>
  #include <linux/spi/spi_gpio.h>
  #include <linux/spi/74x164.h>
-@@ -4382,7 +4383,7 @@ static const struct board_info __initcon
+@@ -4499,7 +4500,7 @@ static const struct board_info __initcon
   * bcm4318 WLAN work
   */
  #ifdef CONFIG_SSB_PCIHOST
@@ -17,7 +17,7 @@
  	.revision		= 0x02,
  	.board_rev		= 0x17,
  	.country_code		= 0x0,
-@@ -4402,6 +4403,7 @@ static struct ssb_sprom bcm63xx_sprom =
+@@ -4519,6 +4520,7 @@ static struct ssb_sprom bcm63xx_sprom =
  	.boardflags_lo		= 0x2848,
  	.boardflags_hi		= 0x0000,
  };