162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0 262306a36Sopenharmony_ci# 362306a36Sopenharmony_ci# Samsung SoC drivers 462306a36Sopenharmony_ci# 562306a36Sopenharmony_cimenuconfig SOC_SAMSUNG 662306a36Sopenharmony_ci bool "Samsung SoC driver support" if COMPILE_TEST 762306a36Sopenharmony_ci 862306a36Sopenharmony_ciif SOC_SAMSUNG 962306a36Sopenharmony_ci 1062306a36Sopenharmony_ci# There is no need to enable these drivers for ARMv8 1162306a36Sopenharmony_ciconfig EXYNOS_ASV_ARM 1262306a36Sopenharmony_ci bool "Exynos ASV ARMv7-specific driver extensions" if COMPILE_TEST 1362306a36Sopenharmony_ci depends on EXYNOS_CHIPID 1462306a36Sopenharmony_ci 1562306a36Sopenharmony_ciconfig EXYNOS_CHIPID 1662306a36Sopenharmony_ci tristate "Exynos ChipID controller and ASV driver" 1762306a36Sopenharmony_ci depends on ARCH_EXYNOS || COMPILE_TEST 1862306a36Sopenharmony_ci default ARCH_EXYNOS 1962306a36Sopenharmony_ci select EXYNOS_ASV_ARM if ARM && ARCH_EXYNOS 2062306a36Sopenharmony_ci select MFD_SYSCON 2162306a36Sopenharmony_ci select SOC_BUS 2262306a36Sopenharmony_ci help 2362306a36Sopenharmony_ci Support for Samsung Exynos SoC ChipID and Adaptive Supply Voltage. 2462306a36Sopenharmony_ci This driver can also be built as module (exynos_chipid). 2562306a36Sopenharmony_ci 2662306a36Sopenharmony_ciconfig EXYNOS_USI 2762306a36Sopenharmony_ci tristate "Exynos USI (Universal Serial Interface) driver" 2862306a36Sopenharmony_ci default ARCH_EXYNOS && ARM64 2962306a36Sopenharmony_ci depends on ARCH_EXYNOS || COMPILE_TEST 3062306a36Sopenharmony_ci select MFD_SYSCON 3162306a36Sopenharmony_ci help 3262306a36Sopenharmony_ci Enable support for USI block. USI (Universal Serial Interface) is an 3362306a36Sopenharmony_ci IP-core found in modern Samsung Exynos SoCs, like Exynos850 and 3462306a36Sopenharmony_ci ExynosAutoV9. USI block can be configured to provide one of the 3562306a36Sopenharmony_ci following serial protocols: UART, SPI or High Speed I2C. 3662306a36Sopenharmony_ci 3762306a36Sopenharmony_ci This driver allows one to configure USI for desired protocol, which 3862306a36Sopenharmony_ci is usually done in USI node in Device Tree. 3962306a36Sopenharmony_ci 4062306a36Sopenharmony_ciconfig EXYNOS_PMU 4162306a36Sopenharmony_ci bool "Exynos PMU controller driver" if COMPILE_TEST 4262306a36Sopenharmony_ci depends on ARCH_EXYNOS || ((ARM || ARM64) && COMPILE_TEST) 4362306a36Sopenharmony_ci select EXYNOS_PMU_ARM_DRIVERS if ARM && ARCH_EXYNOS 4462306a36Sopenharmony_ci select MFD_CORE 4562306a36Sopenharmony_ci 4662306a36Sopenharmony_ci# There is no need to enable these drivers for ARMv8 4762306a36Sopenharmony_ciconfig EXYNOS_PMU_ARM_DRIVERS 4862306a36Sopenharmony_ci bool "Exynos PMU ARMv7-specific driver extensions" if COMPILE_TEST 4962306a36Sopenharmony_ci depends on EXYNOS_PMU 5062306a36Sopenharmony_ci 5162306a36Sopenharmony_ciconfig EXYNOS_PM_DOMAINS 5262306a36Sopenharmony_ci bool "Exynos PM domains" if COMPILE_TEST 5362306a36Sopenharmony_ci depends on (ARCH_EXYNOS && PM_GENERIC_DOMAINS) || COMPILE_TEST 5462306a36Sopenharmony_ci 5562306a36Sopenharmony_ciconfig SAMSUNG_PM_CHECK 5662306a36Sopenharmony_ci bool "S3C2410 PM Suspend Memory CRC" 5762306a36Sopenharmony_ci depends on PM && (ARCH_S3C64XX || ARCH_S5PV210) 5862306a36Sopenharmony_ci select CRC32 5962306a36Sopenharmony_ci help 6062306a36Sopenharmony_ci Enable the PM code's memory area checksum over sleep. This option 6162306a36Sopenharmony_ci will generate CRCs of all blocks of memory, and store them before 6262306a36Sopenharmony_ci going to sleep. The blocks are then checked on resume for any 6362306a36Sopenharmony_ci errors. 6462306a36Sopenharmony_ci 6562306a36Sopenharmony_ci Note, this can take several seconds depending on memory size 6662306a36Sopenharmony_ci and CPU speed. 6762306a36Sopenharmony_ci 6862306a36Sopenharmony_ciconfig SAMSUNG_PM_CHECK_CHUNKSIZE 6962306a36Sopenharmony_ci int "S3C2410 PM Suspend CRC Chunksize (KiB)" 7062306a36Sopenharmony_ci depends on PM && SAMSUNG_PM_CHECK 7162306a36Sopenharmony_ci default 64 7262306a36Sopenharmony_ci help 7362306a36Sopenharmony_ci Set the chunksize in Kilobytes of the CRC for checking memory 7462306a36Sopenharmony_ci corruption over suspend and resume. A smaller value will mean that 7562306a36Sopenharmony_ci the CRC data block will take more memory, but will identify any 7662306a36Sopenharmony_ci faults with better precision. 7762306a36Sopenharmony_ci 7862306a36Sopenharmony_ciconfig EXYNOS_REGULATOR_COUPLER 7962306a36Sopenharmony_ci bool "Exynos SoC Regulator Coupler" if COMPILE_TEST 8062306a36Sopenharmony_ci depends on ARCH_EXYNOS || COMPILE_TEST 8162306a36Sopenharmony_ciendif 82