1# arch/arm/plat-samsung/Kconfig 2# 3# Copyright 2009 Simtec Electronics 4# 5# Licensed under GPLv2 6 7config PLAT_SAMSUNG 8 bool 9 depends on PLAT_S3C24XX || ARCH_S3C64XX || PLAT_S5P 10 default y 11 select GENERIC_IRQ_CHIP 12 select NO_IOPORT 13 help 14 Base platform code for all Samsung SoC based systems 15 16config PLAT_S5P 17 bool 18 depends on (ARCH_S5P64X0 || ARCH_S5PC100 || ARCH_S5PV210 || ARCH_EXYNOS) 19 default y 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 24 select NO_IOPORT 25 select PLAT_SAMSUNG 26 select S3C_GPIO_TRACK 27 select S5P_GPIO_DRVSTR 28 select SAMSUNG_CLKSRC if !COMMON_CLK 29 select SAMSUNG_GPIOLIB_4BIT 30 select SAMSUNG_IRQ_VIC_TIMER 31 help 32 Base platform code for Samsung's S5P series SoC. 33 34if PLAT_SAMSUNG 35 36# boot configurations 37 38comment "Boot options" 39 40config S3C_BOOT_ERROR_RESET 41 bool "S3C Reboot on decompression error" 42 help 43 Say y here to use the watchdog to reset the system if the 44 kernel decompressor detects an error during decompression. 45 46config S3C_BOOT_UART_FORCE_FIFO 47 bool "Force UART FIFO on during boot process" 48 default y 49 help 50 Say Y here to force the UART FIFOs on during the kernel 51 uncompressor 52 53 54config S3C_LOWLEVEL_UART_PORT 55 int "S3C UART to use for low-level messages" 56 default 0 57 help 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. 62 63# timer options 64 65config SAMSUNG_HRT 66 bool 67 select SAMSUNG_DEV_PWM 68 help 69 Use the High Resolution timer support 70 71# clock options 72 73config SAMSUNG_CLOCK 74 bool 75 default y if !COMMON_CLK 76 77config SAMSUNG_CLKSRC 78 bool 79 help 80 Select the clock code for the clksrc implementation 81 used by newer systems such as the S3C64XX. 82 83config S5P_CLOCK 84 def_bool (ARCH_S5P64X0 || ARCH_S5PC100 || ARCH_S5PV210) 85 help 86 Support common clock part for ARCH_S5P and ARCH_EXYNOS SoCs 87 88# options for IRQ support 89 90config SAMSUNG_IRQ_VIC_TIMER 91 bool 92 help 93 Internal configuration to build the VIC timer interrupt code. 94 95config S5P_IRQ 96 def_bool (ARCH_S5P64X0 || ARCH_S5PC100 || ARCH_S5PV210) 97 help 98 Support common interrupt part for ARCH_S5P SoCs 99 100config S5P_EXT_INT 101 bool 102 help 103 Use the external interrupts (other than GPIO interrupts.) 104 Note: Do not choose this for S5P6440 and S5P6450. 105 106config S5P_GPIO_INT 107 bool 108 help 109 Common code for the GPIO interrupts (other than external interrupts.) 110 111# options for gpio configuration support 112 113config SAMSUNG_GPIOLIB_4BIT 114 bool 115 help 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. 119 120config S5P_GPIO_DRVSTR 121 bool 122 help 123 Internal configuration to get and set correct GPIO driver strength 124 helper 125 126config SAMSUNG_GPIO_EXTRA 127 int "Number of additional GPIO pins" 128 default 128 if SAMSUNG_GPIO_EXTRA128 129 default 64 if SAMSUNG_GPIO_EXTRA64 130 default 0 131 help 132 Use additional GPIO space in addition to the GPIO's the SOC 133 provides. This allows expanding the GPIO space for use with 134 GPIO expanders. 135 136config SAMSUNG_GPIO_EXTRA64 137 bool 138 139config SAMSUNG_GPIO_EXTRA128 140 bool 141 142config S3C_GPIO_SPACE 143 int "Space between gpio banks" 144 default 0 145 help 146 Add a number of spare GPIO entries between each bank for debugging 147 purposes. This allows any problems where an counter overflows from 148 one bank to another to be caught, at the expense of using a little 149 more memory. 150 151config S3C_GPIO_TRACK 152 bool 153 help 154 Internal configuration option to enable the s3c specific gpio 155 chip tracking if the platform requires it. 156 157# uart options 158 159config S5P_DEV_UART 160 def_bool y 161 depends on (ARCH_S5P64X0 || ARCH_S5PC100 || ARCH_S5PV210) 162 163# ADC driver 164 165config S3C_ADC 166 bool "ADC common driver support" 167 help 168 Core support for the ADC block found in the Samsung SoC systems 169 for drivers such as the touchscreen and hwmon to use to share 170 this resource. 171 172# device definitions to compile in 173 174config S3C_DEV_HSMMC 175 bool 176 help 177 Compile in platform device definitions for HSMMC code 178 179config S3C_DEV_HSMMC1 180 bool 181 help 182 Compile in platform device definitions for HSMMC channel 1 183 184config S3C_DEV_HSMMC2 185 bool 186 help 187 Compile in platform device definitions for HSMMC channel 2 188 189config S3C_DEV_HSMMC3 190 bool 191 help 192 Compile in platform device definitions for HSMMC channel 3 193 194config S3C_DEV_HWMON 195 bool 196 help 197 Compile in platform device definitions for HWMON 198 199config S3C_DEV_I2C1 200 bool 201 help 202 Compile in platform device definitions for I2C channel 1 203 204config S3C_DEV_I2C2 205 bool 206 help 207 Compile in platform device definitions for I2C channel 2 208 209config S3C_DEV_I2C3 210 bool 211 help 212 Compile in platform device definition for I2C controller 3 213 214config S3C_DEV_I2C4 215 bool 216 help 217 Compile in platform device definition for I2C controller 4 218 219config S3C_DEV_I2C5 220 bool 221 help 222 Compile in platform device definition for I2C controller 5 223 224config S3C_DEV_I2C6 225 bool 226 help 227 Compile in platform device definition for I2C controller 6 228 229config S3C_DEV_I2C7 230 bool 231 help 232 Compile in platform device definition for I2C controller 7 233 234config S3C_DEV_FB 235 bool 236 help 237 Compile in platform device definition for framebuffer 238 239config S3C_DEV_USB_HOST 240 bool 241 help 242 Compile in platform device definition for USB host. 243 244config S3C_DEV_USB_HSOTG 245 bool 246 help 247 Compile in platform device definition for USB high-speed OtG 248 249config S3C_DEV_WDT 250 bool 251 default y if ARCH_S3C24XX 252 help 253 Complie in platform device definition for Watchdog Timer 254 255config S3C_DEV_NAND 256 bool 257 help 258 Compile in platform device definition for NAND controller 259 260config S3C_DEV_ONENAND 261 bool 262 help 263 Compile in platform device definition for OneNAND controller 264 265config S3C_DEV_RTC 266 bool 267 help 268 Complie in platform device definition for RTC 269 270config SAMSUNG_DEV_ADC 271 bool 272 help 273 Compile in platform device definition for ADC controller 274 275config SAMSUNG_DEV_IDE 276 bool 277 help 278 Compile in platform device definitions for IDE 279 280config S3C64XX_DEV_SPI0 281 bool 282 help 283 Compile in platform device definitions for S3C64XX's type 284 SPI controller 0 285 286config S3C64XX_DEV_SPI1 287 bool 288 help 289 Compile in platform device definitions for S3C64XX's type 290 SPI controller 1 291 292config S3C64XX_DEV_SPI2 293 bool 294 help 295 Compile in platform device definitions for S3C64XX's type 296 SPI controller 2 297 298config SAMSUNG_DEV_TS 299 bool 300 help 301 Common in platform device definitions for touchscreen device 302 303config SAMSUNG_DEV_KEYPAD 304 bool 305 help 306 Compile in platform device definitions for keypad 307 308config SAMSUNG_DEV_PWM 309 bool 310 default y if ARCH_S3C24XX 311 help 312 Compile in platform device definition for PWM Timer 313 314config SAMSUNG_DEV_BACKLIGHT 315 bool 316 depends on SAMSUNG_DEV_PWM 317 help 318 Compile in platform device definition LCD backlight with PWM Timer 319 320config S5P_DEV_CSIS0 321 bool 322 help 323 Compile in platform device definitions for MIPI-CSIS channel 0 324 325config S5P_DEV_CSIS1 326 bool 327 help 328 Compile in platform device definitions for MIPI-CSIS channel 1 329 330config S5P_DEV_FIMC0 331 bool 332 help 333 Compile in platform device definitions for FIMC controller 0 334 335config S5P_DEV_FIMC1 336 bool 337 help 338 Compile in platform device definitions for FIMC controller 1 339 340config S5P_DEV_FIMC2 341 bool 342 help 343 Compile in platform device definitions for FIMC controller 2 344 345config S5P_DEV_FIMC3 346 bool 347 help 348 Compile in platform device definitions for FIMC controller 3 349 350config S5P_DEV_FIMD0 351 bool 352 help 353 Compile in platform device definitions for FIMD controller 0 354 355config S5P_DEV_G2D 356 bool 357 help 358 Compile in platform device definitions for G2D device 359 360config S5P_DEV_I2C_HDMIPHY 361 bool 362 help 363 Compile in platform device definitions for I2C HDMIPHY controller 364 365config S5P_DEV_JPEG 366 bool 367 help 368 Compile in platform device definitions for JPEG codec 369 370config S5P_DEV_MFC 371 bool 372 help 373 Compile in setup memory (init) code for MFC 374 375config S5P_DEV_ONENAND 376 bool 377 help 378 Compile in platform device definition for OneNAND controller 379 380config S5P_DEV_TV 381 bool 382 help 383 Compile in platform device definition for TV interface 384 385config S5P_DEV_USB_EHCI 386 bool 387 help 388 Compile in platform device definition for USB EHCI 389 390config S3C24XX_PWM 391 bool "PWM device support" 392 select PWM 393 select PWM_SAMSUNG 394 help 395 Support for exporting the PWM timer blocks via the pwm device 396 system 397 398config S5P_SETUP_MIPIPHY 399 bool 400 help 401 Compile in common setup code for MIPI-CSIS and MIPI-DSIM devices 402 403config S3C_SETUP_CAMIF 404 bool 405 help 406 Compile in common setup code for S3C CAMIF devices 407 408# DMA 409 410config S3C_DMA 411 bool 412 help 413 Internal configuration for S3C DMA core 414 415config SAMSUNG_DMADEV 416 bool 417 select ARM_AMBA 418 select DMADEVICES 419 select PL330_DMA if (ARCH_EXYNOS5 || ARCH_EXYNOS4 || CPU_S5PV210 || CPU_S5PC100 || \ 420 CPU_S5P6450 || CPU_S5P6440) 421 help 422 Use DMA device engine for PL330 DMAC. 423 424comment "Power management" 425 426config SAMSUNG_PM_DEBUG 427 bool "S3C2410 PM Suspend debug" 428 depends on PM 429 select DEBUG_LL 430 help 431 Say Y here if you want verbose debugging from the PM Suspend and 432 Resume code. See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt> 433 for more information. 434 435config S3C_PM_DEBUG_LED_SMDK 436 bool "SMDK LED suspend/resume debugging" 437 depends on PM && (MACH_SMDK6410) 438 help 439 Say Y here to enable the use of the SMDK LEDs on the baseboard 440 for debugging of the state of the suspend and resume process. 441 442 Note, this currently only works for S3C64XX based SMDK boards. 443 444config SAMSUNG_PM_CHECK 445 bool "S3C2410 PM Suspend Memory CRC" 446 depends on PM && CRC32 447 help 448 Enable the PM code's memory area checksum over sleep. This option 449 will generate CRCs of all blocks of memory, and store them before 450 going to sleep. The blocks are then checked on resume for any 451 errors. 452 453 Note, this can take several seconds depending on memory size 454 and CPU speed. 455 456 See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt> 457 458config SAMSUNG_PM_CHECK_CHUNKSIZE 459 int "S3C2410 PM Suspend CRC Chunksize (KiB)" 460 depends on PM && SAMSUNG_PM_CHECK 461 default 64 462 help 463 Set the chunksize in Kilobytes of the CRC for checking memory 464 corruption over suspend and resume. A smaller value will mean that 465 the CRC data block will take more memory, but wil identify any 466 faults with better precision. 467 468 See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt> 469 470config SAMSUNG_WAKEMASK 471 bool 472 depends on PM 473 help 474 Compile support for wakeup-mask controls found on the S3C6400 475 and above. This code allows a set of interrupt to wakeup-mask 476 mappings. See <plat/wakeup-mask.h> 477 478config S5P_PM 479 bool 480 help 481 Common code for power management support on S5P and newer SoCs 482 Note: Do not select this for S5P6440 and S5P6450. 483 484config S5P_SLEEP 485 bool 486 help 487 Internal config node to apply common S5P sleep management code. 488 Can be selected by S5P and newer SoCs with similar sleep procedure. 489 490config DEBUG_S3C_UART 491 depends on PLAT_SAMSUNG 492 int 493 default "0" if DEBUG_S3C_UART0 494 default "1" if DEBUG_S3C_UART1 495 default "2" if DEBUG_S3C_UART2 496 default "3" if DEBUG_S3C_UART3 497 498endif 499