This patch moves Exynos PMU driver implementation from "arm/mach-exynos" to "drivers/soc/samsung". This driver is mainly used for setting misc bits of register from PMU IP of Exynos SoC which will be required to configure before Suspend/Resume. Currently all these settings are done in "arch/arm/mach-exynos/pmu.c" but moving ahead for ARM64 based SoC support, there is a need of this PMU driver in driver/* folder. This driver uses existing DT binding information and there should be no functionality change in the supported platforms. Signed-off-by: Amit Daniel Kachhap <amitdanielk@gmail.com> [tested on Peach-Pi (Exynos5880)] Signed-off-by: Pankaj Dubey <pankaj.dubey@samsung.com> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com> [for testing on Trats2 (Exynos4412) and Odroid XU3 (Exynos5422)] Tested-by: Krzysztof Kozlowski <k.kozlowski@samsung.com> [k.kozlowski: Rebased, add necessary infrastructure for building and selecting drivers/soc because original patchset was on top of movement SROMc to drivers/soc] Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
152 lines
3.0 KiB
Plaintext
152 lines
3.0 KiB
Plaintext
# arch/arm/mach-exynos/Kconfig
|
|
#
|
|
# Copyright (c) 2010-2011 Samsung Electronics Co., Ltd.
|
|
# http://www.samsung.com/
|
|
#
|
|
# Licensed under GPLv2
|
|
|
|
# Configuration options for the EXYNOS
|
|
|
|
menuconfig ARCH_EXYNOS
|
|
bool "Samsung EXYNOS"
|
|
depends on ARCH_MULTI_V7
|
|
select ARCH_HAS_BANDGAP
|
|
select ARCH_HAS_HOLES_MEMORYMODEL
|
|
select ARCH_REQUIRE_GPIOLIB
|
|
select ARM_AMBA
|
|
select ARM_GIC
|
|
select COMMON_CLK_SAMSUNG
|
|
select EXYNOS_THERMAL
|
|
select EXYNOS_PMU
|
|
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
|
|
select S5P_DEV_MFC
|
|
select SOC_SAMSUNG
|
|
select SRAM
|
|
select THERMAL
|
|
select MFD_SYSCON
|
|
select CLKSRC_EXYNOS_MCT
|
|
select POWER_RESET
|
|
select POWER_RESET_SYSCON
|
|
select POWER_RESET_SYSCON_POWEROFF
|
|
help
|
|
Support for SAMSUNG EXYNOS SoCs (EXYNOS4/5)
|
|
|
|
if ARCH_EXYNOS
|
|
|
|
config S5P_DEV_MFC
|
|
bool
|
|
help
|
|
Compile in setup memory (init) code for MFC
|
|
|
|
config ARCH_EXYNOS3
|
|
bool "SAMSUNG EXYNOS3"
|
|
select ARM_CPU_SUSPEND if PM
|
|
help
|
|
Samsung EXYNOS3 (Cortex-A7) SoC based systems
|
|
|
|
config ARCH_EXYNOS4
|
|
bool "SAMSUNG EXYNOS4"
|
|
default y
|
|
select ARM_CPU_SUSPEND if PM_SLEEP
|
|
select CLKSRC_SAMSUNG_PWM if CPU_EXYNOS4210
|
|
select CPU_EXYNOS4210
|
|
select GIC_NON_BANKED
|
|
select KEYBOARD_SAMSUNG if INPUT_KEYBOARD
|
|
select MIGHT_HAVE_CACHE_L2X0
|
|
help
|
|
Samsung EXYNOS4 (Cortex-A9) SoC based systems
|
|
|
|
config ARCH_EXYNOS5
|
|
bool "SAMSUNG EXYNOS5"
|
|
default y
|
|
help
|
|
Samsung EXYNOS5 (Cortex-A15/A7) SoC based systems
|
|
|
|
comment "EXYNOS SoCs"
|
|
|
|
config SOC_EXYNOS3250
|
|
bool "SAMSUNG EXYNOS3250"
|
|
default y
|
|
depends on ARCH_EXYNOS3
|
|
|
|
config CPU_EXYNOS4210
|
|
bool "SAMSUNG EXYNOS4210"
|
|
default y
|
|
depends on ARCH_EXYNOS4
|
|
|
|
config SOC_EXYNOS4212
|
|
bool "SAMSUNG EXYNOS4212"
|
|
default y
|
|
depends on ARCH_EXYNOS4
|
|
|
|
config SOC_EXYNOS4412
|
|
bool "SAMSUNG EXYNOS4412"
|
|
default y
|
|
depends on ARCH_EXYNOS4
|
|
|
|
config SOC_EXYNOS4415
|
|
bool "SAMSUNG EXYNOS4415"
|
|
default y
|
|
depends on ARCH_EXYNOS4
|
|
|
|
config SOC_EXYNOS5250
|
|
bool "SAMSUNG EXYNOS5250"
|
|
default y
|
|
depends on ARCH_EXYNOS5
|
|
|
|
config SOC_EXYNOS5260
|
|
bool "SAMSUNG EXYNOS5260"
|
|
default y
|
|
depends on ARCH_EXYNOS5
|
|
|
|
config SOC_EXYNOS5410
|
|
bool "SAMSUNG EXYNOS5410"
|
|
default y
|
|
depends on ARCH_EXYNOS5
|
|
|
|
config SOC_EXYNOS5420
|
|
bool "SAMSUNG EXYNOS5420"
|
|
default y
|
|
depends on ARCH_EXYNOS5
|
|
|
|
config SOC_EXYNOS5440
|
|
bool "SAMSUNG EXYNOS5440"
|
|
default y
|
|
depends on ARCH_EXYNOS5
|
|
select ARCH_DMA_ADDR_T_64BIT if ARM_LPAE
|
|
select HAVE_ARM_ARCH_TIMER
|
|
select AUTO_ZRELADDR
|
|
select MIGHT_HAVE_PCI
|
|
select PCI_DOMAINS if PCI
|
|
select PINCTRL_EXYNOS5440
|
|
select PM_OPP
|
|
help
|
|
Enable EXYNOS5440 SoC support
|
|
|
|
config SOC_EXYNOS5800
|
|
bool "SAMSUNG EXYNOS5800"
|
|
default y
|
|
depends on SOC_EXYNOS5420
|
|
|
|
config EXYNOS5420_MCPM
|
|
bool "Exynos5420 Multi-Cluster PM support"
|
|
depends on MCPM && SOC_EXYNOS5420
|
|
select ARM_CCI400_PORT_CTRL
|
|
select ARM_CPU_SUSPEND
|
|
help
|
|
This is needed to provide CPU and cluster power management
|
|
on Exynos5420 implementing big.LITTLE.
|
|
|
|
config EXYNOS_CPU_SUSPEND
|
|
bool
|
|
select ARM_CPU_SUSPEND
|
|
default PM_SLEEP || ARM_EXYNOS_CPUIDLE
|
|
|
|
endif
|