diff options
author | Jingchang Lu <b35083@freescale.com> | 2013-05-28 05:12:21 -0400 |
---|---|---|
committer | Shawn Guo <shawn.guo@linaro.org> | 2013-06-17 03:45:16 -0400 |
commit | 5be913c6824e1957e03ae432b60717c21f2c53d1 (patch) | |
tree | 6ecbfb133db1b8eb6170625f546132a14998c918 /arch/arm/mach-imx | |
parent | 1f2c5fd5f0486566f73aa0149577d5f69df90bcc (diff) |
ARM: imx: add initial support for VF610
Add initial support for Freescale Vybrid VF610 SoC.
Signed-off-by: Jingchang Lu <b35083@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Diffstat (limited to 'arch/arm/mach-imx')
-rw-r--r-- | arch/arm/mach-imx/Kconfig | 15 | ||||
-rw-r--r-- | arch/arm/mach-imx/Makefile | 2 | ||||
-rw-r--r-- | arch/arm/mach-imx/mach-vf610.c | 48 |
3 files changed, 65 insertions, 0 deletions
diff --git a/arch/arm/mach-imx/Kconfig b/arch/arm/mach-imx/Kconfig index a4022481875a..b7eddbd82880 100644 --- a/arch/arm/mach-imx/Kconfig +++ b/arch/arm/mach-imx/Kconfig | |||
@@ -835,6 +835,21 @@ config SOC_IMX6SL | |||
835 | help | 835 | help |
836 | This enables support for Freescale i.MX6 SoloLite processor. | 836 | This enables support for Freescale i.MX6 SoloLite processor. |
837 | 837 | ||
838 | config SOC_VF610 | ||
839 | bool "Vybrid Family VF610 support" | ||
840 | select CPU_V7 | ||
841 | select ARM_GIC | ||
842 | select CLKSRC_OF | ||
843 | select PINCTRL | ||
844 | select PINCTRL_VF610 | ||
845 | select VF_PIT_TIMER | ||
846 | select PL310_ERRATA_588369 if CACHE_PL310 | ||
847 | select PL310_ERRATA_727915 if CACHE_PL310 | ||
848 | select PL310_ERRATA_769419 if CACHE_PL310 | ||
849 | |||
850 | help | ||
851 | This enable support for Freescale Vybrid VF610 processor. | ||
852 | |||
838 | endif | 853 | endif |
839 | 854 | ||
840 | source "arch/arm/mach-imx/devices/Kconfig" | 855 | source "arch/arm/mach-imx/devices/Kconfig" |
diff --git a/arch/arm/mach-imx/Makefile b/arch/arm/mach-imx/Makefile index 2a4754dc7c69..054f039fb62b 100644 --- a/arch/arm/mach-imx/Makefile +++ b/arch/arm/mach-imx/Makefile | |||
@@ -112,4 +112,6 @@ obj-$(CONFIG_MACH_EUKREA_MBIMXSD51_BASEBOARD) += eukrea_mbimxsd51-baseboard.o | |||
112 | obj-$(CONFIG_MACH_IMX51_DT) += imx51-dt.o | 112 | obj-$(CONFIG_MACH_IMX51_DT) += imx51-dt.o |
113 | obj-$(CONFIG_SOC_IMX53) += mach-imx53.o | 113 | obj-$(CONFIG_SOC_IMX53) += mach-imx53.o |
114 | 114 | ||
115 | obj-$(CONFIG_SOC_VF610) += clk-vf610.o mach-vf610.o | ||
116 | |||
115 | obj-y += devices/ | 117 | obj-y += devices/ |
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 | ||