GNU Linux-libre 5.19-rc6-gnu
[releases.git] / drivers / soc / samsung / Kconfig
1 # SPDX-License-Identifier: GPL-2.0
2 #
3 # Samsung SoC drivers
4 #
5 menuconfig SOC_SAMSUNG
6         bool "Samsung SoC driver support" if COMPILE_TEST
7
8 if SOC_SAMSUNG
9
10 # There is no need to enable these drivers for ARMv8
11 config EXYNOS_ASV_ARM
12         bool "Exynos ASV ARMv7-specific driver extensions" if COMPILE_TEST
13         depends on EXYNOS_CHIPID
14
15 config 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
26 config 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
40 config 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
47 config EXYNOS_PMU_ARM_DRIVERS
48         bool "Exynos PMU ARMv7-specific driver extensions" if COMPILE_TEST
49         depends on EXYNOS_PMU
50
51 config EXYNOS_PM_DOMAINS
52         bool "Exynos PM domains" if COMPILE_TEST
53         depends on (ARCH_EXYNOS && PM_GENERIC_DOMAINS) || COMPILE_TEST
54
55 config 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
66 config 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
75 config 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
90 config 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
102 config EXYNOS_REGULATOR_COUPLER
103         bool "Exynos SoC Regulator Coupler" if COMPILE_TEST
104         depends on ARCH_EXYNOS || COMPILE_TEST
105 endif