ARM: mx5: use .init_early to initialize cpu type, reset address and iomuxer
This used to be done in .map_io which is supposed to only setup the memory mapping. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
This commit is contained in:
parent
97976e223b
commit
ab13042126
|
@ -294,7 +294,8 @@ MACHINE_START(EUKREA_CPUIMX51, "Eukrea CPUIMX51 Module")
|
||||||
/* Maintainer: Eric Bénard <eric@eukrea.com> */
|
/* Maintainer: Eric Bénard <eric@eukrea.com> */
|
||||||
.boot_params = MX51_PHYS_OFFSET + 0x100,
|
.boot_params = MX51_PHYS_OFFSET + 0x100,
|
||||||
.map_io = mx51_map_io,
|
.map_io = mx51_map_io,
|
||||||
|
.init_early = imx51_init_early,
|
||||||
.init_irq = mx51_init_irq,
|
.init_irq = mx51_init_irq,
|
||||||
.init_machine = eukrea_cpuimx51_init,
|
|
||||||
.timer = &mxc_timer,
|
.timer = &mxc_timer,
|
||||||
|
.init_machine = eukrea_cpuimx51_init,
|
||||||
MACHINE_END
|
MACHINE_END
|
||||||
|
|
|
@ -329,7 +329,8 @@ MACHINE_START(EUKREA_CPUIMX51SD, "Eukrea CPUIMX51SD")
|
||||||
/* Maintainer: Eric Bénard <eric@eukrea.com> */
|
/* Maintainer: Eric Bénard <eric@eukrea.com> */
|
||||||
.boot_params = MX51_PHYS_OFFSET + 0x100,
|
.boot_params = MX51_PHYS_OFFSET + 0x100,
|
||||||
.map_io = mx51_map_io,
|
.map_io = mx51_map_io,
|
||||||
|
.init_early = imx51_init_early,
|
||||||
.init_irq = mx51_init_irq,
|
.init_irq = mx51_init_irq,
|
||||||
.init_machine = eukrea_cpuimx51sd_init,
|
|
||||||
.timer = &mxc_timer,
|
.timer = &mxc_timer,
|
||||||
|
.init_machine = eukrea_cpuimx51sd_init,
|
||||||
MACHINE_END
|
MACHINE_END
|
||||||
|
|
|
@ -216,7 +216,8 @@ static struct sys_timer mx50_rdp_timer = {
|
||||||
|
|
||||||
MACHINE_START(MX50_RDP, "Freescale MX50 Reference Design Platform")
|
MACHINE_START(MX50_RDP, "Freescale MX50 Reference Design Platform")
|
||||||
.map_io = mx50_map_io,
|
.map_io = mx50_map_io,
|
||||||
|
.init_early = imx50_init_early,
|
||||||
.init_irq = mx50_init_irq,
|
.init_irq = mx50_init_irq,
|
||||||
.init_machine = mx50_rdp_board_init,
|
|
||||||
.timer = &mx50_rdp_timer,
|
.timer = &mx50_rdp_timer,
|
||||||
|
.init_machine = mx50_rdp_board_init,
|
||||||
MACHINE_END
|
MACHINE_END
|
||||||
|
|
|
@ -168,7 +168,8 @@ MACHINE_START(MX51_3DS, "Freescale MX51 3-Stack Board")
|
||||||
/* Maintainer: Freescale Semiconductor, Inc. */
|
/* Maintainer: Freescale Semiconductor, Inc. */
|
||||||
.boot_params = MX51_PHYS_OFFSET + 0x100,
|
.boot_params = MX51_PHYS_OFFSET + 0x100,
|
||||||
.map_io = mx51_map_io,
|
.map_io = mx51_map_io,
|
||||||
|
.init_early = imx51_init_early,
|
||||||
.init_irq = mx51_init_irq,
|
.init_irq = mx51_init_irq,
|
||||||
.init_machine = mxc_board_init,
|
|
||||||
.timer = &mxc_timer,
|
.timer = &mxc_timer,
|
||||||
|
.init_machine = mxc_board_init,
|
||||||
MACHINE_END
|
MACHINE_END
|
||||||
|
|
|
@ -398,7 +398,8 @@ MACHINE_START(MX51_BABBAGE, "Freescale MX51 Babbage Board")
|
||||||
/* Maintainer: Amit Kucheria <amit.kucheria@canonical.com> */
|
/* Maintainer: Amit Kucheria <amit.kucheria@canonical.com> */
|
||||||
.boot_params = MX51_PHYS_OFFSET + 0x100,
|
.boot_params = MX51_PHYS_OFFSET + 0x100,
|
||||||
.map_io = mx51_map_io,
|
.map_io = mx51_map_io,
|
||||||
|
.init_early = imx51_init_early,
|
||||||
.init_irq = mx51_init_irq,
|
.init_irq = mx51_init_irq,
|
||||||
.init_machine = mxc_board_init,
|
|
||||||
.timer = &mxc_timer,
|
.timer = &mxc_timer,
|
||||||
|
.init_machine = mxc_board_init,
|
||||||
MACHINE_END
|
MACHINE_END
|
||||||
|
|
|
@ -347,7 +347,8 @@ MACHINE_START(MX51_EFIKAMX, "Genesi EfikaMX nettop")
|
||||||
/* Maintainer: Amit Kucheria <amit.kucheria@linaro.org> */
|
/* Maintainer: Amit Kucheria <amit.kucheria@linaro.org> */
|
||||||
.boot_params = MX51_PHYS_OFFSET + 0x100,
|
.boot_params = MX51_PHYS_OFFSET + 0x100,
|
||||||
.map_io = mx51_map_io,
|
.map_io = mx51_map_io,
|
||||||
|
.init_early = imx51_init_early,
|
||||||
.init_irq = mx51_init_irq,
|
.init_irq = mx51_init_irq,
|
||||||
.init_machine = mxc_board_init,
|
|
||||||
.timer = &mxc_timer,
|
.timer = &mxc_timer,
|
||||||
|
.init_machine = mxc_board_init,
|
||||||
MACHINE_END
|
MACHINE_END
|
||||||
|
|
|
@ -150,7 +150,8 @@ static struct sys_timer mx53_evk_timer = {
|
||||||
|
|
||||||
MACHINE_START(MX53_EVK, "Freescale MX53 EVK Board")
|
MACHINE_START(MX53_EVK, "Freescale MX53 EVK Board")
|
||||||
.map_io = mx53_map_io,
|
.map_io = mx53_map_io,
|
||||||
|
.init_early = imx53_init_early,
|
||||||
.init_irq = mx53_init_irq,
|
.init_irq = mx53_init_irq,
|
||||||
.init_machine = mx53_evk_board_init,
|
|
||||||
.timer = &mx53_evk_timer,
|
.timer = &mx53_evk_timer,
|
||||||
|
.init_machine = mx53_evk_board_init,
|
||||||
MACHINE_END
|
MACHINE_END
|
||||||
|
|
|
@ -82,7 +82,8 @@ static struct sys_timer mx53_loco_timer = {
|
||||||
|
|
||||||
MACHINE_START(MX53_LOCO, "Freescale MX53 LOCO Board")
|
MACHINE_START(MX53_LOCO, "Freescale MX53 LOCO Board")
|
||||||
.map_io = mx53_map_io,
|
.map_io = mx53_map_io,
|
||||||
|
.init_early = imx53_init_early,
|
||||||
.init_irq = mx53_init_irq,
|
.init_irq = mx53_init_irq,
|
||||||
.init_machine = mx53_loco_board_init,
|
|
||||||
.timer = &mx53_loco_timer,
|
.timer = &mx53_loco_timer,
|
||||||
|
.init_machine = mx53_loco_board_init,
|
||||||
MACHINE_END
|
MACHINE_END
|
||||||
|
|
|
@ -103,7 +103,8 @@ static struct sys_timer mx53_smd_timer = {
|
||||||
|
|
||||||
MACHINE_START(MX53_SMD, "Freescale MX53 SMD Board")
|
MACHINE_START(MX53_SMD, "Freescale MX53 SMD Board")
|
||||||
.map_io = mx53_map_io,
|
.map_io = mx53_map_io,
|
||||||
|
.init_early = imx53_init_early,
|
||||||
.init_irq = mx53_init_irq,
|
.init_irq = mx53_init_irq,
|
||||||
.init_machine = mx53_smd_board_init,
|
|
||||||
.timer = &mx53_smd_timer,
|
.timer = &mx53_smd_timer,
|
||||||
|
.init_machine = mx53_smd_board_init,
|
||||||
MACHINE_END
|
MACHINE_END
|
||||||
|
|
|
@ -43,11 +43,15 @@ static struct map_desc mx50_io_desc[] __initdata = {
|
||||||
* for the IO modules.
|
* for the IO modules.
|
||||||
*/
|
*/
|
||||||
void __init mx50_map_io(void)
|
void __init mx50_map_io(void)
|
||||||
|
{
|
||||||
|
iotable_init(mx50_io_desc, ARRAY_SIZE(mx50_io_desc));
|
||||||
|
}
|
||||||
|
|
||||||
|
void __init imx50_init_early(void)
|
||||||
{
|
{
|
||||||
mxc_set_cpu_type(MXC_CPU_MX50);
|
mxc_set_cpu_type(MXC_CPU_MX50);
|
||||||
mxc_iomux_v3_init(MX50_IO_ADDRESS(MX50_IOMUXC_BASE_ADDR));
|
mxc_iomux_v3_init(MX50_IO_ADDRESS(MX50_IOMUXC_BASE_ADDR));
|
||||||
mxc_arch_reset_init(MX50_IO_ADDRESS(MX50_WDOG_BASE_ADDR));
|
mxc_arch_reset_init(MX50_IO_ADDRESS(MX50_WDOG_BASE_ADDR));
|
||||||
iotable_init(mx50_io_desc, ARRAY_SIZE(mx50_io_desc));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int imx50_register_gpios(void);
|
int imx50_register_gpios(void);
|
||||||
|
|
|
@ -46,19 +46,27 @@ static struct map_desc mx53_io_desc[] __initdata = {
|
||||||
* for the IO modules.
|
* for the IO modules.
|
||||||
*/
|
*/
|
||||||
void __init mx51_map_io(void)
|
void __init mx51_map_io(void)
|
||||||
|
{
|
||||||
|
iotable_init(mx51_io_desc, ARRAY_SIZE(mx51_io_desc));
|
||||||
|
}
|
||||||
|
|
||||||
|
void __init imx51_init_early(void)
|
||||||
{
|
{
|
||||||
mxc_set_cpu_type(MXC_CPU_MX51);
|
mxc_set_cpu_type(MXC_CPU_MX51);
|
||||||
mxc_iomux_v3_init(MX51_IO_ADDRESS(MX51_IOMUXC_BASE_ADDR));
|
mxc_iomux_v3_init(MX51_IO_ADDRESS(MX51_IOMUXC_BASE_ADDR));
|
||||||
mxc_arch_reset_init(MX51_IO_ADDRESS(MX51_WDOG1_BASE_ADDR));
|
mxc_arch_reset_init(MX51_IO_ADDRESS(MX51_WDOG1_BASE_ADDR));
|
||||||
iotable_init(mx51_io_desc, ARRAY_SIZE(mx51_io_desc));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void __init mx53_map_io(void)
|
void __init mx53_map_io(void)
|
||||||
|
{
|
||||||
|
iotable_init(mx53_io_desc, ARRAY_SIZE(mx53_io_desc));
|
||||||
|
}
|
||||||
|
|
||||||
|
void __init imx53_init_early(void)
|
||||||
{
|
{
|
||||||
mxc_set_cpu_type(MXC_CPU_MX53);
|
mxc_set_cpu_type(MXC_CPU_MX53);
|
||||||
mxc_iomux_v3_init(MX53_IO_ADDRESS(MX53_IOMUXC_BASE_ADDR));
|
mxc_iomux_v3_init(MX53_IO_ADDRESS(MX53_IOMUXC_BASE_ADDR));
|
||||||
mxc_arch_reset_init(MX53_IO_ADDRESS(MX53_WDOG_BASE_ADDR));
|
mxc_arch_reset_init(MX53_IO_ADDRESS(MX53_WDOG_BASE_ADDR));
|
||||||
iotable_init(mx53_io_desc, ARRAY_SIZE(mx53_io_desc));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int imx51_register_gpios(void);
|
int imx51_register_gpios(void);
|
||||||
|
|
|
@ -31,6 +31,8 @@ extern void imx27_init_early(void);
|
||||||
extern void imx31_init_early(void);
|
extern void imx31_init_early(void);
|
||||||
extern void imx35_init_early(void);
|
extern void imx35_init_early(void);
|
||||||
extern void imx50_init_early(void);
|
extern void imx50_init_early(void);
|
||||||
|
extern void imx51_init_early(void);
|
||||||
|
extern void imx53_init_early(void);
|
||||||
extern void mxc_init_irq(void __iomem *);
|
extern void mxc_init_irq(void __iomem *);
|
||||||
extern void tzic_init_irq(void __iomem *);
|
extern void tzic_init_irq(void __iomem *);
|
||||||
extern void mx1_init_irq(void);
|
extern void mx1_init_irq(void);
|
||||||
|
|
Loading…
Reference in New Issue