|
@@ -31,8 +31,10 @@
|
|
|
#include <linux/platform_device.h>
|
|
|
#include <linux/mtd/mtd.h>
|
|
|
#include <linux/mtd/partitions.h>
|
|
|
+#include <linux/mtd/physmap.h>
|
|
|
#include <linux/spi/spi.h>
|
|
|
#include <linux/spi/flash.h>
|
|
|
+#include <linux/spi/mmc_spi.h>
|
|
|
#if defined(CONFIG_USB_ISP1362_HCD) || defined(CONFIG_USB_ISP1362_HCD_MODULE)
|
|
|
#include <linux/usb/isp1362.h>
|
|
|
#endif
|
|
@@ -141,9 +143,9 @@ static struct spi_board_info bfin_spi_board_info[] __initdata = {
|
|
|
#if defined(CONFIG_MMC_SPI) || defined(CONFIG_MMC_SPI_MODULE)
|
|
|
{
|
|
|
.modalias = "mmc_spi",
|
|
|
- .max_speed_hz = 25000000, /* max spi clock (SCK) speed in HZ */
|
|
|
+ .max_speed_hz = 20000000, /* max spi clock (SCK) speed in HZ */
|
|
|
.bus_num = 0,
|
|
|
- .chip_select = 5,
|
|
|
+ .chip_select = 1,
|
|
|
.controller_data = &mmc_spi_chip_info,
|
|
|
.mode = SPI_MODE_3,
|
|
|
},
|
|
@@ -225,6 +227,40 @@ static struct platform_device smc91x_device = {
|
|
|
};
|
|
|
#endif
|
|
|
|
|
|
+#if defined(CONFIG_SMSC911X) || defined(CONFIG_SMSC911X_MODULE)
|
|
|
+#include <linux/smsc911x.h>
|
|
|
+
|
|
|
+static struct resource smsc911x_resources[] = {
|
|
|
+ {
|
|
|
+ .name = "smsc911x-memory",
|
|
|
+ .start = 0x20308000,
|
|
|
+ .end = 0x20308000 + 0xFF,
|
|
|
+ .flags = IORESOURCE_MEM,
|
|
|
+ }, {
|
|
|
+ .start = IRQ_PF8,
|
|
|
+ .end = IRQ_PF8,
|
|
|
+ .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_LOWLEVEL,
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
+static struct smsc911x_platform_config smsc911x_config = {
|
|
|
+ .flags = SMSC911X_USE_16BIT,
|
|
|
+ .irq_polarity = SMSC911X_IRQ_POLARITY_ACTIVE_LOW,
|
|
|
+ .irq_type = SMSC911X_IRQ_TYPE_OPEN_DRAIN,
|
|
|
+ .phy_interface = PHY_INTERFACE_MODE_MII,
|
|
|
+};
|
|
|
+
|
|
|
+static struct platform_device smsc911x_device = {
|
|
|
+ .name = "smsc911x",
|
|
|
+ .id = 0,
|
|
|
+ .num_resources = ARRAY_SIZE(smsc911x_resources),
|
|
|
+ .resource = smsc911x_resources,
|
|
|
+ .dev = {
|
|
|
+ .platform_data = &smsc911x_config,
|
|
|
+ },
|
|
|
+};
|
|
|
+#endif
|
|
|
+
|
|
|
static struct resource bfin_gpios_resources = {
|
|
|
.start = 0,
|
|
|
.end = MAX_BLACKFIN_GPIOS - 1,
|
|
@@ -335,6 +371,68 @@ static struct platform_device isp1362_hcd_device = {
|
|
|
};
|
|
|
#endif
|
|
|
|
|
|
+
|
|
|
+#if defined(CONFIG_USB_NET2272) || defined(CONFIG_USB_NET2272_MODULE)
|
|
|
+static struct resource net2272_bfin_resources[] = {
|
|
|
+ {
|
|
|
+ .start = 0x20300000,
|
|
|
+ .end = 0x20300000 + 0x100,
|
|
|
+ .flags = IORESOURCE_MEM,
|
|
|
+ }, {
|
|
|
+ .start = IRQ_PF6,
|
|
|
+ .end = IRQ_PF6,
|
|
|
+ .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL,
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
+static struct platform_device net2272_bfin_device = {
|
|
|
+ .name = "net2272",
|
|
|
+ .id = -1,
|
|
|
+ .num_resources = ARRAY_SIZE(net2272_bfin_resources),
|
|
|
+ .resource = net2272_bfin_resources,
|
|
|
+};
|
|
|
+#endif
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+#if defined(CONFIG_MTD_PHYSMAP) || defined(CONFIG_MTD_PHYSMAP_MODULE)
|
|
|
+static struct mtd_partition para_partitions[] = {
|
|
|
+ {
|
|
|
+ .name = "bootloader(nor)",
|
|
|
+ .size = 0x40000,
|
|
|
+ .offset = 0,
|
|
|
+ }, {
|
|
|
+ .name = "linux+rootfs(nor)",
|
|
|
+ .size = MTDPART_SIZ_FULL,
|
|
|
+ .offset = MTDPART_OFS_APPEND,
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
+static struct physmap_flash_data para_flash_data = {
|
|
|
+ .width = 2,
|
|
|
+ .parts = para_partitions,
|
|
|
+ .nr_parts = ARRAY_SIZE(para_partitions),
|
|
|
+};
|
|
|
+
|
|
|
+static struct resource para_flash_resource = {
|
|
|
+ .start = 0x20000000,
|
|
|
+ .end = 0x201fffff,
|
|
|
+ .flags = IORESOURCE_MEM,
|
|
|
+};
|
|
|
+
|
|
|
+static struct platform_device para_flash_device = {
|
|
|
+ .name = "physmap-flash",
|
|
|
+ .id = 0,
|
|
|
+ .dev = {
|
|
|
+ .platform_data = ¶_flash_data,
|
|
|
+ },
|
|
|
+ .num_resources = 1,
|
|
|
+ .resource = ¶_flash_resource,
|
|
|
+};
|
|
|
+#endif
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
static const unsigned int cclk_vlev_datasheet[] =
|
|
|
{
|
|
|
VRPAIR(VLEV_085, 250000000),
|
|
@@ -393,10 +491,22 @@ static struct platform_device *cm_bf533_devices[] __initdata = {
|
|
|
&smc91x_device,
|
|
|
#endif
|
|
|
|
|
|
+#if defined(CONFIG_SMSC911X) || defined(CONFIG_SMSC911X_MODULE)
|
|
|
+ &smsc911x_device,
|
|
|
+#endif
|
|
|
+
|
|
|
+#if defined(CONFIG_USB_NET2272) || defined(CONFIG_USB_NET2272_MODULE)
|
|
|
+ &net2272_bfin_device,
|
|
|
+#endif
|
|
|
+
|
|
|
#if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE)
|
|
|
&bfin_spi0_device,
|
|
|
#endif
|
|
|
|
|
|
+#if defined(CONFIG_MTD_PHYSMAP) || defined(CONFIG_MTD_PHYSMAP_MODULE)
|
|
|
+ ¶_flash_device,
|
|
|
+#endif
|
|
|
+
|
|
|
&bfin_gpios_device,
|
|
|
};
|
|
|
|