Skip to contentSkip to conversation

Exynos multi-platform support

PATCH New Sachin Kamat 4 participants 8 messages May 23, 2014 – May 25, 2014

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

v2 cover Exynos multi-platform support

The patches in this series were earlier sent as part of other series. Now that the other patches have been merged, re-sending these after rebasing them on linux-next (20140523). Tested on Exynos4210, 4412, 5250 and 5420 based boards.

A particular change in this series is the removal of single platform support for Exynos as suggested by Arnd and Olof (patch 2/3). With this change certain features (drivers) which are not yet multi-platform aware like cpufreq, devfreq and DRM based gscaler will not be available now.

Changes since v1:
Patch 2/3: Dropped some duplicated config symbols as suggested by Arnd.

Arnd Bergmann (1):
ARM: EXYNOS: Enable multi-platform build support

Sachin Kamat (2):
ARM: EXYNOS: Consolidate Kconfig entries
ARM: multi_v7_defconfig: Enable Exynos platform

 arch/arm/Kconfig                    |   20 -----------
 arch/arm/configs/multi_v7_defconfig |   12 +++++++
 arch/arm/mach-exynos/Kconfig        |   66 +++++++++++++----------------------
 arch/arm/mach-exynos/Makefile       |    2 ++
 arch/arm/plat-samsung/Makefile      |    3 ++
 5 files changed, 42 insertions(+), 61 deletions(-)
Signature · 1 line
1.7.9.5
#1 lore raw

PATCH v2 1/3 ARM: EXYNOS: Consolidate Kconfig entries

Instead of repeating the Kconfig entries for every SoC, move them under ARCH_EXYNOS4 and 5 and move the entries common to both 4 and 5 under ARCH_EXYNOS.

---
No changes since v1

---
 arch/arm/Kconfig             |   10 ++++++++++
 arch/arm/mach-exynos/Kconfig |   45 ++++--------------------------------------
 2 files changed, 14 insertions(+), 41 deletions(-)
arch/arm/Kconfig +10 -0
index eae853bb7ee5..b8d47ca91406 100644
@@ -832,18 +832,28 @@ config ARCH_S5PV210
 
 config ARCH_EXYNOS
 	bool "Samsung EXYNOS"
+	select ARCH_HAS_BANDGAP
 	select ARCH_HAS_CPUFREQ
 	select ARCH_HAS_HOLES_MEMORYMODEL
 	select ARCH_REQUIRE_GPIOLIB
 	select ARCH_SPARSEMEM_ENABLE
+	select ARM_AMBA
 	select ARM_GIC
+	select CLKSRC_OF
 	select COMMON_CLK_SAMSUNG
 	select CPU_V7
 	select GENERIC_CLOCKEVENTS
+	select HAVE_ARM_SCU if SMP
 	select HAVE_S3C2410_I2C if I2C
 	select HAVE_S3C2410_WATCHDOG if WATCHDOG
 	select HAVE_S3C_RTC if RTC_CLASS
+	select HAVE_SMP
 	select NEED_MACH_MEMORY_H
+	select PINCTRL
+	select PINCTRL_EXYNOS
+	select PM_GENERIC_DOMAINS if PM_RUNTIME
+	select S5P_DEV_MFC
+	select SAMSUNG_DMADEV
 	select SPARSE_IRQ
 	select SRAM
 	select USE_OF
arch/arm/mach-exynos/Kconfig +4 -41

93 lines not on this page · raw message

Signature · 1 line
1.7.9.5
#2 lore raw

PATCH v2 2/3 ARM: EXYNOS: Enable multi-platform build support

In reply to Sachin Kamat

From: Arnd Bergmann <[email protected]>

This makes it possible to enable the Exynos platform as part of a multiplatform kernel.

---
Changes since v1:
Dropped duplicate config symbols as suggested by Arnd. Updated commit log.

---
 arch/arm/Kconfig               |   30 ------------------------------
 arch/arm/mach-exynos/Kconfig   |   21 +++++++++++++++++++++
 arch/arm/mach-exynos/Makefile  |    2 ++
 arch/arm/plat-samsung/Makefile |    3 +++
 4 files changed, 26 insertions(+), 30 deletions(-)
