From e6171dfb2c34715ed07959b234f493914cb69bc5 Mon Sep 17 00:00:00 2001
From: Jonas Gorski <jogo@openwrt.org>
Date: Sun, 21 Oct 2012 14:35:06 +0000
Subject: [PATCH] Add F@ST2604 board support.
MIME-Version: 1.0
Content-Type: text/plain; charset=utf8
Content-Transfer-Encoding: 8bit

Add Sagem F@ST2604 board support.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

SVN-Revision: 33886
---
 .../base-files/etc/uci-defaults/network       |  1 +
 target/linux/brcm63xx/image/Makefile          |  3 +
 .../patches-3.3/529-board_fast2604.patch      | 66 +++++++++++++++++++
 .../patches-3.3/550-alice_gate2_leds.patch    |  2 +-
 .../patches-3.3/551-96348gw_a_leds.patch      |  2 +-
 .../801-ssb_export_fallback_sprom.patch       |  4 +-
 6 files changed, 74 insertions(+), 4 deletions(-)
 create mode 100644 target/linux/brcm63xx/patches-3.3/529-board_fast2604.patch

diff --git a/target/linux/brcm63xx/base-files/etc/uci-defaults/network b/target/linux/brcm63xx/base-files/etc/uci-defaults/network
index 53c29ac5a5..24c8f01704 100755
--- a/target/linux/brcm63xx/base-files/etc/uci-defaults/network
+++ b/target/linux/brcm63xx/base-files/etc/uci-defaults/network
@@ -23,6 +23,7 @@ AW4339U |\
 CPVA642 |\
 CT536_CT5621 |\
 D-4P-W |\
+"F@ST2604" |\
 NB6 |\
 SPW303V |\
 SPW500V |\
diff --git a/target/linux/brcm63xx/image/Makefile b/target/linux/brcm63xx/image/Makefile
index 66d9b23bf8..91f7809f09 100644
--- a/target/linux/brcm63xx/image/Makefile
+++ b/target/linux/brcm63xx/image/Makefile
@@ -227,6 +227,9 @@ define Image/Build
 	# Sagem F@ST2404
 	$(call Image/Build/CFE,$(1),F@ST2404,6348,F@ST2404-cfe)
 	$(call Image/Build/CFE,$(1),F@ST2404,6348,F@ST2404,OpenWRT-$(REVISION))
+	# Sagem F@ST2604
+	$(call Image/Build/CFE,$(1),F@ST2604,6348,F@ST2604-cfe)
+	$(call Image/Build/CFE,$(1),F@ST2604,6348,F@ST2604,OpenWRT-$(REVISION))
 	# Inventel Livebox
 	$(call Image/Build/RedBoot,livebox)
 	# Pirelli Alice Gate VoIP 2 Plus Wi-Fi AGPF-S0
diff --git a/target/linux/brcm63xx/patches-3.3/529-board_fast2604.patch b/target/linux/brcm63xx/patches-3.3/529-board_fast2604.patch
new file mode 100644
index 0000000000..cab0461943
--- /dev/null
+++ b/target/linux/brcm63xx/patches-3.3/529-board_fast2604.patch
@@ -0,0 +1,66 @@
+--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
+@@ -1010,6 +1010,55 @@ static struct board_info __initdata boar
+ 	.has_ehci0			= 1,
+ };
+ 
++static struct board_info __initdata board_FAST2604 = {
++	.name						= "F@ST2604",
++	.expected_cpu_id			= 0x6348,
++
++	.has_uart0					= 1,
++	.has_pci					= 1,
++	.has_ohci0					= 1,
++
++	.has_enet1					= 1,
++	.enet1 = {
++		.force_speed_100		= 1,
++		.force_duplex_full		= 1,
++	},
++
++	.leds = {
++		{
++			.name				= "F@ST2604:green:power",
++			.gpio				= 0,
++			.active_low			= 1,
++			.default_trigger	= "default-on",
++		},
++		{
++			.name				= "F@ST2604:red:power",
++			.gpio				= 1,
++			.active_low			= 1,
++		},
++		{
++			.name				= "F@ST2604:red:inet",
++			.gpio				= 4,
++			.active_low			= 1,
++		},
++		{
++			.name				= "F@ST2604:green:wps",
++			.gpio				= 5,
++			.active_low			= 1,
++		},
++	},
++	.buttons = {
++		{
++			.desc				= "reset",
++			.gpio				= 33,
++			.active_low			= 1,
++			.type				= EV_KEY,
++			.code				= KEY_RESTART,
++			.debounce_interval	= BCM963XX_KEYS_DEBOUNCE_INTERVAL,
++		},
++	},
++};
++
+ static struct board_info __initdata board_rta1025w_16 = {
+ 	.name				= "RTA1025W_16",
+ 	.expected_cpu_id		= 0x6348,
+@@ -2843,6 +2892,7 @@ static const struct board_info __initdat
+ 	&board_96348gw_10,
+ 	&board_96348gw_11,
+ 	&board_FAST2404,
++	&board_FAST2604,
+ 	&board_DV201AMR,
+ 	&board_96348gw_a,
+ 	&board_rta1025w_16,
diff --git a/target/linux/brcm63xx/patches-3.3/550-alice_gate2_leds.patch b/target/linux/brcm63xx/patches-3.3/550-alice_gate2_leds.patch
index 98b988df1d..002b73b065 100644
--- a/target/linux/brcm63xx/patches-3.3/550-alice_gate2_leds.patch
+++ b/target/linux/brcm63xx/patches-3.3/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
-@@ -1612,6 +1612,99 @@ static struct board_info __initdata boar
+@@ -1661,6 +1661,99 @@ static struct board_info __initdata boar
  
  	.has_ohci0 = 1,
  	.has_ehci0 = 1,
diff --git a/target/linux/brcm63xx/patches-3.3/551-96348gw_a_leds.patch b/target/linux/brcm63xx/patches-3.3/551-96348gw_a_leds.patch
index 816e8164c7..333e4952b8 100644
--- a/target/linux/brcm63xx/patches-3.3/551-96348gw_a_leds.patch
+++ b/target/linux/brcm63xx/patches-3.3/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
-@@ -1069,6 +1069,19 @@ static struct board_info __initdata boar
+@@ -1118,6 +1118,19 @@ static struct board_info __initdata boar
  	},
  
  	.has_ohci0 = 1,
diff --git a/target/linux/brcm63xx/patches-3.3/801-ssb_export_fallback_sprom.patch b/target/linux/brcm63xx/patches-3.3/801-ssb_export_fallback_sprom.patch
index 724c849b49..e6a5650683 100644
--- a/target/linux/brcm63xx/patches-3.3/801-ssb_export_fallback_sprom.patch
+++ b/target/linux/brcm63xx/patches-3.3/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>
-@@ -3007,7 +3008,7 @@ static const struct board_info __initdat
+@@ -3057,7 +3058,7 @@ static const struct board_info __initdat
   * bcm4318 WLAN work
   */
  #ifdef CONFIG_SSB_PCIHOST
@@ -17,7 +17,7 @@
  	.revision		= 0x02,
  	.board_rev		= 0x17,
  	.country_code		= 0x0,
-@@ -3027,6 +3028,7 @@ static struct ssb_sprom bcm63xx_sprom =
+@@ -3077,6 +3078,7 @@ static struct ssb_sprom bcm63xx_sprom =
  	.boardflags_lo		= 0x2848,
  	.boardflags_hi		= 0x0000,
  };
-- 
2.30.2