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
28 select SAMSUNG_IRQ_VIC_TIMER
30 Base platform code for Samsung's S5P series SoC.
36 comment "Boot options"
38 config S3C_BOOT_ERROR_RESET
39 bool "S3C Reboot on decompression error"
41 Say y here to use the watchdog to reset the system if the
42 kernel decompressor detects an error during decompression.
44 config S3C_BOOT_UART_FORCE_FIFO
45 bool "Force UART FIFO on during boot process"
48 Say Y here to force the UART FIFOs on during the kernel
52 config S3C_LOWLEVEL_UART_PORT
53 int "S3C UART to use for low-level messages"
56 Choice of which UART port to use for the low-level messages,
57 such as the `Uncompressing...` at start time. The value of
58 this configuration should be between zero and two. The port
59 must have been initialised by the boot-loader before use.
63 depends on !ARCH_MULTIPLATFORM
66 This option enables ATAGS based boot support code for
67 Samsung platforms, including static platform devices, legacy
68 clock, timer and interrupt initialization, etc.
70 Platforms that support only DT based boot need not to select
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)
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)
110 Support common interrupt part for ARCH_S5P 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 S5P_GPIO_DRVSTR
135 Internal configuration to get and set correct GPIO driver strength
138 config SAMSUNG_GPIO_EXTRA
139 int "Number of additional GPIO pins"
140 default 128 if SAMSUNG_GPIO_EXTRA128
141 default 64 if SAMSUNG_GPIO_EXTRA64
144 Use additional GPIO space in addition to the GPIO's the SOC
145 provides. This allows expanding the GPIO space for use with
148 config SAMSUNG_GPIO_EXTRA64
151 config SAMSUNG_GPIO_EXTRA128
154 config S3C_GPIO_SPACE
155 int "Space between gpio banks"
158 Add a number of spare GPIO entries between each bank for debugging
159 purposes. This allows any problems where an counter overflows from
160 one bank to another to be caught, at the expense of using a little
163 config S3C_GPIO_TRACK
166 Internal configuration option to enable the s3c specific gpio
167 chip tracking if the platform requires it.
173 depends on (ARCH_S5P64X0 || ARCH_S5PC100 || ARCH_S5PV210)
178 bool "ADC common driver support"
180 Core support for the ADC block found in the Samsung SoC systems
181 for drivers such as the touchscreen and hwmon to use to share
184 # device definitions to compile in
189 Compile in platform device definitions for HSMMC code
191 config S3C_DEV_HSMMC1
194 Compile in platform device definitions for HSMMC channel 1
196 config S3C_DEV_HSMMC2
199 Compile in platform device definitions for HSMMC channel 2
201 config S3C_DEV_HSMMC3
204 Compile in platform device definitions for HSMMC channel 3
209 Compile in platform device definitions for HWMON
214 Compile in platform device definitions for I2C channel 1
219 Compile in platform device definitions for I2C channel 2
224 Compile in platform device definition for I2C controller 3
229 Compile in platform device definition for I2C controller 4
234 Compile in platform device definition for I2C controller 5
239 Compile in platform device definition for I2C controller 6
244 Compile in platform device definition for I2C controller 7
249 Compile in platform device definition for framebuffer
251 config S3C_DEV_USB_HOST
254 Compile in platform device definition for USB host.
256 config S3C_DEV_USB_HSOTG
259 Compile in platform device definition for USB high-speed OtG
263 default y if ARCH_S3C24XX
265 Complie in platform device definition for Watchdog Timer
270 Compile in platform device definition for NAND controller
272 config S3C_DEV_ONENAND
275 Compile in platform device definition for OneNAND controller
280 Complie in platform device definition for RTC
282 config SAMSUNG_DEV_ADC
285 Compile in platform device definition for ADC controller
287 config SAMSUNG_DEV_IDE
290 Compile in platform device definitions for IDE
292 config S3C64XX_DEV_SPI0
295 Compile in platform device definitions for S3C64XX's type
298 config S3C64XX_DEV_SPI1
301 Compile in platform device definitions for S3C64XX's type
304 config S3C64XX_DEV_SPI2
307 Compile in platform device definitions for S3C64XX's type
310 config SAMSUNG_DEV_TS
313 Common in platform device definitions for touchscreen device
315 config SAMSUNG_DEV_KEYPAD
318 Compile in platform device definitions for keypad
320 config SAMSUNG_DEV_PWM
322 default y if ARCH_S3C24XX
324 Compile in platform device definition for PWM Timer
326 config SAMSUNG_DEV_BACKLIGHT
328 depends on SAMSUNG_DEV_PWM
330 Compile in platform device definition LCD backlight with PWM Timer
335 Compile in platform device definitions for MIPI-CSIS channel 0
340 Compile in platform device definitions for MIPI-CSIS channel 1
345 Compile in platform device definitions for FIMC controller 0
350 Compile in platform device definitions for FIMC controller 1
355 Compile in platform device definitions for FIMC controller 2
360 Compile in platform device definitions for FIMC controller 3
365 Compile in platform device definitions for FIMD controller 0
370 Compile in platform device definitions for G2D device
372 config S5P_DEV_I2C_HDMIPHY
375 Compile in platform device definitions for I2C HDMIPHY controller
380 Compile in platform device definitions for JPEG codec
382 config S5P_DEV_ONENAND
385 Compile in platform device definition for OneNAND controller
390 Compile in platform device definition for TV interface
392 config S5P_DEV_USB_EHCI
395 Compile in platform device definition for USB EHCI
398 bool "PWM device support"
402 Support for exporting the PWM timer blocks via the pwm device
405 config S5P_SETUP_MIPIPHY
408 Compile in common setup code for MIPI-CSIS and MIPI-DSIM devices
410 config S3C_SETUP_CAMIF
413 Compile in common setup code for S3C CAMIF devices
420 Internal configuration for S3C DMA core
426 Legacy IRQ power management for S5P platforms
428 config SAMSUNG_PM_GPIO
430 default y if GPIO_SAMSUNG && PM
432 Include legacy GPIO power management code for platforms not using
433 pinctrl-samsung driver.
437 config SAMSUNG_DMADEV
441 select PL330_DMA if (ARCH_EXYNOS5 || ARCH_EXYNOS4 || CPU_S5PV210 || CPU_S5PC100 || \
442 CPU_S5P6450 || CPU_S5P6440)
444 Use DMA device engine for PL330 DMAC.
449 Compile in setup memory (init) code for MFC
451 comment "Power management"
453 config SAMSUNG_PM_DEBUG
454 bool "S3C2410 PM Suspend debug"
458 Say Y here if you want verbose debugging from the PM Suspend and
459 Resume code. See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt>
460 for more information.
462 config S3C_PM_DEBUG_LED_SMDK
463 bool "SMDK LED suspend/resume debugging"
464 depends on PM && (MACH_SMDK6410)
466 Say Y here to enable the use of the SMDK LEDs on the baseboard
467 for debugging of the state of the suspend and resume process.
469 Note, this currently only works for S3C64XX based SMDK boards.
471 config SAMSUNG_PM_CHECK
472 bool "S3C2410 PM Suspend Memory CRC"
473 depends on PM && CRC32
475 Enable the PM code's memory area checksum over sleep. This option
476 will generate CRCs of all blocks of memory, and store them before
477 going to sleep. The blocks are then checked on resume for any
480 Note, this can take several seconds depending on memory size
483 See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt>
485 config SAMSUNG_PM_CHECK_CHUNKSIZE
486 int "S3C2410 PM Suspend CRC Chunksize (KiB)"
487 depends on PM && SAMSUNG_PM_CHECK
490 Set the chunksize in Kilobytes of the CRC for checking memory
491 corruption over suspend and resume. A smaller value will mean that
492 the CRC data block will take more memory, but wil identify any
493 faults with better precision.
495 See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt>
497 config SAMSUNG_WAKEMASK
501 Compile support for wakeup-mask controls found on the S3C6400
502 and above. This code allows a set of interrupt to wakeup-mask
503 mappings. See <plat/wakeup-mask.h>
505 config SAMSUNG_WDT_RESET
508 Compile support for system restart by triggering watchdog reset.
509 Used on SoCs that do not provide dedicated reset control.
514 Common code for power management support on S5P and newer SoCs
515 Note: Do not select this for S5P6440 and S5P6450.
520 Internal config node to apply common S5P sleep management code.
521 Can be selected by S5P and newer SoCs with similar sleep procedure.
523 config DEBUG_S3C_UART
524 depends on PLAT_SAMSUNG
526 default "0" if DEBUG_S3C_UART0
527 default "1" if DEBUG_S3C_UART1
528 default "2" if DEBUG_S3C_UART2
529 default "3" if DEBUG_S3C_UART3