diff options
Diffstat (limited to 'arch/arm/mach-exynos/mach-exynos5-dt.c')
-rw-r--r-- | arch/arm/mach-exynos/mach-exynos5-dt.c | 31 |
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 | ||
78 | static void __init exynos5250_dt_map_io(void) | 78 | static 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 | |||
84 | static 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 | ||
84 | static void __init exynos5250_dt_machine_init(void) | 92 | static 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 | ||
90 | static char const *exynos5250_dt_compat[] __initdata = { | 102 | static 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, |
106 | MACHINE_END | 119 | MACHINE_END |