diff options
Diffstat (limited to 'arch/arm/mach-mx5/devices.c')
-rw-r--r-- | arch/arm/mach-mx5/devices.c | 51 |
1 files changed, 43 insertions, 8 deletions
diff --git a/arch/arm/mach-mx5/devices.c b/arch/arm/mach-mx5/devices.c index 4c7be87a7c9d..1bda5cb339dc 100644 --- a/arch/arm/mach-mx5/devices.c +++ b/arch/arm/mach-mx5/devices.c | |||
@@ -97,19 +97,27 @@ struct platform_device mxc_usbh1_device = { | |||
97 | }, | 97 | }, |
98 | }; | 98 | }; |
99 | 99 | ||
100 | static struct resource mxc_wdt_resources[] = { | 100 | static struct resource usbh2_resources[] = { |
101 | { | 101 | { |
102 | .start = MX51_WDOG_BASE_ADDR, | 102 | .start = MX51_OTG_BASE_ADDR + 0x400, |
103 | .end = MX51_WDOG_BASE_ADDR + SZ_16K - 1, | 103 | .end = MX51_OTG_BASE_ADDR + 0x400 + 0x1ff, |
104 | .flags = IORESOURCE_MEM, | 104 | .flags = IORESOURCE_MEM, |
105 | }, | 105 | }, |
106 | { | ||
107 | .start = MX51_MXC_INT_USB_H2, | ||
108 | .flags = IORESOURCE_IRQ, | ||
109 | }, | ||
106 | }; | 110 | }; |
107 | 111 | ||
108 | struct platform_device mxc_wdt = { | 112 | struct platform_device mxc_usbh2_device = { |
109 | .name = "imx2-wdt", | 113 | .name = "mxc-ehci", |
110 | .id = 0, | 114 | .id = 2, |
111 | .num_resources = ARRAY_SIZE(mxc_wdt_resources), | 115 | .num_resources = ARRAY_SIZE(usbh2_resources), |
112 | .resource = mxc_wdt_resources, | 116 | .resource = usbh2_resources, |
117 | .dev = { | ||
118 | .dma_mask = &usb_dma_mask, | ||
119 | .coherent_dma_mask = DMA_BIT_MASK(32), | ||
120 | }, | ||
113 | }; | 121 | }; |
114 | 122 | ||
115 | static struct resource mxc_kpp_resources[] = { | 123 | static struct resource mxc_kpp_resources[] = { |
@@ -160,9 +168,36 @@ static struct mxc_gpio_port mxc_gpio_ports[] = { | |||
160 | .irq_high = MX51_MXC_INT_GPIO4_HIGH, | 168 | .irq_high = MX51_MXC_INT_GPIO4_HIGH, |
161 | .virtual_irq_start = MXC_GPIO_IRQ_START + 32 * 3 | 169 | .virtual_irq_start = MXC_GPIO_IRQ_START + 32 * 3 |
162 | }, | 170 | }, |
171 | { | ||
172 | .chip.label = "gpio-4", | ||
173 | .base = MX53_IO_ADDRESS(MX53_GPIO5_BASE_ADDR), | ||
174 | .irq = MX53_INT_GPIO5_LOW, | ||
175 | .irq_high = MX53_INT_GPIO5_HIGH, | ||
176 | .virtual_irq_start = MXC_GPIO_IRQ_START + 32 * 4 | ||
177 | }, | ||
178 | { | ||
179 | .chip.label = "gpio-5", | ||
180 | .base = MX53_IO_ADDRESS(MX53_GPIO6_BASE_ADDR), | ||
181 | .irq = MX53_INT_GPIO6_LOW, | ||
182 | .irq_high = MX53_INT_GPIO6_HIGH, | ||
183 | .virtual_irq_start = MXC_GPIO_IRQ_START + 32 * 5 | ||
184 | }, | ||
185 | { | ||
186 | .chip.label = "gpio-6", | ||
187 | .base = MX53_IO_ADDRESS(MX53_GPIO7_BASE_ADDR), | ||
188 | .irq = MX53_INT_GPIO7_LOW, | ||
189 | .irq_high = MX53_INT_GPIO7_HIGH, | ||
190 | .virtual_irq_start = MXC_GPIO_IRQ_START + 32 * 6 | ||
191 | }, | ||
163 | }; | 192 | }; |
164 | 193 | ||
165 | int __init imx51_register_gpios(void) | 194 | int __init imx51_register_gpios(void) |
166 | { | 195 | { |
196 | return mxc_gpio_init(mxc_gpio_ports, 4); | ||
197 | } | ||
198 | |||
199 | int __init imx53_register_gpios(void) | ||
200 | { | ||
167 | return mxc_gpio_init(mxc_gpio_ports, ARRAY_SIZE(mxc_gpio_ports)); | 201 | return mxc_gpio_init(mxc_gpio_ports, ARRAY_SIZE(mxc_gpio_ports)); |
168 | } | 202 | } |
203 | |||