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