diff options
Diffstat (limited to 'arch/arm/mach-imx/mm-imx25.c')
-rw-r--r-- | arch/arm/mach-imx/mm-imx25.c | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/arch/arm/mach-imx/mm-imx25.c b/arch/arm/mach-imx/mm-imx25.c index 2edec6ce8fe..02f7b5c7fa8 100644 --- a/arch/arm/mach-imx/mm-imx25.c +++ b/arch/arm/mach-imx/mm-imx25.c | |||
@@ -27,6 +27,8 @@ | |||
27 | #include <mach/hardware.h> | 27 | #include <mach/hardware.h> |
28 | #include <mach/mx25.h> | 28 | #include <mach/mx25.h> |
29 | #include <mach/iomux-v3.h> | 29 | #include <mach/iomux-v3.h> |
30 | #include <mach/gpio.h> | ||
31 | #include <mach/irqs.h> | ||
30 | 32 | ||
31 | /* | 33 | /* |
32 | * This table defines static virtual address mappings for I/O regions. | 34 | * This table defines static virtual address mappings for I/O regions. |
@@ -45,18 +47,26 @@ static struct map_desc mx25_io_desc[] __initdata = { | |||
45 | */ | 47 | */ |
46 | void __init mx25_map_io(void) | 48 | void __init mx25_map_io(void) |
47 | { | 49 | { |
50 | iotable_init(mx25_io_desc, ARRAY_SIZE(mx25_io_desc)); | ||
51 | } | ||
52 | |||
53 | void __init imx25_init_early(void) | ||
54 | { | ||
48 | mxc_set_cpu_type(MXC_CPU_MX25); | 55 | mxc_set_cpu_type(MXC_CPU_MX25); |
49 | mxc_iomux_v3_init(MX25_IO_ADDRESS(MX25_IOMUXC_BASE_ADDR)); | 56 | mxc_iomux_v3_init(MX25_IO_ADDRESS(MX25_IOMUXC_BASE_ADDR)); |
50 | mxc_arch_reset_init(MX25_IO_ADDRESS(MX25_WDOG_BASE_ADDR)); | 57 | mxc_arch_reset_init(MX25_IO_ADDRESS(MX25_WDOG_BASE_ADDR)); |
51 | |||
52 | iotable_init(mx25_io_desc, ARRAY_SIZE(mx25_io_desc)); | ||
53 | } | 58 | } |
54 | 59 | ||
55 | int imx25_register_gpios(void); | 60 | static struct mxc_gpio_port imx25_gpio_ports[] = { |
61 | DEFINE_IMX_GPIO_PORT_IRQ(MX25, 0, 1, MX25_INT_GPIO1), | ||
62 | DEFINE_IMX_GPIO_PORT_IRQ(MX25, 1, 2, MX25_INT_GPIO2), | ||
63 | DEFINE_IMX_GPIO_PORT_IRQ(MX25, 2, 3, MX25_INT_GPIO3), | ||
64 | DEFINE_IMX_GPIO_PORT_IRQ(MX25, 3, 4, MX25_INT_GPIO4), | ||
65 | }; | ||
56 | 66 | ||
57 | void __init mx25_init_irq(void) | 67 | void __init mx25_init_irq(void) |
58 | { | 68 | { |
59 | mxc_init_irq(MX25_IO_ADDRESS(MX25_AVIC_BASE_ADDR)); | 69 | mxc_init_irq(MX25_IO_ADDRESS(MX25_AVIC_BASE_ADDR)); |
60 | imx25_register_gpios(); | 70 | mxc_gpio_init(imx25_gpio_ports, ARRAY_SIZE(imx25_gpio_ports)); |
61 | } | 71 | } |
62 | 72 | ||