aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-exynos/mach-exynos5-dt.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-exynos/mach-exynos5-dt.c')
-rw-r--r--arch/arm/mach-exynos/mach-exynos5-dt.c31
1 files changed, 22 insertions, 9 deletions
diff --git a/arch/arm/mach-exynos/mach-exynos5-dt.c b/arch/arm/mach-exynos/mach-exynos5-dt.c
index db1cd8eacf2..4db2ee1238b 100644
--- a/arch/arm/mach-exynos/mach-exynos5-dt.c
+++ b/arch/arm/mach-exynos/mach-exynos5-dt.c
@@ -75,20 +75,33 @@ static const struct of_dev_auxdata exynos5250_auxdata_lookup[] __initconst = {
75 {}, 75 {},
76}; 76};
77 77
78static void __init exynos5250_dt_map_io(void) 78static const struct of_dev_auxdata exynos5440_auxdata_lookup[] __initconst = {
79 OF_DEV_AUXDATA("samsung,exynos4210-uart", EXYNOS5440_PA_UART0,
80 "exynos4210-uart.0", NULL),
81 {},
82};
83
84static void __init exynos5_dt_map_io(void)
79{ 85{
80 exynos_init_io(NULL, 0); 86 exynos_init_io(NULL, 0);
81 s3c24xx_init_clocks(24000000); 87
88 if (of_machine_is_compatible("samsung,exynos5250"))
89 s3c24xx_init_clocks(24000000);
82} 90}
83 91
84static void __init exynos5250_dt_machine_init(void) 92static void __init exynos5_dt_machine_init(void)
85{ 93{
86 of_platform_populate(NULL, of_default_bus_match_table, 94 if (of_machine_is_compatible("samsung,exynos5250"))
87 exynos5250_auxdata_lookup, NULL); 95 of_platform_populate(NULL, of_default_bus_match_table,
96 exynos5250_auxdata_lookup, NULL);
97 else if (of_machine_is_compatible("samsung,exynos5440"))
98 of_platform_populate(NULL, of_default_bus_match_table,
99 exynos5440_auxdata_lookup, NULL);
88} 100}
89 101
90static char const *exynos5250_dt_compat[] __initdata = { 102static char const *exynos5_dt_compat[] __initdata = {
91 "samsung,exynos5250", 103 "samsung,exynos5250",
104 "samsung,exynos5440",
92 NULL 105 NULL
93}; 106};
94 107
@@ -96,11 +109,11 @@ DT_MACHINE_START(EXYNOS5_DT, "SAMSUNG EXYNOS5 (Flattened Device Tree)")
96 /* Maintainer: Kukjin Kim <kgene.kim@samsung.com> */ 109 /* Maintainer: Kukjin Kim <kgene.kim@samsung.com> */
97 .init_irq = exynos5_init_irq, 110 .init_irq = exynos5_init_irq,
98 .smp = smp_ops(exynos_smp_ops), 111 .smp = smp_ops(exynos_smp_ops),
99 .map_io = exynos5250_dt_map_io, 112 .map_io = exynos5_dt_map_io,
100 .handle_irq = gic_handle_irq, 113 .handle_irq = gic_handle_irq,
101 .init_machine = exynos5250_dt_machine_init, 114 .init_machine = exynos5_dt_machine_init,
102 .init_late = exynos_init_late, 115 .init_late = exynos_init_late,
103 .timer = &exynos4_timer, 116 .timer = &exynos4_timer,
104 .dt_compat = exynos5250_dt_compat, 117 .dt_compat = exynos5_dt_compat,
105 .restart = exynos5_restart, 118 .restart = exynos5_restart,
106MACHINE_END 119MACHINE_END