aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTomasz Figa <t.figa@samsung.com>2013-06-18 12:26:42 -0400
committerKukjin Kim <kgene.kim@samsung.com>2013-06-18 12:26:42 -0400
commite245f9699e941fcc01af200806e8307e4ab7198d (patch)
tree4a4361f0724d9c395137e64224c3006384444594
parent58d5b72088ccee4eafb12b5b4433471e7438c453 (diff)
ARM: EXYNOS: Decouple ARCH_EXYNOS from PLAT_S5P
After removing support for ATAGS based boot on Exynos, there is not much that can be shared between Exynos and other S5P platforms. This patch makes Exynos a standalone Samsung platform, not using PLAT_S5P. Signed-off-by: Tomasz Figa <t.figa@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
-rw-r--r--arch/arm/Kconfig3
-rw-r--r--arch/arm/Makefile1
-rw-r--r--arch/arm/mach-exynos/Kconfig1
-rw-r--r--arch/arm/plat-samsung/Kconfig8
-rw-r--r--arch/arm/plat-samsung/pm-gpio.c5
5 files changed, 11 insertions, 7 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 15e599437e96..a4e32fd9bb4a 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -795,7 +795,9 @@ config ARCH_EXYNOS
795 bool "Samsung EXYNOS" 795 bool "Samsung EXYNOS"
796 select ARCH_HAS_CPUFREQ 796 select ARCH_HAS_CPUFREQ
797 select ARCH_HAS_HOLES_MEMORYMODEL 797 select ARCH_HAS_HOLES_MEMORYMODEL
798 select ARCH_REQUIRE_GPIOLIB
798 select ARCH_SPARSEMEM_ENABLE 799 select ARCH_SPARSEMEM_ENABLE
800 select ARM_GIC
799 select CLKDEV_LOOKUP 801 select CLKDEV_LOOKUP
800 select COMMON_CLK 802 select COMMON_CLK
801 select CPU_V7 803 select CPU_V7
@@ -807,6 +809,7 @@ config ARCH_EXYNOS
807 select HAVE_S3C_RTC if RTC_CLASS 809 select HAVE_S3C_RTC if RTC_CLASS
808 select NEED_MACH_GPIO_H 810 select NEED_MACH_GPIO_H
809 select NEED_MACH_MEMORY_H 811 select NEED_MACH_MEMORY_H
812 select S5P_GPIO_DRVSTR
810 select SAMSUNG_ATAGS 813 select SAMSUNG_ATAGS
811 select USE_OF 814 select USE_OF
812 help 815 help
diff --git a/arch/arm/Makefile b/arch/arm/Makefile
index 1ba358ba16b8..60133fb4d6c3 100644
--- a/arch/arm/Makefile
+++ b/arch/arm/Makefile
@@ -197,6 +197,7 @@ machine-$(CONFIG_ARCH_SUNXI) += sunxi
197 197
198# Platform directory name. This list is sorted alphanumerically 198# Platform directory name. This list is sorted alphanumerically
199# by CONFIG_* macro name. 199# by CONFIG_* macro name.
200plat-$(CONFIG_ARCH_EXYNOS) += samsung
200plat-$(CONFIG_ARCH_OMAP) += omap 201plat-$(CONFIG_ARCH_OMAP) += omap
201plat-$(CONFIG_ARCH_S3C64XX) += samsung 202plat-$(CONFIG_ARCH_S3C64XX) += samsung
202plat-$(CONFIG_PLAT_IOP) += iop 203plat-$(CONFIG_PLAT_IOP) += iop
diff --git a/arch/arm/mach-exynos/Kconfig b/arch/arm/mach-exynos/Kconfig
index 2bc2696153f9..1f356790a4f4 100644
--- a/arch/arm/mach-exynos/Kconfig
+++ b/arch/arm/mach-exynos/Kconfig
@@ -14,6 +14,7 @@ menu "SAMSUNG EXYNOS SoCs Support"
14config ARCH_EXYNOS4 14config ARCH_EXYNOS4
15 bool "SAMSUNG EXYNOS4" 15 bool "SAMSUNG EXYNOS4"
16 default y 16 default y
17 select GIC_NON_BANKED
17 select HAVE_ARM_SCU if SMP 18 select HAVE_ARM_SCU if SMP
18 select HAVE_SMP 19 select HAVE_SMP
19 select MIGHT_HAVE_CACHE_L2X0 20 select MIGHT_HAVE_CACHE_L2X0
diff --git a/arch/arm/plat-samsung/Kconfig b/arch/arm/plat-samsung/Kconfig
index 7b08b2678b1a..ca27cc9ac4bf 100644
--- a/arch/arm/plat-samsung/Kconfig
+++ b/arch/arm/plat-samsung/Kconfig
@@ -6,7 +6,7 @@
6 6
7config PLAT_SAMSUNG 7config PLAT_SAMSUNG
8 bool 8 bool
9 depends on PLAT_S3C24XX || ARCH_S3C64XX || PLAT_S5P 9 depends on PLAT_S3C24XX || ARCH_S3C64XX || PLAT_S5P || ARCH_EXYNOS
10 default y 10 default y
11 select GENERIC_IRQ_CHIP 11 select GENERIC_IRQ_CHIP
12 select NO_IOPORT 12 select NO_IOPORT
@@ -15,12 +15,10 @@ config PLAT_SAMSUNG
15 15
16config PLAT_S5P 16config PLAT_S5P
17 bool 17 bool
18 depends on (ARCH_S5P64X0 || ARCH_S5PC100 || ARCH_S5PV210 || ARCH_EXYNOS) 18 depends on (ARCH_S5P64X0 || ARCH_S5PC100 || ARCH_S5PV210)
19 default y 19 default y
20 select ARCH_REQUIRE_GPIOLIB 20 select ARCH_REQUIRE_GPIOLIB
21 select ARM_GIC if ARCH_EXYNOS 21 select ARM_VIC
22 select ARM_VIC if !ARCH_EXYNOS
23 select GIC_NON_BANKED if ARCH_EXYNOS4
24 select NO_IOPORT 22 select NO_IOPORT
25 select PLAT_SAMSUNG 23 select PLAT_SAMSUNG
26 select S3C_GPIO_TRACK 24 select S3C_GPIO_TRACK
diff --git a/arch/arm/plat-samsung/pm-gpio.c b/arch/arm/plat-samsung/pm-gpio.c
index c2ff92c30bdf..a8de3cfe2ee1 100644
--- a/arch/arm/plat-samsung/pm-gpio.c
+++ b/arch/arm/plat-samsung/pm-gpio.c
@@ -192,7 +192,8 @@ struct samsung_gpio_pm samsung_gpio_pm_2bit = {
192 .resume = samsung_gpio_pm_2bit_resume, 192 .resume = samsung_gpio_pm_2bit_resume,
193}; 193};
194 194
195#if defined(CONFIG_ARCH_S3C64XX) || defined(CONFIG_PLAT_S5P) 195#if defined(CONFIG_ARCH_S3C64XX) || defined(CONFIG_PLAT_S5P) \
196 || defined(CONFIG_ARCH_EXYNOS)
196static void samsung_gpio_pm_4bit_save(struct samsung_gpio_chip *chip) 197static void samsung_gpio_pm_4bit_save(struct samsung_gpio_chip *chip)
197{ 198{
198 chip->pm_save[1] = __raw_readl(chip->base + OFFS_CON); 199 chip->pm_save[1] = __raw_readl(chip->base + OFFS_CON);
@@ -302,7 +303,7 @@ struct samsung_gpio_pm samsung_gpio_pm_4bit = {
302 .save = samsung_gpio_pm_4bit_save, 303 .save = samsung_gpio_pm_4bit_save,
303 .resume = samsung_gpio_pm_4bit_resume, 304 .resume = samsung_gpio_pm_4bit_resume,
304}; 305};
305#endif /* CONFIG_ARCH_S3C64XX || CONFIG_PLAT_S5P */ 306#endif /* CONFIG_ARCH_S3C64XX || CONFIG_PLAT_S5P || CONFIG_ARCH_EXYNOS */
306 307
307/** 308/**
308 * samsung_pm_save_gpio() - save gpio chip data for suspend 309 * samsung_pm_save_gpio() - save gpio chip data for suspend