1 # arch/arm/plat-samsung/Kconfig
3 # Copyright 2009 Simtec Electronics
9 depends on PLAT_S3C24XX || ARCH_S3C64XX || PLAT_S5P
11 select GENERIC_IRQ_CHIP
14 Base platform code for all Samsung SoC based systems
18 depends on (ARCH_S5P64X0 || ARCH_S5PC100 || ARCH_S5PV210 || ARCH_EXYNOS)
20 select ARM_VIC if !ARCH_EXYNOS
21 select ARM_GIC if ARCH_EXYNOS
22 select GIC_NON_BANKED if ARCH_EXYNOS4
24 select ARCH_REQUIRE_GPIOLIB
26 select S5P_GPIO_DRVSTR
27 select SAMSUNG_GPIOLIB_4BIT
30 select SAMSUNG_IRQ_VIC_TIMER
32 Base platform code for Samsung's S5P series SoC.
38 comment "Boot options"
40 config S3C_BOOT_WATCHDOG
41 bool "S3C Initialisation watchdog"
42 depends on S3C2410_WATCHDOG
44 Say y to enable the watchdog during the kernel decompression
45 stage. If the kernel fails to uncompress, then the watchdog
46 will trigger a reset and the system should restart.
48 config S3C_BOOT_ERROR_RESET
49 bool "S3C Reboot on decompression error"
51 Say y here to use the watchdog to reset the system if the
52 kernel decompressor detects an error during decompression.
54 config S3C_BOOT_UART_FORCE_FIFO
55 bool "Force UART FIFO on during boot process"
58 Say Y here to force the UART FIFOs on during the kernel
62 config S3C_LOWLEVEL_UART_PORT
63 int "S3C UART to use for low-level messages"
66 Choice of which UART port to use for the low-level messages,
67 such as the `Uncompressing...` at start time. The value of
68 this configuration should be between zero and two. The port
69 must have been initialised by the boot-loader before use.
75 select SAMSUNG_DEV_PWM
77 Use the High Resolution timer support
84 Select the clock code for the clksrc implementation
85 used by newer systems such as the S3C64XX.
88 def_bool (ARCH_S5P64X0 || ARCH_S5PC100 || ARCH_S5PV210 || ARCH_EXYNOS)
90 Support common clock part for ARCH_S5P and ARCH_EXYNOS SoCs
92 # options for IRQ support
94 config SAMSUNG_IRQ_VIC_TIMER
97 Internal configuration to build the VIC timer interrupt code.
100 def_bool (ARCH_S5P64X0 || ARCH_S5PC100 || ARCH_S5PV210 || ARCH_EXYNOS)
102 Support common interrup part for ARCH_S5P and ARCH_EXYNOS 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 SAMSUNG_GPIOLIB_4BIT
120 GPIOlib file contains the 4 bit modification functions for gpio
121 configuration. GPIOlib shall be compiled only for S3C64XX and S5P
122 series of processors.
124 config S3C_GPIO_CFG_S3C64XX
127 Internal configuration to enable S3C64XX style GPIO configuration
130 config S5P_GPIO_DRVSTR
133 Internal configuration to get and set correct GPIO driver strength
136 config SAMSUNG_GPIO_EXTRA
137 int "Number of additional GPIO pins"
138 default 128 if SAMSUNG_GPIO_EXTRA128
139 default 64 if SAMSUNG_GPIO_EXTRA64
142 Use additional GPIO space in addition to the GPIO's the SOC
143 provides. This allows expanding the GPIO space for use with
146 config SAMSUNG_GPIO_EXTRA64
149 config SAMSUNG_GPIO_EXTRA128
152 config S3C_GPIO_SPACE
153 int "Space between gpio banks"
156 Add a number of spare GPIO entries between each bank for debugging
157 purposes. This allows any problems where an counter overflows from
158 one bank to another to be caught, at the expense of using a little
161 config S3C_GPIO_TRACK
164 Internal configuration option to enable the s3c specific gpio
165 chip tracking if the platform requires it.
171 depends on (ARCH_S5P64X0 || ARCH_S5PC100 || ARCH_S5PV210)
176 bool "ADC common driver support"
178 Core support for the ADC block found in the Samsung SoC systems
179 for drivers such as the touchscreen and hwmon to use to share
182 # device definitions to compile in
187 Compile in platform device definitions for HSMMC code
189 config S3C_DEV_HSMMC1
192 Compile in platform device definitions for HSMMC channel 1
194 config S3C_DEV_HSMMC2
197 Compile in platform device definitions for HSMMC channel 2
199 config S3C_DEV_HSMMC3
202 Compile in platform device definitions for HSMMC channel 3
207 Compile in platform device definitions for HWMON
212 Compile in platform device definitions for I2C channel 1
217 Compile in platform device definitions for I2C channel 2
222 Compile in platform device definition for I2C controller 3
227 Compile in platform device definition for I2C controller 4
232 Compile in platform device definition for I2C controller 5
237 Compile in platform device definition for I2C controller 6
242 Compile in platform device definition for I2C controller 7
247 Compile in platform device definition for framebuffer
249 config S3C_DEV_USB_HOST
252 Compile in platform device definition for USB host.
254 config S3C_DEV_USB_HSOTG
257 Compile in platform device definition for USB high-speed OtG
261 default y if ARCH_S3C24XX
263 Complie in platform device definition for Watchdog Timer
268 Compile in platform device definition for NAND controller
270 config S3C_DEV_ONENAND
273 Compile in platform device definition for OneNAND controller
278 Complie in platform device definition for RTC
280 config SAMSUNG_DEV_ADC
283 Compile in platform device definition for ADC controller
285 config SAMSUNG_DEV_IDE
288 Compile in platform device definitions for IDE
290 config S3C64XX_DEV_SPI0
293 Compile in platform device definitions for S3C64XX's type
296 config S3C64XX_DEV_SPI1
299 Compile in platform device definitions for S3C64XX's type
302 config S3C64XX_DEV_SPI2
305 Compile in platform device definitions for S3C64XX's type
308 config SAMSUNG_DEV_TS
311 Common in platform device definitions for touchscreen device
313 config SAMSUNG_DEV_KEYPAD
316 Compile in platform device definitions for keypad
318 config SAMSUNG_DEV_PWM
320 default y if ARCH_S3C24XX
322 Compile in platform device definition for PWM Timer
324 config SAMSUNG_DEV_BACKLIGHT
326 depends on SAMSUNG_DEV_PWM
328 Compile in platform device definition LCD backlight with PWM Timer
333 Compile in platform device definitions for MIPI-CSIS channel 0
338 Compile in platform device definitions for MIPI-CSIS channel 1
343 Compile in platform device definitions for FIMC controller 0
348 Compile in platform device definitions for FIMC controller 1
353 Compile in platform device definitions for FIMC controller 2
358 Compile in platform device definitions for FIMC controller 3
363 Compile in platform device definitions for FIMD controller 0
368 Compile in platform device definitions for G2D device
370 config S5P_DEV_I2C_HDMIPHY
373 Compile in platform device definitions for I2C HDMIPHY controller
378 Compile in platform device definitions for JPEG codec
383 Compile in setup memory (init) code for MFC
385 config S5P_DEV_ONENAND
388 Compile in platform device definition for OneNAND controller
393 Compile in platform device definition for TV interface
395 config S5P_DEV_USB_EHCI
398 Compile in platform device definition for USB EHCI
401 bool "PWM device support"
404 Support for exporting the PWM timer blocks via the pwm device
407 config S5P_SETUP_MIPIPHY
410 Compile in common setup code for MIPI-CSIS and MIPI-DSIM devices
417 Internal configuration for S3C DMA core
419 config SAMSUNG_DMADEV
422 select PL330_DMA if (ARCH_EXYNOS5 || ARCH_EXYNOS4 || CPU_S5PV210 || CPU_S5PC100 || \
423 CPU_S5P6450 || CPU_S5P6440)
426 Use DMA device engine for PL330 DMAC.
428 comment "Power management"
430 config SAMSUNG_PM_DEBUG
431 bool "S3C2410 PM Suspend debug"
435 Say Y here if you want verbose debugging from the PM Suspend and
436 Resume code. See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt>
437 for more information.
439 config S3C_PM_DEBUG_LED_SMDK
440 bool "SMDK LED suspend/resume debugging"
441 depends on PM && (MACH_SMDK6410)
443 Say Y here to enable the use of the SMDK LEDs on the baseboard
444 for debugging of the state of the suspend and resume process.
446 Note, this currently only works for S3C64XX based SMDK boards.
448 config SAMSUNG_PM_CHECK
449 bool "S3C2410 PM Suspend Memory CRC"
450 depends on PM && CRC32
452 Enable the PM code's memory area checksum over sleep. This option
453 will generate CRCs of all blocks of memory, and store them before
454 going to sleep. The blocks are then checked on resume for any
457 Note, this can take several seconds depending on memory size
460 See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt>
462 config SAMSUNG_PM_CHECK_CHUNKSIZE
463 int "S3C2410 PM Suspend CRC Chunksize (KiB)"
464 depends on PM && SAMSUNG_PM_CHECK
467 Set the chunksize in Kilobytes of the CRC for checking memory
468 corruption over suspend and resume. A smaller value will mean that
469 the CRC data block will take more memory, but wil identify any
470 faults with better precision.
472 See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt>
474 config SAMSUNG_WAKEMASK
478 Compile support for wakeup-mask controls found on the S3C6400
479 and above. This code allows a set of interrupt to wakeup-mask
480 mappings. See <plat/wakeup-mask.h>
485 Common code for power management support on S5P and newer SoCs
486 Note: Do not select this for S5P6440 and S5P6450.
491 Internal config node to apply common S5P sleep management code.
492 Can be selected by S5P and newer SoCs with similar sleep procedure.
494 comment "Power Domain"
497 bool "Samsung Power Domain"
498 depends on PM_RUNTIME
500 Say Y here if you want to control Power Domain by Runtime PM.
502 config DEBUG_S3C_UART
503 depends on PLAT_SAMSUNG
505 default "0" if DEBUG_S3C_UART0
506 default "1" if DEBUG_S3C_UART1
507 default "2" if DEBUG_S3C_UART2