1 # SPDX-License-Identifier: GPL-2.0
3 # Copyright 2009 Simtec Electronics
7 depends on PLAT_S3C24XX || ARCH_S3C64XX || ARCH_EXYNOS || ARCH_S5PV210
9 select GENERIC_IRQ_CHIP
12 Base platform code for all Samsung SoC based systems
16 depends on PM && (PLAT_S3C24XX || ARCH_S3C64XX)
19 Base platform power management code for samsung code
22 menu "Samsung Common options"
26 comment "Boot options"
28 config S3C_LOWLEVEL_UART_PORT
29 int "S3C UART to use for low-level messages"
30 depends on ARCH_S3C64XX
33 Choice of which UART port to use for the low-level messages,
34 such as the `Uncompressing...` at start time. The value of
35 this configuration should be between zero and two. The port
36 must have been initialised by the boot-loader before use.
42 This option enables ATAGS based boot support code for
43 Samsung platforms, including static platform devices, legacy
44 clock, timer and interrupt initialization, etc.
46 Platforms that support only DT based boot need not to select
52 int "Space between gpio banks"
55 Add a number of spare GPIO entries between each bank for debugging
56 purposes. This allows any problems where an counter overflows from
57 one bank to another to be caught, at the expense of using a little
63 Internal configuration option to enable the s3c specific gpio
64 chip tracking if the platform requires it.
69 bool "ADC common driver support"
70 depends on !ARCH_MULTIPLATFORM
72 Core support for the ADC block found in the Samsung SoC systems
73 for drivers such as the touchscreen and hwmon to use to share
76 # device definitions to compile in
81 Compile in platform device definitions for HSMMC code
86 Compile in platform device definitions for HSMMC channel 1
91 Compile in platform device definitions for HSMMC channel 2
96 Compile in platform device definitions for HSMMC channel 3
101 Compile in platform device definitions for HWMON
106 Compile in platform device definitions for I2C channel 1
111 Compile in platform device definitions for I2C channel 2
116 Compile in platform device definition for I2C controller 3
121 Compile in platform device definition for I2C controller 4
126 Compile in platform device definition for I2C controller 5
131 Compile in platform device definition for I2C controller 6
136 Compile in platform device definition for I2C controller 7
141 Compile in platform device definition for framebuffer
143 config S3C_DEV_USB_HOST
146 Compile in platform device definition for USB host.
148 config S3C_DEV_USB_HSOTG
151 Compile in platform device definition for USB high-speed OtG
155 default y if ARCH_S3C24XX
157 Complie in platform device definition for Watchdog Timer
162 Compile in platform device definition for NAND controller
164 config S3C_DEV_ONENAND
167 Compile in platform device definition for OneNAND controller
172 Complie in platform device definition for RTC
174 config SAMSUNG_DEV_ADC
177 Compile in platform device definition for ADC controller
179 config SAMSUNG_DEV_IDE
182 Compile in platform device definitions for IDE
184 config S3C64XX_DEV_SPI0
187 Compile in platform device definitions for S3C64XX's type
190 config S3C64XX_DEV_SPI1
193 Compile in platform device definitions for S3C64XX's type
196 config S3C64XX_DEV_SPI2
199 Compile in platform device definitions for S3C64XX's type
202 config SAMSUNG_DEV_TS
205 Common in platform device definitions for touchscreen device
207 config SAMSUNG_DEV_KEYPAD
210 Compile in platform device definitions for keypad
212 config SAMSUNG_DEV_PWM
214 default y if ARCH_S3C24XX
216 Compile in platform device definition for PWM Timer
219 bool "PWM device support"
223 Support for exporting the PWM timer blocks via the pwm device
229 config SAMSUNG_PM_GPIO
231 default y if GPIO_SAMSUNG && PM
233 Include legacy GPIO power management code for platforms not using
234 pinctrl-samsung driver.
237 comment "Power management"
239 config SAMSUNG_PM_DEBUG
240 bool "Samsung PM Suspend debug"
241 depends on PM && DEBUG_KERNEL
242 depends on PLAT_S3C24XX || ARCH_S3C64XX || ARCH_S5PV210
243 depends on DEBUG_EXYNOS_UART || DEBUG_S3C24XX_UART || DEBUG_S3C2410_UART
245 Say Y here if you want verbose debugging from the PM Suspend and
246 Resume code. See <file:Documentation/arm/samsung-s3c24xx/suspend.rst>
247 for more information.
249 config S3C_PM_DEBUG_LED_SMDK
250 bool "SMDK LED suspend/resume debugging"
251 depends on PM && (MACH_SMDK6410)
253 Say Y here to enable the use of the SMDK LEDs on the baseboard
254 for debugging of the state of the suspend and resume process.
256 Note, this currently only works for S3C64XX based SMDK boards.
258 config SAMSUNG_PM_CHECK
259 bool "S3C2410 PM Suspend Memory CRC"
260 depends on PM && (PLAT_S3C24XX || ARCH_S3C64XX || ARCH_S5PV210)
263 Enable the PM code's memory area checksum over sleep. This option
264 will generate CRCs of all blocks of memory, and store them before
265 going to sleep. The blocks are then checked on resume for any
268 Note, this can take several seconds depending on memory size
271 See <file:Documentation/arm/samsung-s3c24xx/suspend.rst>
273 config SAMSUNG_PM_CHECK_CHUNKSIZE
274 int "S3C2410 PM Suspend CRC Chunksize (KiB)"
275 depends on PM && SAMSUNG_PM_CHECK
278 Set the chunksize in Kilobytes of the CRC for checking memory
279 corruption over suspend and resume. A smaller value will mean that
280 the CRC data block will take more memory, but will identify any
281 faults with better precision.
283 See <file:Documentation/arm/samsung-s3c24xx/suspend.rst>
285 config SAMSUNG_WAKEMASK
289 Compile support for wakeup-mask controls found on the S3C6400
290 and above. This code allows a set of interrupt to wakeup-mask
291 mappings. See <plat/wakeup-mask.h>
293 config SAMSUNG_WDT_RESET
296 Compile support for system restart by triggering watchdog reset.
297 Used on SoCs that do not provide dedicated reset control.
299 config DEBUG_S3C_UART
300 depends on PLAT_SAMSUNG
302 default "0" if DEBUG_S3C_UART0
303 default "1" if DEBUG_S3C_UART1
304 default "2" if DEBUG_S3C_UART2
305 default "3" if DEBUG_S3C_UART3