106512c53SKrzysztof Kozlowski# SPDX-License-Identifier: GPL-2.0 2bfce552dSPankaj Dubey# 394500540SKrzysztof Kozlowski# Samsung SoC drivers 4bfce552dSPankaj Dubey# 5b11301d5SKrzysztof Kozlowskimenuconfig SOC_SAMSUNG 6b11301d5SKrzysztof Kozlowski bool "Samsung SoC driver support" if COMPILE_TEST 7bfce552dSPankaj Dubey 8b11301d5SKrzysztof Kozlowskiif SOC_SAMSUNG 9bfce552dSPankaj Dubey 105ea42859SSylwester Nawrocki# There is no need to enable these drivers for ARMv8 115ea42859SSylwester Nawrockiconfig EXYNOS_ASV_ARM 125ea42859SSylwester Nawrocki bool "Exynos ASV ARMv7-specific driver extensions" if COMPILE_TEST 13352bfbb3SKrzysztof Kozlowski depends on EXYNOS_CHIPID 145ea42859SSylwester Nawrocki 153253b7b7SPankaj Dubeyconfig EXYNOS_CHIPID 16140bbfe7SKrzysztof Kozlowski tristate "Exynos ChipID controller and ASV driver" 173253b7b7SPankaj Dubey depends on ARCH_EXYNOS || COMPILE_TEST 18140bbfe7SKrzysztof Kozlowski default ARCH_EXYNOS 19352bfbb3SKrzysztof Kozlowski select EXYNOS_ASV_ARM if ARM && ARCH_EXYNOS 2028578825SSylwester Nawrocki select MFD_SYSCON 213253b7b7SPankaj Dubey select SOC_BUS 22352bfbb3SKrzysztof Kozlowski help 23352bfbb3SKrzysztof Kozlowski Support for Samsung Exynos SoC ChipID and Adaptive Supply Voltage. 241e3e559fSKrzysztof Kozlowski This driver can also be built as module (exynos_chipid). 253253b7b7SPankaj Dubey 26b603377eSSam Protsenkoconfig EXYNOS_USI 27b603377eSSam Protsenko tristate "Exynos USI (Universal Serial Interface) driver" 28b603377eSSam Protsenko default ARCH_EXYNOS && ARM64 29b603377eSSam Protsenko depends on ARCH_EXYNOS || COMPILE_TEST 30b603377eSSam Protsenko select MFD_SYSCON 31b603377eSSam Protsenko help 32b603377eSSam Protsenko Enable support for USI block. USI (Universal Serial Interface) is an 33b603377eSSam Protsenko IP-core found in modern Samsung Exynos SoCs, like Exynos850 and 34442b0c08SSam Protsenko ExynosAutoV9. USI block can be configured to provide one of the 35b603377eSSam Protsenko following serial protocols: UART, SPI or High Speed I2C. 36b603377eSSam Protsenko 37b603377eSSam Protsenko This driver allows one to configure USI for desired protocol, which 38b603377eSSam Protsenko is usually done in USI node in Device Tree. 39b603377eSSam Protsenko 40bfce552dSPankaj Dubeyconfig EXYNOS_PMU 41b11301d5SKrzysztof Kozlowski bool "Exynos PMU controller driver" if COMPILE_TEST 42a0ebf662SKrzysztof Kozlowski depends on ARCH_EXYNOS || ((ARM || ARM64) && COMPILE_TEST) 43a0ebf662SKrzysztof Kozlowski select EXYNOS_PMU_ARM_DRIVERS if ARM && ARCH_EXYNOS 44e37ef6dcSDavid Virag select MFD_CORE 45a0ebf662SKrzysztof Kozlowski 46a0ebf662SKrzysztof Kozlowski# There is no need to enable these drivers for ARMv8 47a0ebf662SKrzysztof Kozlowskiconfig EXYNOS_PMU_ARM_DRIVERS 48a0ebf662SKrzysztof Kozlowski bool "Exynos PMU ARMv7-specific driver extensions" if COMPILE_TEST 49a0ebf662SKrzysztof Kozlowski depends on EXYNOS_PMU 50bfce552dSPankaj Dubey 519479f7ccSKrzysztof Kozlowskiconfig EXYNOS_PM_DOMAINS 529479f7ccSKrzysztof Kozlowski bool "Exynos PM domains" if COMPILE_TEST 5317132da7SArnd Bergmann depends on (ARCH_EXYNOS && PM_GENERIC_DOMAINS) || COMPILE_TEST 5417132da7SArnd Bergmann 5517132da7SArnd Bergmannconfig SAMSUNG_PM_CHECK 5617132da7SArnd Bergmann bool "S3C2410 PM Suspend Memory CRC" 57*2e3ee090SArnd Bergmann depends on PM && (ARCH_S3C64XX || ARCH_S5PV210) 5817132da7SArnd Bergmann select CRC32 5917132da7SArnd Bergmann help 6017132da7SArnd Bergmann Enable the PM code's memory area checksum over sleep. This option 6117132da7SArnd Bergmann will generate CRCs of all blocks of memory, and store them before 6217132da7SArnd Bergmann going to sleep. The blocks are then checked on resume for any 6317132da7SArnd Bergmann errors. 6417132da7SArnd Bergmann 6517132da7SArnd Bergmann Note, this can take several seconds depending on memory size 6617132da7SArnd Bergmann and CPU speed. 6717132da7SArnd Bergmann 6817132da7SArnd Bergmannconfig SAMSUNG_PM_CHECK_CHUNKSIZE 6917132da7SArnd Bergmann int "S3C2410 PM Suspend CRC Chunksize (KiB)" 7017132da7SArnd Bergmann depends on PM && SAMSUNG_PM_CHECK 7117132da7SArnd Bergmann default 64 7217132da7SArnd Bergmann help 7317132da7SArnd Bergmann Set the chunksize in Kilobytes of the CRC for checking memory 7417132da7SArnd Bergmann corruption over suspend and resume. A smaller value will mean that 7517132da7SArnd Bergmann the CRC data block will take more memory, but will identify any 7617132da7SArnd Bergmann faults with better precision. 7717132da7SArnd Bergmann 7800067ca5SMarek Szyprowskiconfig EXYNOS_REGULATOR_COUPLER 7900067ca5SMarek Szyprowski bool "Exynos SoC Regulator Coupler" if COMPILE_TEST 8000067ca5SMarek Szyprowski depends on ARCH_EXYNOS || COMPILE_TEST 81b11301d5SKrzysztof Kozlowskiendif 82