From 93ab8adef271873929665667098c263d9a09cff7 Mon Sep 17 00:00:00 2001
From: Florian Fainelli <florian@openwrt.org>
Date: Tue, 14 Jan 2014 05:23:49 +0000
Subject: [PATCH] brcm63xx: add basic support for the BCM96318REF board

Add basic support for the BCM96318REF board which is comprised of:
- HS-SPI flash support
- Ethernet switch support
- USB slave device support

Signed-off-by: Florian Fainelli <florian@openwrt.org>

SVN-Revision: 39283
---
 .../patches-3.10/555-board_96318ref.patch     | 105 ++++++++++++++++++
 .../801-ssb_export_fallback_sprom.patch       |   4 +-
 2 files changed, 107 insertions(+), 2 deletions(-)
 create mode 100644 target/linux/brcm63xx/patches-3.10/555-board_96318ref.patch

diff --git a/target/linux/brcm63xx/patches-3.10/555-board_96318ref.patch b/target/linux/brcm63xx/patches-3.10/555-board_96318ref.patch
new file mode 100644
index 0000000000..fa476edf0c
--- /dev/null
+++ b/target/linux/brcm63xx/patches-3.10/555-board_96318ref.patch
@@ -0,0 +1,105 @@
+--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
+@@ -102,6 +102,92 @@ static struct board_info __initdata boar
+ #endif
+ 
+ /*
++ * known 6318 boards
++ */
++#ifdef CONFIG_BCM63XX_CPU_6318
++static struct board_info __initdata board_96318ref = {
++	.name				= "96318REF",
++	.expected_cpu_id		= 0x6318,
++
++	.has_uart0			= 1,
++	.has_pci			= 1,
++
++	.has_usbd			= 1,
++
++	.usbd = {
++		.use_fullspeed		= 0,
++		.port_no		= 0,
++	},
++
++	.has_enetsw			= 1,
++
++	.has_ehci0			= 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 = {
++		{
++			.name		= "96318REF:red:post-failed",
++			.gpio		= 11,
++			.active_low	= 1,
++		},
++		{
++			.name		= "96318REF:green:inet",
++			.gpio		= 8,
++			.active_low	= 1,
++		},
++		{
++			.name		= "96318REF:red:inet-fail",
++			.gpio		= 9,
++			.active_low	= 1,
++		},
++	},
++
++	.buttons = {
++		{
++			.desc			= "wps",
++			.gpio			= 33,
++			.active_low		= 1,
++			.type			= EV_KEY,
++			.code			= KEY_WPS_BUTTON,
++			.debounce_interval	= BCM963XX_KEYS_DEBOUNCE_INTERVAL,
++		},
++		{
++			.desc			= "reset",
++			.gpio			= 34,
++			.active_low		= 1,
++			.type			= EV_KEY,
++			.code			= KEY_RESTART,
++			.debounce_interval	= BCM963XX_KEYS_DEBOUNCE_INTERVAL,
++		},
++	},
++};
++#endif
++
++/*
+  * known 6328 boards
+  */
+ #ifdef CONFIG_BCM63XX_CPU_6328
+@@ -4034,6 +4120,9 @@ static const struct board_info __initcon
+ #ifdef CONFIG_BCM63XX_CPU_3368
+ 	&board_cvg834g,
+ #endif
++#ifdef CONFIG_BCM63XX_CPU_6318
++	&board_96318ref,
++#endif
+ #ifdef CONFIG_BCM63XX_CPU_6328
+ 	&board_96328avng,
+ 	&board_96328A_1241N,
diff --git a/target/linux/brcm63xx/patches-3.10/801-ssb_export_fallback_sprom.patch b/target/linux/brcm63xx/patches-3.10/801-ssb_export_fallback_sprom.patch
index 58caf68a05..5d5a1085d5 100644
--- a/target/linux/brcm63xx/patches-3.10/801-ssb_export_fallback_sprom.patch
+++ b/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>
-@@ -4113,7 +4114,7 @@ static const struct board_info __initcon
+@@ -4202,7 +4203,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,
-@@ -4133,6 +4134,7 @@ static struct ssb_sprom bcm63xx_sprom =
+@@ -4222,6 +4223,7 @@ static struct ssb_sprom bcm63xx_sprom =
  	.boardflags_lo		= 0x2848,
  	.boardflags_hi		= 0x0000,
  };
-- 
2.30.2