|
@@ -342,3 +342,148 @@ static struct platform_device bfin_uart0_device = {
|
|
|
.id = 0,
|
|
|
.num_resources = ARRAY_SIZE(bfin_uart0_resources),
|
|
|
.resource = bfin_uart0_resources,
|
|
|
+ .dev = {
|
|
|
+ .platform_data = &bfin_uart0_peripherals, /* Passed to driver */
|
|
|
+ },
|
|
|
+};
|
|
|
+#endif
|
|
|
+#ifdef CONFIG_SERIAL_BFIN_UART1
|
|
|
+static struct resource bfin_uart1_resources[] = {
|
|
|
+ {
|
|
|
+ .start = UART1_THR,
|
|
|
+ .end = UART1_GCTL+2,
|
|
|
+ .flags = IORESOURCE_MEM,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ .start = IRQ_UART1_TX,
|
|
|
+ .end = IRQ_UART1_TX,
|
|
|
+ .flags = IORESOURCE_IRQ,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ .start = IRQ_UART1_RX,
|
|
|
+ .end = IRQ_UART1_RX,
|
|
|
+ .flags = IORESOURCE_IRQ,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ .start = IRQ_UART1_ERROR,
|
|
|
+ .end = IRQ_UART1_ERROR,
|
|
|
+ .flags = IORESOURCE_IRQ,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ .start = CH_UART1_TX,
|
|
|
+ .end = CH_UART1_TX,
|
|
|
+ .flags = IORESOURCE_DMA,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ .start = CH_UART1_RX,
|
|
|
+ .end = CH_UART1_RX,
|
|
|
+ .flags = IORESOURCE_DMA,
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
+static unsigned short bfin_uart1_peripherals[] = {
|
|
|
+ P_UART1_TX, P_UART1_RX, 0
|
|
|
+};
|
|
|
+
|
|
|
+static struct platform_device bfin_uart1_device = {
|
|
|
+ .name = "bfin-uart",
|
|
|
+ .id = 1,
|
|
|
+ .num_resources = ARRAY_SIZE(bfin_uart1_resources),
|
|
|
+ .resource = bfin_uart1_resources,
|
|
|
+ .dev = {
|
|
|
+ .platform_data = &bfin_uart1_peripherals, /* Passed to driver */
|
|
|
+ },
|
|
|
+};
|
|
|
+#endif
|
|
|
+#endif
|
|
|
+
|
|
|
+#if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE)
|
|
|
+#ifdef CONFIG_BFIN_SIR0
|
|
|
+static struct resource bfin_sir0_resources[] = {
|
|
|
+ {
|
|
|
+ .start = 0xFFC00400,
|
|
|
+ .end = 0xFFC004FF,
|
|
|
+ .flags = IORESOURCE_MEM,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ .start = IRQ_UART0_RX,
|
|
|
+ .end = IRQ_UART0_RX+1,
|
|
|
+ .flags = IORESOURCE_IRQ,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ .start = CH_UART0_RX,
|
|
|
+ .end = CH_UART0_RX+1,
|
|
|
+ .flags = IORESOURCE_DMA,
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
+static struct platform_device bfin_sir0_device = {
|
|
|
+ .name = "bfin_sir",
|
|
|
+ .id = 0,
|
|
|
+ .num_resources = ARRAY_SIZE(bfin_sir0_resources),
|
|
|
+ .resource = bfin_sir0_resources,
|
|
|
+};
|
|
|
+#endif
|
|
|
+#ifdef CONFIG_BFIN_SIR1
|
|
|
+static struct resource bfin_sir1_resources[] = {
|
|
|
+ {
|
|
|
+ .start = 0xFFC02000,
|
|
|
+ .end = 0xFFC020FF,
|
|
|
+ .flags = IORESOURCE_MEM,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ .start = IRQ_UART1_RX,
|
|
|
+ .end = IRQ_UART1_RX+1,
|
|
|
+ .flags = IORESOURCE_IRQ,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ .start = CH_UART1_RX,
|
|
|
+ .end = CH_UART1_RX+1,
|
|
|
+ .flags = IORESOURCE_DMA,
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
+static struct platform_device bfin_sir1_device = {
|
|
|
+ .name = "bfin_sir",
|
|
|
+ .id = 1,
|
|
|
+ .num_resources = ARRAY_SIZE(bfin_sir1_resources),
|
|
|
+ .resource = bfin_sir1_resources,
|
|
|
+};
|
|
|
+#endif
|
|
|
+#endif
|
|
|
+
|
|
|
+#if defined(CONFIG_I2C_BLACKFIN_TWI) || defined(CONFIG_I2C_BLACKFIN_TWI_MODULE)
|
|
|
+static const u16 bfin_twi0_pins[] = {P_TWI0_SCL, P_TWI0_SDA, 0};
|
|
|
+
|
|
|
+static struct resource bfin_twi0_resource[] = {
|
|
|
+ [0] = {
|
|
|
+ .start = TWI0_REGBASE,
|
|
|
+ .end = TWI0_REGBASE,
|
|
|
+ .flags = IORESOURCE_MEM,
|
|
|
+ },
|
|
|
+ [1] = {
|
|
|
+ .start = IRQ_TWI,
|
|
|
+ .end = IRQ_TWI,
|
|
|
+ .flags = IORESOURCE_IRQ,
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
+static struct platform_device i2c_bfin_twi_device = {
|
|
|
+ .name = "i2c-bfin-twi",
|
|
|
+ .id = 0,
|
|
|
+ .num_resources = ARRAY_SIZE(bfin_twi0_resource),
|
|
|
+ .resource = bfin_twi0_resource,
|
|
|
+ .dev = {
|
|
|
+ .platform_data = &bfin_twi0_pins,
|
|
|
+ },
|
|
|
+};
|
|
|
+#endif
|
|
|
+
|
|
|
+#if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE)
|
|
|
+#ifdef CONFIG_SERIAL_BFIN_SPORT0_UART
|
|
|
+static struct resource bfin_sport0_uart_resources[] = {
|
|
|
+ {
|
|
|
+ .start = SPORT0_TCR1,
|
|
|
+ .end = SPORT0_MRCS3+4,
|
|
|
+ .flags = IORESOURCE_MEM,
|
|
|
+ },
|