|
@@ -617,3 +617,155 @@ static struct platform_device bfin_sport0_uart_device = {
|
|
|
#endif
|
|
|
#ifdef CONFIG_SERIAL_BFIN_SPORT1_UART
|
|
|
static struct resource bfin_sport1_uart_resources[] = {
|
|
|
+ {
|
|
|
+ .start = SPORT1_TCR1,
|
|
|
+ .end = SPORT1_MRCS3+4,
|
|
|
+ .flags = IORESOURCE_MEM,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ .start = IRQ_SPORT1_RX,
|
|
|
+ .end = IRQ_SPORT1_RX+1,
|
|
|
+ .flags = IORESOURCE_IRQ,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ .start = IRQ_SPORT1_ERROR,
|
|
|
+ .end = IRQ_SPORT1_ERROR,
|
|
|
+ .flags = IORESOURCE_IRQ,
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
+static unsigned short bfin_sport1_peripherals[] = {
|
|
|
+ P_SPORT1_TFS, P_SPORT1_DTPRI, P_SPORT1_TSCLK, P_SPORT1_RFS,
|
|
|
+ P_SPORT1_DRPRI, P_SPORT1_RSCLK, 0
|
|
|
+};
|
|
|
+
|
|
|
+static struct platform_device bfin_sport1_uart_device = {
|
|
|
+ .name = "bfin-sport-uart",
|
|
|
+ .id = 1,
|
|
|
+ .num_resources = ARRAY_SIZE(bfin_sport1_uart_resources),
|
|
|
+ .resource = bfin_sport1_uart_resources,
|
|
|
+ .dev = {
|
|
|
+ .platform_data = &bfin_sport1_peripherals, /* Passed to driver */
|
|
|
+ },
|
|
|
+};
|
|
|
+#endif
|
|
|
+#endif
|
|
|
+#if defined(CONFIG_BFIN_SPORT) || defined(CONFIG_BFIN_SPORT_MODULE)
|
|
|
+static struct resource bfin_sport0_resources[] = {
|
|
|
+ {
|
|
|
+ .start = SPORT0_TCR1,
|
|
|
+ .end = SPORT0_MRCS3+4,
|
|
|
+ .flags = IORESOURCE_MEM,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ .start = IRQ_SPORT0_RX,
|
|
|
+ .end = IRQ_SPORT0_RX+1,
|
|
|
+ .flags = IORESOURCE_IRQ,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ .start = IRQ_SPORT0_TX,
|
|
|
+ .end = IRQ_SPORT0_TX+1,
|
|
|
+ .flags = IORESOURCE_IRQ,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ .start = IRQ_SPORT0_ERROR,
|
|
|
+ .end = IRQ_SPORT0_ERROR,
|
|
|
+ .flags = IORESOURCE_IRQ,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ .start = CH_SPORT0_TX,
|
|
|
+ .end = CH_SPORT0_TX,
|
|
|
+ .flags = IORESOURCE_DMA,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ .start = CH_SPORT0_RX,
|
|
|
+ .end = CH_SPORT0_RX,
|
|
|
+ .flags = IORESOURCE_DMA,
|
|
|
+ },
|
|
|
+};
|
|
|
+static struct platform_device bfin_sport0_device = {
|
|
|
+ .name = "bfin_sport_raw",
|
|
|
+ .id = 0,
|
|
|
+ .num_resources = ARRAY_SIZE(bfin_sport0_resources),
|
|
|
+ .resource = bfin_sport0_resources,
|
|
|
+ .dev = {
|
|
|
+ .platform_data = &bfin_sport0_peripherals, /* Passed to driver */
|
|
|
+ },
|
|
|
+};
|
|
|
+#endif
|
|
|
+
|
|
|
+#if defined(CONFIG_BFIN_MAC) || defined(CONFIG_BFIN_MAC_MODULE)
|
|
|
+#include <linux/bfin_mac.h>
|
|
|
+static const unsigned short bfin_mac_peripherals[] = P_MII0;
|
|
|
+
|
|
|
+static struct bfin_phydev_platform_data bfin_phydev_data[] = {
|
|
|
+ {
|
|
|
+ .addr = 1,
|
|
|
+ .irq = IRQ_MAC_PHYINT,
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
+static struct bfin_mii_bus_platform_data bfin_mii_bus_data = {
|
|
|
+ .phydev_number = 1,
|
|
|
+ .phydev_data = bfin_phydev_data,
|
|
|
+ .phy_mode = PHY_INTERFACE_MODE_MII,
|
|
|
+ .mac_peripherals = bfin_mac_peripherals,
|
|
|
+};
|
|
|
+
|
|
|
+static struct platform_device bfin_mii_bus = {
|
|
|
+ .name = "bfin_mii_bus",
|
|
|
+ .dev = {
|
|
|
+ .platform_data = &bfin_mii_bus_data,
|
|
|
+ }
|
|
|
+};
|
|
|
+
|
|
|
+static struct platform_device bfin_mac_device = {
|
|
|
+ .name = "bfin_mac",
|
|
|
+ .dev = {
|
|
|
+ .platform_data = &bfin_mii_bus,
|
|
|
+ }
|
|
|
+};
|
|
|
+#endif
|
|
|
+
|
|
|
+#if defined(CONFIG_PATA_PLATFORM) || defined(CONFIG_PATA_PLATFORM_MODULE)
|
|
|
+#define PATA_INT IRQ_PF14
|
|
|
+
|
|
|
+static struct pata_platform_info bfin_pata_platform_data = {
|
|
|
+ .ioport_shift = 2,
|
|
|
+ .irq_type = IRQF_TRIGGER_HIGH,
|
|
|
+};
|
|
|
+
|
|
|
+static struct resource bfin_pata_resources[] = {
|
|
|
+ {
|
|
|
+ .start = 0x2030C000,
|
|
|
+ .end = 0x2030C01F,
|
|
|
+ .flags = IORESOURCE_MEM,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ .start = 0x2030D018,
|
|
|
+ .end = 0x2030D01B,
|
|
|
+ .flags = IORESOURCE_MEM,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ .start = PATA_INT,
|
|
|
+ .end = PATA_INT,
|
|
|
+ .flags = IORESOURCE_IRQ,
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
+static struct platform_device bfin_pata_device = {
|
|
|
+ .name = "pata_platform",
|
|
|
+ .id = -1,
|
|
|
+ .num_resources = ARRAY_SIZE(bfin_pata_resources),
|
|
|
+ .resource = bfin_pata_resources,
|
|
|
+ .dev = {
|
|
|
+ .platform_data = &bfin_pata_platform_data,
|
|
|
+ }
|
|
|
+};
|
|
|
+#endif
|
|
|
+
|
|
|
+static const unsigned int cclk_vlev_datasheet[] =
|
|
|
+{
|
|
|
+ VRPAIR(VLEV_085, 250000000),
|
|
|
+ VRPAIR(VLEV_090, 376000000),
|
|
|
+ VRPAIR(VLEV_095, 426000000),
|