|
@@ -16,6 +16,7 @@
|
|
|
#include <linux/mv643xx_eth.h>
|
|
|
#include <linux/ata_platform.h>
|
|
|
#include <linux/spi/orion_spi.h>
|
|
|
+#include <net/dsa.h>
|
|
|
#include <asm/page.h>
|
|
|
#include <asm/timex.h>
|
|
|
#include <asm/mach/map.h>
|
|
@@ -151,6 +152,40 @@ void __init kirkwood_ge00_init(struct mv643xx_eth_platform_data *eth_data)
|
|
|
}
|
|
|
|
|
|
|
|
|
+/*****************************************************************************
|
|
|
+ * Ethernet switch
|
|
|
+ ****************************************************************************/
|
|
|
+static struct resource kirkwood_switch_resources[] = {
|
|
|
+ {
|
|
|
+ .start = 0,
|
|
|
+ .end = 0,
|
|
|
+ .flags = IORESOURCE_IRQ,
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
+static struct platform_device kirkwood_switch_device = {
|
|
|
+ .name = "dsa",
|
|
|
+ .id = 0,
|
|
|
+ .num_resources = 0,
|
|
|
+ .resource = kirkwood_switch_resources,
|
|
|
+};
|
|
|
+
|
|
|
+void __init kirkwood_ge00_switch_init(struct dsa_platform_data *d, int irq)
|
|
|
+{
|
|
|
+ if (irq != NO_IRQ) {
|
|
|
+ kirkwood_switch_resources[0].start = irq;
|
|
|
+ kirkwood_switch_resources[0].end = irq;
|
|
|
+ kirkwood_switch_device.num_resources = 1;
|
|
|
+ }
|
|
|
+
|
|
|
+ d->mii_bus = &kirkwood_ge00_shared.dev;
|
|
|
+ d->netdev = &kirkwood_ge00.dev;
|
|
|
+ kirkwood_switch_device.dev.platform_data = d;
|
|
|
+
|
|
|
+ platform_device_register(&kirkwood_switch_device);
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
/*****************************************************************************
|
|
|
* SoC RTC
|
|
|
****************************************************************************/
|