1# SPDX-License-Identifier: GPL-2.0
2#
3# Copyright 2009 Simtec Electronics
4
5source "arch/arm/mach-s3c/Kconfig.s3c24xx"
6source "arch/arm/mach-s3c/Kconfig.s3c64xx"
7
8config PLAT_SAMSUNG
9	bool
10	depends on PLAT_S3C24XX || ARCH_S3C64XX
11	default y
12	select GENERIC_IRQ_CHIP
13	select NO_IOPORT_MAP
14	select SOC_SAMSUNG
15	help
16	  Base platform code for all Samsung SoC based systems
17
18config SAMSUNG_PM
19	bool
20	depends on PM && (PLAT_S3C24XX || ARCH_S3C64XX)
21	default y
22	help
23	  Base platform power management code for samsung code
24
25if PLAT_SAMSUNG
26menu "Samsung Common options"
27
28# boot configurations
29
30comment "Boot options"
31
32config S3C_LOWLEVEL_UART_PORT
33	int "S3C UART to use for low-level messages"
34	depends on ARCH_S3C64XX
35	default 0
36	help
37	  Choice of which UART port to use for the low-level messages,
38	  such as the `Uncompressing...` at start time. The value of
39	  this configuration should be between zero and two. The port
40	  must have been initialised by the boot-loader before use.
41
42config SAMSUNG_ATAGS
43	def_bool n
44	depends on ATAGS
45	help
46	   This option enables ATAGS based boot support code for
47	   Samsung platforms, including static platform devices, legacy
48	   clock, timer and interrupt initialization, etc.
49
50	   Platforms that support only DT based boot need not to select
51	   this option.
52
53if SAMSUNG_ATAGS
54
55config S3C_GPIO_SPACE
56	int "Space between gpio banks"
57	default 0
58	help
59	  Add a number of spare GPIO entries between each bank for debugging
60	  purposes. This allows any problems where an counter overflows from
61	  one bank to another to be caught, at the expense of using a little
62	  more memory.
63
64config S3C_GPIO_TRACK
65	bool
66	help
67	  Internal configuration option to enable the s3c specific gpio
68	  chip tracking if the platform requires it.
69
70# ADC driver
71
72config S3C_ADC
73	bool "ADC common driver support"
74	depends on !ARCH_MULTIPLATFORM
75	help
76	  Core support for the ADC block found in the Samsung SoC systems
77	  for drivers such as the touchscreen and hwmon to use to share
78	  this resource.
79
80# device definitions to compile in
81
82config S3C_DEV_HSMMC
83	bool
84	help
85	  Compile in platform device definitions for HSMMC code
86
87config S3C_DEV_HSMMC1
88	bool
89	help
90	  Compile in platform device definitions for HSMMC channel 1
91
92config S3C_DEV_HSMMC2
93	bool
94	help
95	  Compile in platform device definitions for HSMMC channel 2
96
97config S3C_DEV_HSMMC3
98	bool
99	help
100	  Compile in platform device definitions for HSMMC channel 3
101
102config S3C_DEV_HWMON
103	bool
104	help
105	    Compile in platform device definitions for HWMON
106
107config S3C_DEV_I2C1
108	bool
109	help
110	  Compile in platform device definitions for I2C channel 1
111
112config S3C_DEV_I2C2
113	bool
114	help
115	  Compile in platform device definitions for I2C channel 2
116
117config S3C_DEV_I2C3
118	bool
119	help
120	  Compile in platform device definition for I2C controller 3
121
122config S3C_DEV_I2C4
123	bool
124	help
125	  Compile in platform device definition for I2C controller 4
126
127config S3C_DEV_I2C5
128	bool
129	help
130	  Compile in platform device definition for I2C controller 5
131
132config S3C_DEV_I2C6
133	bool
134	help
135	  Compile in platform device definition for I2C controller 6
136
137config S3C_DEV_I2C7
138	bool
139	help
140	  Compile in platform device definition for I2C controller 7
141
142config S3C_DEV_FB
143	bool
144	help
145	  Compile in platform device definition for framebuffer
146
147config S3C_DEV_USB_HOST
148	bool
149	help
150	  Compile in platform device definition for USB host.
151
152config S3C_DEV_USB_HSOTG
153	bool
154	help
155	  Compile in platform device definition for USB high-speed OtG
156
157config S3C_DEV_WDT
158	bool
159	default y if ARCH_S3C24XX
160	help
161	  Compile in platform device definition for Watchdog Timer
162
163config S3C_DEV_NAND
164	bool
165	help
166	  Compile in platform device definition for NAND controller
167
168config S3C_DEV_ONENAND
169	bool
170	help
171	  Compile in platform device definition for OneNAND controller
172
173config S3C_DEV_RTC
174	bool
175	help
176	  Compile in platform device definition for RTC
177
178config SAMSUNG_DEV_ADC
179	bool
180	help
181	  Compile in platform device definition for ADC controller
182
183config SAMSUNG_DEV_IDE
184	bool
185	help
186	  Compile in platform device definitions for IDE
187
188config S3C64XX_DEV_SPI0
189	bool
190	help
191	  Compile in platform device definitions for S3C64XX's type
192	  SPI controller 0
193
194config SAMSUNG_DEV_TS
195	bool
196	help
197	    Common in platform device definitions for touchscreen device
198
199config SAMSUNG_DEV_KEYPAD
200	bool
201	help
202	  Compile in platform device definitions for keypad
203
204config SAMSUNG_DEV_PWM
205	bool
206	default y if ARCH_S3C24XX
207	help
208	  Compile in platform device definition for PWM Timer
209
210config GPIO_SAMSUNG
211	def_bool y
212
213config SAMSUNG_PM_GPIO
214	bool
215	default y if GPIO_SAMSUNG && PM
216	help
217	  Include legacy GPIO power management code for platforms not using
218	  pinctrl-samsung driver.
219endif
220
221config SAMSUNG_WAKEMASK
222	bool
223	depends on PM
224	help
225	  Compile support for wakeup-mask controls found on the S3C6400
226	  and above. This code allows a set of interrupt to wakeup-mask
227	  mappings. See <plat/wakeup-mask.h>
228
229endmenu
230endif
231