Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 31a2fbf7 authored by Shawn Guo's avatar Shawn Guo
Browse files

ARM: imx: add initial support for imx6sl



Add initial support for i.MX6 SoloLite.

Signed-off-by: default avatarShawn Guo <shawn.guo@linaro.org>
parent 34e8a16b
Loading
Loading
Loading
Loading
+19 −0
Original line number Diff line number Diff line
@@ -816,6 +816,25 @@ config SOC_IMX6Q
	help
	  This enables support for Freescale i.MX6 Quad processor.

config SOC_IMX6SL
	bool "i.MX6 SoloLite support"
	select ARM_ERRATA_754322
	select ARM_ERRATA_775420
	select ARM_GIC
	select CPU_V7
	select HAVE_IMX_ANATOP
	select HAVE_IMX_GPC
	select HAVE_IMX_MMDC
	select HAVE_IMX_SRC
	select PINCTRL
	select PINCTRL_IMX6SL
	select PL310_ERRATA_588369 if CACHE_PL310
	select PL310_ERRATA_727915 if CACHE_PL310
	select PL310_ERRATA_769419 if CACHE_PL310

	help
	  This enables support for Freescale i.MX6 SoloLite processor.

endif

source "arch/arm/mach-imx/devices/Kconfig"
+1 −0
Original line number Diff line number Diff line
@@ -98,6 +98,7 @@ AFLAGS_headsmp.o :=-Wa,-march=armv7-a
obj-$(CONFIG_SMP) += headsmp.o platsmp.o
obj-$(CONFIG_HOTPLUG_CPU) += hotplug.o
obj-$(CONFIG_SOC_IMX6Q) += clk-imx6q.o mach-imx6q.o
obj-$(CONFIG_SOC_IMX6SL) += clk-imx6sl.o mach-imx6sl.o

ifeq ($(CONFIG_PM),y)
obj-$(CONFIG_SOC_IMX6Q) += pm-imx6q.o headsmp.o
+1 −0
Original line number Diff line number Diff line
@@ -69,6 +69,7 @@ extern int mx31_clocks_init_dt(void);
extern int mx51_clocks_init_dt(void);
extern int mx53_clocks_init_dt(void);
extern int mx6q_clocks_init(void);
extern int imx6sl_clocks_init(void);
extern struct platform_device *mxc_register_gpio(char *name, int id,
	resource_size_t iobase, resource_size_t iosize, int irq, int irq_high);
extern void mxc_set_cpu_type(unsigned int type);
+51 −0
Original line number Diff line number Diff line
/*
 * Copyright 2013 Freescale Semiconductor, Inc.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
 *
 */

#include <linux/irqchip.h>
#include <linux/of.h>
#include <linux/of_platform.h>
#include <asm/hardware/cache-l2x0.h>
#include <asm/mach/arch.h>
#include <asm/mach/map.h>

#include "common.h"

static void __init imx6sl_init_machine(void)
{
	mxc_arch_reset_init_dt();

	of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
}

static void __init imx6sl_init_irq(void)
{
	l2x0_of_init(0, ~0UL);
	imx_src_init();
	imx_gpc_init();
	irqchip_init();
}

static void __init imx6sl_timer_init(void)
{
	imx6sl_clocks_init();
}

static const char *imx6sl_dt_compat[] __initdata = {
	"fsl,imx6sl",
	NULL,
};

DT_MACHINE_START(IMX6SL, "Freescale i.MX6 SoloLite (Device Tree)")
	.map_io		= debug_ll_io_init,
	.init_irq	= imx6sl_init_irq,
	.init_time	= imx6sl_timer_init,
	.init_machine	= imx6sl_init_machine,
	.dt_compat	= imx6sl_dt_compat,
	.restart	= mxc_restart,
MACHINE_END