1
0
mirror of git://projects.qi-hardware.com/openwrt-xburst.git synced 2024-11-16 18:57:31 +02:00

[brcm63xx] nb4: fix support, add support for SVC and CLIP BTN

Signed-off-by: Miguel GAIO <miguel.gaio@efixo.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33156 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
florian 2012-08-13 09:55:04 +00:00
parent da93f7edd2
commit b0104112b7
25 changed files with 145 additions and 68 deletions

View File

@ -22,7 +22,7 @@
static struct board_info board; static struct board_info board;
/* /*
@@ -666,6 +674,496 @@ static struct board_info __initdata boar @@ -666,6 +674,586 @@ static struct board_info __initdata boar
.has_ohci0 = 1, .has_ohci0 = 1,
}; };
@ -139,6 +139,7 @@
+ .gpio = 34, + .gpio = 34,
+ .type = EV_KEY, + .type = EV_KEY,
+ .code = KEY_RESTART, + .code = KEY_RESTART,
+ .active_low = 1,
+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL, + .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
+ }, + },
+ { + {
@ -146,6 +147,23 @@
+ .gpio = 37, + .gpio = 37,
+ .type = EV_KEY, + .type = EV_KEY,
+ .code = KEY_WPS_BUTTON, + .code = KEY_WPS_BUTTON,
+ .active_low = 1,
+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
+ },
+ {
+ .desc = "service",
+ .gpio = 27,
+ .type = EV_KEY,
+ .code = BTN_0,
+ .active_low = 1,
+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
+ },
+ {
+ .desc = "clip",
+ .gpio = 31,
+ .type = EV_KEY,
+ .code = BTN_1,
+ .active_low = 1,
+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL, + .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
+ }, + },
+ }, + },
@ -232,6 +250,7 @@
+ .gpio = 34, + .gpio = 34,
+ .type = EV_KEY, + .type = EV_KEY,
+ .code = KEY_RESTART, + .code = KEY_RESTART,
+ .active_low = 1,
+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL, + .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
+ }, + },
+ { + {
@ -239,6 +258,23 @@
+ .gpio = 37, + .gpio = 37,
+ .type = EV_KEY, + .type = EV_KEY,
+ .code = KEY_WPS_BUTTON, + .code = KEY_WPS_BUTTON,
+ .active_low = 1,
+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
+ },
+ {
+ .desc = "service",
+ .gpio = 27,
+ .type = EV_KEY,
+ .code = BTN_0,
+ .active_low = 1,
+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
+ },
+ {
+ .desc = "clip",
+ .gpio = 31,
+ .type = EV_KEY,
+ .code = BTN_1,
+ .active_low = 1,
+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL, + .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
+ }, + },
+ }, + },
@ -325,6 +361,7 @@
+ .gpio = 34, + .gpio = 34,
+ .type = EV_KEY, + .type = EV_KEY,
+ .code = KEY_RESTART, + .code = KEY_RESTART,
+ .active_low = 1,
+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL, + .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
+ }, + },
+ { + {
@ -332,6 +369,23 @@
+ .gpio = 37, + .gpio = 37,
+ .type = EV_KEY, + .type = EV_KEY,
+ .code = KEY_WPS_BUTTON, + .code = KEY_WPS_BUTTON,
+ .active_low = 1,
+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
+ },
+ {
+ .desc = "service",
+ .gpio = 27,
+ .type = EV_KEY,
+ .code = BTN_0,
+ .active_low = 1,
+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
+ },
+ {
+ .desc = "clip",
+ .gpio = 31,
+ .type = EV_KEY,
+ .code = BTN_1,
+ .active_low = 1,
+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL, + .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
+ }, + },
+ }, + },
@ -413,6 +467,7 @@
+ .gpio = 34, + .gpio = 34,
+ .type = EV_KEY, + .type = EV_KEY,
+ .code = KEY_RESTART, + .code = KEY_RESTART,
+ .active_low = 1,
+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL, + .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
+ }, + },
+ { + {
@ -420,6 +475,23 @@
+ .gpio = 37, + .gpio = 37,
+ .type = EV_KEY, + .type = EV_KEY,
+ .code = KEY_WPS_BUTTON, + .code = KEY_WPS_BUTTON,
+ .active_low = 1,
+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
+ },
+ {
+ .desc = "service",
+ .gpio = 27,
+ .type = EV_KEY,
+ .code = BTN_0,
+ .active_low = 1,
+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
+ },
+ {
+ .desc = "clip",
+ .gpio = 31,
+ .type = EV_KEY,
+ .code = BTN_1,
+ .active_low = 1,
+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL, + .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
+ }, + },
+ }, + },
@ -501,6 +573,7 @@
+ .gpio = 34, + .gpio = 34,
+ .type = EV_KEY, + .type = EV_KEY,
+ .code = KEY_RESTART, + .code = KEY_RESTART,
+ .active_low = 1,
+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL, + .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
+ }, + },
+ { + {
@ -508,6 +581,23 @@
+ .gpio = 37, + .gpio = 37,
+ .type = EV_KEY, + .type = EV_KEY,
+ .code = KEY_WPS_BUTTON, + .code = KEY_WPS_BUTTON,
+ .active_low = 1,
+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
+ },
+ {
+ .desc = "service",
+ .gpio = 27,
+ .type = EV_KEY,
+ .code = BTN_0,
+ .active_low = 1,
+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
+ },
+ {
+ .desc = "clip",
+ .gpio = 31,
+ .type = EV_KEY,
+ .code = BTN_1,
+ .active_low = 1,
+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL, + .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
+ }, + },
+ }, + },
@ -519,7 +609,7 @@
#endif #endif
/* /*
@@ -696,9 +1194,31 @@ static const struct board_info __initdat @@ -696,6 +1284,11 @@ static const struct board_info __initdat
&board_96358vw2, &board_96358vw2,
&board_AGPFS0, &board_AGPFS0,
&board_DWVS0, &board_DWVS0,
@ -531,33 +621,20 @@
#endif #endif
}; };
+static void __init nb4_nvram_fixup(void) @@ -750,6 +1343,16 @@ static void __init boardid_fixup(u8 *boo
+{ struct bcm_tag *tag = (struct bcm_tag *)(boot_addr + CFE_OFFSET_64K);
+ u8 *boot_addr, *p; char *board_name = (char *)bcm63xx_nvram_get_name();
+ u32 val;
+ char *board_name = (char *)bcm63xx_nvram_get_name();
+
+ if (BCMCPU_IS_6358() && (!strcmp(board_name, "96358VW"))) {
+ val = bcm_mpi_readl(MPI_CSBASE_REG(0));
+ val &= MPI_CSBASE_BASE_MASK;
+ boot_addr = (u8 *)KSEG1ADDR(val);
+ /* Extract nb4 PID */
+ p = boot_addr + NB4_PID_OFFSET;
+ if (!memcmp(p, "NB4-", 4))
+ memcpy(board_name, p, sizeof("NB4-XXX-rX"));
+ }
+}
+
/*
* Register a sane SPROMv2 to make the on-board
* bcm4318 WLAN work
@@ -810,6 +1330,9 @@ void __init board_prom_init(void)
boardid_fixup(boot_addr);
}
+ /* Fixup broken nb4 board name */ + if (BCMCPU_IS_6358() && (!strcmp(board_name, "96358VW"))) {
+ nb4_nvram_fixup(); + u8 *p = boot_addr + NB4_PID_OFFSET;
+ +
board_name = bcm63xx_nvram_get_name(); + /* Extract nb4 PID */
/* find board by name */ + if (!memcmp(p, "NB4-", 4)) {
for (i = 0; i < ARRAY_SIZE(bcm963xx_boards); i++) { + memcpy(board_name, p, sizeof("NB4-XXX-rX"));
+ return;
+ }
+ }
+
/* check if bcm_tag is at 64k offset */
if (strncmp(board_name, tag->boardid, BOARDID_LEN) != 0) {
/* else try 128k */

View File

@ -39,7 +39,7 @@
#endif #endif
/* /*
@@ -1173,6 +1205,7 @@ static const struct board_info __initdat @@ -1263,6 +1295,7 @@ static const struct board_info __initdat
#ifdef CONFIG_BCM63XX_CPU_6338 #ifdef CONFIG_BCM63XX_CPU_6338
&board_96338gw, &board_96338gw,
&board_96338w, &board_96338w,

View File

@ -97,7 +97,7 @@
static struct board_info __initdata board_AGPFS0 = { static struct board_info __initdata board_AGPFS0 = {
.name = "AGPF-S0", .name = "AGPF-S0",
.expected_cpu_id = 0x6358, .expected_cpu_id = 0x6358,
@@ -1226,6 +1316,7 @@ static const struct board_info __initdat @@ -1316,6 +1406,7 @@ static const struct board_info __initdat
&board_96358vw, &board_96358vw,
&board_96358vw2, &board_96358vw2,
&board_AGPFS0, &board_AGPFS0,

View File

@ -60,7 +60,7 @@
struct spi_gpio_platform_data nb4_spi_gpio_data = { struct spi_gpio_platform_data nb4_spi_gpio_data = {
.sck = NB4_SPI_GPIO_CLK, .sck = NB4_SPI_GPIO_CLK,
.mosi = NB4_SPI_GPIO_MOSI, .mosi = NB4_SPI_GPIO_MOSI,
@@ -1318,6 +1371,7 @@ static const struct board_info __initdat @@ -1408,6 +1461,7 @@ static const struct board_info __initdat
&board_AGPFS0, &board_AGPFS0,
&board_CPVA642, &board_CPVA642,
&board_DWVS0, &board_DWVS0,

View File

@ -68,7 +68,7 @@
#endif #endif
/* /*
@@ -1363,6 +1424,7 @@ static const struct board_info __initdat @@ -1453,6 +1514,7 @@ static const struct board_info __initdat
&board_96348gw_a, &board_96348gw_a,
&board_rta1025w_16, &board_rta1025w_16,
&board_96348_D4PW, &board_96348_D4PW,

View File

@ -113,7 +113,7 @@
static struct board_info __initdata board_FAST2404 = { static struct board_info __initdata board_FAST2404 = {
.name = "F@ST2404", .name = "F@ST2404",
.expected_cpu_id = 0x6348, .expected_cpu_id = 0x6348,
@@ -1417,6 +1523,8 @@ static const struct board_info __initdat @@ -1507,6 +1613,8 @@ static const struct board_info __initdat
#ifdef CONFIG_BCM63XX_CPU_6348 #ifdef CONFIG_BCM63XX_CPU_6348
&board_96348r, &board_96348r,
&board_96348gw, &board_96348gw,

View File

@ -77,7 +77,7 @@
#endif #endif
/* /*
@@ -1533,6 +1603,7 @@ static const struct board_info __initdat @@ -1623,6 +1693,7 @@ static const struct board_info __initdat
&board_rta1025w_16, &board_rta1025w_16,
&board_96348_D4PW, &board_96348_D4PW,
&board_spw500v, &board_spw500v,

View File

@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -1576,6 +1576,80 @@ static struct board_info __initdata boar @@ -1666,6 +1666,80 @@ static struct board_info __initdata boar
.spis = nb4_spi_devices, .spis = nb4_spi_devices,
.num_spis = ARRAY_SIZE(nb4_spi_devices), .num_spis = ARRAY_SIZE(nb4_spi_devices),
}; };
@ -81,7 +81,7 @@
#endif #endif
/* /*
@@ -1618,6 +1692,7 @@ static const struct board_info __initdat @@ -1708,6 +1782,7 @@ static const struct board_info __initdat
&board_nb4_ser_r2, &board_nb4_ser_r2,
&board_nb4_fxc_r1, &board_nb4_fxc_r1,
&board_nb4_fxc_r2, &board_nb4_fxc_r2,

View File

@ -44,7 +44,7 @@
#endif #endif
/* /*
@@ -1660,6 +1697,7 @@ static const struct board_info __initdat @@ -1750,6 +1787,7 @@ static const struct board_info __initdat
&board_96338gw, &board_96338gw,
&board_96338w, &board_96338w,
&board_96338w2_e7t, &board_96338w2_e7t,

View File

@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -1687,6 +1687,72 @@ static struct board_info __initdata boar @@ -1777,6 +1777,72 @@ static struct board_info __initdata boar
}, },
}, },
}; };
@ -73,7 +73,7 @@
#endif #endif
/* /*
@@ -1731,6 +1797,7 @@ static const struct board_info __initdat @@ -1821,6 +1887,7 @@ static const struct board_info __initdat
&board_nb4_fxc_r1, &board_nb4_fxc_r1,
&board_nb4_fxc_r2, &board_nb4_fxc_r2,
&board_HW553, &board_HW553,

View File

@ -64,7 +64,7 @@
#endif #endif
/* /*
@@ -1782,6 +1839,7 @@ static const struct board_info __initdat @@ -1872,6 +1929,7 @@ static const struct board_info __initdat
&board_96348_D4PW, &board_96348_D4PW,
&board_spw500v, &board_spw500v,
&board_96348sv, &board_96348sv,
@ -72,7 +72,7 @@
#endif #endif
#ifdef CONFIG_BCM63XX_CPU_6358 #ifdef CONFIG_BCM63XX_CPU_6358
@@ -1909,6 +1967,23 @@ void __init board_prom_init(void) @@ -1992,6 +2050,23 @@ void __init board_prom_init(void)
val &= MPI_CSBASE_BASE_MASK; val &= MPI_CSBASE_BASE_MASK;
} }
boot_addr = (u8 *)KSEG1ADDR(val); boot_addr = (u8 *)KSEG1ADDR(val);

View File

@ -63,7 +63,7 @@
static struct board_info __initdata board_96348gw = { static struct board_info __initdata board_96348gw = {
.name = "96348GW", .name = "96348GW",
.expected_cpu_id = 0x6348, .expected_cpu_id = 0x6348,
@@ -1840,6 +1896,7 @@ static const struct board_info __initdat @@ -1930,6 +1986,7 @@ static const struct board_info __initdat
&board_spw500v, &board_spw500v,
&board_96348sv, &board_96348sv,
&board_V2500V_BB, &board_V2500V_BB,

View File

@ -50,7 +50,7 @@
static struct board_info __initdata board_96348gw = { static struct board_info __initdata board_96348gw = {
.name = "96348GW", .name = "96348GW",
.expected_cpu_id = 0x6348, .expected_cpu_id = 0x6348,
@@ -1897,6 +1940,7 @@ static const struct board_info __initdat @@ -1987,6 +2030,7 @@ static const struct board_info __initdat
&board_96348sv, &board_96348sv,
&board_V2500V_BB, &board_V2500V_BB,
&board_V2110, &board_V2110,

View File

@ -68,7 +68,7 @@
static struct board_info __initdata board_96348gw = { static struct board_info __initdata board_96348gw = {
.name = "96348GW", .name = "96348GW",
.expected_cpu_id = 0x6348, .expected_cpu_id = 0x6348,
@@ -1944,6 +2005,7 @@ static const struct board_info __initdat @@ -2034,6 +2095,7 @@ static const struct board_info __initdat
&board_V2500V_BB, &board_V2500V_BB,
&board_V2110, &board_V2110,
&board_ct536_ct5621, &board_ct536_ct5621,

View File

@ -45,7 +45,7 @@
#endif #endif
/* /*
@@ -2007,6 +2045,7 @@ static const struct board_info __initdat @@ -2097,6 +2135,7 @@ static const struct board_info __initdat
&board_V2110, &board_V2110,
&board_ct536_ct5621, &board_ct536_ct5621,
&board_96348A_122, &board_96348A_122,

View File

@ -10,7 +10,7 @@ Subject: [PATCH 32/63] bcm63xx: add support for 96368MVWG board.
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -2015,6 +2015,78 @@ static struct board_info __initdata boar @@ -2105,6 +2105,78 @@ static struct board_info __initdata boar
#endif #endif
/* /*
@ -89,7 +89,7 @@ Subject: [PATCH 32/63] bcm63xx: add support for 96368MVWG board.
* all boards * all boards
*/ */
static const struct board_info __initdata *bcm963xx_boards[] = { static const struct board_info __initdata *bcm963xx_boards[] = {
@@ -2063,6 +2135,10 @@ static const struct board_info __initdat @@ -2153,6 +2225,10 @@ static const struct board_info __initdat
&board_HW553, &board_HW553,
&board_spw303v, &board_spw303v,
#endif #endif
@ -99,8 +99,8 @@ Subject: [PATCH 32/63] bcm63xx: add support for 96368MVWG board.
+#endif +#endif
}; };
static void __init nb4_nvram_fixup(void) /*
@@ -2244,12 +2320,25 @@ void __init board_prom_init(void) @@ -2324,12 +2400,25 @@ void __init board_prom_init(void)
bcm63xx_pci_enabled = 1; bcm63xx_pci_enabled = 1;
if (BCMCPU_IS_6348()) if (BCMCPU_IS_6348())
val |= GPIO_MODE_6348_G2_PCI; val |= GPIO_MODE_6348_G2_PCI;

View File

@ -9,7 +9,7 @@ Subject: [PATCH 33/63] bcm63xx: add support for 96368MVNgr board.
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -2084,6 +2084,72 @@ static struct board_info __initdata boar @@ -2174,6 +2174,72 @@ static struct board_info __initdata boar
.has_ohci0 = 1, .has_ohci0 = 1,
.has_ehci0 = 1, .has_ehci0 = 1,
}; };
@ -82,7 +82,7 @@ Subject: [PATCH 33/63] bcm63xx: add support for 96368MVNgr board.
#endif #endif
/* /*
@@ -2138,6 +2204,7 @@ static const struct board_info __initdat @@ -2228,6 +2294,7 @@ static const struct board_info __initdat
#ifdef CONFIG_BCM63XX_CPU_6368 #ifdef CONFIG_BCM63XX_CPU_6368
&board_96368mvwg, &board_96368mvwg,

View File

@ -90,7 +90,7 @@ Subject: [PATCH] MIPS: BCM63XX: add 96328avng reference board
* known 6338 boards * known 6338 boards
*/ */
#ifdef CONFIG_BCM63XX_CPU_6338 #ifdef CONFIG_BCM63XX_CPU_6338
@@ -2156,6 +2230,9 @@ static struct board_info __initdata boar @@ -2246,6 +2320,9 @@ static struct board_info __initdata boar
* all boards * all boards
*/ */
static const struct board_info __initdata *bcm963xx_boards[] = { static const struct board_info __initdata *bcm963xx_boards[] = {

View File

@ -86,7 +86,7 @@ Subject: [PATCH] MIPS: BCM63XX: add 963281TAN reference board
#endif #endif
/* /*
@@ -2232,6 +2302,7 @@ static struct board_info __initdata boar @@ -2322,6 +2392,7 @@ static struct board_info __initdata boar
static const struct board_info __initdata *bcm963xx_boards[] = { static const struct board_info __initdata *bcm963xx_boards[] = {
#ifdef CONFIG_BCM63XX_CPU_6328 #ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng, &board_96328avng,

View File

@ -120,7 +120,7 @@ Subject: [PATCH 70/79] MIPS: BCM63XX: Add board definition for D-Link
#endif #endif
/* /*
@@ -2303,6 +2406,7 @@ static const struct board_info __initdat @@ -2393,6 +2496,7 @@ static const struct board_info __initdat
#ifdef CONFIG_BCM63XX_CPU_6328 #ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng, &board_96328avng,
&board_963281TAN, &board_963281TAN,

View File

@ -58,7 +58,7 @@
#endif #endif
/* /*
@@ -2436,6 +2487,7 @@ static const struct board_info __initdat @@ -2526,6 +2577,7 @@ static const struct board_info __initdat
&board_ct536_ct5621, &board_ct536_ct5621,
&board_96348A_122, &board_96348A_122,
&board_CPVA502plus, &board_CPVA502plus,

View File

@ -14,7 +14,7 @@
static struct board_info board; static struct board_info board;
/* /*
@@ -2171,6 +2178,111 @@ static struct board_info __initdata boar @@ -2261,6 +2268,111 @@ static struct board_info __initdata boar
.num_spis = ARRAY_SIZE(nb4_spi_devices), .num_spis = ARRAY_SIZE(nb4_spi_devices),
}; };
@ -126,7 +126,7 @@
static struct board_info __initdata board_HW553 = { static struct board_info __initdata board_HW553 = {
.name = "HW553", .name = "HW553",
.expected_cpu_id = 0x6358, .expected_cpu_id = 0x6358,
@@ -2502,6 +2614,7 @@ static const struct board_info __initdat @@ -2592,6 +2704,7 @@ static const struct board_info __initdat
&board_nb4_ser_r2, &board_nb4_ser_r2,
&board_nb4_fxc_r1, &board_nb4_fxc_r1,
&board_nb4_fxc_r2, &board_nb4_fxc_r2,

View File

@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -2422,6 +2422,71 @@ static struct board_info __initdata boar @@ -2512,6 +2512,71 @@ static struct board_info __initdata boar
}, },
} }
}; };
@ -72,7 +72,7 @@
#endif #endif
/* /*
@@ -2617,6 +2682,7 @@ static const struct board_info __initdat @@ -2707,6 +2772,7 @@ static const struct board_info __initdat
&board_ct6373_1, &board_ct6373_1,
&board_HW553, &board_HW553,
&board_spw303v, &board_spw303v,

View File

@ -17,7 +17,7 @@
#define CT6373_PID_OFFSET 0xff80 #define CT6373_PID_OFFSET 0xff80
#define CT6373_74X164_GPIO_BASE 64 #define CT6373_74X164_GPIO_BASE 64
@@ -2489,6 +2492,103 @@ static struct board_info __initdata boar @@ -2579,6 +2582,103 @@ static struct board_info __initdata boar
}; };
#endif #endif
@ -121,7 +121,7 @@
/* /*
* known 6368 boards * known 6368 boards
*/ */
@@ -2685,6 +2785,10 @@ static const struct board_info __initdat @@ -2775,6 +2875,10 @@ static const struct board_info __initdat
&board_DVAG3810BN, &board_DVAG3810BN,
#endif #endif
@ -132,9 +132,9 @@
#ifdef CONFIG_BCM63XX_CPU_6368 #ifdef CONFIG_BCM63XX_CPU_6368
&board_96368mvwg, &board_96368mvwg,
&board_96368mvngr, &board_96368mvngr,
@@ -2759,6 +2863,11 @@ static void __init boardid_fixup(u8 *boo @@ -2842,6 +2946,11 @@ static void __init boardid_fixup(u8 *boo
struct bcm_tag *tag = (struct bcm_tag *)(boot_addr + CFE_OFFSET_64K); }
char *board_name = (char *)bcm63xx_nvram_get_name(); }
+ if (BCMCPU_IS_6362() && (!strncmp(board_name, "NB6-", sizeof("NB6-") - 1))) { + if (BCMCPU_IS_6362() && (!strncmp(board_name, "NB6-", sizeof("NB6-") - 1))) {
+ board_name[sizeof("NB6") - 1] = '\0'; + board_name[sizeof("NB6") - 1] = '\0';

View File

@ -8,7 +8,7 @@
#include <linux/spi/spi.h> #include <linux/spi/spi.h>
#include <linux/spi/spi_gpio.h> #include <linux/spi/spi_gpio.h>
#include <linux/spi/74x164.h> #include <linux/spi/74x164.h>
@@ -2933,7 +2934,7 @@ static void __init nb4_nvram_fixup(void) @@ -3006,7 +3007,7 @@ static const struct board_info __initdat
* bcm4318 WLAN work * bcm4318 WLAN work
*/ */
#ifdef CONFIG_SSB_PCIHOST #ifdef CONFIG_SSB_PCIHOST
@ -17,7 +17,7 @@
.revision = 0x02, .revision = 0x02,
.board_rev = 0x17, .board_rev = 0x17,
.country_code = 0x0, .country_code = 0x0,
@@ -2953,6 +2954,7 @@ static struct ssb_sprom bcm63xx_sprom = @@ -3026,6 +3027,7 @@ static struct ssb_sprom bcm63xx_sprom =
.boardflags_lo = 0x2848, .boardflags_lo = 0x2848,
.boardflags_hi = 0x0000, .boardflags_hi = 0x0000,
}; };