Add patch for i.MX6 Utilite device dtb, drop old exynos patch

This commit is contained in:
Peter Robinson 2013-10-24 20:29:40 +01:00
parent c872926b2f
commit ac67590916
5 changed files with 93 additions and 412 deletions

View File

@ -1,408 +0,0 @@
commit 8b806e0201b97844d0eff4713eb88f0a6d0f689d
Author: Arnd Bergmann <arnd@arndb.de>
Date: Fri Jun 14 17:16:30 2013 +0200
ARM: exynos multiplatform, next try
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
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 <plat/regs-serial.h>
+#include <linux/serial_s3c.h>
/* 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 <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt>
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

84
arm-imx6-utilite.patch Normal file
View File

@ -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 <valentin@xxxxxxxxxxxxxx>
Acked-by: Igor Grinberg <grinberg@xxxxxxxxxxxxxx>
---
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

View File

@ -114,8 +114,6 @@ CONFIG_MFD_CORE=m
CONFIG_SMC91X=m CONFIG_SMC91X=m
CONFIG_SMC911X=m CONFIG_SMC911X=m
CONFIG_VIRTIO_CONSOLE=m
# CONFIG_CRYPTO_TEST is not set # CONFIG_CRYPTO_TEST is not set
# CONFIG_TRANSPARENT_HUGEPAGE is not set # CONFIG_TRANSPARENT_HUGEPAGE is not set
# CONFIG_XEN is not set # CONFIG_XEN is not set

View File

@ -397,6 +397,7 @@ CONFIG_PWM_IMX=m
CONFIG_BACKLIGHT_PWM=m CONFIG_BACKLIGHT_PWM=m
CONFIG_DRM_IMX=m CONFIG_DRM_IMX=m
CONFIG_DRM_IMX_FB_HELPER=m CONFIG_DRM_IMX_FB_HELPER=m
CONFIG_DRM_IMX_HDMI=m
CONFIG_DRM_IMX_IPUV3_CORE=m CONFIG_DRM_IMX_IPUV3_CORE=m
CONFIG_DRM_IMX_IPUV3=m CONFIG_DRM_IMX_IPUV3=m
# CONFIG_DRM_IMX_LDB is not set # CONFIG_DRM_IMX_LDB is not set

View File

@ -675,7 +675,6 @@ Patch15000: nowatchdog-on-virt.patch
# lpae # lpae
Patch21001: arm-lpae-ax88796.patch Patch21001: arm-lpae-ax88796.patch
Patch21004: arm-sound-soc-samsung-dma-avoid-another-64bit-division.patch Patch21004: arm-sound-soc-samsung-dma-avoid-another-64bit-division.patch
Patch21005: arm-exynos-mp.patch
# ARM omap # ARM omap
Patch21010: arm-omap-load-tfp410.patch Patch21010: arm-omap-load-tfp410.patch
@ -683,6 +682,10 @@ Patch21010: arm-omap-load-tfp410.patch
# ARM tegra # ARM tegra
Patch21020: arm-tegra-usb-no-reset-linux33.patch 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 #rhbz 754518
Patch21235: scsi-sd_revalidate_disk-prevent-NULL-ptr-deref.patch 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-lpae-ax88796.patch
ApplyPatch arm-sound-soc-samsung-dma-avoid-another-64bit-division.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-omap-load-tfp410.patch
ApplyPatch arm-tegra-usb-no-reset-linux33.patch ApplyPatch arm-tegra-usb-no-reset-linux33.patch
ApplyPatch arm-imx6-utilite.patch
# #
# bugfixes to drivers and filesystems # bugfixes to drivers and filesystems
@ -2235,6 +2238,9 @@ fi
# ||----w | # ||----w |
# || || # || ||
%changelog %changelog
* Thu Oct 24 2013 Peter Robinson <pbrobinson@fedoraproject.org>
- Add patch for i.MX6 Utilite device dtb
* Thu Oct 24 2013 Josh Boyer <jwboyer@fedoraproject.org> - 3.12.0-0.rc6.git3.1 * Thu Oct 24 2013 Josh Boyer <jwboyer@fedoraproject.org> - 3.12.0-0.rc6.git3.1
- Linux v3.12-rc6-284-ge6036c0 - Linux v3.12-rc6-284-ge6036c0