Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
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 select REGMAP_MMIO
46
47# There is no need to enable these drivers for ARMv8
48config EXYNOS_PMU_ARM_DRIVERS
49 bool "Exynos PMU ARMv7-specific driver extensions" if COMPILE_TEST
50 depends on EXYNOS_PMU
51
52config SAMSUNG_PM_CHECK
53 bool "S3C2410 PM Suspend Memory CRC"
54 depends on PM && (ARCH_S3C64XX || ARCH_S5PV210)
55 select CRC32
56 help
57 Enable the PM code's memory area checksum over sleep. This option
58 will generate CRCs of all blocks of memory, and store them before
59 going to sleep. The blocks are then checked on resume for any
60 errors.
61
62 Note, this can take several seconds depending on memory size
63 and CPU speed.
64
65config SAMSUNG_PM_CHECK_CHUNKSIZE
66 int "S3C2410 PM Suspend CRC Chunksize (KiB)"
67 depends on PM && SAMSUNG_PM_CHECK
68 default 64
69 help
70 Set the chunksize in Kilobytes of the CRC for checking memory
71 corruption over suspend and resume. A smaller value will mean that
72 the CRC data block will take more memory, but will identify any
73 faults with better precision.
74
75config EXYNOS_REGULATOR_COUPLER
76 bool "Exynos SoC Regulator Coupler" if COMPILE_TEST
77 depends on ARCH_EXYNOS || COMPILE_TEST
78endif