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
20 comment "Boot options"
22 config S3C_BOOT_WATCHDOG
23 bool "S3C Initialisation watchdog"
24 depends on S3C2410_WATCHDOG
26 Say y to enable the watchdog during the kernel decompression
27 stage. If the kernel fails to uncompress, then the watchdog
28 will trigger a reset and the system should restart.
30 config S3C_BOOT_ERROR_RESET
31 bool "S3C Reboot on decompression error"
33 Say y here to use the watchdog to reset the system if the
34 kernel decompressor detects an error during decompression.
36 config S3C_BOOT_UART_FORCE_FIFO
37 bool "Force UART FIFO on during boot process"
40 Say Y here to force the UART FIFOs on during the kernel
44 config S3C_LOWLEVEL_UART_PORT
45 int "S3C UART to use for low-level messages"
48 Choice of which UART port to use for the low-level messages,
49 such as the `Uncompressing...` at start time. The value of
50 this configuration should be between zero and two. The port
51 must have been initialised by the boot-loader before use.
57 select SAMSUNG_DEV_PWM
59 Use the High Resolution timer support
66 Select the clock code for the clksrc implementation
67 used by newer systems such as the S3C64XX.
70 def_bool (ARCH_S5P64X0 || ARCH_S5PC100 || ARCH_S5PV210 || ARCH_EXYNOS)
72 Support common clock part for ARCH_S5P and ARCH_EXYNOS SoCs
74 # options for IRQ support
76 config SAMSUNG_IRQ_VIC_TIMER
79 Internal configuration to build the VIC timer interrupt code.
82 def_bool (ARCH_S5P64X0 || ARCH_S5PC100 || ARCH_S5PV210 || ARCH_EXYNOS)
84 Support common interrup part for ARCH_S5P and ARCH_EXYNOS SoCs
89 Use the external interrupts (other than GPIO interrupts.)
90 Note: Do not choose this for S5P6440 and S5P6450.
95 Common code for the GPIO interrupts (other than external interrupts.)
97 # options for gpio configuration support
99 config SAMSUNG_GPIOLIB_4BIT
102 GPIOlib file contains the 4 bit modification functions for gpio
103 configuration. GPIOlib shall be compiled only for S3C64XX and S5P
104 series of processors.
106 config S3C_GPIO_CFG_S3C64XX
109 Internal configuration to enable S3C64XX style GPIO configuration
112 config S5P_GPIO_DRVSTR
115 Internal configuration to get and set correct GPIO driver strength
118 config SAMSUNG_GPIO_EXTRA
119 int "Number of additional GPIO pins"
120 default 128 if SAMSUNG_GPIO_EXTRA128
121 default 64 if SAMSUNG_GPIO_EXTRA64
124 Use additional GPIO space in addition to the GPIO's the SOC
125 provides. This allows expanding the GPIO space for use with
128 config SAMSUNG_GPIO_EXTRA64
131 config SAMSUNG_GPIO_EXTRA128
134 config S3C_GPIO_SPACE
135 int "Space between gpio banks"
138 Add a number of spare GPIO entries between each bank for debugging
139 purposes. This allows any problems where an counter overflows from
140 one bank to another to be caught, at the expense of using a little
143 config S3C_GPIO_TRACK
146 Internal configuration option to enable the s3c specific gpio
147 chip tracking if the platform requires it.
152 bool "ADC common driver support"
154 Core support for the ADC block found in the Samsung SoC systems
155 for drivers such as the touchscreen and hwmon to use to share
158 # device definitions to compile in
163 Compile in platform device definitions for HSMMC code
165 config S3C_DEV_HSMMC1
168 Compile in platform device definitions for HSMMC channel 1
170 config S3C_DEV_HSMMC2
173 Compile in platform device definitions for HSMMC channel 2
175 config S3C_DEV_HSMMC3
178 Compile in platform device definitions for HSMMC channel 3
183 Compile in platform device definitions for HWMON
188 Compile in platform device definitions for I2C channel 1
193 Compile in platform device definitions for I2C channel 2
198 Compile in platform device definition for I2C controller 3
203 Compile in platform device definition for I2C controller 4
208 Compile in platform device definition for I2C controller 5
213 Compile in platform device definition for I2C controller 6
218 Compile in platform device definition for I2C controller 7
223 Compile in platform device definition for framebuffer
225 config S3C_DEV_USB_HOST
228 Compile in platform device definition for USB host.
230 config S3C_DEV_USB_HSOTG
233 Compile in platform device definition for USB high-speed OtG
237 default y if ARCH_S3C24XX
239 Complie in platform device definition for Watchdog Timer
244 Compile in platform device definition for NAND controller
246 config S3C_DEV_ONENAND
249 Compile in platform device definition for OneNAND controller
254 Complie in platform device definition for RTC
256 config SAMSUNG_DEV_ADC
259 Compile in platform device definition for ADC controller
261 config SAMSUNG_DEV_IDE
264 Compile in platform device definitions for IDE
266 config S3C64XX_DEV_SPI0
269 Compile in platform device definitions for S3C64XX's type
272 config S3C64XX_DEV_SPI1
275 Compile in platform device definitions for S3C64XX's type
278 config S3C64XX_DEV_SPI2
281 Compile in platform device definitions for S3C64XX's type
284 config SAMSUNG_DEV_TS
287 Common in platform device definitions for touchscreen device
289 config SAMSUNG_DEV_KEYPAD
292 Compile in platform device definitions for keypad
294 config SAMSUNG_DEV_PWM
296 default y if ARCH_S3C24XX
298 Compile in platform device definition for PWM Timer
300 config SAMSUNG_DEV_BACKLIGHT
302 depends on SAMSUNG_DEV_PWM
304 Compile in platform device definition LCD backlight with PWM Timer
307 bool "PWM device support"
310 Support for exporting the PWM timer blocks via the pwm device
318 Internal configuration for S3C DMA core
320 config SAMSUNG_DMADEV
323 select PL330_DMA if (CPU_EXYNOS4210 || CPU_S5PV210 || CPU_S5PC100 || \
324 CPU_S5P6450 || CPU_S5P6440)
327 Use DMA device engine for PL330 DMAC.
329 comment "Power management"
331 config SAMSUNG_PM_DEBUG
332 bool "S3C2410 PM Suspend debug"
335 Say Y here if you want verbose debugging from the PM Suspend and
336 Resume code. See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt>
337 for more information.
339 config S3C_PM_DEBUG_LED_SMDK
340 bool "SMDK LED suspend/resume debugging"
341 depends on PM && (MACH_SMDK6410)
343 Say Y here to enable the use of the SMDK LEDs on the baseboard
344 for debugging of the state of the suspend and resume process.
346 Note, this currently only works for S3C64XX based SMDK boards.
348 config SAMSUNG_PM_CHECK
349 bool "S3C2410 PM Suspend Memory CRC"
350 depends on PM && CRC32
352 Enable the PM code's memory area checksum over sleep. This option
353 will generate CRCs of all blocks of memory, and store them before
354 going to sleep. The blocks are then checked on resume for any
357 Note, this can take several seconds depending on memory size
360 See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt>
362 config SAMSUNG_PM_CHECK_CHUNKSIZE
363 int "S3C2410 PM Suspend CRC Chunksize (KiB)"
364 depends on PM && SAMSUNG_PM_CHECK
367 Set the chunksize in Kilobytes of the CRC for checking memory
368 corruption over suspend and resume. A smaller value will mean that
369 the CRC data block will take more memory, but wil identify any
370 faults with better precision.
372 See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt>
374 config SAMSUNG_WAKEMASK
378 Compile support for wakeup-mask controls found on the S3C6400
379 and above. This code allows a set of interrupt to wakeup-mask
380 mappings. See <plat/wakeup-mask.h>
385 Common code for power management support on S5P and newer SoCs
386 Note: Do not select this for S5P6440 and S5P6450.
391 Internal config node to apply common S5P sleep management code.
392 Can be selected by S5P and newer SoCs with similar sleep procedure.
394 comment "Power Domain"
397 bool "Samsung Power Domain"
398 depends on PM_RUNTIME
400 Say Y here if you want to control Power Domain by Runtime PM.
402 config DEBUG_S3C_UART
403 depends on PLAT_SAMSUNG
405 default "0" if DEBUG_S3C_UART0
406 default "1" if DEBUG_S3C_UART1
407 default "2" if DEBUG_S3C_UART2