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
16 config PLAT_SAMSUNG_SINGLE
17 def_bool PLAT_SAMSUNG && !ARCH_MULTIPLATFORM
22 depends on (ARCH_S5P64X0 || ARCH_S5PC100 || ARCH_S5PV210 || ARCH_EXYNOS)
24 select ARCH_REQUIRE_GPIOLIB
25 select ARM_GIC if ARCH_EXYNOS
26 select ARM_VIC if !ARCH_EXYNOS
27 select GIC_NON_BANKED if ARCH_EXYNOS4
30 select S3C_GPIO_TRACK if PLAT_SAMSUNG_SINGLE
31 select S5P_GPIO_DRVSTR
33 select SAMSUNG_GPIOLIB_4BIT
34 select SAMSUNG_IRQ_VIC_TIMER
36 Base platform code for Samsung's S5P series SoC.
42 comment "Boot options"
44 config S3C_BOOT_WATCHDOG
45 bool "S3C Initialisation watchdog"
46 depends on S3C2410_WATCHDOG
48 Say y to enable the watchdog during the kernel decompression
49 stage. If the kernel fails to uncompress, then the watchdog
50 will trigger a reset and the system should restart.
52 config S3C_BOOT_ERROR_RESET
53 bool "S3C Reboot on decompression error"
55 Say y here to use the watchdog to reset the system if the
56 kernel decompressor detects an error during decompression.
58 config S3C_BOOT_UART_FORCE_FIFO
59 bool "Force UART FIFO on during boot process"
62 Say Y here to force the UART FIFOs on during the kernel
66 config S3C_LOWLEVEL_UART_PORT
67 int "S3C UART to use for low-level messages"
70 Choice of which UART port to use for the low-level messages,
71 such as the `Uncompressing...` at start time. The value of
72 this configuration should be between zero and two. The port
73 must have been initialised by the boot-loader before use.
79 select SAMSUNG_DEV_PWM
81 Use the High Resolution timer support
87 default y if !COMMON_CLK
92 Select the clock code for the clksrc implementation
93 used by newer systems such as the S3C64XX.
96 def_bool (ARCH_S5P64X0 || ARCH_S5PC100 || ARCH_S5PV210 || ARCH_EXYNOS)
98 Support common clock part for ARCH_S5P and ARCH_EXYNOS SoCs
100 # options for IRQ support
102 config SAMSUNG_IRQ_VIC_TIMER
105 Internal configuration to build the VIC timer interrupt code.
108 def_bool (ARCH_S5P64X0 || ARCH_S5PC100 || ARCH_S5PV210 || ARCH_EXYNOS)
110 Support common interrup part for ARCH_S5P and ARCH_EXYNOS SoCs
115 Use the external interrupts (other than GPIO interrupts.)
116 Note: Do not choose this for S5P6440 and S5P6450.
121 Common code for the GPIO interrupts (other than external interrupts.)
123 # options for gpio configuration support
125 config SAMSUNG_GPIOLIB_4BIT
128 GPIOlib file contains the 4 bit modification functions for gpio
129 configuration. GPIOlib shall be compiled only for S3C64XX and S5P
130 series of processors.
132 config S3C_GPIO_CFG_S3C64XX
135 Internal configuration to enable S3C64XX style GPIO configuration
138 config S5P_GPIO_DRVSTR
141 Internal configuration to get and set correct GPIO driver strength
144 config SAMSUNG_GPIO_EXTRA
145 int "Number of additional GPIO pins"
146 default 128 if SAMSUNG_GPIO_EXTRA128
147 default 64 if SAMSUNG_GPIO_EXTRA64
150 Use additional GPIO space in addition to the GPIO's the SOC
151 provides. This allows expanding the GPIO space for use with
154 config SAMSUNG_GPIO_EXTRA64
157 config SAMSUNG_GPIO_EXTRA128
160 config S3C_GPIO_SPACE
161 int "Space between gpio banks"
164 Add a number of spare GPIO entries between each bank for debugging
165 purposes. This allows any problems where an counter overflows from
166 one bank to another to be caught, at the expense of using a little
169 config S3C_GPIO_TRACK
172 Internal configuration option to enable the s3c specific gpio
173 chip tracking if the platform requires it.
179 depends on (ARCH_S5P64X0 || ARCH_S5PC100 || ARCH_S5PV210)
184 bool "ADC common driver support"
185 depends on PLAT_SAMSUNG_SINGLE
187 Core support for the ADC block found in the Samsung SoC systems
188 for drivers such as the touchscreen and hwmon to use to share
191 # device definitions to compile in
196 Compile in platform device definitions for HSMMC code
198 config S3C_DEV_HSMMC1
201 Compile in platform device definitions for HSMMC channel 1
203 config S3C_DEV_HSMMC2
206 Compile in platform device definitions for HSMMC channel 2
208 config S3C_DEV_HSMMC3
211 Compile in platform device definitions for HSMMC channel 3
216 Compile in platform device definitions for HWMON
221 Compile in platform device definitions for I2C channel 1
226 Compile in platform device definitions for I2C channel 2
231 Compile in platform device definition for I2C controller 3
236 Compile in platform device definition for I2C controller 4
241 Compile in platform device definition for I2C controller 5
246 Compile in platform device definition for I2C controller 6
251 Compile in platform device definition for I2C controller 7
256 Compile in platform device definition for framebuffer
258 config S3C_DEV_USB_HOST
261 Compile in platform device definition for USB host.
263 config S3C_DEV_USB_HSOTG
266 Compile in platform device definition for USB high-speed OtG
270 default y if ARCH_S3C24XX
272 Complie in platform device definition for Watchdog Timer
277 Compile in platform device definition for NAND controller
279 config S3C_DEV_ONENAND
282 Compile in platform device definition for OneNAND controller
287 Complie in platform device definition for RTC
289 config SAMSUNG_DEV_ADC
292 Compile in platform device definition for ADC controller
294 config SAMSUNG_DEV_IDE
297 Compile in platform device definitions for IDE
299 config S3C64XX_DEV_SPI0
302 Compile in platform device definitions for S3C64XX's type
305 config S3C64XX_DEV_SPI1
308 Compile in platform device definitions for S3C64XX's type
311 config S3C64XX_DEV_SPI2
314 Compile in platform device definitions for S3C64XX's type
317 config SAMSUNG_DEV_TS
320 Common in platform device definitions for touchscreen device
322 config SAMSUNG_DEV_KEYPAD
325 Compile in platform device definitions for keypad
327 config SAMSUNG_DEV_PWM
329 default y if ARCH_S3C24XX
331 Compile in platform device definition for PWM Timer
333 config SAMSUNG_DEV_BACKLIGHT
335 depends on SAMSUNG_DEV_PWM
337 Compile in platform device definition LCD backlight with PWM Timer
342 Compile in platform device definitions for MIPI-CSIS channel 0
347 Compile in platform device definitions for MIPI-CSIS channel 1
352 Compile in platform device definitions for FIMC controller 0
357 Compile in platform device definitions for FIMC controller 1
362 Compile in platform device definitions for FIMC controller 2
367 Compile in platform device definitions for FIMC controller 3
372 Compile in platform device definitions for FIMD controller 0
377 Compile in platform device definitions for G2D device
379 config S5P_DEV_I2C_HDMIPHY
382 Compile in platform device definitions for I2C HDMIPHY controller
387 Compile in platform device definitions for JPEG codec
392 Compile in setup memory (init) code for MFC
394 config S5P_DEV_ONENAND
397 Compile in platform device definition for OneNAND controller
402 Compile in platform device definition for TV interface
404 config S5P_DEV_USB_EHCI
407 Compile in platform device definition for USB EHCI
410 bool "PWM device support"
414 Support for exporting the PWM timer blocks via the pwm device
417 config S5P_SETUP_MIPIPHY
420 Compile in common setup code for MIPI-CSIS and MIPI-DSIM devices
422 config S3C_SETUP_CAMIF
425 Compile in common setup code for S3C CAMIF devices
432 Internal configuration for S3C DMA core
434 config SAMSUNG_DMADEV
438 select PL330_DMA if (ARCH_EXYNOS5 || ARCH_EXYNOS4 || CPU_S5PV210 || CPU_S5PC100 || \
439 CPU_S5P6450 || CPU_S5P6440)
441 Use DMA device engine for PL330 DMAC.
443 comment "Power management"
445 config SAMSUNG_PM_DEBUG
446 bool "S3C2410 PM Suspend debug"
450 Say Y here if you want verbose debugging from the PM Suspend and
451 Resume code. See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt>
452 for more information.
454 config S3C_PM_DEBUG_LED_SMDK
455 bool "SMDK LED suspend/resume debugging"
456 depends on PM && (MACH_SMDK6410)
458 Say Y here to enable the use of the SMDK LEDs on the baseboard
459 for debugging of the state of the suspend and resume process.
461 Note, this currently only works for S3C64XX based SMDK boards.
463 config SAMSUNG_PM_CHECK
464 bool "S3C2410 PM Suspend Memory CRC"
465 depends on PM && CRC32
467 Enable the PM code's memory area checksum over sleep. This option
468 will generate CRCs of all blocks of memory, and store them before
469 going to sleep. The blocks are then checked on resume for any
472 Note, this can take several seconds depending on memory size
475 See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt>
477 config SAMSUNG_PM_CHECK_CHUNKSIZE
478 int "S3C2410 PM Suspend CRC Chunksize (KiB)"
479 depends on PM && SAMSUNG_PM_CHECK
482 Set the chunksize in Kilobytes of the CRC for checking memory
483 corruption over suspend and resume. A smaller value will mean that
484 the CRC data block will take more memory, but wil identify any
485 faults with better precision.
487 See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt>
489 config SAMSUNG_WAKEMASK
493 Compile support for wakeup-mask controls found on the S3C6400
494 and above. This code allows a set of interrupt to wakeup-mask
495 mappings. See <plat/wakeup-mask.h>
500 Common code for power management support on S5P and newer SoCs
501 Note: Do not select this for S5P6440 and S5P6450.
506 Internal config node to apply common S5P sleep management code.
507 Can be selected by S5P and newer SoCs with similar sleep procedure.
509 config DEBUG_S3C_UART
510 depends on PLAT_SAMSUNG
512 default "0" if DEBUG_S3C_UART0
513 default "1" if DEBUG_S3C_UART1
514 default "2" if DEBUG_S3C_UART2
515 default "3" if DEBUG_S3C_UART3