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
28 Base platform code for Samsung's S5P series SoC.
32 depends on PM && (PLAT_S3C24XX || ARCH_S3C64XX || ARCH_S5P64X0 || S5P_PM)
35 Base platform power management code for samsung code
41 comment "Boot options"
43 config S3C_BOOT_ERROR_RESET
44 bool "S3C Reboot on decompression error"
46 Say y here to use the watchdog to reset the system if the
47 kernel decompressor detects an error during decompression.
49 config S3C_BOOT_UART_FORCE_FIFO
50 bool "Force UART FIFO on during boot process"
53 Say Y here to force the UART FIFOs on during the kernel
57 config S3C_LOWLEVEL_UART_PORT
58 int "S3C UART to use for low-level messages"
61 Choice of which UART port to use for the low-level messages,
62 such as the `Uncompressing...` at start time. The value of
63 this configuration should be between zero and two. The port
64 must have been initialised by the boot-loader before use.
68 depends on !ARCH_MULTIPLATFORM
71 This option enables ATAGS based boot support code for
72 Samsung platforms, including static platform devices, legacy
73 clock, timer and interrupt initialization, etc.
75 Platforms that support only DT based boot need not to select
84 default y if !COMMON_CLK
89 Select the clock code for the clksrc implementation
90 used by newer systems such as the S3C64XX.
93 def_bool (ARCH_S5P64X0 || ARCH_S5PC100 || ARCH_S5PV210)
95 Support common clock part for ARCH_S5P and ARCH_EXYNOS SoCs
97 # options for IRQ support
100 def_bool (ARCH_S5P64X0 || ARCH_S5PC100 || ARCH_S5PV210)
102 Support common interrupt part for ARCH_S5P SoCs
107 Use the external interrupts (other than GPIO interrupts.)
108 Note: Do not choose this for S5P6440 and S5P6450.
113 Common code for the GPIO interrupts (other than external interrupts.)
115 # options for gpio configuration support
117 config S5P_GPIO_DRVSTR
120 Internal configuration to get and set correct GPIO driver strength
123 config SAMSUNG_GPIO_EXTRA
124 int "Number of additional GPIO pins"
125 default 128 if SAMSUNG_GPIO_EXTRA128
126 default 64 if SAMSUNG_GPIO_EXTRA64
129 Use additional GPIO space in addition to the GPIO's the SOC
130 provides. This allows expanding the GPIO space for use with
133 config SAMSUNG_GPIO_EXTRA64
136 config SAMSUNG_GPIO_EXTRA128
139 config S3C_GPIO_SPACE
140 int "Space between gpio banks"
143 Add a number of spare GPIO entries between each bank for debugging
144 purposes. This allows any problems where an counter overflows from
145 one bank to another to be caught, at the expense of using a little
148 config S3C_GPIO_TRACK
151 Internal configuration option to enable the s3c specific gpio
152 chip tracking if the platform requires it.
158 depends on (ARCH_S5P64X0 || ARCH_S5PC100 || ARCH_S5PV210)
163 bool "ADC common driver support"
165 Core support for the ADC block found in the Samsung SoC systems
166 for drivers such as the touchscreen and hwmon to use to share
169 # device definitions to compile in
174 Compile in platform device definitions for HSMMC code
176 config S3C_DEV_HSMMC1
179 Compile in platform device definitions for HSMMC channel 1
181 config S3C_DEV_HSMMC2
184 Compile in platform device definitions for HSMMC channel 2
186 config S3C_DEV_HSMMC3
189 Compile in platform device definitions for HSMMC channel 3
194 Compile in platform device definitions for HWMON
199 Compile in platform device definitions for I2C channel 1
204 Compile in platform device definitions for I2C channel 2
209 Compile in platform device definition for I2C controller 3
214 Compile in platform device definition for I2C controller 4
219 Compile in platform device definition for I2C controller 5
224 Compile in platform device definition for I2C controller 6
229 Compile in platform device definition for I2C controller 7
234 Compile in platform device definition for framebuffer
236 config S3C_DEV_USB_HOST
239 Compile in platform device definition for USB host.
241 config S3C_DEV_USB_HSOTG
244 Compile in platform device definition for USB high-speed OtG
248 default y if ARCH_S3C24XX
250 Complie in platform device definition for Watchdog Timer
255 Compile in platform device definition for NAND controller
257 config S3C_DEV_ONENAND
260 Compile in platform device definition for OneNAND controller
265 Complie in platform device definition for RTC
267 config SAMSUNG_DEV_ADC
270 Compile in platform device definition for ADC controller
272 config SAMSUNG_DEV_IDE
275 Compile in platform device definitions for IDE
277 config S3C64XX_DEV_SPI0
280 Compile in platform device definitions for S3C64XX's type
283 config S3C64XX_DEV_SPI1
286 Compile in platform device definitions for S3C64XX's type
289 config S3C64XX_DEV_SPI2
292 Compile in platform device definitions for S3C64XX's type
295 config SAMSUNG_DEV_TS
298 Common in platform device definitions for touchscreen device
300 config SAMSUNG_DEV_KEYPAD
303 Compile in platform device definitions for keypad
305 config SAMSUNG_DEV_PWM
307 default y if ARCH_S3C24XX
309 Compile in platform device definition for PWM Timer
311 config SAMSUNG_DEV_BACKLIGHT
313 depends on SAMSUNG_DEV_PWM
315 Compile in platform device definition LCD backlight with PWM Timer
320 Compile in platform device definitions for MIPI-CSIS channel 0
325 Compile in platform device definitions for MIPI-CSIS channel 1
330 Compile in platform device definitions for FIMC controller 0
335 Compile in platform device definitions for FIMC controller 1
340 Compile in platform device definitions for FIMC controller 2
345 Compile in platform device definitions for FIMC controller 3
350 Compile in platform device definitions for FIMD controller 0
355 Compile in platform device definitions for G2D device
357 config S5P_DEV_I2C_HDMIPHY
360 Compile in platform device definitions for I2C HDMIPHY controller
365 Compile in platform device definitions for JPEG codec
367 config S5P_DEV_ONENAND
370 Compile in platform device definition for OneNAND controller
375 Compile in platform device definition for TV interface
378 bool "PWM device support"
382 Support for exporting the PWM timer blocks via the pwm device
385 config S3C_SETUP_CAMIF
388 Compile in common setup code for S3C CAMIF devices
395 Internal configuration for S3C DMA core
401 Legacy IRQ power management for S5P platforms
403 config SAMSUNG_PM_GPIO
405 default y if GPIO_SAMSUNG && PM
407 Include legacy GPIO power management code for platforms not using
408 pinctrl-samsung driver.
412 config SAMSUNG_DMADEV
416 select PL330_DMA if (ARCH_EXYNOS5 || ARCH_EXYNOS4 || CPU_S5PV210 || CPU_S5PC100 || \
417 CPU_S5P6450 || CPU_S5P6440)
419 Use DMA device engine for PL330 DMAC.
424 Compile in setup memory (init) code for MFC
426 comment "Power management"
428 config SAMSUNG_PM_DEBUG
429 bool "S3C2410 PM Suspend debug"
433 Say Y here if you want verbose debugging from the PM Suspend and
434 Resume code. See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt>
435 for more information.
437 config S3C_PM_DEBUG_LED_SMDK
438 bool "SMDK LED suspend/resume debugging"
439 depends on PM && (MACH_SMDK6410)
441 Say Y here to enable the use of the SMDK LEDs on the baseboard
442 for debugging of the state of the suspend and resume process.
444 Note, this currently only works for S3C64XX based SMDK boards.
446 config SAMSUNG_PM_CHECK
447 bool "S3C2410 PM Suspend Memory CRC"
448 depends on PM && CRC32
450 Enable the PM code's memory area checksum over sleep. This option
451 will generate CRCs of all blocks of memory, and store them before
452 going to sleep. The blocks are then checked on resume for any
455 Note, this can take several seconds depending on memory size
458 See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt>
460 config SAMSUNG_PM_CHECK_CHUNKSIZE
461 int "S3C2410 PM Suspend CRC Chunksize (KiB)"
462 depends on PM && SAMSUNG_PM_CHECK
465 Set the chunksize in Kilobytes of the CRC for checking memory
466 corruption over suspend and resume. A smaller value will mean that
467 the CRC data block will take more memory, but wil identify any
468 faults with better precision.
470 See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt>
472 config SAMSUNG_WAKEMASK
476 Compile support for wakeup-mask controls found on the S3C6400
477 and above. This code allows a set of interrupt to wakeup-mask
478 mappings. See <plat/wakeup-mask.h>
480 config SAMSUNG_WDT_RESET
483 Compile support for system restart by triggering watchdog reset.
484 Used on SoCs that do not provide dedicated reset control.
489 Common code for power management support on S5P and newer SoCs
490 Note: Do not select this for S5P6440 and S5P6450.
495 Internal config node to apply common S5P sleep management code.
496 Can be selected by S5P and newer SoCs with similar sleep procedure.
498 config DEBUG_S3C_UART
499 depends on PLAT_SAMSUNG
501 default "0" if DEBUG_S3C_UART0
502 default "1" if DEBUG_S3C_UART1
503 default "2" if DEBUG_S3C_UART2
504 default "3" if DEBUG_S3C_UART3