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

Commit 784a90c0 authored by Sascha Hauer's avatar Sascha Hauer
Browse files

ARM i.MX: Merge i.MX5 support into mach-imx



This patch moves the contents of arch/arm/mach-mx5 to arch/arm/mach-imx
and adjusts the Makefile/Kconfig entries in a way that it's possible
to compile i.MX5 together with i.MX3/6.

Signed-off-by: default avatarSascha Hauer <s.hauer@pengutronix.de>
Tested-by: default avatarShawn Guo <shawn.guo@linaro.org>
Tested-by: default avatarDirk Behme <dirk.behme@de.bosch.com>
parent 035c17da
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -160,7 +160,6 @@ machine-$(CONFIG_ARCH_MSM) := msm
machine-$(CONFIG_ARCH_MV78XX0)		:= mv78xx0
machine-$(CONFIG_ARCH_IMX_V4_V5)	:= imx
machine-$(CONFIG_ARCH_IMX_V6_V7)	:= imx
machine-$(CONFIG_ARCH_MX5)		:= mx5
machine-$(CONFIG_ARCH_MXS)		:= mxs
machine-$(CONFIG_ARCH_NETX)		:= netx
machine-$(CONFIG_ARCH_NOMADIK)		:= nomadik
+239 −0
Original line number Diff line number Diff line
@@ -33,6 +33,18 @@ config ARCH_MX31
config ARCH_MX35
	bool

config ARCH_MX5
	bool

config ARCH_MX50
	bool

config ARCH_MX51
	bool

config ARCH_MX53
	bool

config SOC_IMX1
	bool
	select ARCH_MX1
@@ -86,6 +98,32 @@ config SOC_IMX35
	select MXC_AVIC
	select SMP_ON_UP if SMP

config SOC_IMX5
	select CPU_V7
	select ARM_L1_CACHE_SHIFT_6
	select MXC_TZIC
	select ARCH_MXC_IOMUX_V3
	select ARCH_MXC_AUDMUX_V2
	select ARCH_HAS_CPUFREQ
	select ARCH_MX5
	bool

config SOC_IMX50
	bool
	select SOC_IMX5
	select ARCH_MX50

config	SOC_IMX51
	bool
	select SOC_IMX5
	select ARCH_MX5
	select ARCH_MX51

config	SOC_IMX53
	bool
	select SOC_IMX5
	select ARCH_MX5
	select ARCH_MX53

if ARCH_IMX_V4_V5

@@ -604,6 +642,207 @@ config MACH_VPR200
	  Include support for VPR200 platform. This includes specific
	  configurations for the board and its peripherals.

comment "i.MX5 platforms:"

config MACH_MX50_RDP
	bool "Support MX50 reference design platform"
	depends on BROKEN
	select SOC_IMX50
	select IMX_HAVE_PLATFORM_IMX_I2C
	select IMX_HAVE_PLATFORM_IMX_UART
	select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX
	select IMX_HAVE_PLATFORM_SPI_IMX
	help
	  Include support for MX50 reference design platform (RDP) board. This
	  includes specific configurations for the board and its peripherals.

comment "i.MX51 machines:"

config MACH_IMX51_DT
	bool "Support i.MX51 platforms from device tree"
	select SOC_IMX51
	select USE_OF
	select MACH_MX51_BABBAGE
	help
	  Include support for Freescale i.MX51 based platforms
	  using the device tree for discovery

config MACH_MX51_BABBAGE
	bool "Support MX51 BABBAGE platforms"
	select SOC_IMX51
	select IMX_HAVE_PLATFORM_FSL_USB2_UDC
	select IMX_HAVE_PLATFORM_IMX2_WDT
	select IMX_HAVE_PLATFORM_IMX_I2C
	select IMX_HAVE_PLATFORM_IMX_UART
	select IMX_HAVE_PLATFORM_MXC_EHCI
	select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX
	select IMX_HAVE_PLATFORM_SPI_IMX
	help
	  Include support for MX51 Babbage platform, also known as MX51EVK in
	  u-boot. This includes specific configurations for the board and its
	  peripherals.

config MACH_MX51_3DS
	bool "Support MX51PDK (3DS)"
	select SOC_IMX51
	select IMX_HAVE_PLATFORM_IMX2_WDT
	select IMX_HAVE_PLATFORM_IMX_KEYPAD
	select IMX_HAVE_PLATFORM_IMX_UART
	select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX
	select IMX_HAVE_PLATFORM_SPI_IMX
	select MXC_DEBUG_BOARD
	help
	  Include support for MX51PDK (3DS) platform. This includes specific
	  configurations for the board and its peripherals.

config MACH_EUKREA_CPUIMX51
	bool "Support Eukrea CPUIMX51 module"
	select SOC_IMX51
	select IMX_HAVE_PLATFORM_FSL_USB2_UDC
	select IMX_HAVE_PLATFORM_IMX_I2C
	select IMX_HAVE_PLATFORM_IMX_UART
	select IMX_HAVE_PLATFORM_MXC_EHCI
	select IMX_HAVE_PLATFORM_MXC_NAND
	select IMX_HAVE_PLATFORM_SPI_IMX
	help
	  Include support for Eukrea CPUIMX51 platform. This includes
	  specific configurations for the module and its peripherals.

