1 # arch/arm/plat-samsung/Kconfig
3 # Copyright 2009 Simtec Electronics
9 depends on PLAT_S3C24XX || ARCH_S3C64XX || PLAT_S5P || ARCH_EXYNOS
11 select GENERIC_IRQ_CHIP
14 Base platform code for all Samsung SoC based systems
18 depends on ARCH_S5PV210
20 select ARCH_REQUIRE_GPIOLIB
25 select S5P_GPIO_DRVSTR
27 Base platform code for Samsung's S5P series SoC.
31 depends on PM && (PLAT_S3C24XX || ARCH_S3C64XX || S5P_PM)
34 Base platform power management code for samsung code
37 menu "Samsung Common options"
41 comment "Boot options"
43 config S3C_LOWLEVEL_UART_PORT
44 int "S3C UART to use for low-level messages"
45 depends on ARCH_S3C64XX
48 Choice of which UART port to use for the low-level messages,
49 such as the `Uncompressing...` at start time. The value of
50 this configuration should be between zero and two. The port
51 must have been initialised by the boot-loader before use.
55 depends on !ARCH_MULTIPLATFORM
58 This option enables ATAGS based boot support code for
59 Samsung platforms, including static platform devices, legacy
60 clock, timer and interrupt initialization, etc.
62 Platforms that support only DT based boot need not to select
67 # options for IRQ support
72 Support common interrupt part for ARCH_S5P SoCs
77 Use the external interrupts (other than GPIO interrupts.)
82 Common code for the GPIO interrupts (other than external interrupts.)
84 # options for gpio configuration support
86 config S5P_GPIO_DRVSTR
89 Internal configuration to get and set correct GPIO driver strength
92 config SAMSUNG_GPIO_EXTRA
93 int "Number of additional GPIO pins"
94 default 128 if SAMSUNG_GPIO_EXTRA128
95 default 64 if SAMSUNG_GPIO_EXTRA64
98 Use additional GPIO space in addition to the GPIO's the SOC
99 provides. This allows expanding the GPIO space for use with
102 config SAMSUNG_GPIO_EXTRA64
105 config SAMSUNG_GPIO_EXTRA128
108 config S3C_GPIO_SPACE
109 int "Space between gpio banks"
112 Add a number of spare GPIO entries between each bank for debugging
113 purposes. This allows any problems where an counter overflows from
114 one bank to another to be caught, at the expense of using a little
117 config S3C_GPIO_TRACK
120 Internal configuration option to enable the s3c specific gpio
121 chip tracking if the platform requires it.
127 depends on ARCH_S5PV210
132 bool "ADC common driver support"
134 Core support for the ADC block found in the Samsung SoC systems
135 for drivers such as the touchscreen and hwmon to use to share
138 # device definitions to compile in
143 Compile in platform device definitions for HSMMC code
145 config S3C_DEV_HSMMC1
148 Compile in platform device definitions for HSMMC channel 1
150 config S3C_DEV_HSMMC2
153 Compile in platform device definitions for HSMMC channel 2
155 config S3C_DEV_HSMMC3
158 Compile in platform device definitions for HSMMC channel 3
163 Compile in platform device definitions for HWMON
168 Compile in platform device definitions for I2C channel 1
173 Compile in platform device definitions for I2C channel 2
178 Compile in platform device definition for I2C controller 3
183 Compile in platform device definition for I2C controller 4
188 Compile in platform device definition for I2C controller 5
193 Compile in platform device definition for I2C controller 6
198 Compile in platform device definition for I2C controller 7
203 Compile in platform device definition for framebuffer
205 config S3C_DEV_USB_HOST
208 Compile in platform device definition for USB host.
210 config S3C_DEV_USB_HSOTG
213 Compile in platform device definition for USB high-speed OtG
217 default y if ARCH_S3C24XX
219 Complie in platform device definition for Watchdog Timer
224 Compile in platform device definition for NAND controller
226 config S3C_DEV_ONENAND
229 Compile in platform device definition for OneNAND controller
234 Complie in platform device definition for RTC
236 config SAMSUNG_DEV_ADC
239 Compile in platform device definition for ADC controller
241 config SAMSUNG_DEV_IDE
244 Compile in platform device definitions for IDE
246 config S3C64XX_DEV_SPI0
249 Compile in platform device definitions for S3C64XX's type
252 config S3C64XX_DEV_SPI1
255 Compile in platform device definitions for S3C64XX's type
258 config S3C64XX_DEV_SPI2
261 Compile in platform device definitions for S3C64XX's type
264 config SAMSUNG_DEV_TS
267 Common in platform device definitions for touchscreen device
269 config SAMSUNG_DEV_KEYPAD
272 Compile in platform device definitions for keypad
274 config SAMSUNG_DEV_PWM
276 default y if ARCH_S3C24XX
278 Compile in platform device definition for PWM Timer
280 config SAMSUNG_DEV_BACKLIGHT
282 depends on SAMSUNG_DEV_PWM
284 Compile in platform device definition LCD backlight with PWM Timer
289 Compile in platform device definitions for MIPI-CSIS channel 0
294 Compile in platform device definitions for MIPI-CSIS channel 1
299 Compile in platform device definitions for FIMC controller 0
304 Compile in platform device definitions for FIMC controller 1
309 Compile in platform device definitions for FIMC controller 2
314 Compile in platform device definitions for FIMC controller 3
319 Compile in platform device definitions for FIMD controller 0
324 Compile in platform device definitions for G2D device
326 config S5P_DEV_I2C_HDMIPHY
329 Compile in platform device definitions for I2C HDMIPHY controller
334 Compile in platform device definitions for JPEG codec
336 config S5P_DEV_ONENAND
339 Compile in platform device definition for OneNAND controller
344 Compile in platform device definition for TV interface
347 bool "PWM device support"
351 Support for exporting the PWM timer blocks via the pwm device
354 config S3C_SETUP_CAMIF
357 Compile in common setup code for S3C CAMIF devices
364 Internal configuration for S3C DMA core
370 Legacy IRQ power management for S5P platforms
372 config SAMSUNG_PM_GPIO
374 default y if GPIO_SAMSUNG && PM
376 Include legacy GPIO power management code for platforms not using
377 pinctrl-samsung driver.
379 config SAMSUNG_DMADEV
380 bool "Use legacy Samsung DMA abstraction"
381 depends on CPU_S5PV210 || ARCH_S3C64XX
385 Use DMA device engine for PL330 DMAC.
392 Compile in setup memory (init) code for MFC
394 comment "Power management"
396 config SAMSUNG_PM_DEBUG
397 bool "S3C2410 PM Suspend debug"
398 depends on PM && DEBUG_KERNEL && DEBUG_S3C_UART
400 Say Y here if you want verbose debugging from the PM Suspend and
401 Resume code. See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt>
402 for more information.
404 config S3C_PM_DEBUG_LED_SMDK
405 bool "SMDK LED suspend/resume debugging"
406 depends on PM && (MACH_SMDK6410)
408 Say Y here to enable the use of the SMDK LEDs on the baseboard
409 for debugging of the state of the suspend and resume process.
411 Note, this currently only works for S3C64XX based SMDK boards.
413 config SAMSUNG_PM_CHECK
414 bool "S3C2410 PM Suspend Memory CRC"
418 Enable the PM code's memory area checksum over sleep. This option
419 will generate CRCs of all blocks of memory, and store them before
420 going to sleep. The blocks are then checked on resume for any
423 Note, this can take several seconds depending on memory size
426 See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt>
428 config SAMSUNG_PM_CHECK_CHUNKSIZE
429 int "S3C2410 PM Suspend CRC Chunksize (KiB)"
430 depends on PM && SAMSUNG_PM_CHECK
433 Set the chunksize in Kilobytes of the CRC for checking memory
434 corruption over suspend and resume. A smaller value will mean that
435 the CRC data block will take more memory, but wil identify any
436 faults with better precision.
438 See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt>
440 config SAMSUNG_WAKEMASK
444 Compile support for wakeup-mask controls found on the S3C6400
445 and above. This code allows a set of interrupt to wakeup-mask
446 mappings. See <plat/wakeup-mask.h>
448 config SAMSUNG_WDT_RESET
451 Compile support for system restart by triggering watchdog reset.
452 Used on SoCs that do not provide dedicated reset control.
457 Common code for power management support on S5P and newer SoCs
462 Internal config node to apply common S5P sleep management code.
463 Can be selected by S5P and newer SoCs with similar sleep procedure.
465 config DEBUG_S3C_UART
466 depends on PLAT_SAMSUNG
468 default "0" if DEBUG_S3C_UART0
469 default "1" if DEBUG_S3C_UART1
470 default "2" if DEBUG_S3C_UART2
471 default "3" if DEBUG_S3C_UART3