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

Commit 3e0d0b81 authored by Kevin Hilman's avatar Kevin Hilman
Browse files

Merge tag 'imx-soc-4.2' of...

Merge tag 'imx-soc-4.2' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into next/soc

The i.MX SoC updates for 4.2:
 - Add new SoC i.MX7D support, which integrates two Cortex-A7 and one
   Cortex-M4 cores.
 - Support suspend from IRAM on i.MX53, so that DDR pins can be set to
   high impedance for more power saving during suspend.
 - Move i.MX clock drivers from arch/arm/mach-imx to drivers/clk/imx.
 - Move i.MX GPT timer driver from arch/arm/mach-imx into
   drivers/clocksource.
 - A couple of clock driver update for VF610 and i.MX6Q.
 - A few random code correction and improvement.

* tag 'imx-soc-4.2' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: (44 commits)
  ARM: imx: imx7d requires anatop
  clocksource: timer-imx-gpt: remove include of <asm/mach/time.h>
  ARM: imx: move timer driver into drivers/clocksource
  ARM: imx: remove platform headers from timer driver
  ARM: imx: provide gpt device specific irq functions
  ARM: imx: get rid of variable timer_base
  ARM: imx: define gpt register offset per device type
  ARM: imx: move clock event variables into imx_timer
  ARM: imx: set up .set_next_event hook via imx_gpt_data
  ARM: imx: setup tctl register in device specific function
  ARM: imx: initialize gpt device type for DT boot
  ARM: imx: define an enum for gpt timer device type
  ARM: imx: move timer resources into a structure
  ARM: imx: use relaxed IO accessor in timer driver
  ARM: imx: make imx51/3 suspend optional
  ARM: clk-imx6q: refine sata's parent
  ARM: imx: clk-v610: Add clock for I2C2 and I2C3
  ARM: mach-imx: iomux-imx31: Use DECLARE_BITMAP
  ARM: imx: add imx7d clk tree support
  ARM: clk: imx: update pllv3 to support imx7
  ...

 Conflicts:
	arch/arm/mach-imx/Kconfig
parents 2f69b1a4 0be5da9d
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -1044,6 +1044,8 @@ F: arch/arm/mach-imx/
F:	arch/arm/mach-mxs/
F:	arch/arm/boot/dts/imx*
F:	arch/arm/configs/imx*_defconfig
F:	drivers/clk/imx/
F:	include/soc/imx/

ARM/FREESCALE VYBRID ARM ARCHITECTURE
M:	Shawn Guo <shawn.guo@linaro.org>
+11 −2
Original line number Diff line number Diff line
@@ -410,6 +410,13 @@ choice
		  Say Y here if you want kernel low-level debugging support
		  on i.MX6SX.

	config DEBUG_IMX7D_UART
		bool "i.MX7D Debug UART"
		depends on SOC_IMX7D
		help
		  Say Y here if you want kernel low-level debugging support
		  on i.MX7D.

	config DEBUG_KEYSTONE_UART0
		bool "Kernel low-level debugging on KEYSTONE2 using UART0"
		depends on ARCH_KEYSTONE
@@ -1260,7 +1267,8 @@ config DEBUG_IMX_UART_PORT
						DEBUG_IMX53_UART || \
						DEBUG_IMX6Q_UART || \
						DEBUG_IMX6SL_UART || \
						DEBUG_IMX6SX_UART
						DEBUG_IMX6SX_UART || \
						DEBUG_IMX7D_UART
	default 1
	depends on ARCH_MXC
	help
@@ -1310,7 +1318,8 @@ config DEBUG_LL_INCLUDE
				 DEBUG_IMX53_UART ||\
				 DEBUG_IMX6Q_UART || \
				 DEBUG_IMX6SL_UART || \
				 DEBUG_IMX6SX_UART
				 DEBUG_IMX6SX_UART || \
				 DEBUG_IMX7D_UART
	default "debug/ks8695.S" if DEBUG_KS8695_UART
	default "debug/msm.S" if DEBUG_QCOM_UARTDM
	default "debug/netx.S" if DEBUG_NETX_UART
+14 −1
Original line number Diff line number Diff line
/*
 * Copyright (C) 2012 Freescale Semiconductor, Inc.
 * Copyright (C) 2012-2015 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
@@ -90,6 +90,16 @@
#define IMX6SX_UART_BASE_ADDR(n) IMX6SX_UART##n##_BASE_ADDR
#define IMX6SX_UART_BASE(n)	IMX6SX_UART_BASE_ADDR(n)

#define IMX7D_UART1_BASE_ADDR	0x30860000
#define IMX7D_UART2_BASE_ADDR	0x30890000
#define IMX7D_UART3_BASE_ADDR	0x30880000
#define IMX7D_UART4_BASE_ADDR	0x30a60000
#define IMX7D_UART5_BASE_ADDR	0x30a70000
#define IMX7D_UART6_BASE_ADDR	0x30a80000
#define IMX7D_UART7_BASE_ADDR	0x30a90000
#define IMX7D_UART_BASE_ADDR(n) IMX7D_UART##n##_BASE_ADDR
#define IMX7D_UART_BASE(n)	IMX7D_UART_BASE_ADDR(n)

#define IMX_DEBUG_UART_BASE(soc) soc##_UART_BASE(CONFIG_DEBUG_IMX_UART_PORT)

#ifdef CONFIG_DEBUG_IMX1_UART
@@ -114,6 +124,9 @@
#define UART_PADDR	IMX_DEBUG_UART_BASE(IMX6SL)
#elif defined(CONFIG_DEBUG_IMX6SX_UART)
#define UART_PADDR	IMX_DEBUG_UART_BASE(IMX6SX)
#elif defined(CONFIG_DEBUG_IMX7D_UART)
#define UART_PADDR	IMX_DEBUG_UART_BASE(IMX7D)

#endif

#endif /* __DEBUG_IMX_UART_H */
+10 −1
Original line number Diff line number Diff line
@@ -2,7 +2,7 @@ menuconfig ARCH_MXC
	bool "Freescale i.MX family" if ARCH_MULTI_V4_V5 || ARCH_MULTI_V6_V7 || ARM_SINGLE_ARMV7M
	select ARCH_REQUIRE_GPIOLIB
	select ARM_CPU_SUSPEND if PM
	select CLKSRC_MMIO
	select CLKSRC_IMX_GPT
	select GENERIC_IRQ_CHIP
	select PINCTRL
	select PM_OPP if PM
