|
@@ -191,3 +191,144 @@ static struct resource gpio_resources[] = {
|
|
.flags = IORESOURCE_IRQ,
|
|
.flags = IORESOURCE_IRQ,
|
|
},
|
|
},
|
|
{
|
|
{
|
|
|
|
+ .name = "gpio4",
|
|
|
|
+ .start = IRQ_U300_GPIO_PORT4,
|
|
|
|
+ .end = IRQ_U300_GPIO_PORT4,
|
|
|
|
+ .flags = IORESOURCE_IRQ,
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ .name = "gpio5",
|
|
|
|
+ .start = IRQ_U300_GPIO_PORT5,
|
|
|
|
+ .end = IRQ_U300_GPIO_PORT5,
|
|
|
|
+ .flags = IORESOURCE_IRQ,
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ .name = "gpio6",
|
|
|
|
+ .start = IRQ_U300_GPIO_PORT6,
|
|
|
|
+ .end = IRQ_U300_GPIO_PORT6,
|
|
|
|
+ .flags = IORESOURCE_IRQ,
|
|
|
|
+ },
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+static struct resource keypad_resources[] = {
|
|
|
|
+ {
|
|
|
|
+ .start = U300_KEYPAD_BASE,
|
|
|
|
+ .end = U300_KEYPAD_BASE + SZ_4K - 1,
|
|
|
|
+ .flags = IORESOURCE_MEM,
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ .name = "coh901461-press",
|
|
|
|
+ .start = IRQ_U300_KEYPAD_KEYBF,
|
|
|
|
+ .end = IRQ_U300_KEYPAD_KEYBF,
|
|
|
|
+ .flags = IORESOURCE_IRQ,
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ .name = "coh901461-release",
|
|
|
|
+ .start = IRQ_U300_KEYPAD_KEYBR,
|
|
|
|
+ .end = IRQ_U300_KEYPAD_KEYBR,
|
|
|
|
+ .flags = IORESOURCE_IRQ,
|
|
|
|
+ },
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+static struct resource rtc_resources[] = {
|
|
|
|
+ {
|
|
|
|
+ .start = U300_RTC_BASE,
|
|
|
|
+ .end = U300_RTC_BASE + SZ_4K - 1,
|
|
|
|
+ .flags = IORESOURCE_MEM,
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ .start = IRQ_U300_RTC,
|
|
|
|
+ .end = IRQ_U300_RTC,
|
|
|
|
+ .flags = IORESOURCE_IRQ,
|
|
|
|
+ },
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+/*
|
|
|
|
+ * Fsmc does have IRQs: #43 and #44 (NFIF and NFIF2)
|
|
|
|
+ * but these are not yet used by the driver.
|
|
|
|
+ */
|
|
|
|
+static struct resource fsmc_resources[] = {
|
|
|
|
+ {
|
|
|
|
+ .name = "nand_addr",
|
|
|
|
+ .start = U300_NAND_CS0_PHYS_BASE + PLAT_NAND_ALE,
|
|
|
|
+ .end = U300_NAND_CS0_PHYS_BASE + PLAT_NAND_ALE + SZ_16K - 1,
|
|
|
|
+ .flags = IORESOURCE_MEM,
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ .name = "nand_cmd",
|
|
|
|
+ .start = U300_NAND_CS0_PHYS_BASE + PLAT_NAND_CLE,
|
|
|
|
+ .end = U300_NAND_CS0_PHYS_BASE + PLAT_NAND_CLE + SZ_16K - 1,
|
|
|
|
+ .flags = IORESOURCE_MEM,
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ .name = "nand_data",
|
|
|
|
+ .start = U300_NAND_CS0_PHYS_BASE,
|
|
|
|
+ .end = U300_NAND_CS0_PHYS_BASE + SZ_16K - 1,
|
|
|
|
+ .flags = IORESOURCE_MEM,
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ .name = "fsmc_regs",
|
|
|
|
+ .start = U300_NAND_IF_PHYS_BASE,
|
|
|
|
+ .end = U300_NAND_IF_PHYS_BASE + SZ_4K - 1,
|
|
|
|
+ .flags = IORESOURCE_MEM,
|
|
|
|
+ },
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+static struct resource i2c0_resources[] = {
|
|
|
|
+ {
|
|
|
|
+ .start = U300_I2C0_BASE,
|
|
|
|
+ .end = U300_I2C0_BASE + SZ_4K - 1,
|
|
|
|
+ .flags = IORESOURCE_MEM,
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ .start = IRQ_U300_I2C0,
|
|
|
|
+ .end = IRQ_U300_I2C0,
|
|
|
|
+ .flags = IORESOURCE_IRQ,
|
|
|
|
+ },
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+static struct resource i2c1_resources[] = {
|
|
|
|
+ {
|
|
|
|
+ .start = U300_I2C1_BASE,
|
|
|
|
+ .end = U300_I2C1_BASE + SZ_4K - 1,
|
|
|
|
+ .flags = IORESOURCE_MEM,
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ .start = IRQ_U300_I2C1,
|
|
|
|
+ .end = IRQ_U300_I2C1,
|
|
|
|
+ .flags = IORESOURCE_IRQ,
|
|
|
|
+ },
|
|
|
|
+
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+static struct resource wdog_resources[] = {
|
|
|
|
+ {
|
|
|
|
+ .start = U300_WDOG_BASE,
|
|
|
|
+ .end = U300_WDOG_BASE + SZ_4K - 1,
|
|
|
|
+ .flags = IORESOURCE_MEM,
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ .start = IRQ_U300_WDOG,
|
|
|
|
+ .end = IRQ_U300_WDOG,
|
|
|
|
+ .flags = IORESOURCE_IRQ,
|
|
|
|
+ }
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+static struct resource dma_resource[] = {
|
|
|
|
+ {
|
|
|
|
+ .start = U300_DMAC_BASE,
|
|
|
|
+ .end = U300_DMAC_BASE + PAGE_SIZE - 1,
|
|
|
|
+ .flags = IORESOURCE_MEM,
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ .start = IRQ_U300_DMA,
|
|
|
|
+ .end = IRQ_U300_DMA,
|
|
|
|
+ .flags = IORESOURCE_IRQ,
|
|
|
|
+ }
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+/* points out all dma slave channels.
|
|
|
|
+ * Syntax is [A1, B1, A2, B2, .... ,-1,-1]
|
|
|
|
+ * Select all channels from A to B, end of list is marked with -1,-1
|
|
|
|
+ */
|
|
|
|
+static int dma_slave_channels[] = {
|