From 3dac219615b88010601ee52e7b5fd1c32ef789ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= Date: Mon, 7 Feb 2011 16:35:19 +0100 Subject: ARM: imx: use .init_early to initialize cpu type and reset address MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This used to be done in .map_io which is supposed to only setup the memory mapping. Signed-off-by: Uwe Kleine-König Signed-off-by: Sascha Hauer --- arch/arm/mach-imx/mm-imx27.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'arch/arm/mach-imx/mm-imx27.c') diff --git a/arch/arm/mach-imx/mm-imx27.c b/arch/arm/mach-imx/mm-imx27.c index 374e48b7a412..bcaa3b69c456 100644 --- a/arch/arm/mach-imx/mm-imx27.c +++ b/arch/arm/mach-imx/mm-imx27.c @@ -55,11 +55,14 @@ static struct map_desc imx27_io_desc[] __initdata = { * memory map for the IO modules. */ void __init mx27_map_io(void) +{ + iotable_init(imx27_io_desc, ARRAY_SIZE(imx27_io_desc)); +} + +void __init imx27_init_early(void) { mxc_set_cpu_type(MXC_CPU_MX27); mxc_arch_reset_init(MX27_IO_ADDRESS(MX27_WDOG_BASE_ADDR)); - - iotable_init(imx27_io_desc, ARRAY_SIZE(imx27_io_desc)); } int imx27_register_gpios(void); -- cgit v1.2.3 From 5ae30b477e9fb7319e2976fbf3521c0fac2625f1 Mon Sep 17 00:00:00 2001 From: Sascha Hauer Date: Thu, 17 Feb 2011 14:43:48 +0100 Subject: ARM i.MX: Move gpio initialization to SoC specific files This saves us from soc level dispatching in generic files Signed-off-by: Sascha Hauer --- arch/arm/mach-imx/mm-imx27.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'arch/arm/mach-imx/mm-imx27.c') diff --git a/arch/arm/mach-imx/mm-imx27.c b/arch/arm/mach-imx/mm-imx27.c index bcaa3b69c456..e172e3ed3340 100644 --- a/arch/arm/mach-imx/mm-imx27.c +++ b/arch/arm/mach-imx/mm-imx27.c @@ -24,6 +24,8 @@ #include #include #include +#include +#include /* MX27 memory map definition */ static struct map_desc imx27_io_desc[] __initdata = { @@ -65,10 +67,17 @@ void __init imx27_init_early(void) mxc_arch_reset_init(MX27_IO_ADDRESS(MX27_WDOG_BASE_ADDR)); } -int imx27_register_gpios(void); +static struct mxc_gpio_port imx27_gpio_ports[] = { + DEFINE_IMX_GPIO_PORT_IRQ(MX27, 0, 1, MX27_INT_GPIO), + DEFINE_IMX_GPIO_PORT(MX27, 1, 2), + DEFINE_IMX_GPIO_PORT(MX27, 2, 3), + DEFINE_IMX_GPIO_PORT(MX27, 3, 4), + DEFINE_IMX_GPIO_PORT(MX27, 4, 5), + DEFINE_IMX_GPIO_PORT(MX27, 5, 6), +}; void __init mx27_init_irq(void) { mxc_init_irq(MX27_IO_ADDRESS(MX27_AVIC_BASE_ADDR)); - imx27_register_gpios(); + mxc_gpio_init(imx27_gpio_ports, ARRAY_SIZE(imx27_gpio_ports)); } -- cgit v1.2.3 From ff255feba1c575311378a3d7a3867e46549c8aa6 Mon Sep 17 00:00:00 2001 From: Sascha Hauer Date: Thu, 17 Feb 2011 15:08:12 +0100 Subject: ARM i.MX: iomux v1 initialization away from initcall This saves us from soc level dispatching in generic files Signed-off-by: Sascha Hauer --- arch/arm/mach-imx/mm-imx27.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'arch/arm/mach-imx/mm-imx27.c') diff --git a/arch/arm/mach-imx/mm-imx27.c b/arch/arm/mach-imx/mm-imx27.c index e172e3ed3340..a6761a39f08c 100644 --- a/arch/arm/mach-imx/mm-imx27.c +++ b/arch/arm/mach-imx/mm-imx27.c @@ -26,6 +26,7 @@ #include #include #include +#include /* MX27 memory map definition */ static struct map_desc imx27_io_desc[] __initdata = { @@ -65,6 +66,8 @@ void __init imx27_init_early(void) { mxc_set_cpu_type(MXC_CPU_MX27); mxc_arch_reset_init(MX27_IO_ADDRESS(MX27_WDOG_BASE_ADDR)); + imx_iomuxv1_init(MX27_IO_ADDRESS(MX27_GPIO_BASE_ADDR), + MX27_NUM_GPIO_PORT); } static struct mxc_gpio_port imx27_gpio_ports[] = { -- cgit v1.2.3