@@ -582,6 +582,15 @@ config SOC_IMX6SX
	help
	  This enables support for Freescale i.MX6 SoloX processor.

config SOC_IMX7D
	bool "i.MX7 Dual support"
	select PINCTRL_IMX7D
	select ARM_GIC
	select HAVE_IMX_ANATOP
	select HAVE_IMX_MMDC
	help
		This enables support for Freescale i.MX7 Dual processor.

config SOC_LS1021A
	bool "Freescale LS1021A support"
	select ARM_GIC
+14 −17
Original line number Diff line number Diff line
obj-y := time.o cpu.o system.o irq-common.o
obj-y := cpu.o system.o irq-common.o

obj-$(CONFIG_SOC_IMX1) += clk-imx1.o mm-imx1.o
obj-$(CONFIG_SOC_IMX21) += clk-imx21.o mm-imx21.o
obj-$(CONFIG_SOC_IMX1) += mm-imx1.o
obj-$(CONFIG_SOC_IMX21) += mm-imx21.o

obj-$(CONFIG_SOC_IMX25) += clk-imx25.o cpu-imx25.o mach-imx25.o
obj-$(CONFIG_SOC_IMX25) += cpu-imx25.o mach-imx25.o

obj-$(CONFIG_SOC_IMX27) += cpu-imx27.o pm-imx27.o
obj-$(CONFIG_SOC_IMX27) += clk-imx27.o mm-imx27.o ehci-imx27.o
obj-$(CONFIG_SOC_IMX27) += mm-imx27.o ehci-imx27.o

obj-$(CONFIG_SOC_IMX31) += mm-imx3.o cpu-imx31.o clk-imx31.o iomux-imx31.o ehci-imx31.o pm-imx3.o
obj-$(CONFIG_SOC_IMX35) += mm-imx3.o cpu-imx35.o clk-imx35.o ehci-imx35.o pm-imx3.o
obj-$(CONFIG_SOC_IMX31) += mm-imx3.o cpu-imx31.o iomux-imx31.o ehci-imx31.o pm-imx3.o
obj-$(CONFIG_SOC_IMX35) += mm-imx3.o cpu-imx35.o ehci-imx35.o pm-imx3.o

imx5-pm-$(CONFIG_PM) += pm-imx5.o
obj-$(CONFIG_SOC_IMX5) += cpu-imx5.o clk-imx51-imx53.o clk-cpu.o $(imx5-pm-y)

obj-$(CONFIG_COMMON_CLK) += clk-pllv1.o clk-pllv2.o clk-pllv3.o clk-gate2.o \
			    clk-pfd.o clk-busy.o clk.o \
			    clk-fixup-div.o clk-fixup-mux.o \
			    clk-gate-exclusive.o
obj-$(CONFIG_SOC_IMX5) += cpu-imx5.o $(imx5-pm-y)

obj-$(CONFIG_IMX_HAVE_IOMUX_V1) += iomux-v1.o
obj-$(CONFIG_ARCH_MXC_IOMUX_V3) += iomux-v3.o
@@ -87,13 +82,15 @@ AFLAGS_headsmp.o :=-Wa,-march=armv7-a
obj-$(CONFIG_SMP) += headsmp.o platsmp.o
obj-$(CONFIG_HOTPLUG_CPU) += hotplug.o
endif
obj-$(CONFIG_SOC_IMX6Q) += clk-imx6q.o mach-imx6q.o
obj-$(CONFIG_SOC_IMX6SL) += clk-imx6sl.o mach-imx6sl.o
obj-$(CONFIG_SOC_IMX6SX) += clk-imx6sx.o mach-imx6sx.o
obj-$(CONFIG_SOC_IMX6Q) += mach-imx6q.o
obj-$(CONFIG_SOC_IMX6SL) += mach-imx6sl.o
obj-$(CONFIG_SOC_IMX6SX) += mach-imx6sx.o
obj-$(CONFIG_SOC_IMX7D) += mach-imx7d.o

ifeq ($(CONFIG_SUSPEND),y)
AFLAGS_suspend-imx6.o :=-Wa,-march=armv7-a
obj-$(CONFIG_SOC_IMX6) += suspend-imx6.o
obj-$(CONFIG_SOC_IMX53) += suspend-imx53.o
endif
obj-$(CONFIG_SOC_IMX6) += pm-imx6.o

@@ -101,7 +98,7 @@ obj-$(CONFIG_SOC_IMX50) += mach-imx50.o
obj-$(CONFIG_SOC_IMX51) += mach-imx51.o
obj-$(CONFIG_SOC_IMX53) += mach-imx53.o

obj-$(CONFIG_SOC_VF610) += clk-vf610.o mach-vf610.o
obj-$(CONFIG_SOC_VF610) += mach-vf610.o

obj-$(CONFIG_SOC_LS1021A) += mach-ls1021a.o

Loading