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
28 select SAMSUNG_CLKSRC if !COMMON_CLK
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.
65 depends on !ARCH_MULTIPLATFORM
68 This option enables ATAGS based boot support code for
69 Samsung platforms, including static platform devices, legacy
70 clock, timer and interrupt initialization, etc.
72 Platforms that support only DT based boot need not to select
81 select SAMSUNG_DEV_PWM
83 Use the High Resolution timer support
89 default y if !COMMON_CLK
94 Select the clock code for the clksrc implementation
95 used by newer systems such as the S3C64XX.
98 def_bool (ARCH_S5P64X0 || ARCH_S5PC100 || ARCH_S5PV210)
100 Support common clock part for ARCH_S5P and ARCH_EXYNOS SoCs
102 # options for IRQ support
104 config SAMSUNG_IRQ_VIC_TIMER
107 Internal configuration to build the VIC timer interrupt code.
110 def_bool (ARCH_S5P64X0 || ARCH_S5PC100 || ARCH_S5PV210)
112 Support common interrupt part for ARCH_S5P SoCs
117 Use the external interrupts (other than GPIO interrupts.)
118 Note: Do not choose this for S5P6440 and S5P6450.
123 Common code for the GPIO interrupts (other than external interrupts.)
125 # options for gpio configuration support
127 config SAMSUNG_GPIOLIB_4BIT
130 GPIOlib file contains the 4 bit modification functions for gpio
131 configuration. GPIOlib shall be compiled only for S3C64XX and S5P
132 series of processors.
134 config S5P_GPIO_DRVSTR
137 Internal configuration to get and set correct GPIO driver strength
140 config SAMSUNG_GPIO_EXTRA
141 int "Number of additional GPIO pins"
142 default 128 if SAMSUNG_GPIO_EXTRA128
143 default 64 if SAMSUNG_GPIO_EXTRA64
146 Use additional GPIO space in addition to the GPIO's the SOC
147 provides. This allows expanding the GPIO space for use with
150 config SAMSUNG_GPIO_EXTRA64
153 config SAMSUNG_GPIO_EXTRA128
156 config S3C_GPIO_SPACE
157 int "Space between gpio banks"
160 Add a number of spare GPIO entries between each bank for debugging
161 purposes. This allows any problems where an counter overflows from
162 one bank to another to be caught, at the expense of using a little
165 config S3C_GPIO_TRACK
168 Internal configuration option to enable the s3c specific gpio
169 chip tracking if the platform requires it.
175 depends on (ARCH_S5P64X0 || ARCH_S5PC100 || ARCH_S5PV210)
180 bool "ADC common driver support"
182 Core support for the ADC block found in the Samsung SoC systems
183 for drivers such as the touchscreen and hwmon to use to share
186 # device definitions to compile in
191 Compile in platform device definitions for HSMMC code
193 config S3C_DEV_HSMMC1
196 Compile in platform device definitions for HSMMC channel 1
198 config S3C_DEV_HSMMC2
201 Compile in platform device definitions for HSMMC channel 2
203 config S3C_DEV_HSMMC3
206 Compile in platform device definitions for HSMMC channel 3
211 Compile in platform device definitions for HWMON
216 Compile in platform device definitions for I2C channel 1
221 Compile in platform device definitions for I2C channel 2
226 Compile in platform device definition for I2C controller 3
231 Compile in platform device definition for I2C controller 4
236 Compile in platform device definition for I2C controller 5
241 Compile in platform device definition for I2C controller 6
246 Compile in platform device definition for I2C controller 7
251 Compile in platform device definition for framebuffer
253 config S3C_DEV_USB_HOST
256 Compile in platform device definition for USB host.
258 config S3C_DEV_USB_HSOTG
261 Compile in platform device definition for USB high-speed OtG
265 default y if ARCH_S3C24XX
267 Complie in platform device definition for Watchdog Timer
272 Compile in platform device definition for NAND controller
274 config S3C_DEV_ONENAND
277 Compile in platform device definition for OneNAND controller
282 Complie in platform device definition for RTC
284 config SAMSUNG_DEV_ADC
287 Compile in platform device definition for ADC controller
289 config SAMSUNG_DEV_IDE
292 Compile in platform device definitions for IDE
294 config S3C64XX_DEV_SPI0
297 Compile in platform device definitions for S3C64XX's type
300 config S3C64XX_DEV_SPI1
303 Compile in platform device definitions for S3C64XX's type
306 config S3C64XX_DEV_SPI2
309 Compile in platform device definitions for S3C64XX's type
312 config SAMSUNG_DEV_TS
315 Common in platform device definitions for touchscreen device
317 config SAMSUNG_DEV_KEYPAD
320 Compile in platform device definitions for keypad
322 config SAMSUNG_DEV_PWM
324 default y if ARCH_S3C24XX
326 Compile in platform device definition for PWM Timer
328 config SAMSUNG_DEV_BACKLIGHT
330 depends on SAMSUNG_DEV_PWM
332 Compile in platform device definition LCD backlight with PWM Timer
337 Compile in platform device definitions for MIPI-CSIS channel 0
342 Compile in platform device definitions for MIPI-CSIS channel 1
347 Compile in platform device definitions for FIMC controller 0
352 Compile in platform device definitions for FIMC controller 1
357 Compile in platform device definitions for FIMC controller 2
362 Compile in platform device definitions for FIMC controller 3
367 Compile in platform device definitions for FIMD controller 0
372 Compile in platform device definitions for G2D device
374 config S5P_DEV_I2C_HDMIPHY
377 Compile in platform device definitions for I2C HDMIPHY controller
382 Compile in platform device definitions for JPEG codec
384 config S5P_DEV_ONENAND
387 Compile in platform device definition for OneNAND controller
392 Compile in platform device definition for TV interface
394 config S5P_DEV_USB_EHCI
397 Compile in platform device definition for USB EHCI
400 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
412 config S3C_SETUP_CAMIF
415 Compile in common setup code for S3C CAMIF devices
422 Internal configuration for S3C DMA core
428 Legacy IRQ power management for S5P platforms
430 config SAMSUNG_PM_GPIO
432 default y if GPIO_SAMSUNG && PM
434 Include legacy GPIO power management code for platforms not using
435 pinctrl-samsung driver.
439 config SAMSUNG_DMADEV
443 select PL330_DMA if (ARCH_EXYNOS5 || ARCH_EXYNOS4 || CPU_S5PV210 || CPU_S5PC100 || \
444 CPU_S5P6450 || CPU_S5P6440)
446 Use DMA device engine for PL330 DMAC.
451 Compile in setup memory (init) code for MFC
453 comment "Power management"
455 config SAMSUNG_PM_DEBUG
456 bool "S3C2410 PM Suspend debug"
460 Say Y here if you want verbose debugging from the PM Suspend and
461 Resume code. See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt>
462 for more information.
464 config S3C_PM_DEBUG_LED_SMDK
465 bool "SMDK LED suspend/resume debugging"
466 depends on PM && (MACH_SMDK6410)
468 Say Y here to enable the use of the SMDK LEDs on the baseboard
469 for debugging of the state of the suspend and resume process.
471 Note, this currently only works for S3C64XX based SMDK boards.
473 config SAMSUNG_PM_CHECK
474 bool "S3C2410 PM Suspend Memory CRC"
475 depends on PM && CRC32
477 Enable the PM code's memory area checksum over sleep. This option
478 will generate CRCs of all blocks of memory, and store them before
479 going to sleep. The blocks are then checked on resume for any
482 Note, this can take several seconds depending on memory size
485 See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt>
487 config SAMSUNG_PM_CHECK_CHUNKSIZE
488 int "S3C2410 PM Suspend CRC Chunksize (KiB)"
489 depends on PM && SAMSUNG_PM_CHECK
492 Set the chunksize in Kilobytes of the CRC for checking memory
493 corruption over suspend and resume. A smaller value will mean that
494 the CRC data block will take more memory, but wil identify any
495 faults with better precision.
497 See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt>
499 config SAMSUNG_WAKEMASK
503 Compile support for wakeup-mask controls found on the S3C6400
504 and above. This code allows a set of interrupt to wakeup-mask
505 mappings. See <plat/wakeup-mask.h>
510 Common code for power management support on S5P and newer SoCs
511 Note: Do not select this for S5P6440 and S5P6450.
516 Internal config node to apply common S5P sleep management code.
517 Can be selected by S5P and newer SoCs with similar sleep procedure.
519 config DEBUG_S3C_UART
520 depends on PLAT_SAMSUNG
522 default "0" if DEBUG_S3C_UART0
523 default "1" if DEBUG_S3C_UART1
524 default "2" if DEBUG_S3C_UART2
525 default "3" if DEBUG_S3C_UART3