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_S5P64X0 || ARCH_S5PC100 || ARCH_S5PV210)
20 select ARCH_REQUIRE_GPIOLIB
25 select S5P_GPIO_DRVSTR
26 select SAMSUNG_CLKSRC if !COMMON_CLK
27 select SAMSUNG_GPIOLIB_4BIT
29 Base platform code for Samsung's S5P series SoC.
33 depends on PM && (PLAT_S3C24XX || ARCH_S3C64XX || ARCH_S5P64X0 || S5P_PM)
36 Base platform power management code for samsung code
42 comment "Boot options"
44 config S3C_BOOT_ERROR_RESET
45 bool "S3C Reboot on decompression error"
47 Say y here to use the watchdog to reset the system if the
48 kernel decompressor detects an error during decompression.
50 config S3C_BOOT_UART_FORCE_FIFO
51 bool "Force UART FIFO on during boot process"
54 Say Y here to force the UART FIFOs on during the kernel
58 config S3C_LOWLEVEL_UART_PORT
59 int "S3C UART to use for low-level messages"
62 Choice of which UART port to use for the low-level messages,
63 such as the `Uncompressing...` at start time. The value of
64 this configuration should be between zero and two. The port
65 must have been initialised by the boot-loader before use.
69 depends on !ARCH_MULTIPLATFORM
72 This option enables ATAGS based boot support code for
73 Samsung platforms, including static platform devices, legacy
74 clock, timer and interrupt initialization, etc.
76 Platforms that support only DT based boot need not to select
85 default y if !COMMON_CLK
90 Select the clock code for the clksrc implementation
91 used by newer systems such as the S3C64XX.
94 def_bool (ARCH_S5P64X0 || ARCH_S5PC100 || ARCH_S5PV210)
96 Support common clock part for ARCH_S5P and ARCH_EXYNOS SoCs
98 # options for IRQ support
101 def_bool (ARCH_S5P64X0 || ARCH_S5PC100 || ARCH_S5PV210)
103 Support common interrupt part for ARCH_S5P SoCs
108 Use the external interrupts (other than GPIO interrupts.)
109 Note: Do not choose this for S5P6440 and S5P6450.
114 Common code for the GPIO interrupts (other than external interrupts.)
116 # options for gpio configuration support
118 config SAMSUNG_GPIOLIB_4BIT
121 GPIOlib file contains the 4 bit modification functions for gpio
122 configuration. GPIOlib shall be compiled only for S3C64XX and S5P
123 series of processors.
125 config S5P_GPIO_DRVSTR
128 Internal configuration to get and set correct GPIO driver strength
131 config SAMSUNG_GPIO_EXTRA
132 int "Number of additional GPIO pins"
133 default 128 if SAMSUNG_GPIO_EXTRA128
134 default 64 if SAMSUNG_GPIO_EXTRA64
137 Use additional GPIO space in addition to the GPIO's the SOC
138 provides. This allows expanding the GPIO space for use with
141 config SAMSUNG_GPIO_EXTRA64
144 config SAMSUNG_GPIO_EXTRA128
147 config S3C_GPIO_SPACE
148 int "Space between gpio banks"
151 Add a number of spare GPIO entries between each bank for debugging
152 purposes. This allows any problems where an counter overflows from
153 one bank to another to be caught, at the expense of using a little
156 config S3C_GPIO_TRACK
159 Internal configuration option to enable the s3c specific gpio
160 chip tracking if the platform requires it.
166 depends on (ARCH_S5P64X0 || ARCH_S5PC100 || ARCH_S5PV210)
171 bool "ADC common driver support"
173 Core support for the ADC block found in the Samsung SoC systems
174 for drivers such as the touchscreen and hwmon to use to share
177 # device definitions to compile in
182 Compile in platform device definitions for HSMMC code
184 config S3C_DEV_HSMMC1
187 Compile in platform device definitions for HSMMC channel 1
189 config S3C_DEV_HSMMC2
192 Compile in platform device definitions for HSMMC channel 2
194 config S3C_DEV_HSMMC3
197 Compile in platform device definitions for HSMMC channel 3
202 Compile in platform device definitions for HWMON
207 Compile in platform device definitions for I2C channel 1
212 Compile in platform device definitions for I2C channel 2
217 Compile in platform device definition for I2C controller 3
222 Compile in platform device definition for I2C controller 4
227 Compile in platform device definition for I2C controller 5
232 Compile in platform device definition for I2C controller 6
237 Compile in platform device definition for I2C controller 7
242 Compile in platform device definition for framebuffer
244 config S3C_DEV_USB_HOST
247 Compile in platform device definition for USB host.
249 config S3C_DEV_USB_HSOTG
252 Compile in platform device definition for USB high-speed OtG
256 default y if ARCH_S3C24XX
258 Complie in platform device definition for Watchdog Timer
263 Compile in platform device definition for NAND controller
265 config S3C_DEV_ONENAND
268 Compile in platform device definition for OneNAND controller
273 Complie in platform device definition for RTC
275 config SAMSUNG_DEV_ADC
278 Compile in platform device definition for ADC controller
280 config SAMSUNG_DEV_IDE
283 Compile in platform device definitions for IDE
285 config S3C64XX_DEV_SPI0
288 Compile in platform device definitions for S3C64XX's type
291 config S3C64XX_DEV_SPI1
294 Compile in platform device definitions for S3C64XX's type
297 config S3C64XX_DEV_SPI2
300 Compile in platform device definitions for S3C64XX's type
303 config SAMSUNG_DEV_TS
306 Common in platform device definitions for touchscreen device
308 config SAMSUNG_DEV_KEYPAD
311 Compile in platform device definitions for keypad
313 config SAMSUNG_DEV_PWM
315 default y if ARCH_S3C24XX
317 Compile in platform device definition for PWM Timer
319 config SAMSUNG_DEV_BACKLIGHT
321 depends on SAMSUNG_DEV_PWM
323 Compile in platform device definition LCD backlight with PWM Timer
328 Compile in platform device definitions for MIPI-CSIS channel 0
333 Compile in platform device definitions for MIPI-CSIS channel 1
338 Compile in platform device definitions for FIMC controller 0
343 Compile in platform device definitions for FIMC controller 1
348 Compile in platform device definitions for FIMC controller 2
353 Compile in platform device definitions for FIMC controller 3
358 Compile in platform device definitions for FIMD controller 0
363 Compile in platform device definitions for G2D device
365 config S5P_DEV_I2C_HDMIPHY
368 Compile in platform device definitions for I2C HDMIPHY controller
373 Compile in platform device definitions for JPEG codec
375 config S5P_DEV_ONENAND
378 Compile in platform device definition for OneNAND controller
383 Compile in platform device definition for TV interface
385 config S5P_DEV_USB_EHCI
388 Compile in platform device definition for USB EHCI
391 bool "PWM device support"
395 Support for exporting the PWM timer blocks via the pwm device
398 config S5P_SETUP_MIPIPHY
401 Compile in common setup code for MIPI-CSIS and MIPI-DSIM devices
403 config S3C_SETUP_CAMIF
406 Compile in common setup code for S3C CAMIF devices
413 Internal configuration for S3C DMA core
419 Legacy IRQ power management for S5P platforms
421 config SAMSUNG_PM_GPIO
423 default y if GPIO_SAMSUNG && PM
425 Include legacy GPIO power management code for platforms not using
426 pinctrl-samsung driver.
430 config SAMSUNG_DMADEV
434 select PL330_DMA if (ARCH_EXYNOS5 || ARCH_EXYNOS4 || CPU_S5PV210 || CPU_S5PC100 || \
435 CPU_S5P6450 || CPU_S5P6440)
437 Use DMA device engine for PL330 DMAC.
442 Compile in setup memory (init) code for MFC
444 comment "Power management"
446 config SAMSUNG_PM_DEBUG
447 bool "S3C2410 PM Suspend debug"
451 Say Y here if you want verbose debugging from the PM Suspend and
452 Resume code. See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt>
453 for more information.
455 config S3C_PM_DEBUG_LED_SMDK
456 bool "SMDK LED suspend/resume debugging"
457 depends on PM && (MACH_SMDK6410)
459 Say Y here to enable the use of the SMDK LEDs on the baseboard
460 for debugging of the state of the suspend and resume process.
462 Note, this currently only works for S3C64XX based SMDK boards.
464 config SAMSUNG_PM_CHECK
465 bool "S3C2410 PM Suspend Memory CRC"
466 depends on PM && CRC32
468 Enable the PM code's memory area checksum over sleep. This option
469 will generate CRCs of all blocks of memory, and store them before
470 going to sleep. The blocks are then checked on resume for any
473 Note, this can take several seconds depending on memory size
476 See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt>
478 config SAMSUNG_PM_CHECK_CHUNKSIZE
479 int "S3C2410 PM Suspend CRC Chunksize (KiB)"
480 depends on PM && SAMSUNG_PM_CHECK
483 Set the chunksize in Kilobytes of the CRC for checking memory
484 corruption over suspend and resume. A smaller value will mean that
485 the CRC data block will take more memory, but wil identify any
486 faults with better precision.
488 See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt>
490 config SAMSUNG_WAKEMASK
494 Compile support for wakeup-mask controls found on the S3C6400
495 and above. This code allows a set of interrupt to wakeup-mask
496 mappings. See <plat/wakeup-mask.h>
498 config SAMSUNG_WDT_RESET
501 Compile support for system restart by triggering watchdog reset.
502 Used on SoCs that do not provide dedicated reset control.
507 Common code for power management support on S5P and newer SoCs
508 Note: Do not select this for S5P6440 and S5P6450.
513 Internal config node to apply common S5P sleep management code.
514 Can be selected by S5P and newer SoCs with similar sleep procedure.
516 config DEBUG_S3C_UART
517 depends on PLAT_SAMSUNG
519 default "0" if DEBUG_S3C_UART0
520 default "1" if DEBUG_S3C_UART1
521 default "2" if DEBUG_S3C_UART2
522 default "3" if DEBUG_S3C_UART3