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

