8411e5c06e
Switch to using the B53 switch driver where appropriate. Use a non-tagged default config where it isn't confirmed to be working. Remove the switch configuration in preinit as the switch will now be configured by the driver to use port isolation to prevent leakage between lan and wan. While at it, also provide a switch config for Neufbox 6. Signed-off-by: Jonas Gorski <jogo@openwrt.org> SVN-Revision: 35307
124 lines
3.3 KiB
Diff
124 lines
3.3 KiB
Diff
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
|
|
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
|
|
@@ -874,6 +874,65 @@ static struct board_info __initdata boar
|
|
},
|
|
},
|
|
};
|
|
+
|
|
+static struct board_info __initdata board_V2500V_BB = {
|
|
+ .name = "V2500V_BB",
|
|
+ .expected_cpu_id = 0x6348,
|
|
+
|
|
+ .has_uart0 = 1,
|
|
+ .has_enet0 = 1,
|
|
+ .has_enet1 = 1,
|
|
+ .has_pci = 1,
|
|
+
|
|
+ .enet0 = {
|
|
+ .has_phy = 1,
|
|
+ .use_internal_phy = 1,
|
|
+ },
|
|
+ .enet1 = {
|
|
+ .has_phy = 1,
|
|
+ .phy_id = 0,
|
|
+ .force_speed_100 = 1,
|
|
+ .force_duplex_full = 1,
|
|
+ },
|
|
+
|
|
+ .leds = {
|
|
+ {
|
|
+ .name = "V2500V_BB:green:power",
|
|
+ .gpio = 0,
|
|
+ .active_low = 1,
|
|
+ .default_trigger = "default-on",
|
|
+ },
|
|
+ {
|
|
+ .name = "V2500V_BB:red:power",
|
|
+ .gpio = 1,
|
|
+ .active_low = 1,
|
|
+ },
|
|
+ {
|
|
+ .name = "V2500V_BB:green:adsl",
|
|
+ .gpio = 2,
|
|
+ .active_low = 1,
|
|
+ },
|
|
+ { .name = "V2500V_BB:green:ppp",
|
|
+ .gpio = 3,
|
|
+ .active_low = 1,
|
|
+ },
|
|
+ {
|
|
+ .name = "V2500V_BB:green:wireless",
|
|
+ .gpio = 6,
|
|
+ .active_low = 1,
|
|
+ },
|
|
+ },
|
|
+ .buttons = {
|
|
+ {
|
|
+ .desc = "reset",
|
|
+ .gpio = 31,
|
|
+ .active_low = 1,
|
|
+ .type = EV_KEY,
|
|
+ .code = KEY_RESTART,
|
|
+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
|
|
+ },
|
|
+ },
|
|
+};
|
|
#endif
|
|
|
|
/*
|
|
@@ -1918,6 +1975,7 @@ static const struct board_info __initdat
|
|
&board_96348_D4PW,
|
|
&board_spw500v,
|
|
&board_96348sv,
|
|
+ &board_V2500V_BB,
|
|
#endif
|
|
|
|
#ifdef CONFIG_BCM63XX_CPU_6358
|
|
@@ -2038,6 +2096,23 @@ void __init board_prom_init(void)
|
|
val &= MPI_CSBASE_BASE_MASK;
|
|
}
|
|
boot_addr = (u8 *)KSEG1ADDR(val);
|
|
+ printk(KERN_INFO PFX "Boot address 0x%08x\n",(unsigned int)boot_addr);
|
|
+
|
|
+ /* BT Voyager 2500V (RTA1046VW PCB) has 8 Meg flash used as two */
|
|
+ /* banks of 4 Meg. The byte at 0xBF800000 identifies the back to use.*/
|
|
+ /* Loading firmware from the CFE Prompt always loads to Bank 0 */
|
|
+ /* Do an early check of CFE and then select bank 0 */
|
|
+
|
|
+ if (boot_addr == (u8 *)0xbf800000) {
|
|
+ unsigned char board_name[16];
|
|
+ u8 *tmp_boot_addr;
|
|
+ tmp_boot_addr = (u8 *)0xbfc00000; // Address of Bank 0
|
|
+ memcpy(board_name, tmp_boot_addr + BCM963XX_NVRAM_OFFSET + offsetof(struct bcm963xx_nvram, name), sizeof(board_name));
|
|
+ if (!strcmp(board_name, "V2500V_BB")) {
|
|
+ printk(KERN_INFO PFX "V2500V: nvram bank 0\n");
|
|
+ boot_addr = (u8 *)0xbfc00000; // Bank 0
|
|
+ }
|
|
+ }
|
|
|
|
/* dump cfe version */
|
|
cfe = boot_addr + BCM963XX_CFE_VERSION_OFFSET;
|
|
--- a/arch/mips/bcm63xx/dev-flash.c
|
|
+++ b/arch/mips/bcm63xx/dev-flash.c
|
|
@@ -19,6 +19,7 @@
|
|
#include <linux/spi/spi.h>
|
|
#include <linux/spi/flash.h>
|
|
|
|
+#include <bcm63xx_board.h>
|
|
#include <bcm63xx_cpu.h>
|
|
#include <bcm63xx_dev_flash.h>
|
|
#include <bcm63xx_dev_hsspi.h>
|
|
@@ -162,6 +163,13 @@ int __init bcm63xx_flash_register(int nu
|
|
val = bcm_mpi_readl(MPI_CSBASE_REG(0));
|
|
val &= MPI_CSBASE_BASE_MASK;
|
|
|
|
+ /* BT Voyager 2500V has 8 Meg flash in two 4 Meg banks */
|
|
+ /* Loading from CFE always uses Bank 0 */
|
|
+ if (!strcmp(board_get_name(), "V2500V_BB")) {
|
|
+ pr_info("V2500V: Start in Bank 0\n");
|
|
+ val = val + 0x400000; // Select Bank 0 start address
|
|
+ }
|
|
+
|
|
mtd_resources[0].start = val;
|
|
mtd_resources[0].end = 0x1FFFFFFF;
|
|
|