aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-imx
diff options
context:
space:
mode:
authorJingchang Lu <b35083@freescale.com>2013-05-28 05:12:21 -0400
committerShawn Guo <shawn.guo@linaro.org>2013-06-17 03:45:16 -0400
commit5be913c6824e1957e03ae432b60717c21f2c53d1 (patch)
tree6ecbfb133db1b8eb6170625f546132a14998c918 /arch/arm/mach-imx
parent1f2c5fd5f0486566f73aa0149577d5f69df90bcc (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/Kconfig15
-rw-r--r--arch/arm/mach-imx/Makefile2
-rw-r--r--arch/arm/mach-imx/mach-vf610.c48
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
838config 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
838endif 853endif
839 854
840source "arch/arm/mach-imx/devices/Kconfig" 855source "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
112obj-$(CONFIG_MACH_IMX51_DT) += imx51-dt.o 112obj-$(CONFIG_MACH_IMX51_DT) += imx51-dt.o
113obj-$(CONFIG_SOC_IMX53) += mach-imx53.o 113obj-$(CONFIG_SOC_IMX53) += mach-imx53.o
114 114
115obj-$(CONFIG_SOC_VF610) += clk-vf610.o mach-vf610.o
116
115obj-y += devices/ 117obj-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
19static 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
25static void __init vf610_init_irq(void)
26{
27 l2x0_of_init(0, ~0UL);
28 irqchip_init();
29}
30
31static void __init vf610_init_time(void)
32{
33 of_clk_init(NULL);
34 clocksource_of_init();
35}
36
37static const char *vf610_dt_compat[] __initdata = {
38 "fsl,vf610",
39 NULL,
40};
41
42DT_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,
48MACHINE_END