arch/arm/Kconfig +0 -30
index b8d47ca91406..a2a0153c94e7 100644
@@ -830,36 +830,6 @@ config ARCH_S5PV210
 	help
 	  Samsung S5PV210/S5PC110 series based systems
 
-config ARCH_EXYNOS
-	bool "Samsung EXYNOS"
-	select ARCH_HAS_BANDGAP
-	select ARCH_HAS_CPUFREQ
-	select ARCH_HAS_HOLES_MEMORYMODEL
-	select ARCH_REQUIRE_GPIOLIB
-	select ARCH_SPARSEMEM_ENABLE
-	select ARM_AMBA
-	select ARM_GIC
-	select CLKSRC_OF
-	select COMMON_CLK_SAMSUNG
-	select CPU_V7
-	select GENERIC_CLOCKEVENTS
-	select HAVE_ARM_SCU if SMP
-	select HAVE_S3C2410_I2C if I2C
-	select HAVE_S3C2410_WATCHDOG if WATCHDOG
-	select HAVE_S3C_RTC if RTC_CLASS
-	select HAVE_SMP
-	select NEED_MACH_MEMORY_H
-	select PINCTRL
-	select PINCTRL_EXYNOS
-	select PM_GENERIC_DOMAINS if PM_RUNTIME
-	select S5P_DEV_MFC
-	select SAMSUNG_DMADEV
-	select SPARSE_IRQ
-	select SRAM
-	select USE_OF
-	help
-	  Support for SAMSUNG's EXYNOS SoCs (EXYNOS4/5)
-
 config ARCH_DAVINCI
 	bool "TI DaVinci"
 	select ARCH_HAS_HOLES_MEMORYMODEL
arch/arm/mach-exynos/Kconfig +21 -0
index 138070e42aa9..7035131a1c99 100644
@@ -7,6 +7,27 @@
 
 # Configuration options for the EXYNOS4
 
+config ARCH_EXYNOS
+	bool "Samsung EXYNOS" if ARCH_MULTI_V7
+	select ARCH_HAS_BANDGAP
+	select ARCH_HAS_CPUFREQ
+	select ARCH_HAS_HOLES_MEMORYMODEL
+	select ARCH_REQUIRE_GPIOLIB
+	select ARM_AMBA
+	select ARM_GIC
+	select COMMON_CLK_SAMSUNG
+	select HAVE_ARM_SCU if SMP
+	select HAVE_S3C2410_I2C if I2C
+	select HAVE_S3C2410_WATCHDOG if WATCHDOG
+	select HAVE_S3C_RTC if RTC_CLASS
+	select PINCTRL
+	select PINCTRL_EXYNOS
+	select PM_GENERIC_DOMAINS if PM_RUNTIME
+	select S5P_DEV_MFC
+	select SRAM
+	help
+	  Support for SAMSUNG EXYNOS SoCs (EXYNOS4/5)
+
 if ARCH_EXYNOS
 
 menu "SAMSUNG EXYNOS SoCs Support"
arch/arm/mach-exynos/Makefile +2 -0
index df809039b017..6f3608602bfa 100644
@@ -5,6 +5,8 @@
 #
 # Licensed under GPLv2
 
+ccflags-$(CONFIG_ARCH_MULTIPLATFORM) += -I$(srctree)/$(src)/include -I$(srctree)/arch/arm/plat-samsung/include
+
 obj-y				:=
 obj-m				:=
 obj-n				:=
arch/arm/plat-samsung/Makefile +3 -0
index 25c826ed3b65..5e5beaa9ae15 100644
@@ -4,6 +4,9 @@
 #
 # Licensed under GPLv2
 
+ccflags-$(CONFIG_ARCH_MULTI_V7) += -I$(srctree)/$(src)/include
+ccflags-$(CONFIG_ARCH_EXYNOS)	+= -I$(srctree)/arch/arm/mach-exynos/include
+
 obj-y				:=
 obj-m				:=
 obj-n				:= dummy.o
Signature · 1 line
1.7.9.5
#3 lore raw

PATCH v2 3/3 ARM: multi_v7_defconfig: Enable Exynos platform

In reply to Sachin Kamat

Enable Exynos platform and its related IPs.

---
No changes since v1.

---
 arch/arm/configs/multi_v7_defconfig |   12 ++++++++++++
 1 file changed, 12 insertions(+)
