X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/aedeeb1874e872189927c3c73cc039a2eb250586..8199c5026dfd457b48dc56ccd0aacab6be036da1:/target/linux/brcm63xx/files/arch/mips/bcm63xx/boards/board_bcm963xx.c diff --git a/target/linux/brcm63xx/files/arch/mips/bcm63xx/boards/board_bcm963xx.c b/target/linux/brcm63xx/files/arch/mips/bcm63xx/boards/board_bcm963xx.c index 1c3073efd..7dd77f008 100644 --- a/target/linux/brcm63xx/files/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/target/linux/brcm63xx/files/arch/mips/bcm63xx/boards/board_bcm963xx.c @@ -21,6 +21,7 @@ #include #include #include +#include #include #include #include @@ -33,6 +34,25 @@ static struct bcm963xx_nvram nvram; static unsigned int mac_addr_used = 0; static struct board_info board; +/* + * known 6338 boards + */ + +#ifdef CONFIG_BCM63XX_CPU_6338 +static struct board_info __initdata board_96338gw = { + .name = "96338GW", + .expected_cpu_id = 0x6338, + + .has_enet0 = 1, + .enet0 = { + .has_phy = 1, + .use_internal_phy = 1, + }, + + .has_ohci0 = 1, +}; +#endif + /* * known 6348 boards */ @@ -50,6 +70,28 @@ static struct board_info __initdata board_96348r = { }, }; +static struct board_info __initdata board_96348gw_10 = { + .name = "96348GW-10", + .expected_cpu_id = 0x6348, + + .has_enet0 = 1, + .has_enet1 = 1, + .has_pci = 1, + + .enet0 = { + .has_phy = 1, + .use_internal_phy = 1, + }, + .enet1 = { + .force_speed_100 = 1, + .force_duplex_full = 1, + }, + + .has_ohci0 = 1, + .has_pccard = 1, + .has_ehci0 = 1, +}; + static struct board_info __initdata board_96348gw_11 = { .name = "96348GW-11", .expected_cpu_id = 0x6348, @@ -90,7 +132,58 @@ static struct board_info __initdata board_96348gw = { .force_speed_100 = 1, .force_duplex_full = 1, }, + + .has_ohci0 = 1, +}; + +static struct board_info __initdata board_FAST2404 = { + .name = "F@ST2404", + .expected_cpu_id = 0x6348, + + .has_enet0 = 1, + .has_enet1 = 1, + .has_pci = 1, + + .enet0 = { + .has_phy = 1, + .use_internal_phy = 1, + }, + + .enet1 = { + .force_speed_100 = 1, + .force_duplex_full = 1, + }, + + + .has_ohci0 = 1, + .has_pccard = 1, + .has_ehci0 = 1, +}; + +static struct board_info __initdata board_DV201AMR = { + .name = "DV201AMR", + .expected_cpu_id = 0x6348, + + .has_enet0 = 1, + .has_enet1 = 1, + .has_pci = 1, + + .enet0 = { + .has_phy = 1, + .use_internal_phy = 1, + }, + + .enet1 = { + .force_speed_100 = 1, + .force_duplex_full = 1, + }, + + + .has_ohci0 = 1, + .has_pccard = 1, + .has_ehci0 = 1, }; + #endif /* @@ -150,10 +243,16 @@ static struct board_info __initdata board_96358vw2 = { * all boards */ static const struct board_info __initdata *bcm963xx_boards[] = { +#ifdef CONFIG_BCM63XX_CPU_6338 + &board_96338gw, +#endif #ifdef CONFIG_BCM63XX_CPU_6348 &board_96348r, &board_96348gw, + &board_96348gw_10, &board_96348gw_11, + &board_FAST2404, + &board_DV201AMR, #endif #ifdef CONFIG_BCM63XX_CPU_6358 @@ -312,20 +411,6 @@ static int board_get_mac_address(u8 *mac) return 0; } -static struct mtd_partition mtd_partitions[] = { - { - .name = "cfe", - .offset = 0x0, - .size = 0x40000, - } -}; - -static struct physmap_flash_data flash_data = { - .width = 2, - .nr_parts = ARRAY_SIZE(mtd_partitions), - .parts = mtd_partitions, -}; - static struct resource mtd_resources[] = { { .start = 0, /* filled at runtime */ @@ -335,12 +420,9 @@ static struct resource mtd_resources[] = { }; static struct platform_device mtd_dev = { - .name = "physmap-flash", + .name = "bcm963xx-flash", .resource = mtd_resources, .num_resources = ARRAY_SIZE(mtd_resources), - .dev = { - .platform_data = &flash_data, - }, }; /* @@ -351,6 +433,7 @@ int __init board_register_devices(void) u32 val; bcm63xx_uart_register(); + bcm63xx_wdt_register(); if (board.has_pccard) bcm63xx_pcmcia_register();