#include <asm/addrspace.h>
#include <bcm63xx_board.h>
#include <bcm63xx_cpu.h>
-@@ -295,6 +297,16 @@ static struct board_info __initdata boar
+@@ -30,6 +32,9 @@
+
+ #define PFX "board_bcm963xx: "
+
++#define BCM963XX_KEYS_POLL_INTERVAL 20
++#define BCM963XX_KEYS_DEBOUNCE_INTERVAL (BCM963XX_KEYS_POLL_INTERVAL * 3)
++
+ static struct bcm963xx_nvram nvram;
+ static unsigned int mac_addr_used;
+ static struct board_info board;
+@@ -295,6 +300,16 @@ static struct board_info __initdata boar
.active_low = 1,
},
},
+ .active_low = 1,
+ .type = EV_KEY,
+ .code = KEY_RESTART,
-+ .debounce_interval = 60,
++ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
+ },
+ },
};
static struct board_info __initdata board_96348gw = {
-@@ -353,6 +365,16 @@ static struct board_info __initdata boar
+@@ -353,6 +368,16 @@ static struct board_info __initdata boar
.active_low = 1,
},
},
+ .active_low = 1,
+ .type = EV_KEY,
+ .code = KEY_RESTART,
-+ .debounce_interval = 60,
++ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
+ },
+ },
};
static struct board_info __initdata board_FAST2404 = {
-@@ -851,12 +873,23 @@ static struct platform_device bcm63xx_gp
+@@ -851,12 +876,23 @@ static struct platform_device bcm63xx_gp
.dev.platform_data = &bcm63xx_led_data,
};
+static struct gpio_keys_platform_data bcm63xx_gpio_keys_data = {
-+ .poll_interval = 20,
++ .poll_interval = BCM963XX_KEYS_POLL_INTERVAL,
+};
+
+static struct platform_device bcm63xx_gpio_keys_device = {
if (board.has_uart0)
bcm63xx_uart_register(0);
-@@ -907,5 +940,16 @@ int __init board_register_devices(void)
+@@ -907,5 +943,16 @@ int __init board_register_devices(void)
platform_device_register(&bcm63xx_gpio_leds);
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -890,6 +890,7 @@ int __init board_register_devices(void)
+@@ -893,6 +893,7 @@ int __init board_register_devices(void)
{
u32 val;
int button_count = 0;
if (board.has_uart0)
bcm63xx_uart_register(0);
-@@ -935,7 +936,11 @@ int __init board_register_devices(void)
+@@ -938,7 +939,11 @@ int __init board_register_devices(void)
platform_device_register(&mtd_dev);
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -927,6 +927,9 @@ int __init board_register_devices(void)
+@@ -930,6 +930,9 @@ int __init board_register_devices(void)
bcm63xx_spi_register();
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -930,6 +930,9 @@ int __init board_register_devices(void)
+@@ -933,6 +933,9 @@ int __init board_register_devices(void)
if (board.num_devs)
platform_add_devices(board.devs, board.num_devs);
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -29,9 +29,13 @@
+@@ -29,12 +29,16 @@
#include <bcm63xx_dev_pcmcia.h>
#include <bcm63xx_dev_spi.h>
#include <board_bcm963xx.h>
#define PFX "board_bcm963xx: "
+ #define BCM963XX_KEYS_POLL_INTERVAL 20
+ #define BCM963XX_KEYS_DEBOUNCE_INTERVAL (BCM963XX_KEYS_POLL_INTERVAL * 3)
+
+#define CFE_OFFSET_64K 0x10000
+#define CFE_OFFSET_128K 0x20000
+
static struct bcm963xx_nvram nvram;
static unsigned int mac_addr_used;
static struct board_info board;
-@@ -722,6 +726,29 @@ static int board_get_mac_address(u8 *mac
+@@ -725,6 +729,29 @@ static int board_get_mac_address(u8 *mac
return 0;
}
/*
* early init callback, read nvram data from flash and checksum it
*/
-@@ -763,6 +790,11 @@ void __init board_prom_init(void)
+@@ -766,6 +793,11 @@ void __init board_prom_init(void)
return;
}
#include <board_bcm963xx.h>
#include <bcm_tag.h>
-@@ -941,6 +942,9 @@ int __init board_register_devices(void)
+@@ -944,6 +945,9 @@ int __init board_register_devices(void)
!board_get_mac_address(board.enet1.mac_addr))
bcm63xx_enet_register(1, &board.enet1);
#include <board_bcm963xx.h>
#include <bcm_tag.h>
-@@ -942,6 +943,9 @@ int __init board_register_devices(void)
+@@ -945,6 +946,9 @@ int __init board_register_devices(void)
!board_get_mac_address(board.enet1.mac_addr))
bcm63xx_enet_register(1, &board.enet1);
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -873,7 +873,7 @@ static struct mtd_partition mtd_partitio
+@@ -876,7 +876,7 @@ static struct mtd_partition mtd_partitio
}
};
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -845,6 +845,8 @@ void __init board_prom_init(void)
+@@ -848,6 +848,8 @@ void __init board_prom_init(void)
if (BCMCPU_IS_6348())
val |= GPIO_MODE_6348_G3_EXT_MII |
GPIO_MODE_6348_G0_EXT_MII;
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -945,6 +945,10 @@ int __init board_register_devices(void)
+@@ -948,6 +948,10 @@ int __init board_register_devices(void)
!board_get_mac_address(board.enet1.mac_addr))
bcm63xx_enet_register(1, &board.enet1);
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -129,6 +129,55 @@ static struct board_info __initdata boar
+@@ -132,6 +132,55 @@ static struct board_info __initdata boar
},
},
};
+ .active_low = 1,
+ .type = EV_KEY,
+ .code = KEY_RESTART,
-+ .debounce_interval = 60,
++ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
+ },
+ },
+};
#endif
/*
-@@ -637,6 +686,7 @@ static const struct board_info __initdat
+@@ -640,6 +689,7 @@ static const struct board_info __initdat
&board_DV201AMR,
&board_96348gw_a,
&board_rta1025w_16,
#include <asm/addrspace.h>
#include <bcm63xx_board.h>
#include <bcm63xx_cpu.h>
-@@ -38,6 +41,12 @@
+@@ -41,6 +44,12 @@
#define CFE_OFFSET_64K 0x10000
#define CFE_OFFSET_128K 0x20000
static struct bcm963xx_nvram nvram;
static unsigned int mac_addr_used;
static struct board_info board;
-@@ -664,6 +673,496 @@ static struct board_info __initdata boar
+@@ -667,6 +676,496 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
};
+ .gpio = 34,
+ .type = EV_KEY,
+ .code = KEY_RESTART,
-+ .debounce_interval = 60,
++ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
+ },
+ {
+ .desc = "wps",
+ .gpio = 37,
+ .type = EV_KEY,
+ .code = KEY_WPS_BUTTON,
-+ .debounce_interval = 60,
++ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
+ },
+ },
+ .devs = nb4_devices,
+ .gpio = 34,
+ .type = EV_KEY,
+ .code = KEY_RESTART,
-+ .debounce_interval = 60,
++ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
+ },
+ {
+ .desc = "wps",
+ .gpio = 37,
+ .type = EV_KEY,
+ .code = KEY_WPS_BUTTON,
-+ .debounce_interval = 60,
++ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
+ },
+ },
+ .devs = nb4_devices,
+ .gpio = 34,
+ .type = EV_KEY,
+ .code = KEY_RESTART,
-+ .debounce_interval = 60,
++ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
+ },
+ {
+ .desc = "wps",
+ .gpio = 37,
+ .type = EV_KEY,
+ .code = KEY_WPS_BUTTON,
-+ .debounce_interval = 60,
++ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
+ },
+ },
+ .devs = nb4_devices,
+ .gpio = 34,
+ .type = EV_KEY,
+ .code = KEY_RESTART,
-+ .debounce_interval = 60,
++ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
+ },
+ {
+ .desc = "wps",
+ .gpio = 37,
+ .type = EV_KEY,
+ .code = KEY_WPS_BUTTON,
-+ .debounce_interval = 60,
++ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
+ },
+ },
+ .devs = nb4_devices,
+ .gpio = 34,
+ .type = EV_KEY,
+ .code = KEY_RESTART,
-+ .debounce_interval = 60,
++ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
+ },
+ {
+ .desc = "wps",
+ .gpio = 37,
+ .type = EV_KEY,
+ .code = KEY_WPS_BUTTON,
-+ .debounce_interval = 60,
++ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
+ },
+ },
+ .devs = nb4_devices,
#endif
/*
-@@ -694,9 +1193,30 @@ static const struct board_info __initdat
+@@ -697,9 +1196,30 @@ static const struct board_info __initdat
&board_96358vw2,
&board_AGPFS0,
&board_DWVS0,
/*
* Register a sane SPROMv2 to make the on-board
* bcm4318 WLAN work
-@@ -847,6 +1367,9 @@ void __init board_prom_init(void)
+@@ -850,6 +1370,9 @@ void __init board_prom_init(void)
boardid_fixup(boot_addr);
}
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -199,6 +199,38 @@ static struct board_info __initdata boar
+@@ -202,6 +202,38 @@ static struct board_info __initdata boar
.has_uart0 = 1,
};
#endif
/*
-@@ -1172,6 +1204,7 @@ static const struct board_info __initdat
+@@ -1175,6 +1207,7 @@ static const struct board_info __initdat
#ifdef CONFIG_BCM63XX_CPU_6338
&board_96338gw,
&board_96338w,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -662,6 +662,98 @@ static struct board_info __initdata boar
+@@ -665,6 +665,98 @@ static struct board_info __initdata boar
},
};
+ .active_low = 1,
+ .type = EV_KEY,
+ .code = KEY_RESTART,
-+ .debounce_interval = 60,
++ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
+ },
+ {
+ .desc = "wps",
+ .gpio = 37,
+ .type = EV_KEY,
+ .code = KEY_WPS_BUTTON,
-+ .debounce_interval = 60,
++ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
+ },
+ },
+};
static struct board_info __initdata board_AGPFS0 = {
.name = "AGPF-S0",
.expected_cpu_id = 0x6358,
-@@ -1225,6 +1317,7 @@ static const struct board_info __initdat
+@@ -1228,6 +1320,7 @@ static const struct board_info __initdat
&board_96358vw,
&board_96358vw2,
&board_AGPFS0,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -798,6 +798,59 @@ static struct board_info __initdata boar
+@@ -801,6 +801,59 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
};
+ .active_low = 1,
+ .type = EV_KEY,
+ .code = KEY_RESTART,
-+ .debounce_interval = 60,
++ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
+ },
+ },
+};
struct spi_gpio_platform_data nb4_spi_gpio_data = {
.sck = NB4_SPI_GPIO_CLK,
.mosi = NB4_SPI_GPIO_MOSI,
-@@ -1319,6 +1372,7 @@ static const struct board_info __initdat
+@@ -1322,6 +1375,7 @@ static const struct board_info __initdat
&board_AGPFS0,
&board_CPVA642,
&board_DWVS0,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -187,6 +187,67 @@ static struct board_info __initdata boar
+@@ -190,6 +190,67 @@ static struct board_info __initdata boar
},
};
+ .active_low = 1,
+ .type = EV_KEY,
+ .code = KEY_RESTART,
-+ .debounce_interval = 60,
++ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
+ },
+ },
+};
#endif
/*
-@@ -1364,6 +1425,7 @@ static const struct board_info __initdat
+@@ -1367,6 +1428,7 @@ static const struct board_info __initdat
&board_96348gw_a,
&board_rta1025w_16,
&board_96348_D4PW,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -534,6 +534,112 @@ static struct board_info __initdata boar
+@@ -537,6 +537,112 @@ static struct board_info __initdata boar
},
};
+ .active_low = 1,
+ .type = EV_KEY,
+ .code = KEY_RESTART,
-+ .debounce_interval = 60,
++ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
+ },
+ },
+};
+ .active_low = 1,
+ .type = EV_KEY,
+ .code = KEY_RESTART,
-+ .debounce_interval = 60,
++ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
+ },
+ },
+};
static struct board_info __initdata board_FAST2404 = {
.name = "F@ST2404",
.expected_cpu_id = 0x6348,
-@@ -1418,6 +1524,8 @@ static const struct board_info __initdat
+@@ -1421,6 +1527,8 @@ static const struct board_info __initdat
#ifdef CONFIG_BCM63XX_CPU_6348
&board_96348r,
&board_96348gw,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -248,6 +248,76 @@ static struct board_info __initdata boar
+@@ -251,6 +251,76 @@ static struct board_info __initdata boar
},
};
#endif
/*
-@@ -1534,6 +1604,7 @@ static const struct board_info __initdat
+@@ -1537,6 +1607,7 @@ static const struct board_info __initdat
&board_rta1025w_16,
&board_96348_D4PW,
&board_spw500v,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1577,6 +1577,81 @@ static struct board_info __initdata boar
+@@ -1580,6 +1580,81 @@ static struct board_info __initdata boar
.spis = nb4_spi_devices,
.num_spis = ARRAY_SIZE(nb4_spi_devices),
};
#endif
/*
-@@ -1619,6 +1694,7 @@ static const struct board_info __initdat
+@@ -1622,6 +1697,7 @@ static const struct board_info __initdat
&board_nb4_ser_r2,
&board_nb4_fxc_r1,
&board_nb4_fxc_r2,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -362,6 +362,43 @@ static struct board_info __initdata boar
+@@ -365,6 +365,43 @@ static struct board_info __initdata boar
},
},
};
#endif
/*
-@@ -1662,6 +1699,7 @@ static const struct board_info __initdat
+@@ -1665,6 +1702,7 @@ static const struct board_info __initdat
&board_96338gw,
&board_96338w,
&board_96338w2_e7t,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1689,6 +1689,72 @@ static struct board_info __initdata boar
+@@ -1692,6 +1692,72 @@ static struct board_info __initdata boar
},
},
};
+ .gpio = 11,
+ .type = EV_KEY,
+ .code = KEY_RESTART,
-+ .debounce_interval = 60,
++ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
+ },
+ {
+ .desc = "ses",
+ .active_low = 1,
+ .type = EV_KEY,
+ .code = KEY_WPS_BUTTON,
-+ .debounce_interval = 60,
++ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
+ },
+ }
+};
#endif
/*
-@@ -1733,6 +1799,7 @@ static const struct board_info __initdat
+@@ -1736,6 +1802,7 @@ static const struct board_info __initdat
&board_nb4_fxc_r1,
&board_nb4_fxc_r2,
&board_HW553,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -318,6 +318,63 @@ static struct board_info __initdata boar
+@@ -321,6 +321,63 @@ static struct board_info __initdata boar
},
};
+ .active_low = 1,
+ .type = EV_KEY,
+ .code = KEY_RESTART,
-+ .debounce_interval = 60,
++ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
+ },
+ },
+};
#endif
/*
-@@ -1784,6 +1841,7 @@ static const struct board_info __initdat
+@@ -1787,6 +1844,7 @@ static const struct board_info __initdat
&board_96348_D4PW,
&board_spw500v,
&board_96348sv,
#endif
#ifdef CONFIG_BCM63XX_CPU_6358
-@@ -1937,6 +1995,22 @@ void __init board_prom_init(void)
+@@ -1940,6 +1998,22 @@ void __init board_prom_init(void)
val = bcm_mpi_readl(MPI_CSBASE_REG(0));
val &= MPI_CSBASE_BASE_MASK;
boot_addr = (u8 *)KSEG1ADDR(val);
/* dump cfe version */
cfe = boot_addr + BCM963XX_CFE_VERSION_OFFSET;
-@@ -2158,6 +2232,13 @@ int __init board_register_devices(void)
+@@ -2161,6 +2235,13 @@ int __init board_register_devices(void)
val = bcm_mpi_readl(MPI_CSBASE_REG(0));
val &= MPI_CSBASE_BASE_MASK;
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -630,6 +630,62 @@ static struct board_info __initdata boar
+@@ -633,6 +633,62 @@ static struct board_info __initdata boar
},
};
+ .active_low = 1,
+ .type = EV_KEY,
+ .code = KEY_RESTART,
-+ .debounce_interval = 60,
++ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
+ },
+ },
+};
static struct board_info __initdata board_96348gw = {
.name = "96348GW",
.expected_cpu_id = 0x6348,
-@@ -1842,6 +1898,7 @@ static const struct board_info __initdat
+@@ -1845,6 +1901,7 @@ static const struct board_info __initdat
&board_spw500v,
&board_96348sv,
&board_V2500V_BB,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -686,6 +686,49 @@ static struct board_info __initdata boar
+@@ -689,6 +689,49 @@ static struct board_info __initdata boar
};
+ .active_low = 1,
+ .type = EV_KEY,
+ .code = KEY_RESTART,
-+ .debounce_interval = 60,
++ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
+ },
+ },
+};
static struct board_info __initdata board_96348gw = {
.name = "96348GW",
.expected_cpu_id = 0x6348,
-@@ -1899,6 +1942,7 @@ static const struct board_info __initdat
+@@ -1902,6 +1945,7 @@ static const struct board_info __initdat
&board_96348sv,
&board_V2500V_BB,
&board_V2110,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1211,6 +1211,8 @@ static struct board_info __initdata boar
+@@ -1214,6 +1214,8 @@ static struct board_info __initdata boar
.name = "DWV-S0",
.expected_cpu_id = 0x6358,
.has_enet0 = 1,
.has_enet1 = 1,
.has_pci = 1,
-@@ -1226,6 +1228,7 @@ static struct board_info __initdata boar
+@@ -1229,6 +1231,7 @@ static struct board_info __initdata boar
},
.has_ohci0 = 1,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -375,6 +375,67 @@ static struct board_info __initdata boar
+@@ -378,6 +378,67 @@ static struct board_info __initdata boar
},
};
+ .active_low = 1,
+ .type = EV_KEY,
+ .code = KEY_RESTART,
-+ .debounce_interval = 60,
++ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
+ },
+ {
+ .desc = "wifi",
+ .active_low = 1,
+ .type = EV_KEY,
+ .code = BTN_0,
-+ .debounce_interval = 60,
++ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
+ },
+ {
+ .desc = "wps",
+ .active_low = 1,
+ .type = EV_KEY,
+ .code = KEY_WPS_BUTTON,
-+ .debounce_interval = 60,
++ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
+ },
+ },
+};
#endif
/*
-@@ -1946,6 +2007,7 @@ static const struct board_info __initdat
+@@ -1949,6 +2010,7 @@ static const struct board_info __initdat
&board_V2500V_BB,
&board_V2110,
&board_ct536_ct5621,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -992,6 +992,7 @@ static struct board_info __initdata boar
+@@ -995,6 +995,7 @@ static struct board_info __initdata boar
.name = "RTA1025W_16",
.expected_cpu_id = 0x6348,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -436,6 +436,42 @@ static struct board_info __initdata boar
+@@ -439,6 +439,42 @@ static struct board_info __initdata boar
},
};
#endif
/*
-@@ -2009,6 +2045,7 @@ static const struct board_info __initdat
+@@ -2012,6 +2048,7 @@ static const struct board_info __initdat
&board_V2110,
&board_ct536_ct5621,
&board_96348A_122,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -2015,6 +2015,80 @@ static struct board_info __initdata boar
+@@ -2018,6 +2018,80 @@ static struct board_info __initdata boar
#endif
/*
* all boards
*/
static const struct board_info __initdata *bcm963xx_boards[] = {
-@@ -2063,6 +2137,10 @@ static const struct board_info __initdat
+@@ -2066,6 +2140,10 @@ static const struct board_info __initdat
&board_HW553,
&board_spw303v,
#endif
};
static void __init nb4_nvram_fixup(void)
-@@ -2280,12 +2358,25 @@ void __init board_prom_init(void)
+@@ -2283,12 +2361,25 @@ void __init board_prom_init(void)
bcm63xx_pci_enabled = 1;
if (BCMCPU_IS_6348())
val |= GPIO_MODE_6348_G2_PCI;
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -2086,6 +2086,72 @@ static struct board_info __initdata boar
+@@ -2089,6 +2089,72 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
.has_ehci0 = 1,
};
#endif
/*
-@@ -2140,6 +2206,7 @@ static const struct board_info __initdat
+@@ -2143,6 +2209,7 @@ static const struct board_info __initdat
#ifdef CONFIG_BCM63XX_CPU_6368
&board_96368mvwg,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1303,6 +1303,99 @@ static struct board_info __initdata boar
+@@ -1306,6 +1306,99 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
.has_ehci0 = 1,
+ .active_low = 1,
+ .type = EV_KEY,
+ .code = KEY_RESTART,
-+ .debounce_interval = 60,
++ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
+ },
+ {
+ .desc = "wps",
+ .gpio = 34,
+ .type = EV_KEY,
+ .code = KEY_WPS_BUTTON,
-+ .debounce_interval = 60,
++ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
+ },
+ },
};
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1083,6 +1083,19 @@ static struct board_info __initdata boar
+@@ -1086,6 +1086,19 @@ static struct board_info __initdata boar
},
.has_ohci0 = 1,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -661,6 +661,17 @@ static struct board_info __initdata boar
+@@ -664,6 +664,17 @@ static struct board_info __initdata boar
.active_low = 1,
},
},
+ .active_low = 1,
+ .type = EV_KEY,
+ .code = KEY_RESTART,
-+ .debounce_interval = 60,
++ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
+ },
+ },
};
#include <linux/spi/spi.h>
#include <linux/spi/spi_gpio.h>
#include <linux/spi/74x164.h>
-@@ -52,6 +53,13 @@ static unsigned int mac_addr_used;
+@@ -55,6 +56,13 @@ static unsigned int mac_addr_used;
static struct board_info board;
/*
* known 6338 boards
*/
#ifdef CONFIG_BCM63XX_CPU_6338
-@@ -2489,6 +2497,7 @@ void __init board_prom_init(void)
+@@ -2492,6 +2500,7 @@ void __init board_prom_init(void)
/* extract nvram data */
memcpy(&nvram, boot_addr + BCM963XX_NVRAM_OFFSET, sizeof(nvram));
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -2356,7 +2356,7 @@ static void __init nb4_nvram_fixup(void)
+@@ -2359,7 +2359,7 @@ static void __init nb4_nvram_fixup(void)
* bcm4318 WLAN work
*/
#ifdef CONFIG_SSB_PCIHOST
.revision = 0x02,
.board_rev = 0x17,
.country_code = 0x0,
-@@ -2376,6 +2376,7 @@ static struct ssb_sprom bcm63xx_sprom =
+@@ -2379,6 +2379,7 @@ static struct ssb_sprom bcm63xx_sprom =
.boardflags_lo = 0x2848,
.boardflags_hi = 0x0000,
};