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 ARCH_REQUIRE_GPIOLIB
21 select ARM_GIC if ARCH_EXYNOS
22 select ARM_VIC if !ARCH_EXYNOS
23 select GIC_NON_BANKED if ARCH_EXYNOS4
27 select S5P_GPIO_DRVSTR
29 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_ERROR_RESET
41 bool "S3C Reboot on decompression error"
43 Say y here to use the watchdog to reset the system if the
44 kernel decompressor detects an error during decompression.
46 config S3C_BOOT_UART_FORCE_FIFO
47 bool "Force UART FIFO on during boot process"
50 Say Y here to force the UART FIFOs on during the kernel
54 config S3C_LOWLEVEL_UART_PORT
55 int "S3C UART to use for low-level messages"
58 Choice of which UART port to use for the low-level messages,
59 such as the `Uncompressing...` at start time. The value of
60 this configuration should be between zero and two. The port
61 must have been initialised by the boot-loader before use.
67 select SAMSUNG_DEV_PWM
69 Use the High Resolution timer support
75 default y if !COMMON_CLK
80 Select the clock code for the clksrc implementation
81 used by newer systems such as the S3C64XX.
84 def_bool (ARCH_S5P64X0 || ARCH_S5PC100 || ARCH_S5PV210 || ARCH_EXYNOS)
86 Support common clock part for ARCH_S5P and ARCH_EXYNOS SoCs
88 # options for IRQ support
90 config SAMSUNG_IRQ_VIC_TIMER
93 Internal configuration to build the VIC timer interrupt code.
96 def_bool (ARCH_S5P64X0 || ARCH_S5PC100 || ARCH_S5PV210 || ARCH_EXYNOS)
98 Support common interrup part for ARCH_S5P and ARCH_EXYNOS SoCs
103 Use the external interrupts (other than GPIO interrupts.)
104 Note: Do not choose this for S5P6440 and S5P6450.
109 Common code for the GPIO interrupts (other than external interrupts.)
111 # options for gpio configuration support
113 config SAMSUNG_GPIOLIB_4BIT
116 GPIOlib file contains the 4 bit modification functions for gpio
117 configuration. GPIOlib shall be compiled only for S3C64XX and S5P
118 series of processors.
120 config S3C_GPIO_CFG_S3C64XX
123 Internal configuration to enable S3C64XX style GPIO configuration
126 config S5P_GPIO_DRVSTR
129 Internal configuration to get and set correct GPIO driver strength
132 config SAMSUNG_GPIO_EXTRA
133 int "Number of additional GPIO pins"
134 default 128 if SAMSUNG_GPIO_EXTRA128
135 default 64 if SAMSUNG_GPIO_EXTRA64
138 Use additional GPIO space in addition to the GPIO's the SOC
139 provides. This allows expanding the GPIO space for use with
142 config SAMSUNG_GPIO_EXTRA64
145 config SAMSUNG_GPIO_EXTRA128
148 config S3C_GPIO_SPACE
149 int "Space between gpio banks"
152 Add a number of spare GPIO entries between each bank for debugging
153 purposes. This allows any problems where an counter overflows from
154 one bank to another to be caught, at the expense of using a little
157 config S3C_GPIO_TRACK
160 Internal configuration option to enable the s3c specific gpio
161 chip tracking if the platform requires it.
167 depends on (ARCH_S5P64X0 || ARCH_S5PC100 || ARCH_S5PV210)
172 bool "ADC common driver support"
174 Core support for the ADC block found in the Samsung SoC systems
175 for drivers such as the touchscreen and hwmon to use to share
178 # device definitions to compile in
183 Compile in platform device definitions for HSMMC code
185 config S3C_DEV_HSMMC1
188 Compile in platform device definitions for HSMMC channel 1
190 config S3C_DEV_HSMMC2
193 Compile in platform device definitions for HSMMC channel 2
195 config S3C_DEV_HSMMC3
198 Compile in platform device definitions for HSMMC channel 3
203 Compile in platform device definitions for HWMON
208 Compile in platform device definitions for I2C channel 1
213 Compile in platform device definitions for I2C channel 2
218 Compile in platform device definition for I2C controller 3
223 Compile in platform device definition for I2C controller 4
228 Compile in platform device definition for I2C controller 5
233 Compile in platform device definition for I2C controller 6
238 Compile in platform device definition for I2C controller 7
243 Compile in platform device definition for framebuffer
245 config S3C_DEV_USB_HOST
248 Compile in platform device definition for USB host.
250 config S3C_DEV_USB_HSOTG
253 Compile in platform device definition for USB high-speed OtG
257 default y if ARCH_S3C24XX
259 Complie in platform device definition for Watchdog Timer
264 Compile in platform device definition for NAND controller
266 config S3C_DEV_ONENAND
269 Compile in platform device definition for OneNAND controller
274 Complie in platform device definition for RTC
276 config SAMSUNG_DEV_ADC
279 Compile in platform device definition for ADC controller
281 config SAMSUNG_DEV_IDE
284 Compile in platform device definitions for IDE
286 config S3C64XX_DEV_SPI0
289 Compile in platform device definitions for S3C64XX's type
292 config S3C64XX_DEV_SPI1
295 Compile in platform device definitions for S3C64XX's type
298 config S3C64XX_DEV_SPI2
301 Compile in platform device definitions for S3C64XX's type
304 config SAMSUNG_DEV_TS
307 Common in platform device definitions for touchscreen device
309 config SAMSUNG_DEV_KEYPAD
312 Compile in platform device definitions for keypad
314 config SAMSUNG_DEV_PWM
316 default y if ARCH_S3C24XX
318 Compile in platform device definition for PWM Timer
320 config SAMSUNG_DEV_BACKLIGHT
322 depends on SAMSUNG_DEV_PWM
324 Compile in platform device definition LCD backlight with PWM Timer
329 Compile in platform device definitions for MIPI-CSIS channel 0
334 Compile in platform device definitions for MIPI-CSIS channel 1
339 Compile in platform device definitions for FIMC controller 0
344 Compile in platform device definitions for FIMC controller 1
349 Compile in platform device definitions for FIMC controller 2
354 Compile in platform device definitions for FIMC controller 3
359 Compile in platform device definitions for FIMD controller 0
364 Compile in platform device definitions for G2D device
366 config S5P_DEV_I2C_HDMIPHY
369 Compile in platform device definitions for I2C HDMIPHY controller
374 Compile in platform device definitions for JPEG codec
379 Compile in setup memory (init) code for MFC
381 config S5P_DEV_ONENAND
384 Compile in platform device definition for OneNAND controller
389 Compile in platform device definition for TV interface
391 config S5P_DEV_USB_EHCI
394 Compile in platform device definition for USB EHCI
397 bool "PWM device support"
401 Support for exporting the PWM timer blocks via the pwm device
404 config S5P_SETUP_MIPIPHY
407 Compile in common setup code for MIPI-CSIS and MIPI-DSIM devices
409 config S3C_SETUP_CAMIF
412 Compile in common setup code for S3C CAMIF devices
419 Internal configuration for S3C DMA core
421 config SAMSUNG_DMADEV
425 select PL330_DMA if (ARCH_EXYNOS5 || ARCH_EXYNOS4 || CPU_S5PV210 || CPU_S5PC100 || \
426 CPU_S5P6450 || CPU_S5P6440)
428 Use DMA device engine for PL330 DMAC.
430 comment "Power management"
432 config SAMSUNG_PM_DEBUG
433 bool "S3C2410 PM Suspend debug"
437 Say Y here if you want verbose debugging from the PM Suspend and
438 Resume code. See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt>
439 for more information.
441 config S3C_PM_DEBUG_LED_SMDK
442 bool "SMDK LED suspend/resume debugging"
443 depends on PM && (MACH_SMDK6410)
445 Say Y here to enable the use of the SMDK LEDs on the baseboard
446 for debugging of the state of the suspend and resume process.
448 Note, this currently only works for S3C64XX based SMDK boards.
450 config SAMSUNG_PM_CHECK
451 bool "S3C2410 PM Suspend Memory CRC"
452 depends on PM && CRC32
454 Enable the PM code's memory area checksum over sleep. This option
455 will generate CRCs of all blocks of memory, and store them before
456 going to sleep. The blocks are then checked on resume for any
459 Note, this can take several seconds depending on memory size
462 See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt>
464 config SAMSUNG_PM_CHECK_CHUNKSIZE
465 int "S3C2410 PM Suspend CRC Chunksize (KiB)"
466 depends on PM && SAMSUNG_PM_CHECK
469 Set the chunksize in Kilobytes of the CRC for checking memory
470 corruption over suspend and resume. A smaller value will mean that
471 the CRC data block will take more memory, but wil identify any
472 faults with better precision.
474 See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt>
476 config SAMSUNG_WAKEMASK
480 Compile support for wakeup-mask controls found on the S3C6400
481 and above. This code allows a set of interrupt to wakeup-mask
482 mappings. See <plat/wakeup-mask.h>
487 Common code for power management support on S5P and newer SoCs
488 Note: Do not select this for S5P6440 and S5P6450.
493 Internal config node to apply common S5P sleep management code.
494 Can be selected by S5P and newer SoCs with similar sleep procedure.
496 config DEBUG_S3C_UART
497 depends on PLAT_SAMSUNG
499 default "0" if DEBUG_S3C_UART0
500 default "1" if DEBUG_S3C_UART1
501 default "2" if DEBUG_S3C_UART2
502 default "3" if DEBUG_S3C_UART3