choice
	prompt "Baseboard"
	depends on MACH_EUKREA_CPUIMX51
	default MACH_EUKREA_MBIMX51_BASEBOARD

config MACH_EUKREA_MBIMX51_BASEBOARD
	prompt "Eukrea MBIMX51 development board"
	bool
	select IMX_HAVE_PLATFORM_IMX_KEYPAD
	select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX
	select LEDS_GPIO_REGISTER
	help
	  This adds board specific devices that can be found on Eukrea's
	  MBIMX51 evaluation board.

endchoice

config MACH_EUKREA_CPUIMX51SD
	bool "Support Eukrea CPUIMX51SD module"
	select SOC_IMX51
	select IMX_HAVE_PLATFORM_FSL_USB2_UDC
	select IMX_HAVE_PLATFORM_IMX_I2C
	select IMX_HAVE_PLATFORM_IMX_UART
	select IMX_HAVE_PLATFORM_MXC_EHCI
	select IMX_HAVE_PLATFORM_MXC_NAND
	select IMX_HAVE_PLATFORM_SPI_IMX
	help
	  Include support for Eukrea CPUIMX51SD platform. This includes
	  specific configurations for the module and its peripherals.

choice
	prompt "Baseboard"
	depends on MACH_EUKREA_CPUIMX51SD
	default MACH_EUKREA_MBIMXSD51_BASEBOARD

config MACH_EUKREA_MBIMXSD51_BASEBOARD
	prompt "Eukrea MBIMXSD development board"
	bool
	select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX
	select LEDS_GPIO_REGISTER
	help
	  This adds board specific devices that can be found on Eukrea's
	  MBIMXSD evaluation board.

endchoice

config MX51_EFIKA_COMMON
	bool
	select SOC_IMX51
	select IMX_HAVE_PLATFORM_IMX_UART
	select IMX_HAVE_PLATFORM_MXC_EHCI
	select IMX_HAVE_PLATFORM_PATA_IMX
	select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX
	select IMX_HAVE_PLATFORM_SPI_IMX
	select MXC_ULPI if USB_ULPI

config MACH_MX51_EFIKAMX
	bool "Support MX51 Genesi Efika MX nettop"
	select LEDS_GPIO_REGISTER
	select MX51_EFIKA_COMMON
	help
	  Include support for Genesi Efika MX nettop. This includes specific
	  configurations for the board and its peripherals.

config MACH_MX51_EFIKASB
	bool "Support MX51 Genesi Efika Smartbook"
	select LEDS_GPIO_REGISTER
	select MX51_EFIKA_COMMON
	help
	  Include support for Genesi Efika Smartbook. This includes specific
	  configurations for the board and its peripherals.

comment "i.MX53 machines:"

config MACH_IMX53_DT
	bool "Support i.MX53 platforms from device tree"
	select SOC_IMX53
	select USE_OF
	select MACH_MX53_ARD
	select MACH_MX53_EVK
	select MACH_MX53_LOCO
	select MACH_MX53_SMD
	help
	  Include support for Freescale i.MX53 based platforms
	  using the device tree for discovery

config MACH_MX53_EVK
	bool "Support MX53 EVK platforms"
	select SOC_IMX53
	select IMX_HAVE_PLATFORM_IMX2_WDT
	select IMX_HAVE_PLATFORM_IMX_UART
	select IMX_HAVE_PLATFORM_IMX_I2C
	select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX
	select IMX_HAVE_PLATFORM_SPI_IMX
	select LEDS_GPIO_REGISTER
	help
	  Include support for MX53 EVK platform. This includes specific
	  configurations for the board and its peripherals.

config MACH_MX53_SMD
	bool "Support MX53 SMD platforms"
	select SOC_IMX53
	select IMX_HAVE_PLATFORM_IMX2_WDT
	select IMX_HAVE_PLATFORM_IMX_I2C
	select IMX_HAVE_PLATFORM_IMX_UART
	select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX
	help
	  Include support for MX53 SMD platform. This includes specific
	  configurations for the board and its peripherals.

config MACH_MX53_LOCO
	bool "Support MX53 LOCO platforms"
	select SOC_IMX53
	select IMX_HAVE_PLATFORM_IMX2_WDT
	select IMX_HAVE_PLATFORM_IMX_I2C
	select IMX_HAVE_PLATFORM_IMX_UART
	select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX
	select IMX_HAVE_PLATFORM_GPIO_KEYS
	select LEDS_GPIO_REGISTER
	help
	  Include support for MX53 LOCO platform. This includes specific
	  configurations for the board and its peripherals.

