Krzysztof Kozlowski | 06512c5 | 2017-12-25 21:17:59 +0100 | [diff] [blame] | 1 | # SPDX-License-Identifier: GPL-2.0 |
Pankaj Dubey | bfce552 | 2015-12-18 09:02:16 +0530 | [diff] [blame] | 2 | # |
Krzysztof Kozlowski | 9450054 | 2020-01-04 16:20:52 +0100 | [diff] [blame] | 3 | # Samsung SoC drivers |
Pankaj Dubey | bfce552 | 2015-12-18 09:02:16 +0530 | [diff] [blame] | 4 | # |
Krzysztof Kozlowski | b11301d | 2016-02-02 15:24:13 +0900 | [diff] [blame] | 5 | menuconfig SOC_SAMSUNG |
| 6 | bool "Samsung SoC driver support" if COMPILE_TEST |
Pankaj Dubey | bfce552 | 2015-12-18 09:02:16 +0530 | [diff] [blame] | 7 | |
Krzysztof Kozlowski | b11301d | 2016-02-02 15:24:13 +0900 | [diff] [blame] | 8 | if SOC_SAMSUNG |
Pankaj Dubey | bfce552 | 2015-12-18 09:02:16 +0530 | [diff] [blame] | 9 | |
Sylwester Nawrocki | 5ea4285 | 2019-10-28 16:15:33 +0100 | [diff] [blame] | 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 |
Krzysztof Kozlowski | 352bfbb | 2020-12-07 19:54:57 +0100 | [diff] [blame] | 13 | depends on EXYNOS_CHIPID |
Sylwester Nawrocki | 5ea4285 | 2019-10-28 16:15:33 +0100 | [diff] [blame] | 14 | |
Pankaj Dubey | 3253b7b | 2019-08-13 17:08:19 +0200 | [diff] [blame] | 15 | config EXYNOS_CHIPID |
Krzysztof Kozlowski | 140bbfe7 | 2021-09-19 11:31:14 +0200 | [diff] [blame] | 16 | tristate "Exynos ChipID controller and ASV driver" |
Pankaj Dubey | 3253b7b | 2019-08-13 17:08:19 +0200 | [diff] [blame] | 17 | depends on ARCH_EXYNOS || COMPILE_TEST |
Krzysztof Kozlowski | 140bbfe7 | 2021-09-19 11:31:14 +0200 | [diff] [blame] | 18 | default ARCH_EXYNOS |
Krzysztof Kozlowski | 352bfbb | 2020-12-07 19:54:57 +0100 | [diff] [blame] | 19 | select EXYNOS_ASV_ARM if ARM && ARCH_EXYNOS |
Sylwester Nawrocki | 2857882 | 2019-08-21 17:39:26 +0200 | [diff] [blame] | 20 | select MFD_SYSCON |
Pankaj Dubey | 3253b7b | 2019-08-13 17:08:19 +0200 | [diff] [blame] | 21 | select SOC_BUS |
Krzysztof Kozlowski | 352bfbb | 2020-12-07 19:54:57 +0100 | [diff] [blame] | 22 | help |
| 23 | Support for Samsung Exynos SoC ChipID and Adaptive Supply Voltage. |
Krzysztof Kozlowski | 1e3e559 | 2021-09-19 11:31:13 +0200 | [diff] [blame] | 24 | This driver can also be built as module (exynos_chipid). |
Pankaj Dubey | 3253b7b | 2019-08-13 17:08:19 +0200 | [diff] [blame] | 25 | |
Sam Protsenko | b603377 | 2021-12-04 21:57:54 +0200 | [diff] [blame] | 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 | 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 Dubey | bfce552 | 2015-12-18 09:02:16 +0530 | [diff] [blame] | 40 | config EXYNOS_PMU |
Krzysztof Kozlowski | b11301d | 2016-02-02 15:24:13 +0900 | [diff] [blame] | 41 | bool "Exynos PMU controller driver" if COMPILE_TEST |
Krzysztof Kozlowski | a0ebf66 | 2017-03-14 19:10:27 +0200 | [diff] [blame] | 42 | depends on ARCH_EXYNOS || ((ARM || ARM64) && COMPILE_TEST) |
| 43 | select EXYNOS_PMU_ARM_DRIVERS if ARM && ARCH_EXYNOS |
David Virag | e37ef6d | 2021-09-10 00:28:12 +0200 | [diff] [blame] | 44 | select MFD_CORE |
Krzysztof Kozlowski | a0ebf66 | 2017-03-14 19:10:27 +0200 | [diff] [blame] | 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 |
Pankaj Dubey | bfce552 | 2015-12-18 09:02:16 +0530 | [diff] [blame] | 50 | |
Krzysztof Kozlowski | 9479f7cc | 2016-05-10 16:31:26 +0200 | [diff] [blame] | 51 | config EXYNOS_PM_DOMAINS |
| 52 | bool "Exynos PM domains" if COMPILE_TEST |
Arnd Bergmann | 17132da | 2020-08-06 20:20:33 +0200 | [diff] [blame] | 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 |
Olof Johansson | 76940c8 | 2020-09-26 12:55:43 -0700 | [diff] [blame] | 60 | depends on DEBUG_LL && MMU |
Arnd Bergmann | 17132da | 2020-08-06 20:20:33 +0200 | [diff] [blame] | 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> |
Krzysztof Kozlowski | 9479f7cc | 2016-05-10 16:31:26 +0200 | [diff] [blame] | 101 | |
Marek Szyprowski | 00067ca | 2020-07-21 20:09:00 +0200 | [diff] [blame] | 102 | config EXYNOS_REGULATOR_COUPLER |
| 103 | bool "Exynos SoC Regulator Coupler" if COMPILE_TEST |
| 104 | depends on ARCH_EXYNOS || COMPILE_TEST |
Krzysztof Kozlowski | b11301d | 2016-02-02 15:24:13 +0900 | [diff] [blame] | 105 | endif |