#include <bcm63xx_dev_uart.h>
#include <bcm63xx_dev_wdt.h>
#include <bcm63xx_dev_enet.h>
+#include <bcm63xx_dev_dsp.h>
#include <bcm63xx_dev_pcmcia.h>
#include <bcm63xx_dev_usb_ohci.h>
#include <bcm63xx_dev_usb_ehci.h>
static struct board_info __initdata board_96338gw = {
.name = "96338GW",
.expected_cpu_id = 0x6338,
-
+
.has_enet0 = 1,
.enet0 = {
- .has_phy = 1,
- .use_internal_phy = 1,
+ .force_speed_100 = 1,
+ .force_duplex_full = 1,
},
.has_ohci0 = 1,
static struct board_info __initdata board_96338w = {
.name = "96338W",
.expected_cpu_id = 0x6338,
-
+
.has_enet0 = 1,
+ .enet0 = {
+ .force_speed_100 = 1,
+ .force_duplex_full = 1,
+ }
+};
+#endif
+
+/*
+ * known 6345 boards
+ */
+#ifdef CONFIG_BCM63XX_CPU_6345
+static struct board_info __initdata board_96345gw2 = {
+ .name = "96345GW2",
+ .expected_cpu_id = 0x6345,
};
#endif
.has_ohci0 = 1,
.has_pccard = 1,
.has_ehci0 = 1,
+
+ .has_dsp = 1,
+ .dsp = {
+ .gpio_rst = 6,
+ .gpio_int = 34,
+ .cs = 2,
+ .ext_irq = 2,
+ },
};
static struct board_info __initdata board_96348gw_11 = {
.force_duplex_full = 1,
},
- .has_ohci0 = 1,
+ .has_ohci0 = 1,
+ .has_dsp = 1,
+
+ .dsp = {
+ .gpio_rst = 6,
+ .gpio_int = 34,
+ .ext_irq = 2,
+ .cs = 2,
+ },
};
static struct board_info __initdata board_FAST2404 = {
&board_96338gw,
&board_96338w,
#endif
+#ifdef CONFIG_BCM63XX_CPU_6345
+ &board_96345gw2,
+#endif
#ifdef CONFIG_BCM63XX_CPU_6348
&board_96348r,
&board_96348gw,
u32 val;
/* read base address of boot chip select (0)
- * 6338 does not have MPI but boots from standard
+ * 6338/6345 does not have MPI but boots from standard
* MIPS Flash address */
- if (BCMCPU_IS_6338() || BCMCPU_IS_6345())
+ if (BCMCPU_IS_6345())
val = 0x1fc00000;
else {
val = bcm_mpi_readl(MPI_CSBASE_REG(0));
if (board.has_udc0)
bcm63xx_udc_register();
+
+ if (board.has_dsp)
+ bcm63xx_dsp_register(&board.dsp);
+
/* Generate MAC address for WLAN and
* register our SPROM */
#ifdef CONFIG_PCI
#endif
/* read base address of boot chip select (0) */
- val = bcm_mpi_readl(MPI_CSBASE_REG(0));
- val &= MPI_CSBASE_BASE_MASK;
+ if (BCMCPU_IS_6345())
+ val = 0x1fc0000;
+ else {
+ val = bcm_mpi_readl(MPI_CSBASE_REG(0));
+ val &= MPI_CSBASE_BASE_MASK;
+ }
mtd_resources[0].start = val;
mtd_resources[0].end = 0x1FFFFFFF;