diff options
Diffstat (limited to 'arch/arm/mach-imx/mach-vf610.c')
-rw-r--r-- | arch/arm/mach-imx/mach-vf610.c | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/arch/arm/mach-imx/mach-vf610.c b/arch/arm/mach-imx/mach-vf610.c new file mode 100644 index 000000000000..816991deb9b8 --- /dev/null +++ b/arch/arm/mach-imx/mach-vf610.c | |||
@@ -0,0 +1,48 @@ | |||
1 | /* | ||
2 | * Copyright 2012-2013 Freescale Semiconductor, Inc. | ||
3 | * | ||
4 | * This program is free software; you can redistribute it and/or modify | ||
5 | * it under the terms of the GNU General Public License as published by | ||
6 | * the Free Software Foundation; either version 2 of the License, or | ||
7 | * (at your option) any later version. | ||
8 | */ | ||
9 | |||
10 | #include <linux/of_platform.h> | ||
11 | #include <linux/clocksource.h> | ||
12 | #include <linux/irqchip.h> | ||
13 | #include <linux/clk-provider.h> | ||
14 | #include <asm/mach/arch.h> | ||
15 | #include <asm/hardware/cache-l2x0.h> | ||
16 | |||
17 | #include "common.h" | ||
18 | |||
19 | static void __init vf610_init_machine(void) | ||
20 | { | ||
21 | mxc_arch_reset_init_dt(); | ||
22 | of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL); | ||
23 | } | ||
24 | |||
25 | static void __init vf610_init_irq(void) | ||
26 | { | ||
27 | l2x0_of_init(0, ~0UL); | ||
28 | irqchip_init(); | ||
29 | } | ||
30 | |||
31 | static void __init vf610_init_time(void) | ||
32 | { | ||
33 | of_clk_init(NULL); | ||
34 | clocksource_of_init(); | ||
35 | } | ||
36 | |||
37 | static const char *vf610_dt_compat[] __initdata = { | ||
38 | "fsl,vf610", | ||
39 | NULL, | ||
40 | }; | ||
41 | |||
42 | DT_MACHINE_START(VYBRID_VF610, "Freescale Vybrid VF610 (Device Tree)") | ||
43 | .init_irq = vf610_init_irq, | ||
44 | .init_time = vf610_init_time, | ||
45 | .init_machine = vf610_init_machine, | ||
46 | .dt_compat = vf610_dt_compat, | ||
47 | .restart = mxc_restart, | ||
48 | MACHINE_END | ||