Commit dee5dee2 authored by Bai Ping's avatar Bai Ping Committed by Shawn Guo
Browse files

ARM: imx: Add basic msl support for imx6sll



Add basic MSL support for i.MX6SLL.

The i.MX 6SoloLiteLite application processors are NXP's latest
additions to a growing family of multimedia-focused products
offering high-performance processing optimized for lowest power
consumption. The i.MX 6SoloLiteLite processors feature NXP's advanced
implementation of the ARM Cortex-A9 core, which can be interfaced
with LPDDR3 and LPDDR2 DRAM memory devices.

Signed-off-by: default avatarBai Ping <ping.bai@nxp.com>
Signed-off-by: default avatarShawn Guo <shawnguo@kernel.org>
parent 258172f9
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -499,6 +499,13 @@ config SOC_IMX6SL
	help
	  This enables support for Freescale i.MX6 SoloLite processor.

config SOC_IMX6SLL
	bool "i.MX6 SoloLiteLite support"
	select SOC_IMX6

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

config SOC_IMX6SX
	bool "i.MX6 SoloX support"
	select PINCTRL_IMX6SX
+1 −0
Original line number Diff line number Diff line
@@ -77,6 +77,7 @@ obj-$(CONFIG_HOTPLUG_CPU) += hotplug.o
endif
obj-$(CONFIG_SOC_IMX6Q) += mach-imx6q.o
obj-$(CONFIG_SOC_IMX6SL) += mach-imx6sl.o
obj-$(CONFIG_SOC_IMX6SLL) += mach-imx6sl.o
obj-$(CONFIG_SOC_IMX6SX) += mach-imx6sx.o
obj-$(CONFIG_SOC_IMX6UL) += mach-imx6ul.o
obj-$(CONFIG_SOC_IMX7D) += mach-imx7d.o
+3 −0
Original line number Diff line number Diff line
@@ -135,6 +135,9 @@ struct device * __init imx_soc_device_init(void)
	case MXC_CPU_IMX6ULL:
		soc_id = "i.MX6ULL";
		break;
	case MXC_CPU_IMX6SLL:
		soc_id = "i.MX6SLL";
		break;
	case MXC_CPU_IMX7D:
		soc_id = "i.MX7D";
		break;
+5 −2
Original line number Diff line number Diff line
@@ -12,6 +12,7 @@

#include "common.h"
#include "cpuidle.h"
#include "hardware.h"

static int imx6sl_enter_wait(struct cpuidle_device *dev,
			    struct cpuidle_driver *drv, int index)
@@ -21,8 +22,10 @@ static int imx6sl_enter_wait(struct cpuidle_device *dev,
	 * Software workaround for ERR005311, see function
	 * description for details.
	 */
	if (cpu_is_imx6sl())
		imx6sl_set_wait_clk(true);
	cpu_do_idle();
	if (cpu_is_imx6sl())
		imx6sl_set_wait_clk(false);
	imx6_set_lpm(WAIT_CLOCKED);

+8 −2
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@

#include "common.h"
#include "cpuidle.h"
#include "hardware.h"

static void __init imx6sl_fec_init(void)
{
@@ -54,6 +55,7 @@ static void __init imx6sl_init_machine(void)

	of_platform_default_populate(NULL, NULL, parent);

	if (cpu_is_imx6sl())
		imx6sl_fec_init();
	imx_anatop_init();
	imx6sl_pm_init();
@@ -66,11 +68,15 @@ static void __init imx6sl_init_irq(void)
	imx_init_l2cache();
	imx_src_init();
	irqchip_init();
	if (cpu_is_imx6sl())
		imx6_pm_ccm_init("fsl,imx6sl-ccm");
	else
		imx6_pm_ccm_init("fsl,imx6sll-ccm");
}

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

Loading