aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-mxs
diff options
context:
space:
mode:
authorShawn Guo <shawn.guo@linaro.org>2012-05-04 09:33:42 -0400
committerShawn Guo <shawn.guo@linaro.org>2012-05-12 01:32:17 -0400
commit2954ff395bcf69cb31dbe500bec20ce0944ea19e (patch)
treeca9c1e7e3b0f12151825c496a38a6c8268b2e499 /arch/arm/mach-mxs
parentbc3a59c1b7b1c367fec615b872bdb89ac232f62e (diff)
ARM: mxs: add initial device tree support for imx23-evk board
It adds initial device tree support for imx23-evk board, and only serial console is enabled. Signed-off-by: Shawn Guo <shawn.guo@linaro.org> Acked-by: Marek Vasut <marex@denx.de>
Diffstat (limited to 'arch/arm/mach-mxs')
-rw-r--r--arch/arm/mach-mxs/Kconfig1
-rw-r--r--arch/arm/mach-mxs/mach-mxs.c24
2 files changed, 25 insertions, 0 deletions
diff --git a/arch/arm/mach-mxs/Kconfig b/arch/arm/mach-mxs/Kconfig
index 15bb4e211a2..8138a13e23c 100644
--- a/arch/arm/mach-mxs/Kconfig
+++ b/arch/arm/mach-mxs/Kconfig
@@ -23,6 +23,7 @@ comment "MXS platforms:"
23 23
24config MACH_MXS_DT 24config MACH_MXS_DT
25 bool "Support MXS platforms from device tree" 25 bool "Support MXS platforms from device tree"
26 select SOC_IMX23
26 select SOC_IMX28 27 select SOC_IMX28
27 select USE_OF 28 select USE_OF
28 help 29 help
diff --git a/arch/arm/mach-mxs/mach-mxs.c b/arch/arm/mach-mxs/mach-mxs.c
index 5d81a23943c..182ea7529d2 100644
--- a/arch/arm/mach-mxs/mach-mxs.c
+++ b/arch/arm/mach-mxs/mach-mxs.c
@@ -41,6 +41,15 @@ static void __init mxs_dt_init_irq(void)
41 of_irq_init(mxs_irq_match); 41 of_irq_init(mxs_irq_match);
42} 42}
43 43
44static void __init imx23_timer_init(void)
45{
46 mx23_clocks_init();
47}
48
49static struct sys_timer imx23_timer = {
50 .init = imx23_timer_init,
51};
52
44static void __init imx28_timer_init(void) 53static void __init imx28_timer_init(void)
45{ 54{
46 mx28_clocks_init(); 55 mx28_clocks_init();
@@ -69,12 +78,27 @@ static void __init mxs_machine_init(void)
69 NULL, NULL); 78 NULL, NULL);
70} 79}
71 80
81static const char *imx23_dt_compat[] __initdata = {
82 "fsl,imx23-evk",
83 "fsl,imx23",
84 NULL,
85};
86
72static const char *imx28_dt_compat[] __initdata = { 87static const char *imx28_dt_compat[] __initdata = {
73 "fsl,imx28-evk", 88 "fsl,imx28-evk",
74 "fsl,imx28", 89 "fsl,imx28",
75 NULL, 90 NULL,
76}; 91};
77 92
93DT_MACHINE_START(IMX23, "Freescale i.MX23 (Device Tree)")
94 .map_io = mx23_map_io,
95 .init_irq = mxs_dt_init_irq,
96 .timer = &imx23_timer,
97 .init_machine = mxs_machine_init,
98 .dt_compat = imx23_dt_compat,
99 .restart = mxs_restart,
100MACHINE_END
101
78DT_MACHINE_START(IMX28, "Freescale i.MX28 (Device Tree)") 102DT_MACHINE_START(IMX28, "Freescale i.MX28 (Device Tree)")
79 .map_io = mx28_map_io, 103 .map_io = mx28_map_io,
80 .init_irq = mxs_dt_init_irq, 104 .init_irq = mxs_dt_init_irq,