linux/arch/arm/plat-samsung/Kconfig
<<
>>
Prefs
   1# SPDX-License-Identifier: GPL-2.0
   2#
   3# Copyright 2009 Simtec Electronics
   4
   5config PLAT_SAMSUNG
   6        bool
   7        depends on PLAT_S3C24XX || ARCH_S3C64XX || ARCH_EXYNOS || ARCH_S5PV210
   8        default y
   9        select GENERIC_IRQ_CHIP
  10        select NO_IOPORT_MAP
  11        help
  12          Base platform code for all Samsung SoC based systems
  13
  14config SAMSUNG_PM
  15        bool
  16        depends on PM && (PLAT_S3C24XX || ARCH_S3C64XX)
  17        default y
  18        help
  19          Base platform power management code for samsung code
  20
  21if PLAT_SAMSUNG
  22menu "Samsung Common options"
  23
  24# boot configurations
  25
  26comment "Boot options"
  27
  28config S3C_LOWLEVEL_UART_PORT
  29        int "S3C UART to use for low-level messages"
  30        depends on ARCH_S3C64XX
  31        default 0
  32        help
  33          Choice of which UART port to use for the low-level messages,
  34          such as the `Uncompressing...` at start time. The value of
  35          this configuration should be between zero and two. The port
  36          must have been initialised by the boot-loader before use.
  37
  38config SAMSUNG_ATAGS
  39        def_bool n
  40        depends on ATAGS
  41        help
  42           This option enables ATAGS based boot support code for
  43           Samsung platforms, including static platform devices, legacy
  44           clock, timer and interrupt initialization, etc.
  45
  46           Platforms that support only DT based boot need not to select
  47           this option.
  48
  49if SAMSUNG_ATAGS
  50
  51config S3C_GPIO_SPACE
  52        int "Space between gpio banks"
  53        default 0
  54        help
  55          Add a number of spare GPIO entries between each bank for debugging
  56          purposes. This allows any problems where an counter overflows from
  57          one bank to another to be caught, at the expense of using a little
  58          more memory.
  59
  60config S3C_GPIO_TRACK
  61        bool
  62        help
  63          Internal configuration option to enable the s3c specific gpio
  64          chip tracking if the platform requires it.
  65
  66# ADC driver
  67
  68config S3C_ADC
  69        bool "ADC common driver support"
  70        depends on !ARCH_MULTIPLATFORM
  71        help
  72          Core support for the ADC block found in the Samsung SoC systems
  73          for drivers such as the touchscreen and hwmon to use to share
  74          this resource.
  75
  76# device definitions to compile in
  77
  78config S3C_DEV_HSMMC
  79        bool
  80        help
  81          Compile in platform device definitions for HSMMC code
  82
  83config S3C_DEV_HSMMC1
  84        bool
  85        help
  86          Compile in platform device definitions for HSMMC channel 1
  87
  88config S3C_DEV_HSMMC2
  89        bool
  90        help
  91          Compile in platform device definitions for HSMMC channel 2
  92
  93config S3C_DEV_HSMMC3
  94        bool
  95        help
  96          Compile in platform device definitions for HSMMC channel 3
  97
  98config S3C_DEV_HWMON
  99        bool
 100        help
 101            Compile in platform device definitions for HWMON
 102
 103config S3C_DEV_I2C1
 104        bool
 105        help
 106          Compile in platform device definitions for I2C channel 1
 107
 108config S3C_DEV_I2C2
 109        bool
 110        help
 111          Compile in platform device definitions for I2C channel 2
 112
 113config S3C_DEV_I2C3
 114        bool
 115        help
 116          Compile in platform device definition for I2C controller 3
 117
 118config S3C_DEV_I2C4
 119        bool
 120        help
 121          Compile in platform device definition for I2C controller 4
 122
 123config S3C_DEV_I2C5
 124        bool
 125        help
 126          Compile in platform device definition for I2C controller 5
 127
 128config S3C_DEV_I2C6
 129        bool
 130        help
 131          Compile in platform device definition for I2C controller 6
 132
 133config S3C_DEV_I2C7
 134        bool
 135        help
 136          Compile in platform device definition for I2C controller 7
 137
 138config S3C_DEV_FB
 139        bool
 140        help
 141          Compile in platform device definition for framebuffer
 142
 143config S3C_DEV_USB_HOST
 144        bool
 145        help
 146          Compile in platform device definition for USB host.
 147
 148config S3C_DEV_USB_HSOTG
 149        bool
 150        help
 151          Compile in platform device definition for USB high-speed OtG
 152
 153config S3C_DEV_WDT
 154        bool
 155        default y if ARCH_S3C24XX
 156        help
 157          Complie in platform device definition for Watchdog Timer
 158
 159config S3C_DEV_NAND
 160        bool
 161        help
 162          Compile in platform device definition for NAND controller
 163
 164config S3C_DEV_ONENAND
 165        bool
 166        help
 167          Compile in platform device definition for OneNAND controller
 168
 169config S3C_DEV_RTC
 170        bool
 171        help
 172          Complie in platform device definition for RTC
 173
 174config SAMSUNG_DEV_ADC
 175        bool
 176        help
 177          Compile in platform device definition for ADC controller
 178
 179config SAMSUNG_DEV_IDE
 180        bool
 181        help
 182          Compile in platform device definitions for IDE
 183
 184config S3C64XX_DEV_SPI0
 185        bool
 186        help
 187          Compile in platform device definitions for S3C64XX's type
 188          SPI controller 0
 189
 190config S3C64XX_DEV_SPI1
 191        bool
 192        help
 193          Compile in platform device definitions for S3C64XX's type
 194          SPI controller 1
 195
 196config S3C64XX_DEV_SPI2
 197        bool
 198        help
 199          Compile in platform device definitions for S3C64XX's type
 200          SPI controller 2
 201
 202config SAMSUNG_DEV_TS
 203        bool
 204        help
 205            Common in platform device definitions for touchscreen device
 206
 207config SAMSUNG_DEV_KEYPAD
 208        bool
 209        help
 210          Compile in platform device definitions for keypad
 211
 212config SAMSUNG_DEV_PWM
 213        bool
 214        default y if ARCH_S3C24XX
 215        help
 216          Compile in platform device definition for PWM Timer
 217
 218config S3C24XX_PWM
 219        bool "PWM device support"
 220        select PWM
 221        select PWM_SAMSUNG
 222        help
 223          Support for exporting the PWM timer blocks via the pwm device
 224          system
 225
 226config GPIO_SAMSUNG
 227        def_bool y
 228
 229config SAMSUNG_PM_GPIO
 230        bool
 231        default y if GPIO_SAMSUNG && PM
 232        help
 233          Include legacy GPIO power management code for platforms not using
 234          pinctrl-samsung driver.
 235endif
 236
 237comment "Power management"
 238
 239config SAMSUNG_PM_DEBUG
 240        bool "Samsung PM Suspend debug"
 241        depends on PM && DEBUG_KERNEL
 242        depends on PLAT_S3C24XX || ARCH_S3C64XX || ARCH_S5PV210
 243        depends on DEBUG_EXYNOS_UART || DEBUG_S3C24XX_UART || DEBUG_S3C2410_UART
 244        help
 245          Say Y here if you want verbose debugging from the PM Suspend and
 246          Resume code. See <file:Documentation/arm/samsung-s3c24xx/suspend.rst>
 247          for more information.
 248
 249config S3C_PM_DEBUG_LED_SMDK
 250       bool "SMDK LED suspend/resume debugging"
 251       depends on PM && (MACH_SMDK6410)
 252       help
 253         Say Y here to enable the use of the SMDK LEDs on the baseboard
 254         for debugging of the state of the suspend and resume process.
 255
 256         Note, this currently only works for S3C64XX based SMDK boards.
 257
 258config SAMSUNG_PM_CHECK
 259        bool "S3C2410 PM Suspend Memory CRC"
 260        depends on PM && (PLAT_S3C24XX || ARCH_S3C64XX || ARCH_S5PV210)
 261        select CRC32
 262        help
 263          Enable the PM code's memory area checksum over sleep. This option
 264          will generate CRCs of all blocks of memory, and store them before
 265          going to sleep. The blocks are then checked on resume for any
 266          errors.
 267
 268          Note, this can take several seconds depending on memory size
 269          and CPU speed.
 270
 271          See <file:Documentation/arm/samsung-s3c24xx/suspend.rst>
 272
 273config SAMSUNG_PM_CHECK_CHUNKSIZE
 274        int "S3C2410 PM Suspend CRC Chunksize (KiB)"
 275        depends on PM && SAMSUNG_PM_CHECK
 276        default 64
 277        help
 278          Set the chunksize in Kilobytes of the CRC for checking memory
 279          corruption over suspend and resume. A smaller value will mean that
 280          the CRC data block will take more memory, but will identify any
 281          faults with better precision.
 282
 283          See <file:Documentation/arm/samsung-s3c24xx/suspend.rst>
 284
 285config SAMSUNG_WAKEMASK
 286        bool
 287        depends on PM
 288        help
 289          Compile support for wakeup-mask controls found on the S3C6400
 290          and above. This code allows a set of interrupt to wakeup-mask
 291          mappings. See <plat/wakeup-mask.h>
 292
 293config SAMSUNG_WDT_RESET
 294        bool
 295        help
 296          Compile support for system restart by triggering watchdog reset.
 297          Used on SoCs that do not provide dedicated reset control.
 298
 299config DEBUG_S3C_UART
 300        depends on PLAT_SAMSUNG
 301        int
 302        default "0" if DEBUG_S3C_UART0
 303        default "1" if DEBUG_S3C_UART1
 304        default "2" if DEBUG_S3C_UART2
 305        default "3" if DEBUG_S3C_UART3
 306
 307endmenu
 308endif
 309