1# SPDX-License-Identifier: GPL-2.0 2# 3# Samsung SoC drivers 4# 5menuconfig SOC_SAMSUNG 6 bool "Samsung SoC driver support" if COMPILE_TEST 7 8if SOC_SAMSUNG 9 10# There is no need to enable these drivers for ARMv8 11config EXYNOS_ASV_ARM 12 bool "Exynos ASV ARMv7-specific driver extensions" if COMPILE_TEST 13 depends on EXYNOS_CHIPID 14 15config EXYNOS_CHIPID 16 tristate "Exynos ChipID controller and ASV driver" 17 depends on ARCH_EXYNOS || COMPILE_TEST 18 default ARCH_EXYNOS 19 select EXYNOS_ASV_ARM if ARM && ARCH_EXYNOS 20 select MFD_SYSCON 21 select SOC_BUS 22 help 23 Support for Samsung Exynos SoC ChipID and Adaptive Supply Voltage. 24 This driver can also be built as module (exynos_chipid). 25 26config EXYNOS_USI 27 tristate "Exynos USI (Universal Serial Interface) driver" 28 default ARCH_EXYNOS && ARM64 29 depends on ARCH_EXYNOS || COMPILE_TEST 30 select MFD_SYSCON 31 help 32 Enable support for USI block. USI (Universal Serial Interface) is an 33 IP-core found in modern Samsung Exynos SoCs, like Exynos850 and 34 ExynosAutoV9. USI block can be configured to provide one of the 35 following serial protocols: UART, SPI or High Speed I2C. 36 37 This driver allows one to configure USI for desired protocol, which 38 is usually done in USI node in Device Tree. 39 40config EXYNOS_PMU 41 bool "Exynos PMU controller driver" if COMPILE_TEST 42 depends on ARCH_EXYNOS || ((ARM || ARM64) && COMPILE_TEST) 43 select EXYNOS_PMU_ARM_DRIVERS if ARM && ARCH_EXYNOS 44 select MFD_CORE 45 46# There is no need to enable these drivers for ARMv8 47config EXYNOS_PMU_ARM_DRIVERS 48 bool "Exynos PMU ARMv7-specific driver extensions" if COMPILE_TEST 49 depends on EXYNOS_PMU 50 51config EXYNOS_PM_DOMAINS 52 bool "Exynos PM domains" if COMPILE_TEST 53 depends on (ARCH_EXYNOS && PM_GENERIC_DOMAINS) || COMPILE_TEST 54 55config SAMSUNG_PM_DEBUG 56 bool "Samsung PM Suspend debug" 57 depends on PM && DEBUG_KERNEL 58 depends on PLAT_S3C24XX || ARCH_S3C64XX || ARCH_S5PV210 59 depends on DEBUG_S3C24XX_UART || DEBUG_S3C2410_UART 60 depends on DEBUG_LL && MMU 61 help 62 Say Y here if you want verbose debugging from the PM Suspend and 63 Resume code. See <file:Documentation/arm/samsung-s3c24xx/suspend.rst> 64 for more information. 65 66config S3C_PM_DEBUG_LED_SMDK 67 bool "SMDK LED suspend/resume debugging" 68 depends on PM && (MACH_SMDK6410) 69 help 70 Say Y here to enable the use of the SMDK LEDs on the baseboard 71 for debugging of the state of the suspend and resume process. 72 73 Note, this currently only works for S3C64XX based SMDK boards. 74 75config SAMSUNG_PM_CHECK 76 bool "S3C2410 PM Suspend Memory CRC" 77 depends on PM && (PLAT_S3C24XX || ARCH_S3C64XX || ARCH_S5PV210) 78 select CRC32 79 help 80 Enable the PM code's memory area checksum over sleep. This option 81 will generate CRCs of all blocks of memory, and store them before 82 going to sleep. The blocks are then checked on resume for any 83 errors. 84 85 Note, this can take several seconds depending on memory size 86 and CPU speed. 87 88 See <file:Documentation/arm/samsung-s3c24xx/suspend.rst> 89 90config SAMSUNG_PM_CHECK_CHUNKSIZE 91 int "S3C2410 PM Suspend CRC Chunksize (KiB)" 92 depends on PM && SAMSUNG_PM_CHECK 93 default 64 94 help 95 Set the chunksize in Kilobytes of the CRC for checking memory 96 corruption over suspend and resume. A smaller value will mean that 97 the CRC data block will take more memory, but will identify any 98 faults with better precision. 99 100 See <file:Documentation/arm/samsung-s3c24xx/suspend.rst> 101 102config EXYNOS_REGULATOR_COUPLER 103 bool "Exynos SoC Regulator Coupler" if COMPILE_TEST 104 depends on ARCH_EXYNOS || COMPILE_TEST 105endif 106