0001 # SPDX-License-Identifier: GPL-2.0
0002 #
0003 # Copyright 2009 Simtec Electronics
0004
0005 source "arch/arm/mach-s3c/Kconfig.s3c24xx"
0006 source "arch/arm/mach-s3c/Kconfig.s3c64xx"
0007
0008 config PLAT_SAMSUNG
0009 bool
0010 depends on PLAT_S3C24XX || ARCH_S3C64XX
0011 default y
0012 select GENERIC_IRQ_CHIP
0013 select NO_IOPORT_MAP
0014 select SOC_SAMSUNG
0015 help
0016 Base platform code for all Samsung SoC based systems
0017
0018 config SAMSUNG_PM
0019 bool
0020 depends on PM && (PLAT_S3C24XX || ARCH_S3C64XX)
0021 default y
0022 help
0023 Base platform power management code for samsung code
0024
0025 if PLAT_SAMSUNG
0026 menu "Samsung Common options"
0027
0028 # boot configurations
0029
0030 comment "Boot options"
0031
0032 config S3C_LOWLEVEL_UART_PORT
0033 int "S3C UART to use for low-level messages"
0034 depends on ARCH_S3C64XX
0035 default 0
0036 help
0037 Choice of which UART port to use for the low-level messages,
0038 such as the `Uncompressing...` at start time. The value of
0039 this configuration should be between zero and two. The port
0040 must have been initialised by the boot-loader before use.
0041
0042 config SAMSUNG_ATAGS
0043 def_bool n
0044 depends on ATAGS
0045 help
0046 This option enables ATAGS based boot support code for
0047 Samsung platforms, including static platform devices, legacy
0048 clock, timer and interrupt initialization, etc.
0049
0050 Platforms that support only DT based boot need not to select
0051 this option.
0052
0053 if SAMSUNG_ATAGS
0054
0055 config S3C_GPIO_SPACE
0056 int "Space between gpio banks"
0057 default 0
0058 help
0059 Add a number of spare GPIO entries between each bank for debugging
0060 purposes. This allows any problems where an counter overflows from
0061 one bank to another to be caught, at the expense of using a little
0062 more memory.
0063
0064 config S3C_GPIO_TRACK
0065 bool
0066 help
0067 Internal configuration option to enable the s3c specific gpio
0068 chip tracking if the platform requires it.
0069
0070 # ADC driver
0071
0072 config S3C_ADC
0073 bool "ADC common driver support"
0074 depends on !ARCH_MULTIPLATFORM
0075 help
0076 Core support for the ADC block found in the Samsung SoC systems
0077 for drivers such as the touchscreen and hwmon to use to share
0078 this resource.
0079
0080 # device definitions to compile in
0081
0082 config S3C_DEV_HSMMC
0083 bool
0084 help
0085 Compile in platform device definitions for HSMMC code
0086
0087 config S3C_DEV_HSMMC1
0088 bool
0089 help
0090 Compile in platform device definitions for HSMMC channel 1
0091
0092 config S3C_DEV_HSMMC2
0093 bool
0094 help
0095 Compile in platform device definitions for HSMMC channel 2
0096
0097 config S3C_DEV_HSMMC3
0098 bool
0099 help
0100 Compile in platform device definitions for HSMMC channel 3
0101
0102 config S3C_DEV_HWMON
0103 bool
0104 help
0105 Compile in platform device definitions for HWMON
0106
0107 config S3C_DEV_I2C1
0108 bool
0109 help
0110 Compile in platform device definitions for I2C channel 1
0111
0112 config S3C_DEV_I2C2
0113 bool
0114 help
0115 Compile in platform device definitions for I2C channel 2
0116
0117 config S3C_DEV_I2C3
0118 bool
0119 help
0120 Compile in platform device definition for I2C controller 3
0121
0122 config S3C_DEV_I2C4
0123 bool
0124 help
0125 Compile in platform device definition for I2C controller 4
0126
0127 config S3C_DEV_I2C5
0128 bool
0129 help
0130 Compile in platform device definition for I2C controller 5
0131
0132 config S3C_DEV_I2C6
0133 bool
0134 help
0135 Compile in platform device definition for I2C controller 6
0136
0137 config S3C_DEV_I2C7
0138 bool
0139 help
0140 Compile in platform device definition for I2C controller 7
0141
0142 config S3C_DEV_FB
0143 bool
0144 help
0145 Compile in platform device definition for framebuffer
0146
0147 config S3C_DEV_USB_HOST
0148 bool
0149 help
0150 Compile in platform device definition for USB host.
0151
0152 config S3C_DEV_USB_HSOTG
0153 bool
0154 help
0155 Compile in platform device definition for USB high-speed OtG
0156
0157 config S3C_DEV_WDT
0158 bool
0159 default y if ARCH_S3C24XX
0160 help
0161 Compile in platform device definition for Watchdog Timer
0162
0163 config S3C_DEV_NAND
0164 bool
0165 help
0166 Compile in platform device definition for NAND controller
0167
0168 config S3C_DEV_ONENAND
0169 bool
0170 help
0171 Compile in platform device definition for OneNAND controller
0172
0173 config S3C_DEV_RTC
0174 bool
0175 help
0176 Compile in platform device definition for RTC
0177
0178 config SAMSUNG_DEV_ADC
0179 bool
0180 help
0181 Compile in platform device definition for ADC controller
0182
0183 config SAMSUNG_DEV_IDE
0184 bool
0185 help
0186 Compile in platform device definitions for IDE
0187
0188 config S3C64XX_DEV_SPI0
0189 bool
0190 help
0191 Compile in platform device definitions for S3C64XX's type
0192 SPI controller 0
0193
0194 config SAMSUNG_DEV_TS
0195 bool
0196 help
0197 Common in platform device definitions for touchscreen device
0198
0199 config SAMSUNG_DEV_KEYPAD
0200 bool
0201 help
0202 Compile in platform device definitions for keypad
0203
0204 config SAMSUNG_DEV_PWM
0205 bool
0206 default y if ARCH_S3C24XX
0207 help
0208 Compile in platform device definition for PWM Timer
0209
0210 config GPIO_SAMSUNG
0211 def_bool y
0212
0213 config SAMSUNG_PM_GPIO
0214 bool
0215 default y if GPIO_SAMSUNG && PM
0216 help
0217 Include legacy GPIO power management code for platforms not using
0218 pinctrl-samsung driver.
0219 endif
0220
0221 config SAMSUNG_WAKEMASK
0222 bool
0223 depends on PM
0224 help
0225 Compile support for wakeup-mask controls found on the S3C6400
0226 and above. This code allows a set of interrupt to wakeup-mask
0227 mappings. See <plat/wakeup-mask.h>
0228
0229 endmenu
0230 endif