From ac67590916a449d1e71a791f6a0c3688251ec074 Mon Sep 17 00:00:00 2001 From: Peter Robinson Date: Thu, 24 Oct 2013 20:29:40 +0100 Subject: [PATCH] Add patch for i.MX6 Utilite device dtb, drop old exynos patch --- arm-exynos-mp.patch | 408 ----------------------------------------- arm-imx6-utilite.patch | 84 +++++++++ config-arm-generic | 2 - config-armv7 | 1 + kernel.spec | 10 +- 5 files changed, 93 insertions(+), 412 deletions(-) delete mode 100644 arm-exynos-mp.patch create mode 100644 arm-imx6-utilite.patch diff --git a/arm-exynos-mp.patch b/arm-exynos-mp.patch deleted file mode 100644 index c0d17cddc..000000000 --- a/arm-exynos-mp.patch +++ /dev/null @@ -1,408 +0,0 @@ -commit 8b806e0201b97844d0eff4713eb88f0a6d0f689d -Author: Arnd Bergmann -Date: Fri Jun 14 17:16:30 2013 +0200 - - ARM: exynos multiplatform, next try - - Signed-off-by: Arnd Bergmann - -diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug -index e401a76..fad9324 100644 ---- a/arch/arm/Kconfig.debug -+++ b/arch/arm/Kconfig.debug -@@ -422,7 +422,7 @@ choice - - config DEBUG_S3C_UART0 - depends on PLAT_SAMSUNG -- select DEBUG_EXYNOS_UART if ARCH_EXYNOS -+ select DEBUG_EXYNOS_UART if ARCH_EXYNOS_COMMON - bool "Use S3C UART 0 for low-level debug" - help - Say Y here if you want the debug print routines to direct -@@ -434,7 +434,7 @@ choice - - config DEBUG_S3C_UART1 - depends on PLAT_SAMSUNG -- select DEBUG_EXYNOS_UART if ARCH_EXYNOS -+ select DEBUG_EXYNOS_UART if ARCH_EXYNOS_COMMON - bool "Use S3C UART 1 for low-level debug" - help - Say Y here if you want the debug print routines to direct -@@ -446,7 +446,7 @@ choice - - config DEBUG_S3C_UART2 - depends on PLAT_SAMSUNG -- select DEBUG_EXYNOS_UART if ARCH_EXYNOS -+ select DEBUG_EXYNOS_UART if ARCH_EXYNOS_COMMON - bool "Use S3C UART 2 for low-level debug" - help - Say Y here if you want the debug print routines to direct -@@ -457,7 +457,7 @@ choice - by CONFIG_S3C_LOWLEVEL_UART_PORT. - - config DEBUG_S3C_UART3 -- depends on PLAT_SAMSUNG && ARCH_EXYNOS -+ depends on PLAT_SAMSUNG && ARCH_EXYNOS_COMMON - select DEBUG_EXYNOS_UART - bool "Use S3C UART 3 for low-level debug" - help -diff --git a/arch/arm/include/debug/samsung.S b/arch/arm/include/debug/samsung.S -index f3a9cff..8d8d922 100644 ---- a/arch/arm/include/debug/samsung.S -+++ b/arch/arm/include/debug/samsung.S -@@ -9,7 +9,7 @@ - * published by the Free Software Foundation. - */ - --#include -+#include - - /* The S5PV210/S5PC110 implementations are as belows. */ - -diff --git a/arch/arm/mach-exynos/Kconfig b/arch/arm/mach-exynos/Kconfig -index 855d4a7..8744890 100644 ---- a/arch/arm/mach-exynos/Kconfig -+++ b/arch/arm/mach-exynos/Kconfig -@@ -7,13 +7,24 @@ - - # Configuration options for the EXYNOS4 - --if ARCH_EXYNOS -+config ARCH_EXYNOS_MULTI -+ bool "Samsung EXYNOS" if ARCH_MULTI_V7 -+ select ARCH_HAS_CPUFREQ -+ select CPU_V7 -+ select GENERIC_CLOCKEVENTS -+ select HAVE_CLK -+ select HAVE_S3C2410_I2C if I2C -+ select HAVE_S3C_RTC if RTC_CLASS -+ help -+ Support for SAMSUNG's EXYNOS SoCs (EXYNOS4/5) -+ -+if ARCH_EXYNOS || ARCH_EXYNOS_MULTI - - menu "SAMSUNG EXYNOS SoCs Support" - - config ARCH_EXYNOS4 - bool "SAMSUNG EXYNOS4" -- default y -+ default ARCH_EXYNOS - select GIC_NON_BANKED - select HAVE_ARM_SCU if SMP - select HAVE_SMP -@@ -24,12 +35,16 @@ config ARCH_EXYNOS4 - - config ARCH_EXYNOS5 - bool "SAMSUNG EXYNOS5" -+ default ARCH_EXYNOS - select HAVE_ARM_SCU if SMP - select HAVE_SMP - select PINCTRL - help - Samsung EXYNOS5 (Cortex-A15) SoC based systems - -+config ARCH_EXYNOS_COMMON -+ def_bool ARCH_EXYNOS4 || ARCH_EXYNOS5 -+ - comment "EXYNOS SoCs" - - config CPU_EXYNOS4210 -@@ -41,7 +56,7 @@ config CPU_EXYNOS4210 - select PM_GENERIC_DOMAINS if PM - select S5P_PM if PM - select S5P_SLEEP if PM -- select SAMSUNG_DMADEV -+ select SAMSUNG_DMADEV if !ARCH_MULTIPLATFORM - help - Enable EXYNOS4210 CPU support - -@@ -49,10 +64,11 @@ config SOC_EXYNOS4212 - bool "SAMSUNG EXYNOS4212" - default y - depends on ARCH_EXYNOS4 -+ select MACH_EXYNOS4_DT - select PINCTRL_EXYNOS - select S5P_PM if PM - select S5P_SLEEP if PM -- select SAMSUNG_DMADEV -+ select SAMSUNG_DMADEV if !ARCH_MULTIPLATFORM - help - Enable EXYNOS4212 SoC support - -@@ -60,8 +76,9 @@ config SOC_EXYNOS4412 - bool "SAMSUNG EXYNOS4412" - default y - depends on ARCH_EXYNOS4 -+ select MACH_EXYNOS4_DT - select PINCTRL_EXYNOS -- select SAMSUNG_DMADEV -+ select SAMSUNG_DMADEV if !ARCH_MULTIPLATFORM - help - Enable EXYNOS4412 SoC support - -@@ -70,11 +87,12 @@ config SOC_EXYNOS5250 - default y - depends on ARCH_EXYNOS5 - select PINCTRL_EXYNOS -+ select MACH_EXYNOS5_DT - select PM_GENERIC_DOMAINS if PM - select S5P_PM if PM - select S5P_SLEEP if PM - select S5P_DEV_MFC -- select SAMSUNG_DMADEV -+ select SAMSUNG_DMADEV if !ARCH_MULTIPLATFORM - help - Enable EXYNOS5250 SoC support - -@@ -121,9 +139,7 @@ config MACH_EXYNOS4_DT - with this machine file. - - config MACH_EXYNOS5_DT -- bool "SAMSUNG EXYNOS5 Machine using device tree" -- default y -- depends on ARCH_EXYNOS5 -+ bool - select ARM_AMBA - select CLKSRC_OF - select USB_ARCH_HAS_XHCI -diff --git a/arch/arm/mach-exynos/Makefile b/arch/arm/mach-exynos/Makefile -index e970a7a..ae397bb 100644 ---- a/arch/arm/mach-exynos/Makefile -+++ b/arch/arm/mach-exynos/Makefile -diff --git a/arch/arm/plat-samsung/Kconfig b/arch/arm/plat-samsung/Kconfig -@@ -5,14 +5,11 @@ - # - # Licensed under GPLv2 - --obj-y := --obj-m := --obj-n := --obj- := -+ccflags-$(CONFIG_ARCH_MULTIPLATFORM) += -I$(srctree)/$(src)/include -I$(srctree)/arch/arm/plat-samsung - --# Core -+ifdef CONFIG_ARCH_EXYNOS_COMMON - --obj-$(CONFIG_ARCH_EXYNOS) += common.o -+obj-y += pmu.o - - obj-$(CONFIG_S5P_PM) += pm.o - obj-$(CONFIG_PM_GENERIC_DOMAINS) += pm_domains.o -@@ -24,8 +21,8 @@ - - obj-$(CONFIG_HOTPLUG_CPU) += hotplug.o - --obj-$(CONFIG_ARCH_EXYNOS) += exynos-smc.o --obj-$(CONFIG_ARCH_EXYNOS) += firmware.o -++obj-y += exynos-smc.o -++obj-y += firmware.o - - plus_sec := $(call as-instr,.arch_extension sec,+sec) - AFLAGS_exynos-smc.o :=-Wa,-march=armv7-a$(plus_sec) -@@ -34,3 +31,5 @@ - - obj-$(CONFIG_MACH_EXYNOS4_DT) += mach-exynos4-dt.o - obj-$(CONFIG_MACH_EXYNOS5_DT) += mach-exynos5-dt.o -+ -+endif -index 3dc5cbe..e61abdc 100644 ---- a/arch/arm/plat-samsung/Kconfig -+++ b/arch/arm/plat-samsung/Kconfig -@@ -6,7 +6,7 @@ - - config PLAT_SAMSUNG - bool -- depends on PLAT_S3C24XX || ARCH_S3C64XX || PLAT_S5P || ARCH_EXYNOS -+ depends on PLAT_S3C24XX || ARCH_S3C64XX || PLAT_S5P || ARCH_EXYNOS_COMMON - default y - select GENERIC_IRQ_CHIP - select NO_IOPORT -@@ -176,6 +176,7 @@ config S5P_DEV_UART - - config S3C_ADC - bool "ADC common driver support" -+ depends on !ARCH_MULTIPLATFORM - help - Core support for the ADC block found in the Samsung SoC systems - for drivers such as the touchscreen and hwmon to use to share -@@ -396,6 +397,7 @@ config S5P_DEV_USB_EHCI - - config S3C24XX_PWM - bool "PWM device support" -+ depends on !ARCH_MULTIPLATFORM - select PWM - select PWM_SAMSUNG - help -@@ -453,7 +455,7 @@ comment "Power management" - config SAMSUNG_PM_DEBUG - bool "S3C2410 PM Suspend debug" - depends on PM -- select DEBUG_LL -+ depends on DEBUG_LL && SERIAL_SAMSUNG - help - Say Y here if you want verbose debugging from the PM Suspend and - Resume code. See -diff --git a/arch/arm/plat-samsung/Makefile b/arch/arm/plat-samsung/Makefile -index 98d07d8..b458e7d 100644 ---- a/arch/arm/plat-samsung/Makefile -+++ b/arch/arm/plat-samsung/Makefile -@@ -4,6 +4,9 @@ - # - # Licensed under GPLv2 - -+ccflags-$(CONFIG_ARCH_MULTI_V7) += -I$(srctree)/$(src)/include -+ccflags-$(CONFIG_ARCH_EXYNOS_COMMON) += -I$(srctree)/arch/arm/mach-exynos/include -+ - obj-y := - obj-m := - obj-n := dummy.o -diff --git a/arch/arm/plat-samsung/s5p-irq-pm.c b/arch/arm/plat-samsung/s5p-irq-pm.c -index 7c1e3b7..dc66bb5 100644 ---- a/arch/arm/plat-samsung/s5p-irq-pm.c -+++ b/arch/arm/plat-samsung/s5p-irq-pm.c -@@ -40,7 +40,7 @@ int s3c_irq_wake(struct irq_data *data, unsigned int state) - unsigned long irqbit; - unsigned int irq_rtc_tic, irq_rtc_alarm; - --#ifdef CONFIG_ARCH_EXYNOS -+#ifdef CONFIG_ARCH_EXYNOS_COMMON - if (soc_is_exynos5250()) { - irq_rtc_tic = EXYNOS5_IRQ_RTC_TIC; - irq_rtc_alarm = EXYNOS5_IRQ_RTC_ALARM; -diff --git a/drivers/clocksource/Kconfig b/drivers/clocksource/Kconfig -index 81465c2..6bd8b5a 100644 ---- a/drivers/clocksource/Kconfig -+++ b/drivers/clocksource/Kconfig -@@ -75,7 +75,7 @@ config CLKSRC_METAG_GENERIC - This option enables support for the Meta per-thread timers. - - config CLKSRC_EXYNOS_MCT -- def_bool y if ARCH_EXYNOS -+ def_bool y if ARCH_EXYNOS_COMMON - help - Support for Multi Core Timer controller on Exynos SoCs. - -diff --git a/drivers/devfreq/Kconfig b/drivers/devfreq/Kconfig -index 31f3adb..15454ad 100644 ---- a/drivers/devfreq/Kconfig -+++ b/drivers/devfreq/Kconfig -@@ -68,6 +68,7 @@ comment "DEVFREQ Drivers" - config ARM_EXYNOS4_BUS_DEVFREQ - bool "ARM Exynos4210/4212/4412 Memory Bus DEVFREQ Driver" - depends on CPU_EXYNOS4210 || SOC_EXYNOS4212 || SOC_EXYNOS4412 -+ depends on !ARCH_MULTIPLATFORM - select ARCH_HAS_OPP - select DEVFREQ_GOV_SIMPLE_ONDEMAND - help -diff --git a/drivers/iommu/Kconfig b/drivers/iommu/Kconfig -index 6c6034e..d9ed7c0 100644 ---- a/drivers/iommu/Kconfig -+++ b/drivers/iommu/Kconfig -@@ -168,7 +168,7 @@ config TEGRA_IOMMU_SMMU - - config EXYNOS_IOMMU - bool "Exynos IOMMU Support" -- depends on ARCH_EXYNOS && EXYNOS_DEV_SYSMMU -+ depends on ARCH_EXYNOS_COMMON && EXYNOS_DEV_SYSMMU - select IOMMU_API - help - Support for the IOMMU(System MMU) of Samsung Exynos application -diff --git a/drivers/pinctrl/Kconfig b/drivers/pinctrl/Kconfig -index 5a8ad51..03688dd 100644 ---- a/drivers/pinctrl/Kconfig -+++ b/drivers/pinctrl/Kconfig -@@ -252,7 +252,7 @@ config PINCTRL_SAMSUNG - - config PINCTRL_EXYNOS - bool "Pinctrl driver data for Samsung EXYNOS SoCs other than 5440" -- depends on OF && GPIOLIB && (ARCH_EXYNOS || ARCH_S5PV210) -+ depends on OF && GPIOLIB && (ARCH_EXYNOS_COMMON || ARCH_S5PV210) - select PINCTRL_SAMSUNG - - config PINCTRL_EXYNOS5440 -diff --git a/drivers/pwm/Kconfig b/drivers/pwm/Kconfig -index 75840b5..746a931 100644 ---- a/drivers/pwm/Kconfig -+++ b/drivers/pwm/Kconfig -@@ -140,7 +140,7 @@ config PWM_RENESAS_TPU - - config PWM_SAMSUNG - tristate "Samsung PWM support" -- depends on PLAT_SAMSUNG -+ depends on PLAT_SAMSUNG && !ARCH_MULTIPLATFORM - help - Generic PWM framework driver for Samsung. - -diff --git a/drivers/spi/Kconfig b/drivers/spi/Kconfig -index 89cbbab..830b8e7 100644 ---- a/drivers/spi/Kconfig -+++ b/drivers/spi/Kconfig -@@ -365,7 +365,7 @@ config SPI_S3C24XX_FIQ - - config SPI_S3C64XX - tristate "Samsung S3C64XX series type SPI" -- depends on (ARCH_S3C24XX || ARCH_S3C64XX || ARCH_S5P64X0 || ARCH_EXYNOS) -+ depends on (ARCH_S3C24XX || ARCH_S3C64XX || ARCH_S5P64X0 || ARCH_EXYNOS_COMMON) - select S3C64XX_DMA if ARCH_S3C64XX - help - SPI driver for Samsung S3C64XX and newer SoCs. -diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig -index 4263d01..d7ad720 100644 ---- a/drivers/usb/host/Kconfig -+++ b/drivers/usb/host/Kconfig -@@ -462,7 +462,7 @@ config USB_OHCI_SH - - config USB_OHCI_EXYNOS - boolean "OHCI support for Samsung EXYNOS SoC Series" -- depends on ARCH_EXYNOS -+ depends on ARCH_EXYNOS_COMMON - help - Enable support for the Samsung Exynos SOC's on-chip OHCI controller. - -diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig -index 2c301f8..0ba3e03 100644 ---- a/drivers/video/Kconfig -+++ b/drivers/video/Kconfig -@@ -2039,7 +2039,7 @@ config FB_TMIO_ACCELL - config FB_S3C - tristate "Samsung S3C framebuffer support" - depends on FB && (CPU_S3C2416 || ARCH_S3C64XX || ARCH_S5P64X0 || \ -- ARCH_S5PC100 || ARCH_S5PV210 || ARCH_EXYNOS) -+ ARCH_S5PC100 || ARCH_S5PV210 || ARCH_EXYNOS_COMMON) - select FB_CFB_FILLRECT - select FB_CFB_COPYAREA - select FB_CFB_IMAGEBLIT -diff --git a/drivers/video/exynos/Kconfig b/drivers/video/exynos/Kconfig -index b8abda5..216af14 100644 ---- a/drivers/video/exynos/Kconfig -+++ b/drivers/video/exynos/Kconfig -@@ -15,7 +15,7 @@ if EXYNOS_VIDEO - - config EXYNOS_MIPI_DSI - bool "EXYNOS MIPI DSI driver support." -- depends on ARCH_S5PV210 || ARCH_EXYNOS -+ depends on ARCH_S5PV210 || ARCH_EXYNOS_COMMON - help - This enables support for MIPI-DSI device. - -@@ -29,7 +29,7 @@ config EXYNOS_LCD_S6E8AX0 - - config EXYNOS_DP - bool "EXYNOS DP driver support" -- depends on ARCH_EXYNOS -+ depends on ARCH_EXYNOS_COMMON - default n - help - This enables support for DP device. -diff --git a/sound/soc/samsung/Kconfig b/sound/soc/samsung/Kconfig -index 9855dfc..fcb2045 100644 ---- a/sound/soc/samsung/Kconfig -+++ b/sound/soc/samsung/Kconfig -@@ -1,6 +1,6 @@ - config SND_SOC_SAMSUNG - tristate "ASoC support for Samsung" -- depends on PLAT_SAMSUNG -+ depends on PLAT_SAMSUNG && !ARCH_MULTIPLATFORM - select S3C64XX_DMA if ARCH_S3C64XX - select S3C2410_DMA if ARCH_S3C24XX - help diff --git a/arm-imx6-utilite.patch b/arm-imx6-utilite.patch new file mode 100644 index 000000000..8f942f014 --- /dev/null +++ b/arm-imx6-utilite.patch @@ -0,0 +1,84 @@ +Add initial support for cm-fx6 module. + +cm-fx6 is a module based on mx6q SoC with the following features: +- Up to 4GB of DDR3 +- 1 LCD/DVI output port +- 1 HDMI output port +- 2 LVDS LCD ports +- Gigabit Ethernet +- Analog Audio +- CAN +- SATA +- NAND +- PCIE + +This patch allows to boot up the module, configures the serial console, +the Ethernet adapter and the hearbeat led. + +Signed-off-by: Valentin Raevsky +Acked-by: Igor Grinberg +--- + arch/arm/boot/dts/cm-fx6.dts | 51 ++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 51 insertions(+) + create mode 100644 arch/arm/boot/dts/cm-fx6.dts + +diff --git a/arch/arm/boot/dts/cm-fx6.dts b/arch/arm/boot/dts/cm-fx6.dts +new file mode 100644 +index 0000000..1080215 +--- /dev/null ++++ b/arch/arm/boot/dts/cm-fx6.dts +@@ -0,0 +1,51 @@ ++/* ++ * Copyright 2013 CompuLab Ltd. ++ * ++ * The code contained herein is licensed under the GNU General Public ++ * License. You may obtain a copy of the GNU General Public License ++ * Version 2 or later at the following locations: ++ * ++ * http://www.opensource.org/licenses/gpl-license.html ++ * http://www.gnu.org/copyleft/gpl.html ++ */ ++ ++/dts-v1/; ++#include "imx6q.dtsi" ++ ++/ { ++ model = "CompuLab CM-FX6"; ++ compatible = "compulab,cm-fx6", "fsl,imx6q"; ++ ++ memory { ++ reg = <0x10000000 0x80000000>; ++ }; ++ ++ leds { ++ compatible = "gpio-leds"; ++ ++ debug-led { ++ label = "Heartbeat"; ++ gpios = <&gpio2 31 0>; ++ linux,default-trigger = "heartbeat"; ++ }; ++ }; ++}; ++ ++&gpmi { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pinctrl_gpmi_nand_1>; ++ status = "okay"; ++}; ++ ++&fec { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pinctrl_enet_1>; ++ phy-mode = "rgmii"; ++ status = "okay"; ++}; ++ ++&uart4 { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pinctrl_uart4_1>; ++ status = "okay"; ++}; +-- +1.7.9.5 + diff --git a/config-arm-generic b/config-arm-generic index 96a95e5bb..aaa88ee3a 100644 --- a/config-arm-generic +++ b/config-arm-generic @@ -114,8 +114,6 @@ CONFIG_MFD_CORE=m CONFIG_SMC91X=m CONFIG_SMC911X=m -CONFIG_VIRTIO_CONSOLE=m - # CONFIG_CRYPTO_TEST is not set # CONFIG_TRANSPARENT_HUGEPAGE is not set # CONFIG_XEN is not set diff --git a/config-armv7 b/config-armv7 index cd0abf265..dfdc7cfea 100644 --- a/config-armv7 +++ b/config-armv7 @@ -397,6 +397,7 @@ CONFIG_PWM_IMX=m CONFIG_BACKLIGHT_PWM=m CONFIG_DRM_IMX=m CONFIG_DRM_IMX_FB_HELPER=m +CONFIG_DRM_IMX_HDMI=m CONFIG_DRM_IMX_IPUV3_CORE=m CONFIG_DRM_IMX_IPUV3=m # CONFIG_DRM_IMX_LDB is not set diff --git a/kernel.spec b/kernel.spec index d1ea97d04..19e9e4ee8 100644 --- a/kernel.spec +++ b/kernel.spec @@ -675,7 +675,6 @@ Patch15000: nowatchdog-on-virt.patch # lpae Patch21001: arm-lpae-ax88796.patch Patch21004: arm-sound-soc-samsung-dma-avoid-another-64bit-division.patch -Patch21005: arm-exynos-mp.patch # ARM omap Patch21010: arm-omap-load-tfp410.patch @@ -683,6 +682,10 @@ Patch21010: arm-omap-load-tfp410.patch # ARM tegra Patch21020: arm-tegra-usb-no-reset-linux33.patch +# ARM i.MX6 +# http://www.spinics.net/lists/devicetree/msg08276.html +Patch21030: arm-imx6-utilite.patch + #rhbz 754518 Patch21235: scsi-sd_revalidate_disk-prevent-NULL-ptr-deref.patch @@ -1280,9 +1283,9 @@ ApplyOptionalPatch upstream-reverts.patch -R # ApplyPatch arm-lpae-ax88796.patch ApplyPatch arm-sound-soc-samsung-dma-avoid-another-64bit-division.patch -#pplyPatch arm-exynos-mp.patch ApplyPatch arm-omap-load-tfp410.patch ApplyPatch arm-tegra-usb-no-reset-linux33.patch +ApplyPatch arm-imx6-utilite.patch # # bugfixes to drivers and filesystems @@ -2235,6 +2238,9 @@ fi # ||----w | # || || %changelog +* Thu Oct 24 2013 Peter Robinson +- Add patch for i.MX6 Utilite device dtb + * Thu Oct 24 2013 Josh Boyer - 3.12.0-0.rc6.git3.1 - Linux v3.12-rc6-284-ge6036c0