arch/arm/configs/multi_v7_defconfig +12 -0
index 6a27f90ab7bc..bbdcadf642b6 100644
@@ -48,6 +48,7 @@ CONFIG_ARCH_SPEAR13XX=y
 CONFIG_MACH_SPEAR1310=y
 CONFIG_MACH_SPEAR1340=y
 CONFIG_ARCH_STI=y
+CONFIG_ARCH_EXYNOS=y
 CONFIG_ARCH_SUNXI=y
 CONFIG_ARCH_SIRF=y
 CONFIG_ARCH_TEGRA=y
@@ -72,6 +73,7 @@ CONFIG_PCI_MSI=y
 CONFIG_PCI_MVEBU=y
 CONFIG_PCI_TEGRA=y
 CONFIG_SMP=y
+CONFIG_NR_CPUS=8
 CONFIG_HIGHPTE=y
 CONFIG_CMA=y
 CONFIG_ARM_APPENDED_DTB=y
@@ -160,6 +162,8 @@ CONFIG_SERIAL_8250_CONSOLE=y
 CONFIG_SERIAL_8250_DW=y
 CONFIG_SERIAL_AMBA_PL011=y
 CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
+CONFIG_SERIAL_SAMSUNG=y
+CONFIG_SERIAL_SAMSUNG_CONSOLE=y
 CONFIG_SERIAL_SIRFSOC=y
 CONFIG_SERIAL_SIRFSOC_CONSOLE=y
 CONFIG_SERIAL_TEGRA=y
@@ -183,6 +187,7 @@ CONFIG_I2C_MUX=y
 CONFIG_I2C_MUX_PCA954x=y
 CONFIG_I2C_MUX_PINCTRL=y
 CONFIG_I2C_DESIGNWARE_PLATFORM=y
+CONFIG_I2C_EXYNOS5=y
 CONFIG_I2C_MV64XXX=y
 CONFIG_I2C_SIRF=y
 CONFIG_I2C_TEGRA=y
@@ -218,6 +223,7 @@ CONFIG_MFD_AS3722=y
 CONFIG_MFD_CROS_EC=y
 CONFIG_MFD_CROS_EC_SPI=y
 CONFIG_MFD_MAX8907=y
+CONFIG_MFD_SEC_CORE=y
 CONFIG_MFD_PALMAS=y
 CONFIG_MFD_TPS65090=y
 CONFIG_MFD_TPS6586X=y
@@ -228,6 +234,8 @@ CONFIG_REGULATOR_AS3722=y
 CONFIG_REGULATOR_GPIO=y
 CONFIG_REGULATOR_MAX8907=y
 CONFIG_REGULATOR_PALMAS=y
+CONFIG_REGULATOR_S2MPS11=y
+CONFIG_REGULATOR_S5M8767=y
 CONFIG_REGULATOR_TPS51632=y
 CONFIG_REGULATOR_TPS62360=y
 CONFIG_REGULATOR_TPS65090=y
@@ -284,12 +292,16 @@ CONFIG_MMC_SDHCI=y
 CONFIG_MMC_SDHCI_ESDHC_IMX=y
 CONFIG_MMC_SDHCI_PXAV3=y
 CONFIG_MMC_SDHCI_TEGRA=y
+CONFIG_MMC_SDHCI_S3C=y
 CONFIG_MMC_SDHCI_DOVE=y
 CONFIG_MMC_SDHCI_SPEAR=y
+CONFIG_MMC_SDHCI_S3C_DMA=y
 CONFIG_MMC_SDHCI_BCM_KONA=y
 CONFIG_MMC_OMAP=y
 CONFIG_MMC_OMAP_HS=y
 CONFIG_MMC_MVSDIO=y
+CONFIG_MMC_DW=y
+CONFIG_MMC_DW_EXYNOS=y
 CONFIG_EDAC=y
 CONFIG_EDAC_MM_EDAC=y
 CONFIG_EDAC_HIGHBANK_MC=y
Signature · 1 line
1.7.9.5
#4 lore raw

v2 cover Exynos multi-platform support

In reply to Sachin Kamat
Quoted 10 lines · Sachin Kamat

