18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0
28c2ecf20Sopenharmony_ci#
38c2ecf20Sopenharmony_ci# Copyright 2009 Simtec Electronics
48c2ecf20Sopenharmony_ci
58c2ecf20Sopenharmony_cisource "arch/arm/mach-s3c/Kconfig.s3c24xx"
68c2ecf20Sopenharmony_cisource "arch/arm/mach-s3c/Kconfig.s3c64xx"
78c2ecf20Sopenharmony_ci
88c2ecf20Sopenharmony_ciconfig PLAT_SAMSUNG
98c2ecf20Sopenharmony_ci	bool
108c2ecf20Sopenharmony_ci	depends on PLAT_S3C24XX || ARCH_S3C64XX
118c2ecf20Sopenharmony_ci	default y
128c2ecf20Sopenharmony_ci	select GENERIC_IRQ_CHIP
138c2ecf20Sopenharmony_ci	select NO_IOPORT_MAP
148c2ecf20Sopenharmony_ci	select SOC_SAMSUNG
158c2ecf20Sopenharmony_ci	help
168c2ecf20Sopenharmony_ci	  Base platform code for all Samsung SoC based systems
178c2ecf20Sopenharmony_ci
188c2ecf20Sopenharmony_ciconfig SAMSUNG_PM
198c2ecf20Sopenharmony_ci	bool
208c2ecf20Sopenharmony_ci	depends on PM && (PLAT_S3C24XX || ARCH_S3C64XX)
218c2ecf20Sopenharmony_ci	default y
228c2ecf20Sopenharmony_ci	help
238c2ecf20Sopenharmony_ci	  Base platform power management code for samsung code
248c2ecf20Sopenharmony_ci
258c2ecf20Sopenharmony_ciif PLAT_SAMSUNG
268c2ecf20Sopenharmony_cimenu "Samsung Common options"
278c2ecf20Sopenharmony_ci
288c2ecf20Sopenharmony_ci# boot configurations
298c2ecf20Sopenharmony_ci
308c2ecf20Sopenharmony_cicomment "Boot options"
318c2ecf20Sopenharmony_ci
328c2ecf20Sopenharmony_ciconfig S3C_LOWLEVEL_UART_PORT
338c2ecf20Sopenharmony_ci	int "S3C UART to use for low-level messages"
348c2ecf20Sopenharmony_ci	depends on ARCH_S3C64XX
358c2ecf20Sopenharmony_ci	default 0
368c2ecf20Sopenharmony_ci	help
378c2ecf20Sopenharmony_ci	  Choice of which UART port to use for the low-level messages,
388c2ecf20Sopenharmony_ci	  such as the `Uncompressing...` at start time. The value of
398c2ecf20Sopenharmony_ci	  this configuration should be between zero and two. The port
408c2ecf20Sopenharmony_ci	  must have been initialised by the boot-loader before use.
418c2ecf20Sopenharmony_ci
428c2ecf20Sopenharmony_ciconfig SAMSUNG_ATAGS
438c2ecf20Sopenharmony_ci	def_bool n
448c2ecf20Sopenharmony_ci	depends on ATAGS
458c2ecf20Sopenharmony_ci	help
468c2ecf20Sopenharmony_ci	   This option enables ATAGS based boot support code for
478c2ecf20Sopenharmony_ci	   Samsung platforms, including static platform devices, legacy
488c2ecf20Sopenharmony_ci	   clock, timer and interrupt initialization, etc.
498c2ecf20Sopenharmony_ci
508c2ecf20Sopenharmony_ci	   Platforms that support only DT based boot need not to select
518c2ecf20Sopenharmony_ci	   this option.
528c2ecf20Sopenharmony_ci
538c2ecf20Sopenharmony_ciif SAMSUNG_ATAGS
548c2ecf20Sopenharmony_ci
558c2ecf20Sopenharmony_ciconfig S3C_GPIO_SPACE
568c2ecf20Sopenharmony_ci	int "Space between gpio banks"
578c2ecf20Sopenharmony_ci	default 0
588c2ecf20Sopenharmony_ci	help
598c2ecf20Sopenharmony_ci	  Add a number of spare GPIO entries between each bank for debugging
608c2ecf20Sopenharmony_ci	  purposes. This allows any problems where an counter overflows from
618c2ecf20Sopenharmony_ci	  one bank to another to be caught, at the expense of using a little
628c2ecf20Sopenharmony_ci	  more memory.
638c2ecf20Sopenharmony_ci
648c2ecf20Sopenharmony_ciconfig S3C_GPIO_TRACK
658c2ecf20Sopenharmony_ci	bool
668c2ecf20Sopenharmony_ci	help
678c2ecf20Sopenharmony_ci	  Internal configuration option to enable the s3c specific gpio
688c2ecf20Sopenharmony_ci	  chip tracking if the platform requires it.
698c2ecf20Sopenharmony_ci
708c2ecf20Sopenharmony_ci# ADC driver
718c2ecf20Sopenharmony_ci
728c2ecf20Sopenharmony_ciconfig S3C_ADC
738c2ecf20Sopenharmony_ci	bool "ADC common driver support"
748c2ecf20Sopenharmony_ci	depends on !ARCH_MULTIPLATFORM
758c2ecf20Sopenharmony_ci	help
768c2ecf20Sopenharmony_ci	  Core support for the ADC block found in the Samsung SoC systems
778c2ecf20Sopenharmony_ci	  for drivers such as the touchscreen and hwmon to use to share
788c2ecf20Sopenharmony_ci	  this resource.
798c2ecf20Sopenharmony_ci
808c2ecf20Sopenharmony_ci# device definitions to compile in
818c2ecf20Sopenharmony_ci
828c2ecf20Sopenharmony_ciconfig S3C_DEV_HSMMC
838c2ecf20Sopenharmony_ci	bool
848c2ecf20Sopenharmony_ci	help
858c2ecf20Sopenharmony_ci	  Compile in platform device definitions for HSMMC code
868c2ecf20Sopenharmony_ci
878c2ecf20Sopenharmony_ciconfig S3C_DEV_HSMMC1
888c2ecf20Sopenharmony_ci	bool
898c2ecf20Sopenharmony_ci	help
908c2ecf20Sopenharmony_ci	  Compile in platform device definitions for HSMMC channel 1
918c2ecf20Sopenharmony_ci
928c2ecf20Sopenharmony_ciconfig S3C_DEV_HSMMC2
938c2ecf20Sopenharmony_ci	bool
948c2ecf20Sopenharmony_ci	help
958c2ecf20Sopenharmony_ci	  Compile in platform device definitions for HSMMC channel 2
968c2ecf20Sopenharmony_ci
978c2ecf20Sopenharmony_ciconfig S3C_DEV_HSMMC3
988c2ecf20Sopenharmony_ci	bool
998c2ecf20Sopenharmony_ci	help
1008c2ecf20Sopenharmony_ci	  Compile in platform device definitions for HSMMC channel 3
1018c2ecf20Sopenharmony_ci
1028c2ecf20Sopenharmony_ciconfig S3C_DEV_HWMON
1038c2ecf20Sopenharmony_ci	bool
1048c2ecf20Sopenharmony_ci	help
1058c2ecf20Sopenharmony_ci	    Compile in platform device definitions for HWMON
1068c2ecf20Sopenharmony_ci
1078c2ecf20Sopenharmony_ciconfig S3C_DEV_I2C1
1088c2ecf20Sopenharmony_ci	bool
1098c2ecf20Sopenharmony_ci	help
1108c2ecf20Sopenharmony_ci	  Compile in platform device definitions for I2C channel 1
1118c2ecf20Sopenharmony_ci
1128c2ecf20Sopenharmony_ciconfig S3C_DEV_I2C2
1138c2ecf20Sopenharmony_ci	bool
1148c2ecf20Sopenharmony_ci	help
1158c2ecf20Sopenharmony_ci	  Compile in platform device definitions for I2C channel 2
1168c2ecf20Sopenharmony_ci
1178c2ecf20Sopenharmony_ciconfig S3C_DEV_I2C3
1188c2ecf20Sopenharmony_ci	bool
1198c2ecf20Sopenharmony_ci	help
1208c2ecf20Sopenharmony_ci	  Compile in platform device definition for I2C controller 3
1218c2ecf20Sopenharmony_ci
1228c2ecf20Sopenharmony_ciconfig S3C_DEV_I2C4
1238c2ecf20Sopenharmony_ci	bool
1248c2ecf20Sopenharmony_ci	help
1258c2ecf20Sopenharmony_ci	  Compile in platform device definition for I2C controller 4
1268c2ecf20Sopenharmony_ci
1278c2ecf20Sopenharmony_ciconfig S3C_DEV_I2C5
1288c2ecf20Sopenharmony_ci	bool
1298c2ecf20Sopenharmony_ci	help
1308c2ecf20Sopenharmony_ci	  Compile in platform device definition for I2C controller 5
1318c2ecf20Sopenharmony_ci
1328c2ecf20Sopenharmony_ciconfig S3C_DEV_I2C6
1338c2ecf20Sopenharmony_ci	bool
1348c2ecf20Sopenharmony_ci	help
1358c2ecf20Sopenharmony_ci	  Compile in platform device definition for I2C controller 6
1368c2ecf20Sopenharmony_ci
1378c2ecf20Sopenharmony_ciconfig S3C_DEV_I2C7
1388c2ecf20Sopenharmony_ci	bool
1398c2ecf20Sopenharmony_ci	help
1408c2ecf20Sopenharmony_ci	  Compile in platform device definition for I2C controller 7
1418c2ecf20Sopenharmony_ci
1428c2ecf20Sopenharmony_ciconfig S3C_DEV_FB
1438c2ecf20Sopenharmony_ci	bool
1448c2ecf20Sopenharmony_ci	help
1458c2ecf20Sopenharmony_ci	  Compile in platform device definition for framebuffer
1468c2ecf20Sopenharmony_ci
1478c2ecf20Sopenharmony_ciconfig S3C_DEV_USB_HOST
1488c2ecf20Sopenharmony_ci	bool
1498c2ecf20Sopenharmony_ci	help
1508c2ecf20Sopenharmony_ci	  Compile in platform device definition for USB host.
1518c2ecf20Sopenharmony_ci
1528c2ecf20Sopenharmony_ciconfig S3C_DEV_USB_HSOTG
1538c2ecf20Sopenharmony_ci	bool
1548c2ecf20Sopenharmony_ci	help
1558c2ecf20Sopenharmony_ci	  Compile in platform device definition for USB high-speed OtG
1568c2ecf20Sopenharmony_ci
1578c2ecf20Sopenharmony_ciconfig S3C_DEV_WDT
1588c2ecf20Sopenharmony_ci	bool
1598c2ecf20Sopenharmony_ci	default y if ARCH_S3C24XX
1608c2ecf20Sopenharmony_ci	help
1618c2ecf20Sopenharmony_ci	  Compile in platform device definition for Watchdog Timer
1628c2ecf20Sopenharmony_ci
1638c2ecf20Sopenharmony_ciconfig S3C_DEV_NAND
1648c2ecf20Sopenharmony_ci	bool
1658c2ecf20Sopenharmony_ci	help
1668c2ecf20Sopenharmony_ci	  Compile in platform device definition for NAND controller
1678c2ecf20Sopenharmony_ci
1688c2ecf20Sopenharmony_ciconfig S3C_DEV_ONENAND
1698c2ecf20Sopenharmony_ci	bool
1708c2ecf20Sopenharmony_ci	help
1718c2ecf20Sopenharmony_ci	  Compile in platform device definition for OneNAND controller
1728c2ecf20Sopenharmony_ci
1738c2ecf20Sopenharmony_ciconfig S3C_DEV_RTC
1748c2ecf20Sopenharmony_ci	bool
1758c2ecf20Sopenharmony_ci	help
1768c2ecf20Sopenharmony_ci	  Compile in platform device definition for RTC
1778c2ecf20Sopenharmony_ci
1788c2ecf20Sopenharmony_ciconfig SAMSUNG_DEV_ADC
1798c2ecf20Sopenharmony_ci	bool
1808c2ecf20Sopenharmony_ci	help
1818c2ecf20Sopenharmony_ci	  Compile in platform device definition for ADC controller
1828c2ecf20Sopenharmony_ci
1838c2ecf20Sopenharmony_ciconfig SAMSUNG_DEV_IDE
1848c2ecf20Sopenharmony_ci	bool
1858c2ecf20Sopenharmony_ci	help
1868c2ecf20Sopenharmony_ci	  Compile in platform device definitions for IDE
1878c2ecf20Sopenharmony_ci
1888c2ecf20Sopenharmony_ciconfig S3C64XX_DEV_SPI0
1898c2ecf20Sopenharmony_ci	bool
1908c2ecf20Sopenharmony_ci	help
1918c2ecf20Sopenharmony_ci	  Compile in platform device definitions for S3C64XX's type
1928c2ecf20Sopenharmony_ci	  SPI controller 0
1938c2ecf20Sopenharmony_ci
1948c2ecf20Sopenharmony_ciconfig S3C64XX_DEV_SPI1
1958c2ecf20Sopenharmony_ci	bool
1968c2ecf20Sopenharmony_ci	help
1978c2ecf20Sopenharmony_ci	  Compile in platform device definitions for S3C64XX's type
1988c2ecf20Sopenharmony_ci	  SPI controller 1
1998c2ecf20Sopenharmony_ci
2008c2ecf20Sopenharmony_ciconfig S3C64XX_DEV_SPI2
2018c2ecf20Sopenharmony_ci	bool
2028c2ecf20Sopenharmony_ci	help
2038c2ecf20Sopenharmony_ci	  Compile in platform device definitions for S3C64XX's type
2048c2ecf20Sopenharmony_ci	  SPI controller 2
2058c2ecf20Sopenharmony_ci
2068c2ecf20Sopenharmony_ciconfig SAMSUNG_DEV_TS
2078c2ecf20Sopenharmony_ci	bool
2088c2ecf20Sopenharmony_ci	help
2098c2ecf20Sopenharmony_ci	    Common in platform device definitions for touchscreen device
2108c2ecf20Sopenharmony_ci
2118c2ecf20Sopenharmony_ciconfig SAMSUNG_DEV_KEYPAD
2128c2ecf20Sopenharmony_ci	bool
2138c2ecf20Sopenharmony_ci	help
2148c2ecf20Sopenharmony_ci	  Compile in platform device definitions for keypad
2158c2ecf20Sopenharmony_ci
2168c2ecf20Sopenharmony_ciconfig SAMSUNG_DEV_PWM
2178c2ecf20Sopenharmony_ci	bool
2188c2ecf20Sopenharmony_ci	default y if ARCH_S3C24XX
2198c2ecf20Sopenharmony_ci	help
2208c2ecf20Sopenharmony_ci	  Compile in platform device definition for PWM Timer
2218c2ecf20Sopenharmony_ci
2228c2ecf20Sopenharmony_ciconfig S3C24XX_PWM
2238c2ecf20Sopenharmony_ci	bool "PWM device support"
2248c2ecf20Sopenharmony_ci	select PWM
2258c2ecf20Sopenharmony_ci	select PWM_SAMSUNG
2268c2ecf20Sopenharmony_ci	help
2278c2ecf20Sopenharmony_ci	  Support for exporting the PWM timer blocks via the pwm device
2288c2ecf20Sopenharmony_ci	  system
2298c2ecf20Sopenharmony_ci
2308c2ecf20Sopenharmony_ciconfig GPIO_SAMSUNG
2318c2ecf20Sopenharmony_ci	def_bool y
2328c2ecf20Sopenharmony_ci
2338c2ecf20Sopenharmony_ciconfig SAMSUNG_PM_GPIO
2348c2ecf20Sopenharmony_ci	bool
2358c2ecf20Sopenharmony_ci	default y if GPIO_SAMSUNG && PM
2368c2ecf20Sopenharmony_ci	help
2378c2ecf20Sopenharmony_ci	  Include legacy GPIO power management code for platforms not using
2388c2ecf20Sopenharmony_ci	  pinctrl-samsung driver.
2398c2ecf20Sopenharmony_ciendif
2408c2ecf20Sopenharmony_ci
2418c2ecf20Sopenharmony_ciconfig SAMSUNG_WAKEMASK
2428c2ecf20Sopenharmony_ci	bool
2438c2ecf20Sopenharmony_ci	depends on PM
2448c2ecf20Sopenharmony_ci	help
2458c2ecf20Sopenharmony_ci	  Compile support for wakeup-mask controls found on the S3C6400
2468c2ecf20Sopenharmony_ci	  and above. This code allows a set of interrupt to wakeup-mask
2478c2ecf20Sopenharmony_ci	  mappings. See <plat/wakeup-mask.h>
2488c2ecf20Sopenharmony_ci
2498c2ecf20Sopenharmony_ciendmenu
2508c2ecf20Sopenharmony_ciendif
251