|
@@ -46,6 +46,7 @@
|
|
|
#include <asm/dpmc.h>
|
|
|
#include <asm/bfin_sdh.h>
|
|
|
#include <linux/spi/ad7877.h>
|
|
|
+#include <net/dsa.h>
|
|
|
|
|
|
/*
|
|
|
* Name the Board for the /proc/cpuinfo
|
|
@@ -104,8 +105,31 @@ static struct platform_device rtc_device = {
|
|
|
#endif
|
|
|
|
|
|
#if defined(CONFIG_BFIN_MAC) || defined(CONFIG_BFIN_MAC_MODULE)
|
|
|
+static struct platform_device bfin_mii_bus = {
|
|
|
+ .name = "bfin_mii_bus",
|
|
|
+};
|
|
|
+
|
|
|
static struct platform_device bfin_mac_device = {
|
|
|
.name = "bfin_mac",
|
|
|
+ .dev.platform_data = &bfin_mii_bus,
|
|
|
+};
|
|
|
+#endif
|
|
|
+
|
|
|
+#if defined(CONFIG_NET_DSA_KSZ8893M) || defined(CONFIG_NET_DSA_KSZ8893M_MODULE)
|
|
|
+static struct dsa_platform_data ksz8893m_switch_data = {
|
|
|
+ .mii_bus = &bfin_mii_bus.dev,
|
|
|
+ .netdev = &bfin_mac_device.dev,
|
|
|
+ .port_names[0] = NULL,
|
|
|
+ .port_names[1] = "eth%d",
|
|
|
+ .port_names[2] = "eth%d",
|
|
|
+ .port_names[3] = "cpu",
|
|
|
+};
|
|
|
+
|
|
|
+static struct platform_device ksz8893m_switch_device = {
|
|
|
+ .name = "dsa",
|
|
|
+ .id = 0,
|
|
|
+ .num_resources = 0,
|
|
|
+ .dev.platform_data = &ksz8893m_switch_data,
|
|
|
};
|
|
|
#endif
|
|
|
|
|
@@ -147,6 +171,15 @@ static struct bfin5xx_spi_chip spi_adc_chip_info = {
|
|
|
};
|
|
|
#endif
|
|
|
|
|
|
+#if defined(CONFIG_NET_DSA_KSZ8893M) \
|
|
|
+ || defined(CONFIG_NET_DSA_KSZ8893M_MODULE)
|
|
|
+/* SPI SWITCH CHIP */
|
|
|
+static struct bfin5xx_spi_chip spi_switch_info = {
|
|
|
+ .enable_dma = 0,
|
|
|
+ .bits_per_word = 8,
|
|
|
+};
|
|
|
+#endif
|
|
|
+
|
|
|
#if defined(CONFIG_SPI_MMC) || defined(CONFIG_SPI_MMC_MODULE)
|
|
|
static struct bfin5xx_spi_chip spi_mmc_chip_info = {
|
|
|
.enable_dma = 1,
|
|
@@ -226,6 +259,19 @@ static struct spi_board_info bfin_spi_board_info[] __initdata = {
|
|
|
},
|
|
|
#endif
|
|
|
|
|
|
+#if defined(CONFIG_NET_DSA_KSZ8893M) \
|
|
|
+ || defined(CONFIG_NET_DSA_KSZ8893M_MODULE)
|
|
|
+ {
|
|
|
+ .modalias = "ksz8893m",
|
|
|
+ .max_speed_hz = 5000000,
|
|
|
+ .bus_num = 0,
|
|
|
+ .chip_select = 1,
|
|
|
+ .platform_data = NULL,
|
|
|
+ .controller_data = &spi_switch_info,
|
|
|
+ .mode = SPI_MODE_3,
|
|
|
+ },
|
|
|
+#endif
|
|
|
+
|
|
|
#if defined(CONFIG_SPI_MMC) || defined(CONFIG_SPI_MMC_MODULE)
|
|
|
{
|
|
|
.modalias = "spi_mmc_dummy",
|
|
@@ -582,9 +628,14 @@ static struct platform_device *stamp_devices[] __initdata = {
|
|
|
#endif
|
|
|
|
|
|
#if defined(CONFIG_BFIN_MAC) || defined(CONFIG_BFIN_MAC_MODULE)
|
|
|
+ &bfin_mii_bus,
|
|
|
&bfin_mac_device,
|
|
|
#endif
|
|
|
|
|
|
+#if defined(CONFIG_NET_DSA_KSZ8893M) || defined(CONFIG_NET_DSA_KSZ8893M_MODULE)
|
|
|
+ &ksz8893m_switch_device,
|
|
|
+#endif
|
|
|
+
|
|
|
#if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE)
|
|
|
&bfin_spi0_device,
|
|
|
&bfin_spi1_device,
|