The patches in this series were earlier sent as part of other series. Now that the other patches have been merged, re-sending these after rebasing them on linux-next (20140523). Tested on Exynos4210, 4412, 5250 and 5420 based boards.

A particular change in this series is the removal of single platform support for Exynos as suggested by Arnd and Olof (patch 2/3). With this change certain features (drivers) which are not yet multi-platform aware like cpufreq, devfreq and DRM based gscaler will not be available now.

#5 lore raw

v2 cover Exynos multi-platform support

Quoted 6 lines · Arnd Bergmann
Quoted 5 lines · Sachin Kamat

The patches in this series were earlier sent as part of other series. Now that the other patches have been merged, re-sending these after rebasing them on linux-next (20140523). Tested on Exynos4210, 4412, 5250 and 5420 based boards.

Quoted 8 lines
Quoted 5 lines

A particular change in this series is the removal of single platform support for Exynos as suggested by Arnd and Olof (patch 2/3). With this change certain features (drivers) which are not yet multi-platform aware like cpufreq, devfreq and DRM based gscaler will not be available now.

Yes, it's time to move on exynos multiplatform and we can't wait for more perfect something. Anyway if any problems, let's fix them after this. Will apply this whole series.

Thanks,
Kukjin

#6 lore raw

v2 cover Exynos multi-platform support

Hi Kukjin,

Quoted 14 lines · Kukjin Kim
Quoted 13 lines · Arnd Bergmann
Quoted 10 lines · Sachin Kamat

The patches in this series were earlier sent as part of other series. Now that the other patches have been merged, re-sending these after rebasing them on linux-next (20140523). Tested on Exynos4210, 4412, 5250 and 5420 based boards.

A particular change in this series is the removal of single platform support for Exynos as suggested by Arnd and Olof (patch 2/3). With this change certain features (drivers) which are not yet multi-platform aware like cpufreq, devfreq and DRM based gscaler will not be available now.

Quoted 5 lines
Quoted 1 line

Yes, it's time to move on exynos multiplatform and we can't wait for more perfect something. Anyway if any problems, let's fix them after this. Will apply this whole series.

I have tested v1 of this series on Exynos4210-TRATS and Exynos4412-TRATS2 boards and they seemed to work fine with added two patches that are already on the ML:
- [PATCH v2] cpufreq: exynos: Fix driver compilation with
ARCH_MULTIPLATFORM,
- [PATCH] drm/exynos/fimd: allow multiplatform configuration.

Not tested too extensively, but primary features (boot, display, USB gadget, cpufreq) seem to work at first glance with the above patches.

Best regards,
Tomasz

#7 lore raw

v2 cover Exynos multi-platform support

Quoted 2 lines · Tomasz Figa

Hi Kukjin,

Hi,

Quoted 21 lines · Kukjin Kim
Quoted 14 lines · Arnd Bergmann
Quoted 13 lines · Sachin Kamat
Quoted 10 lines

The patches in this series were earlier sent as part of other series. Now that the other patches have been merged, re-sending these after rebasing them on linux-next (20140523). Tested on Exynos4210, 4412, 5250 and 5420 based boards.

A particular change in this series is the removal of single platform support for Exynos as suggested by Arnd and Olof (patch 2/3). With this change certain features (drivers) which are not yet multi-platform aware like cpufreq, devfreq and DRM based gscaler will not be available now.

Quoted 5 lines
Quoted 1 line

Yes, it's time to move on exynos multiplatform and we can't wait for more perfect something. Anyway if any problems, let's fix them after this. Will apply this whole series.

Quoted 5 lines

I have tested v1 of this series on Exynos4210-TRATS and Exynos4412-TRATS2 boards and they seemed to work fine with added two patches that are already on the ML:
- [PATCH v2] cpufreq: exynos: Fix driver compilation with
ARCH_MULTIPLATFORM,

Hmm...yeah, Thomas re-submitted v5 but the patches are depending on others which are not yet decided to apply for 3.16...maybe it can be upstreamed in 3.17?...

Quoted 5 lines

- [PATCH] drm/exynos/fimd: allow multiplatform configuration.

Not tested too extensively, but primary features (boot, display, USB gadget, cpufreq) seem to work at first glance with the above patches.

Thanks for your test and OK, I'll queue this with multiplatform patches.

- Kukjin