xref: /openbmc/linux/arch/arm/mach-s3c/Kconfig (revision 71b9114d)
171b9114dSArnd Bergmann# SPDX-License-Identifier: GPL-2.0
271b9114dSArnd Bergmann#
371b9114dSArnd Bergmann# Copyright 2009 Simtec Electronics
471b9114dSArnd Bergmann
571b9114dSArnd Bergmannsource "arch/arm/mach-s3c/Kconfig.s3c24xx"
671b9114dSArnd Bergmannsource "arch/arm/mach-s3c/Kconfig.s3c64xx"
771b9114dSArnd Bergmann
871b9114dSArnd Bergmannconfig PLAT_SAMSUNG
971b9114dSArnd Bergmann	bool
1071b9114dSArnd Bergmann	depends on PLAT_S3C24XX || ARCH_S3C64XX
1171b9114dSArnd Bergmann	default y
1271b9114dSArnd Bergmann	select GENERIC_IRQ_CHIP
1371b9114dSArnd Bergmann	select NO_IOPORT_MAP
1471b9114dSArnd Bergmann	select SOC_SAMSUNG
1571b9114dSArnd Bergmann	help
1671b9114dSArnd Bergmann	  Base platform code for all Samsung SoC based systems
1771b9114dSArnd Bergmann
1871b9114dSArnd Bergmannconfig SAMSUNG_PM
1971b9114dSArnd Bergmann	bool
2071b9114dSArnd Bergmann	depends on PM && (PLAT_S3C24XX || ARCH_S3C64XX)
2171b9114dSArnd Bergmann	default y
2271b9114dSArnd Bergmann	help
2371b9114dSArnd Bergmann	  Base platform power management code for samsung code
2471b9114dSArnd Bergmann
2571b9114dSArnd Bergmannif PLAT_SAMSUNG
2671b9114dSArnd Bergmannmenu "Samsung Common options"
2771b9114dSArnd Bergmann
2871b9114dSArnd Bergmann# boot configurations
2971b9114dSArnd Bergmann
3071b9114dSArnd Bergmanncomment "Boot options"
3171b9114dSArnd Bergmann
3271b9114dSArnd Bergmannconfig S3C_LOWLEVEL_UART_PORT
3371b9114dSArnd Bergmann	int "S3C UART to use for low-level messages"
3471b9114dSArnd Bergmann	depends on ARCH_S3C64XX
3571b9114dSArnd Bergmann	default 0
3671b9114dSArnd Bergmann	help
3771b9114dSArnd Bergmann	  Choice of which UART port to use for the low-level messages,
3871b9114dSArnd Bergmann	  such as the `Uncompressing...` at start time. The value of
3971b9114dSArnd Bergmann	  this configuration should be between zero and two. The port
4071b9114dSArnd Bergmann	  must have been initialised by the boot-loader before use.
4171b9114dSArnd Bergmann
4271b9114dSArnd Bergmannconfig SAMSUNG_ATAGS
4371b9114dSArnd Bergmann	def_bool n
4471b9114dSArnd Bergmann	depends on ATAGS
4571b9114dSArnd Bergmann	help
4671b9114dSArnd Bergmann	   This option enables ATAGS based boot support code for
4771b9114dSArnd Bergmann	   Samsung platforms, including static platform devices, legacy
4871b9114dSArnd Bergmann	   clock, timer and interrupt initialization, etc.
4971b9114dSArnd Bergmann
5071b9114dSArnd Bergmann	   Platforms that support only DT based boot need not to select
5171b9114dSArnd Bergmann	   this option.
5271b9114dSArnd Bergmann
5371b9114dSArnd Bergmannif SAMSUNG_ATAGS
5471b9114dSArnd Bergmann
5571b9114dSArnd Bergmannconfig S3C_GPIO_SPACE
5671b9114dSArnd Bergmann	int "Space between gpio banks"
5771b9114dSArnd Bergmann	default 0
5871b9114dSArnd Bergmann	help
5971b9114dSArnd Bergmann	  Add a number of spare GPIO entries between each bank for debugging
6071b9114dSArnd Bergmann	  purposes. This allows any problems where an counter overflows from
6171b9114dSArnd Bergmann	  one bank to another to be caught, at the expense of using a little
6271b9114dSArnd Bergmann	  more memory.
6371b9114dSArnd Bergmann
6471b9114dSArnd Bergmannconfig S3C_GPIO_TRACK
6571b9114dSArnd Bergmann	bool
6671b9114dSArnd Bergmann	help
6771b9114dSArnd Bergmann	  Internal configuration option to enable the s3c specific gpio
6871b9114dSArnd Bergmann	  chip tracking if the platform requires it.
6971b9114dSArnd Bergmann
7071b9114dSArnd Bergmann# ADC driver
7171b9114dSArnd Bergmann
7271b9114dSArnd Bergmannconfig S3C_ADC
7371b9114dSArnd Bergmann	bool "ADC common driver support"
7471b9114dSArnd Bergmann	depends on !ARCH_MULTIPLATFORM
7571b9114dSArnd Bergmann	help
7671b9114dSArnd Bergmann	  Core support for the ADC block found in the Samsung SoC systems
7771b9114dSArnd Bergmann	  for drivers such as the touchscreen and hwmon to use to share
7871b9114dSArnd Bergmann	  this resource.
7971b9114dSArnd Bergmann
8071b9114dSArnd Bergmann# device definitions to compile in
8171b9114dSArnd Bergmann
8271b9114dSArnd Bergmannconfig S3C_DEV_HSMMC
8371b9114dSArnd Bergmann	bool
8471b9114dSArnd Bergmann	help
8571b9114dSArnd Bergmann	  Compile in platform device definitions for HSMMC code
8671b9114dSArnd Bergmann
8771b9114dSArnd Bergmannconfig S3C_DEV_HSMMC1
8871b9114dSArnd Bergmann	bool
8971b9114dSArnd Bergmann	help
9071b9114dSArnd Bergmann	  Compile in platform device definitions for HSMMC channel 1
9171b9114dSArnd Bergmann
9271b9114dSArnd Bergmannconfig S3C_DEV_HSMMC2
9371b9114dSArnd Bergmann	bool
9471b9114dSArnd Bergmann	help
9571b9114dSArnd Bergmann	  Compile in platform device definitions for HSMMC channel 2
9671b9114dSArnd Bergmann
9771b9114dSArnd Bergmannconfig S3C_DEV_HSMMC3
9871b9114dSArnd Bergmann	bool
9971b9114dSArnd Bergmann	help
10071b9114dSArnd Bergmann	  Compile in platform device definitions for HSMMC channel 3
10171b9114dSArnd Bergmann
10271b9114dSArnd Bergmannconfig S3C_DEV_HWMON
10371b9114dSArnd Bergmann	bool
10471b9114dSArnd Bergmann	help
10571b9114dSArnd Bergmann	    Compile in platform device definitions for HWMON
10671b9114dSArnd Bergmann
10771b9114dSArnd Bergmannconfig S3C_DEV_I2C1
10871b9114dSArnd Bergmann	bool
10971b9114dSArnd Bergmann	help
11071b9114dSArnd Bergmann	  Compile in platform device definitions for I2C channel 1
11171b9114dSArnd Bergmann
11271b9114dSArnd Bergmannconfig S3C_DEV_I2C2
11371b9114dSArnd Bergmann	bool
11471b9114dSArnd Bergmann	help
11571b9114dSArnd Bergmann	  Compile in platform device definitions for I2C channel 2
11671b9114dSArnd Bergmann
11771b9114dSArnd Bergmannconfig S3C_DEV_I2C3
11871b9114dSArnd Bergmann	bool
11971b9114dSArnd Bergmann	help
12071b9114dSArnd Bergmann	  Compile in platform device definition for I2C controller 3
12171b9114dSArnd Bergmann
12271b9114dSArnd Bergmannconfig S3C_DEV_I2C4
12371b9114dSArnd Bergmann	bool
12471b9114dSArnd Bergmann	help
12571b9114dSArnd Bergmann	  Compile in platform device definition for I2C controller 4
12671b9114dSArnd Bergmann
12771b9114dSArnd Bergmannconfig S3C_DEV_I2C5
12871b9114dSArnd Bergmann	bool
12971b9114dSArnd Bergmann	help
13071b9114dSArnd Bergmann	  Compile in platform device definition for I2C controller 5
13171b9114dSArnd Bergmann
13271b9114dSArnd Bergmannconfig S3C_DEV_I2C6
13371b9114dSArnd Bergmann	bool
13471b9114dSArnd Bergmann	help
13571b9114dSArnd Bergmann	  Compile in platform device definition for I2C controller 6
13671b9114dSArnd Bergmann
13771b9114dSArnd Bergmannconfig S3C_DEV_I2C7
13871b9114dSArnd Bergmann	bool
13971b9114dSArnd Bergmann	help
14071b9114dSArnd Bergmann	  Compile in platform device definition for I2C controller 7
14171b9114dSArnd Bergmann
14271b9114dSArnd Bergmannconfig S3C_DEV_FB
14371b9114dSArnd Bergmann	bool
14471b9114dSArnd Bergmann	help
14571b9114dSArnd Bergmann	  Compile in platform device definition for framebuffer
14671b9114dSArnd Bergmann
14771b9114dSArnd Bergmannconfig S3C_DEV_USB_HOST
14871b9114dSArnd Bergmann	bool
14971b9114dSArnd Bergmann	help
15071b9114dSArnd Bergmann	  Compile in platform device definition for USB host.
15171b9114dSArnd Bergmann
15271b9114dSArnd Bergmannconfig S3C_DEV_USB_HSOTG
15371b9114dSArnd Bergmann	bool
15471b9114dSArnd Bergmann	help
15571b9114dSArnd Bergmann	  Compile in platform device definition for USB high-speed OtG
15671b9114dSArnd Bergmann
15771b9114dSArnd Bergmannconfig S3C_DEV_WDT
15871b9114dSArnd Bergmann	bool
15971b9114dSArnd Bergmann	default y if ARCH_S3C24XX
16071b9114dSArnd Bergmann	help
16171b9114dSArnd Bergmann	  Compile in platform device definition for Watchdog Timer
16271b9114dSArnd Bergmann
16371b9114dSArnd Bergmannconfig S3C_DEV_NAND
16471b9114dSArnd Bergmann	bool
16571b9114dSArnd Bergmann	help
16671b9114dSArnd Bergmann	  Compile in platform device definition for NAND controller
16771b9114dSArnd Bergmann
16871b9114dSArnd Bergmannconfig S3C_DEV_ONENAND
16971b9114dSArnd Bergmann	bool
17071b9114dSArnd Bergmann	help
17171b9114dSArnd Bergmann	  Compile in platform device definition for OneNAND controller
17271b9114dSArnd Bergmann
17371b9114dSArnd Bergmannconfig S3C_DEV_RTC
17471b9114dSArnd Bergmann	bool
17571b9114dSArnd Bergmann	help
17671b9114dSArnd Bergmann	  Compile in platform device definition for RTC
17771b9114dSArnd Bergmann
17871b9114dSArnd Bergmannconfig SAMSUNG_DEV_ADC
17971b9114dSArnd Bergmann	bool
18071b9114dSArnd Bergmann	help
18171b9114dSArnd Bergmann	  Compile in platform device definition for ADC controller
18271b9114dSArnd Bergmann
18371b9114dSArnd Bergmannconfig SAMSUNG_DEV_IDE
18471b9114dSArnd Bergmann	bool
18571b9114dSArnd Bergmann	help
18671b9114dSArnd Bergmann	  Compile in platform device definitions for IDE
18771b9114dSArnd Bergmann
18871b9114dSArnd Bergmannconfig S3C64XX_DEV_SPI0
18971b9114dSArnd Bergmann	bool
19071b9114dSArnd Bergmann	help
19171b9114dSArnd Bergmann	  Compile in platform device definitions for S3C64XX's type
19271b9114dSArnd Bergmann	  SPI controller 0
19371b9114dSArnd Bergmann
19471b9114dSArnd Bergmannconfig S3C64XX_DEV_SPI1
19571b9114dSArnd Bergmann	bool
19671b9114dSArnd Bergmann	help
19771b9114dSArnd Bergmann	  Compile in platform device definitions for S3C64XX's type
19871b9114dSArnd Bergmann	  SPI controller 1
19971b9114dSArnd Bergmann
20071b9114dSArnd Bergmannconfig S3C64XX_DEV_SPI2
20171b9114dSArnd Bergmann	bool
20271b9114dSArnd Bergmann	help
20371b9114dSArnd Bergmann	  Compile in platform device definitions for S3C64XX's type
20471b9114dSArnd Bergmann	  SPI controller 2
20571b9114dSArnd Bergmann
20671b9114dSArnd Bergmannconfig SAMSUNG_DEV_TS
20771b9114dSArnd Bergmann	bool
20871b9114dSArnd Bergmann	help
20971b9114dSArnd Bergmann	    Common in platform device definitions for touchscreen device
21071b9114dSArnd Bergmann
21171b9114dSArnd Bergmannconfig SAMSUNG_DEV_KEYPAD
21271b9114dSArnd Bergmann	bool
21371b9114dSArnd Bergmann	help
21471b9114dSArnd Bergmann	  Compile in platform device definitions for keypad
21571b9114dSArnd Bergmann
21671b9114dSArnd Bergmannconfig SAMSUNG_DEV_PWM
21771b9114dSArnd Bergmann	bool
21871b9114dSArnd Bergmann	default y if ARCH_S3C24XX
21971b9114dSArnd Bergmann	help
22071b9114dSArnd Bergmann	  Compile in platform device definition for PWM Timer
22171b9114dSArnd Bergmann
22271b9114dSArnd Bergmannconfig S3C24XX_PWM
22371b9114dSArnd Bergmann	bool "PWM device support"
22471b9114dSArnd Bergmann	select PWM
22571b9114dSArnd Bergmann	select PWM_SAMSUNG
22671b9114dSArnd Bergmann	help
22771b9114dSArnd Bergmann	  Support for exporting the PWM timer blocks via the pwm device
22871b9114dSArnd Bergmann	  system
22971b9114dSArnd Bergmann
23071b9114dSArnd Bergmannconfig GPIO_SAMSUNG
23171b9114dSArnd Bergmann	def_bool y
23271b9114dSArnd Bergmann
23371b9114dSArnd Bergmannconfig SAMSUNG_PM_GPIO
23471b9114dSArnd Bergmann	bool
23571b9114dSArnd Bergmann	default y if GPIO_SAMSUNG && PM
23671b9114dSArnd Bergmann	help
23771b9114dSArnd Bergmann	  Include legacy GPIO power management code for platforms not using
23871b9114dSArnd Bergmann	  pinctrl-samsung driver.
23971b9114dSArnd Bergmannendif
24071b9114dSArnd Bergmann
24171b9114dSArnd Bergmannconfig SAMSUNG_WAKEMASK
24271b9114dSArnd Bergmann	bool
24371b9114dSArnd Bergmann	depends on PM
24471b9114dSArnd Bergmann	help
24571b9114dSArnd Bergmann	  Compile support for wakeup-mask controls found on the S3C6400
24671b9114dSArnd Bergmann	  and above. This code allows a set of interrupt to wakeup-mask
24771b9114dSArnd Bergmann	  mappings. See <plat/wakeup-mask.h>
24871b9114dSArnd Bergmann
24971b9114dSArnd Bergmannendmenu
25071b9114dSArnd Bergmannendif
251