blob: a9f8b224322e42f1ae9ddb7b7b1976a0a7a8f4eb [file] [log] [blame]
Krzysztof Kozlowski06512c52017-12-25 21:17:59 +01001# SPDX-License-Identifier: GPL-2.0
Pankaj Dubeybfce5522015-12-18 09:02:16 +05302#
Krzysztof Kozlowski94500542020-01-04 16:20:52 +01003# Samsung SoC drivers
Pankaj Dubeybfce5522015-12-18 09:02:16 +05304#
Krzysztof Kozlowskib11301d2016-02-02 15:24:13 +09005menuconfig SOC_SAMSUNG
6 bool "Samsung SoC driver support" if COMPILE_TEST
Pankaj Dubeybfce5522015-12-18 09:02:16 +05307
Krzysztof Kozlowskib11301d2016-02-02 15:24:13 +09008if SOC_SAMSUNG
Pankaj Dubeybfce5522015-12-18 09:02:16 +05309
Sylwester Nawrocki5ea42852019-10-28 16:15:33 +010010# 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
Krzysztof Kozlowski352bfbb2020-12-07 19:54:57 +010013 depends on EXYNOS_CHIPID
Sylwester Nawrocki5ea42852019-10-28 16:15:33 +010014
Pankaj Dubey3253b7b2019-08-13 17:08:19 +020015config EXYNOS_CHIPID
Krzysztof Kozlowski140bbfe72021-09-19 11:31:14 +020016 tristate "Exynos ChipID controller and ASV driver"
Pankaj Dubey3253b7b2019-08-13 17:08:19 +020017 depends on ARCH_EXYNOS || COMPILE_TEST
Krzysztof Kozlowski140bbfe72021-09-19 11:31:14 +020018 default ARCH_EXYNOS
Krzysztof Kozlowski352bfbb2020-12-07 19:54:57 +010019 select EXYNOS_ASV_ARM if ARM && ARCH_EXYNOS
Sylwester Nawrocki28578822019-08-21 17:39:26 +020020 select MFD_SYSCON
Pankaj Dubey3253b7b2019-08-13 17:08:19 +020021 select SOC_BUS
Krzysztof Kozlowski352bfbb2020-12-07 19:54:57 +010022 help
23 Support for Samsung Exynos SoC ChipID and Adaptive Supply Voltage.
Krzysztof Kozlowski1e3e5592021-09-19 11:31:13 +020024 This driver can also be built as module (exynos_chipid).
Pankaj Dubey3253b7b2019-08-13 17:08:19 +020025
Sam Protsenkob6033772021-12-04 21:57:54 +020026config 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 ExynosAutoV0. 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
Pankaj Dubeybfce5522015-12-18 09:02:16 +053040config EXYNOS_PMU
Krzysztof Kozlowskib11301d2016-02-02 15:24:13 +090041 bool "Exynos PMU controller driver" if COMPILE_TEST
Krzysztof Kozlowskia0ebf662017-03-14 19:10:27 +020042 depends on ARCH_EXYNOS || ((ARM || ARM64) && COMPILE_TEST)
43 select EXYNOS_PMU_ARM_DRIVERS if ARM && ARCH_EXYNOS
David Virage37ef6d2021-09-10 00:28:12 +020044 select MFD_CORE
Krzysztof Kozlowskia0ebf662017-03-14 19:10:27 +020045
46# There is no need to enable these drivers for ARMv8
47config EXYNOS_PMU_ARM_DRIVERS
48 bool "Exynos PMU ARMv7-specific driver extensions" if COMPILE_TEST
49 depends on EXYNOS_PMU
Pankaj Dubeybfce5522015-12-18 09:02:16 +053050
Krzysztof Kozlowski9479f7cc2016-05-10 16:31:26 +020051config EXYNOS_PM_DOMAINS
52 bool "Exynos PM domains" if COMPILE_TEST
Arnd Bergmann17132da2020-08-06 20:20:33 +020053 depends on (ARCH_EXYNOS && PM_GENERIC_DOMAINS) || COMPILE_TEST
54
55config 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
Olof Johansson76940c82020-09-26 12:55:43 -070060 depends on DEBUG_LL && MMU
Arnd Bergmann17132da2020-08-06 20:20:33 +020061 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
66config 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
75config 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
90config 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>
Krzysztof Kozlowski9479f7cc2016-05-10 16:31:26 +0200101
Marek Szyprowski00067ca2020-07-21 20:09:00 +0200102config EXYNOS_REGULATOR_COUPLER
103 bool "Exynos SoC Regulator Coupler" if COMPILE_TEST
104 depends on ARCH_EXYNOS || COMPILE_TEST
Krzysztof Kozlowskib11301d2016-02-02 15:24:13 +0900105endif