@@ -634,6 +634,7 @@ config SOC_VF610
select ARM_GIC
select PINCTRL_VF610
select HAVE_IMX_GPC
+ select HAVE_IMX_SRC
select ARM_GLOBAL_TIMER
select CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK
select PL310_ERRATA_769419 if CACHE_L2X0
@@ -103,6 +103,7 @@ static inline void imx_scu_map_io(void) {}
static inline void imx_smp_prepare(void) {}
#endif
void imx_src_init(void);
+void vf610_src_init(void);
void imx6_gpc_init(void);
void vf610_gpc_init(void);
void imx_gpc_pre_suspend(bool arm_power_off);
@@ -16,6 +16,7 @@
static void __init vf610_init_irq(void)
{
+ vf610_src_init();
vf610_gpc_init();
irqchip_init();
}
@@ -140,3 +140,14 @@ void __init imx_src_init(void)
writel_relaxed(val, src_base + SRC_SCR);
spin_unlock(&scr_lock);
}
+
+void __init vf610_src_init(void)
+{
+ struct device_node *np;
+
+ np = of_find_compatible_node(NULL, NULL, "fsl,vf610-src");
+ if (!np)
+ return;
+ src_base = of_iomap(np, 0);
+ WARN_ON(!src_base);
+}
Support Vybrid SoC's system reset controller (SRC). Currently we don't register a reset controller but only support the imx_cpu_jump and imx_cpu_arg functions. Signed-off-by: Stefan Agner <stefan@agner.ch> --- arch/arm/mach-imx/Kconfig | 1 + arch/arm/mach-imx/common.h | 1 + arch/arm/mach-imx/mach-vf610.c | 1 + arch/arm/mach-imx/src.c | 11 +++++++++++ 4 files changed, 14 insertions(+)