| # 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 | |
| select REGMAP_MMIO | |
| # 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 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 |