config MACH_MX53_ARD
	bool "Support MX53 ARD platforms"
	select SOC_IMX53
	select IMX_HAVE_PLATFORM_IMX2_WDT
	select IMX_HAVE_PLATFORM_IMX_I2C
	select IMX_HAVE_PLATFORM_IMX_UART
	select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX
	select IMX_HAVE_PLATFORM_GPIO_KEYS
	help
	  Include support for MX53 ARD platform. This includes specific
	  configurations for the board and its peripherals.

comment "i.MX6 family:"

config SOC_IMX6Q
+21 −0
Original line number Diff line number Diff line
@@ -11,6 +11,8 @@ obj-$(CONFIG_SOC_IMX27) += clock-imx27.o mm-imx27.o ehci-imx27.o
obj-$(CONFIG_SOC_IMX31) += mm-imx3.o cpu-imx31.o clock-imx31.o iomux-imx31.o ehci-imx31.o
obj-$(CONFIG_SOC_IMX35) += mm-imx3.o cpu-imx35.o clock-imx35.o ehci-imx35.o

obj-$(CONFIG_SOC_IMX5) += cpu-imx5.o mm-imx5.o clock-mx51-mx53.o ehci-imx5.o pm-imx5.o cpu_op-mx51.o

# Support for CMOS sensor interface
obj-$(CONFIG_MX1_VIDEO) += mx1-camera-fiq.o mx1-camera-fiq-ksym.o

@@ -71,3 +73,22 @@ obj-$(CONFIG_SMP) += platsmp.o
obj-$(CONFIG_HOTPLUG_CPU) += hotplug.o
obj-$(CONFIG_LOCAL_TIMERS) += localtimer.o
obj-$(CONFIG_SOC_IMX6Q) += clock-imx6q.o mach-imx6q.o pm-imx6q.o

# i.MX5 based machines
obj-$(CONFIG_MACH_MX51_BABBAGE) += mach-mx51_babbage.o
obj-$(CONFIG_MACH_MX51_3DS) += mach-mx51_3ds.o
obj-$(CONFIG_MACH_MX53_EVK) += mach-mx53_evk.o
obj-$(CONFIG_MACH_MX53_SMD) += mach-mx53_smd.o
obj-$(CONFIG_MACH_MX53_LOCO) += mach-mx53_loco.o
obj-$(CONFIG_MACH_MX53_ARD) += mach-mx53_ard.o
obj-$(CONFIG_MACH_EUKREA_CPUIMX51) += mach-cpuimx51.o
obj-$(CONFIG_MACH_EUKREA_MBIMX51_BASEBOARD) += eukrea_mbimx51-baseboard.o
obj-$(CONFIG_MACH_EUKREA_CPUIMX51SD) += mach-cpuimx51sd.o
obj-$(CONFIG_MACH_EUKREA_MBIMXSD51_BASEBOARD) += eukrea_mbimxsd-baseboard.o
obj-$(CONFIG_MX51_EFIKA_COMMON) += mx51_efika.o
obj-$(CONFIG_MACH_MX51_EFIKAMX) += mach-mx51_efikamx.o
obj-$(CONFIG_MACH_MX51_EFIKASB) += mach-mx51_efikasb.o
obj-$(CONFIG_MACH_MX50_RDP) += mach-mx50_rdp.o

obj-$(CONFIG_MACH_IMX51_DT) += imx51-dt.o
obj-$(CONFIG_MACH_IMX53_DT) += imx53-dt.o
+12 −0
Original line number Diff line number Diff line
@@ -18,6 +18,18 @@ zreladdr-$(CONFIG_ARCH_MX3) += 0x80008000
params_phys-$(CONFIG_ARCH_MX3)	:= 0x80000100
initrd_phys-$(CONFIG_ARCH_MX3)	:= 0x80800000

zreladdr-$(CONFIG_SOC_IMX50)	+= 0x70008000
params_phys-$(CONFIG_SOC_IMX50)	:= 0x70000100
initrd_phys-$(CONFIG_SOC_IMX50)	:= 0x70800000

zreladdr-$(CONFIG_SOC_IMX51)	+= 0x90008000
params_phys-$(CONFIG_SOC_IMX51)	:= 0x90000100
initrd_phys-$(CONFIG_SOC_IMX51)	:= 0x90800000

zreladdr-$(CONFIG_SOC_IMX53)	+= 0x70008000
params_phys-$(CONFIG_SOC_IMX53)	:= 0x70000100
initrd_phys-$(CONFIG_SOC_IMX53)	:= 0x70800000

zreladdr-$(CONFIG_SOC_IMX6Q)	+= 0x10008000
params_phys-$(CONFIG_SOC_IMX6Q)	:= 0x10000100
initrd_phys-$(CONFIG_SOC_IMX6Q)	:= 0x10800000
+1 −1
Original line number Diff line number Diff line
@@ -23,7 +23,7 @@
#include <mach/common.h>
#include <mach/clock.h>

#include "crm_regs.h"
#include "crm-regs-imx5.h"

/* External clock values passed-in by the board code */
static unsigned long external_high_reference, external_low_reference;
Loading