Commit cd4a05f9 authored by Sascha Hauer's avatar Sascha Hauer

MXC: rename mxc_map_io to architecture specific versions

This allows us to have more mapping functions for more than one
i.MX architecture in the kernel. As this is the earliest board
specific hook we have, also use it to set the cpu type.
Signed-off-by: default avatarSascha Hauer <s.hauer@pengutronix.de>
parent 13e9f612
...@@ -37,7 +37,9 @@ static struct map_desc imx_io_desc[] __initdata = { ...@@ -37,7 +37,9 @@ static struct map_desc imx_io_desc[] __initdata = {
} }
}; };
void __init mxc_map_io(void) void __init mx1_map_io(void)
{ {
mxc_set_cpu_type(MXC_CPU_MX1);
iotable_init(imx_io_desc, ARRAY_SIZE(imx_io_desc)); iotable_init(imx_io_desc, ARRAY_SIZE(imx_io_desc));
} }
...@@ -198,7 +198,7 @@ MACHINE_START(MXLADS, "Freescale MXLADS") ...@@ -198,7 +198,7 @@ MACHINE_START(MXLADS, "Freescale MXLADS")
.phys_io = IMX_IO_PHYS, .phys_io = IMX_IO_PHYS,
.io_pg_offst = (IMX_IO_BASE >> 18) & 0xfffc, .io_pg_offst = (IMX_IO_BASE >> 18) & 0xfffc,
.boot_params = PHYS_OFFSET + 0x100, .boot_params = PHYS_OFFSET + 0x100,
.map_io = mxc_map_io, .map_io = mx1_map_io,
.init_irq = mxc_init_irq, .init_irq = mxc_init_irq,
.timer = &mx1ads_timer, .timer = &mx1ads_timer,
.init_machine = mx1ads_init, .init_machine = mx1ads_init,
......
...@@ -153,7 +153,7 @@ MACHINE_START(SCB9328, "Synertronixx scb9328") ...@@ -153,7 +153,7 @@ MACHINE_START(SCB9328, "Synertronixx scb9328")
.phys_io = 0x00200000, .phys_io = 0x00200000,
.io_pg_offst = ((0xe0200000) >> 18) & 0xfffc, .io_pg_offst = ((0xe0200000) >> 18) & 0xfffc,
.boot_params = 0x08000100, .boot_params = 0x08000100,
.map_io = mxc_map_io, .map_io = mx1_map_io,
.init_irq = mxc_init_irq, .init_irq = mxc_init_irq,
.timer = &scb9328_timer, .timer = &scb9328_timer,
.init_machine = scb9328_init, .init_machine = scb9328_init,
......
...@@ -69,7 +69,17 @@ static struct map_desc mxc_io_desc[] __initdata = { ...@@ -69,7 +69,17 @@ static struct map_desc mxc_io_desc[] __initdata = {
* system startup to create static physical to virtual * system startup to create static physical to virtual
* memory map for the IO modules. * memory map for the IO modules.
*/ */
void __init mxc_map_io(void) void __init mx21_map_io(void)
{ {
mxc_set_cpu_type(MXC_CPU_MX21);
iotable_init(mxc_io_desc, ARRAY_SIZE(mxc_io_desc)); iotable_init(mxc_io_desc, ARRAY_SIZE(mxc_io_desc));
} }
void __init mx27_map_io(void)
{
mxc_set_cpu_type(MXC_CPU_MX27);
iotable_init(mxc_io_desc, ARRAY_SIZE(mxc_io_desc));
}
...@@ -277,7 +277,7 @@ static struct map_desc mx27ads_io_desc[] __initdata = { ...@@ -277,7 +277,7 @@ static struct map_desc mx27ads_io_desc[] __initdata = {
static void __init mx27ads_map_io(void) static void __init mx27ads_map_io(void)
{ {
mxc_map_io(); mx27_map_io();
iotable_init(mx27ads_io_desc, ARRAY_SIZE(mx27ads_io_desc)); iotable_init(mx27ads_io_desc, ARRAY_SIZE(mx27ads_io_desc));
} }
......
...@@ -295,7 +295,7 @@ MACHINE_START(PCM038, "phyCORE-i.MX27") ...@@ -295,7 +295,7 @@ MACHINE_START(PCM038, "phyCORE-i.MX27")
.phys_io = AIPI_BASE_ADDR, .phys_io = AIPI_BASE_ADDR,
.io_pg_offst = ((AIPI_BASE_ADDR_VIRT) >> 18) & 0xfffc, .io_pg_offst = ((AIPI_BASE_ADDR_VIRT) >> 18) & 0xfffc,
.boot_params = PHYS_OFFSET + 0x100, .boot_params = PHYS_OFFSET + 0x100,
.map_io = mxc_map_io, .map_io = mx27_map_io,
.init_irq = mxc_init_irq, .init_irq = mxc_init_irq,
.init_machine = pcm038_init, .init_machine = pcm038_init,
.timer = &pcm038_timer, .timer = &pcm038_timer,
......
...@@ -440,8 +440,6 @@ int __init mx35_clocks_init() ...@@ -440,8 +440,6 @@ int __init mx35_clocks_init()
int i; int i;
unsigned int ll = 0; unsigned int ll = 0;
mxc_set_cpu_type(MXC_CPU_MX35);
#ifdef CONFIG_DEBUG_LL_CONSOLE #ifdef CONFIG_DEBUG_LL_CONSOLE
ll = (3 << 16); ll = (3 << 16);
#endif #endif
......
...@@ -566,8 +566,6 @@ int __init mx31_clocks_init(unsigned long fref) ...@@ -566,8 +566,6 @@ int __init mx31_clocks_init(unsigned long fref)
u32 reg; u32 reg;
int i; int i;
mxc_set_cpu_type(MXC_CPU_MX31);
ckih_rate = fref; ckih_rate = fref;
for (i = 0; i < ARRAY_SIZE(lookups); i++) for (i = 0; i < ARRAY_SIZE(lookups); i++)
......
...@@ -72,8 +72,17 @@ static struct map_desc mxc_io_desc[] __initdata = { ...@@ -72,8 +72,17 @@ static struct map_desc mxc_io_desc[] __initdata = {
* system startup to create static physical to virtual memory mappings * system startup to create static physical to virtual memory mappings
* for the IO modules. * for the IO modules.
*/ */
void __init mxc_map_io(void) void __init mx31_map_io(void)
{ {
mxc_set_cpu_type(MXC_CPU_MX31);
iotable_init(mxc_io_desc, ARRAY_SIZE(mxc_io_desc));
}
void __init mx35_map_io(void)
{
mxc_set_cpu_type(MXC_CPU_MX35);
iotable_init(mxc_io_desc, ARRAY_SIZE(mxc_io_desc)); iotable_init(mxc_io_desc, ARRAY_SIZE(mxc_io_desc));
} }
......
...@@ -511,7 +511,7 @@ static struct map_desc mx31ads_io_desc[] __initdata = { ...@@ -511,7 +511,7 @@ static struct map_desc mx31ads_io_desc[] __initdata = {
*/ */
static void __init mx31ads_map_io(void) static void __init mx31ads_map_io(void)
{ {
mxc_map_io(); mx31_map_io();
iotable_init(mx31ads_io_desc, ARRAY_SIZE(mx31ads_io_desc)); iotable_init(mx31ads_io_desc, ARRAY_SIZE(mx31ads_io_desc));
} }
......
...@@ -59,7 +59,7 @@ static struct map_desc mx31lite_io_desc[] __initdata = { ...@@ -59,7 +59,7 @@ static struct map_desc mx31lite_io_desc[] __initdata = {
*/ */
void __init mx31lite_map_io(void) void __init mx31lite_map_io(void)
{ {
mxc_map_io(); mx31_map_io();
iotable_init(mx31lite_io_desc, ARRAY_SIZE(mx31lite_io_desc)); iotable_init(mx31lite_io_desc, ARRAY_SIZE(mx31lite_io_desc));
} }
......
...@@ -117,7 +117,7 @@ MACHINE_START(MX31MOBOARD, "EPFL Mobots mx31moboard") ...@@ -117,7 +117,7 @@ MACHINE_START(MX31MOBOARD, "EPFL Mobots mx31moboard")
.phys_io = AIPS1_BASE_ADDR, .phys_io = AIPS1_BASE_ADDR,
.io_pg_offst = ((AIPS1_BASE_ADDR_VIRT) >> 18) & 0xfffc, .io_pg_offst = ((AIPS1_BASE_ADDR_VIRT) >> 18) & 0xfffc,
.boot_params = PHYS_OFFSET + 0x100, .boot_params = PHYS_OFFSET + 0x100,
.map_io = mxc_map_io, .map_io = mx31_map_io,
.init_irq = mxc_init_irq, .init_irq = mxc_init_irq,
.init_machine = mxc_board_init, .init_machine = mxc_board_init,
.timer = &mx31moboard_timer, .timer = &mx31moboard_timer,
......
...@@ -84,7 +84,7 @@ MACHINE_START(MX31_3DS, "Freescale MX31PDK (3DS)") ...@@ -84,7 +84,7 @@ MACHINE_START(MX31_3DS, "Freescale MX31PDK (3DS)")
.phys_io = AIPS1_BASE_ADDR, .phys_io = AIPS1_BASE_ADDR,
.io_pg_offst = ((AIPS1_BASE_ADDR_VIRT) >> 18) & 0xfffc, .io_pg_offst = ((AIPS1_BASE_ADDR_VIRT) >> 18) & 0xfffc,
.boot_params = PHYS_OFFSET + 0x100, .boot_params = PHYS_OFFSET + 0x100,
.map_io = mxc_map_io, .map_io = mx31_map_io,
.init_irq = mxc_init_irq, .init_irq = mxc_init_irq,
.init_machine = mxc_board_init, .init_machine = mxc_board_init,
.timer = &mx31pdk_timer, .timer = &mx31pdk_timer,
......
...@@ -309,7 +309,7 @@ MACHINE_START(PCM037, "Phytec Phycore pcm037") ...@@ -309,7 +309,7 @@ MACHINE_START(PCM037, "Phytec Phycore pcm037")
.phys_io = AIPS1_BASE_ADDR, .phys_io = AIPS1_BASE_ADDR,
.io_pg_offst = ((AIPS1_BASE_ADDR_VIRT) >> 18) & 0xfffc, .io_pg_offst = ((AIPS1_BASE_ADDR_VIRT) >> 18) & 0xfffc,
.boot_params = PHYS_OFFSET + 0x100, .boot_params = PHYS_OFFSET + 0x100,
.map_io = mxc_map_io, .map_io = mx31_map_io,
.init_irq = mxc_init_irq, .init_irq = mxc_init_irq,
.init_machine = mxc_board_init, .init_machine = mxc_board_init,
.timer = &pcm037_timer, .timer = &pcm037_timer,
......
...@@ -244,7 +244,7 @@ MACHINE_START(PCM043, "Phytec Phycore pcm043") ...@@ -244,7 +244,7 @@ MACHINE_START(PCM043, "Phytec Phycore pcm043")
.phys_io = AIPS1_BASE_ADDR, .phys_io = AIPS1_BASE_ADDR,
.io_pg_offst = ((AIPS1_BASE_ADDR_VIRT) >> 18) & 0xfffc, .io_pg_offst = ((AIPS1_BASE_ADDR_VIRT) >> 18) & 0xfffc,
.boot_params = PHYS_OFFSET + 0x100, .boot_params = PHYS_OFFSET + 0x100,
.map_io = mxc_map_io, .map_io = mx35_map_io,
.init_irq = mxc_init_irq, .init_irq = mxc_init_irq,
.init_machine = mxc_board_init, .init_machine = mxc_board_init,
.timer = &pcm043_timer, .timer = &pcm043_timer,
......
...@@ -14,7 +14,11 @@ ...@@ -14,7 +14,11 @@
struct platform_device; struct platform_device;
struct clk; struct clk;
extern void mxc_map_io(void); extern void mx1_map_io(void);
extern void mx21_map_io(void);
extern void mx27_map_io(void);
extern void mx31_map_io(void);
extern void mx35_map_io(void);
extern void mxc_init_irq(void); extern void mxc_init_irq(void);
extern void mxc_timer_init(struct clk *timer_clk); extern void mxc_timer_init(struct clk *timer_clk);
extern int mx1_clocks_init(unsigned long fref); extern int mx1_clocks_init(unsigned long fref);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment