Commit | Line | Data |
---|---|---|
6b5ab4f4 | 1 | /* |
3579a582 | 2 | * Samsung's EXYNOS4 flattened device tree enabled machine |
6b5ab4f4 TA |
3 | * |
4 | * Copyright (c) 2010-2011 Samsung Electronics Co., Ltd. | |
5 | * http://www.samsung.com | |
6 | * Copyright (c) 2010-2011 Linaro Ltd. | |
7 | * www.linaro.org | |
8 | * | |
9 | * This program is free software; you can redistribute it and/or modify | |
10 | * it under the terms of the GNU General Public License version 2 as | |
11 | * published by the Free Software Foundation. | |
12 | */ | |
13 | ||
ee6c7137 | 14 | #include <linux/kernel.h> |
6b5ab4f4 | 15 | #include <linux/of_platform.h> |
20901f74 | 16 | #include <linux/of_fdt.h> |
6b5ab4f4 | 17 | #include <linux/serial_core.h> |
20901f74 | 18 | #include <linux/memblock.h> |
9fbf0c85 | 19 | #include <linux/clocksource.h> |
6b5ab4f4 TA |
20 | |
21 | #include <asm/mach/arch.h> | |
20901f74 | 22 | #include <plat/mfc.h> |
35bded8f KL |
23 | |
24 | #include "common.h" | |
6b5ab4f4 | 25 | |
3579a582 | 26 | static void __init exynos4_dt_machine_init(void) |
6b5ab4f4 | 27 | { |
35baa336 BZ |
28 | exynos_cpuidle_init(); |
29 | ||
ee6c7137 | 30 | of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL); |
6b5ab4f4 TA |
31 | } |
32 | ||
3579a582 | 33 | static char const *exynos4_dt_compat[] __initdata = { |
6b5ab4f4 | 34 | "samsung,exynos4210", |
0f7238a1 TF |
35 | "samsung,exynos4212", |
36 | "samsung,exynos4412", | |
6b5ab4f4 TA |
37 | NULL |
38 | }; | |
39 | ||
20901f74 SK |
40 | static void __init exynos4_reserve(void) |
41 | { | |
42 | #ifdef CONFIG_S5P_DEV_MFC | |
43 | struct s5p_mfc_dt_meminfo mfc_mem; | |
44 | ||
45 | /* Reserve memory for MFC only if it's available */ | |
46 | mfc_mem.compatible = "samsung,mfc-v5"; | |
47 | if (of_scan_flat_dt(s5p_fdt_find_mfc_mem, &mfc_mem)) | |
48 | s5p_mfc_reserve_mem(mfc_mem.roff, mfc_mem.rsize, mfc_mem.loff, | |
49 | mfc_mem.lsize); | |
50 | #endif | |
51 | } | |
6b5ab4f4 TA |
52 | DT_MACHINE_START(EXYNOS4210_DT, "Samsung Exynos4 (Flattened Device Tree)") |
53 | /* Maintainer: Thomas Abraham <thomas.abraham@linaro.org> */ | |
61ef3c0b | 54 | .smp = smp_ops(exynos_smp_ops), |
0e2238ec | 55 | .map_io = exynos_init_io, |
bca28f8f | 56 | .init_early = exynos_firmware_init, |
3579a582 | 57 | .init_machine = exynos4_dt_machine_init, |
bb13fabc | 58 | .init_late = exynos_init_late, |
6923ae4b | 59 | .init_time = exynos_init_time, |
3579a582 | 60 | .dt_compat = exynos4_dt_compat, |
35bded8f | 61 | .restart = exynos4_restart, |
20901f74 | 62 | .reserve = exynos4_reserve, |
6b5ab4f4 | 63 | MACHINE_END |