| # SPDX-License-Identifier: GPL-2.0 |
| # |
| # Samsung SoC drivers |
| # |
| menuconfig SOC_SAMSUNG |
| bool "Samsung SoC driver support" if COMPILE_TEST |
| |
| if SOC_SAMSUNG |
| |
| # There is no need to enable these drivers for ARMv8 |
| config EXYNOS_ASV_ARM |
| bool "Exynos ASV ARMv7-specific driver extensions" if COMPILE_TEST |
| depends on EXYNOS_CHIPID |
| |
| config EXYNOS_CHIPID |
| tristate "Exynos ChipID controller and ASV driver" |
| depends on ARCH_EXYNOS || COMPILE_TEST |
| default ARCH_EXYNOS |
| select EXYNOS_ASV_ARM if ARM && ARCH_EXYNOS |
| select MFD_SYSCON |
| select SOC_BUS |
| help |
| Support for Samsung Exynos SoC ChipID and Adaptive Supply Voltage. |
| This driver can also be built as module (exynos_chipid). |
| |
| config EXYNOS_USI |
| tristate "Exynos USI (Universal Serial Interface) driver" |
| default ARCH_EXYNOS && ARM64 |
| depends on ARCH_EXYNOS || COMPILE_TEST |
| select MFD_SYSCON |
| help |
| Enable support for USI block. USI (Universal Serial Interface) is an |
| IP-core found in modern Samsung Exynos SoCs, like Exynos850 and |
| ExynosAutoV9. USI block can be configured to provide one of the |
| following serial protocols: UART, SPI or High Speed I2C. |
| |
| This driver allows one to configure USI for desired protocol, which |
| is usually done in USI node in Device Tree. |
| |
| config EXYNOS_PMU |
| bool "Exynos PMU controller driver" if COMPILE_TEST |
| depends on ARCH_EXYNOS || ((ARM || ARM64) && COMPILE_TEST) |
| select EXYNOS_PMU_ARM_DRIVERS if ARM && ARCH_EXYNOS |
| select MFD_CORE |
| |
| # There is no need to enable these drivers for ARMv8 |
| config EXYNOS_PMU_ARM_DRIVERS |
| bool "Exynos PMU ARMv7-specific driver extensions" if COMPILE_TEST |
| depends on EXYNOS_PMU |
| |
| config EXYNOS_PM_DOMAINS |
| bool "Exynos PM domains" if COMPILE_TEST |
| depends on (ARCH_EXYNOS && PM_GENERIC_DOMAINS) || COMPILE_TEST |
| |
| config SAMSUNG_PM_CHECK |
| bool "S3C2410 PM Suspend Memory CRC" |
| depends on PM && (ARCH_S3C64XX || ARCH_S5PV210) |
| select CRC32 |
| help |
| Enable the PM code's memory area checksum over sleep. This option |
| will generate CRCs of all blocks of memory, and store them before |
| going to sleep. The blocks are then checked on resume for any |
| errors. |
| |
| Note, this can take several seconds depending on memory size |
| and CPU speed. |
| |
| config SAMSUNG_PM_CHECK_CHUNKSIZE |
| int "S3C2410 PM Suspend CRC Chunksize (KiB)" |
| depends on PM && SAMSUNG_PM_CHECK |
| default 64 |
| help |
| Set the chunksize in Kilobytes of the CRC for checking memory |
| corruption over suspend and resume. A smaller value will mean that |
| the CRC data block will take more memory, but will identify any |
| faults with better precision. |
| |
| config EXYNOS_REGULATOR_COUPLER |
| bool "Exynos SoC Regulator Coupler" if COMPILE_TEST |
| depends on ARCH_EXYNOS || COMPILE_TEST |
| endif |