xref: /OK3568_Linux_fs/kernel/arch/arm/mach-s3c/Kconfig.s3c64xx (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun# SPDX-License-Identifier: GPL-2.0
2*4882a593Smuzhiyun#
3*4882a593Smuzhiyun# Copyright 2008 Openmoko, Inc.
4*4882a593Smuzhiyun#	Simtec Electronics, Ben Dooks <ben@simtec.co.uk>
5*4882a593Smuzhiyun
6*4882a593Smuzhiyunmenuconfig ARCH_S3C64XX
7*4882a593Smuzhiyun	bool "Samsung S3C64XX"
8*4882a593Smuzhiyun	depends on ARCH_MULTI_V6
9*4882a593Smuzhiyun	select ARM_AMBA
10*4882a593Smuzhiyun	select ARM_VIC
11*4882a593Smuzhiyun	select CLKSRC_SAMSUNG_PWM
12*4882a593Smuzhiyun	select COMMON_CLK_SAMSUNG
13*4882a593Smuzhiyun	select GPIO_SAMSUNG if ATAGS
14*4882a593Smuzhiyun	select GPIOLIB
15*4882a593Smuzhiyun	select HAVE_S3C2410_I2C if I2C
16*4882a593Smuzhiyun	select HAVE_TCM
17*4882a593Smuzhiyun	select PLAT_SAMSUNG
18*4882a593Smuzhiyun	select PM_GENERIC_DOMAINS if PM
19*4882a593Smuzhiyun	select S3C_DEV_NAND if ATAGS
20*4882a593Smuzhiyun	select S3C_GPIO_TRACK if ATAGS
21*4882a593Smuzhiyun	select S3C2410_WATCHDOG
22*4882a593Smuzhiyun	select SAMSUNG_ATAGS if ATAGS
23*4882a593Smuzhiyun	select SAMSUNG_WAKEMASK if PM
24*4882a593Smuzhiyun	select WATCHDOG
25*4882a593Smuzhiyun	help
26*4882a593Smuzhiyun	  Samsung S3C64XX series based systems
27*4882a593Smuzhiyun
28*4882a593Smuzhiyunif ARCH_S3C64XX
29*4882a593Smuzhiyun
30*4882a593Smuzhiyun# Configuration options for the S3C6410 CPU
31*4882a593Smuzhiyun
32*4882a593Smuzhiyunconfig CPU_S3C6400
33*4882a593Smuzhiyun	bool
34*4882a593Smuzhiyun	help
35*4882a593Smuzhiyun	  Enable S3C6400 CPU support
36*4882a593Smuzhiyun
37*4882a593Smuzhiyunconfig CPU_S3C6410
38*4882a593Smuzhiyun	bool
39*4882a593Smuzhiyun	help
40*4882a593Smuzhiyun	  Enable S3C6410 CPU support
41*4882a593Smuzhiyun
42*4882a593Smuzhiyunconfig S3C64XX_PL080
43*4882a593Smuzhiyun	def_bool DMADEVICES
44*4882a593Smuzhiyun	select AMBA_PL08X
45*4882a593Smuzhiyun
46*4882a593Smuzhiyunconfig S3C64XX_SETUP_SDHCI
47*4882a593Smuzhiyun	bool
48*4882a593Smuzhiyun	select S3C64XX_SETUP_SDHCI_GPIO
49*4882a593Smuzhiyun	help
50*4882a593Smuzhiyun	  Internal configuration for default SDHCI setup for S3C6400 and
51*4882a593Smuzhiyun	  S3C6410 SoCs.
52*4882a593Smuzhiyun
53*4882a593Smuzhiyunconfig S3C64XX_DEV_ONENAND1
54*4882a593Smuzhiyun	bool
55*4882a593Smuzhiyun	help
56*4882a593Smuzhiyun	  Compile in platform device definition for OneNAND1 controller
57*4882a593Smuzhiyun
58*4882a593Smuzhiyunconfig SAMSUNG_DEV_BACKLIGHT
59*4882a593Smuzhiyun	bool
60*4882a593Smuzhiyun	depends on SAMSUNG_DEV_PWM
61*4882a593Smuzhiyun	help
62*4882a593Smuzhiyun	  Compile in platform device definition LCD backlight with PWM Timer
63*4882a593Smuzhiyun
64*4882a593Smuzhiyun# platform specific device setup
65*4882a593Smuzhiyun
66*4882a593Smuzhiyunconfig S3C64XX_SETUP_I2C0
67*4882a593Smuzhiyun	bool
68*4882a593Smuzhiyun	default y
69*4882a593Smuzhiyun	help
70*4882a593Smuzhiyun	  Common setup code for i2c bus 0.
71*4882a593Smuzhiyun
72*4882a593Smuzhiyun	  Note, currently since i2c0 is always compiled, this setup helper
73*4882a593Smuzhiyun	  is always compiled with it.
74*4882a593Smuzhiyun
75*4882a593Smuzhiyunconfig S3C64XX_SETUP_I2C1
76*4882a593Smuzhiyun	bool
77*4882a593Smuzhiyun	help
78*4882a593Smuzhiyun	  Common setup code for i2c bus 1.
79*4882a593Smuzhiyun
80*4882a593Smuzhiyunconfig S3C64XX_SETUP_IDE
81*4882a593Smuzhiyun	bool
82*4882a593Smuzhiyun	help
83*4882a593Smuzhiyun	  Common setup code for S3C64XX IDE.
84*4882a593Smuzhiyun
85*4882a593Smuzhiyunconfig S3C64XX_SETUP_FB_24BPP
86*4882a593Smuzhiyun	bool
87*4882a593Smuzhiyun	help
88*4882a593Smuzhiyun	  Common setup code for S3C64XX with an 24bpp RGB display helper.
89*4882a593Smuzhiyun
90*4882a593Smuzhiyunconfig S3C64XX_SETUP_KEYPAD
91*4882a593Smuzhiyun	bool
92*4882a593Smuzhiyun	help
93*4882a593Smuzhiyun	  Common setup code for S3C64XX KEYPAD GPIO configurations
94*4882a593Smuzhiyun
95*4882a593Smuzhiyunconfig S3C64XX_SETUP_SDHCI_GPIO
96*4882a593Smuzhiyun	bool
97*4882a593Smuzhiyun	help
98*4882a593Smuzhiyun	  Common setup code for S3C64XX SDHCI GPIO configurations
99*4882a593Smuzhiyun
100*4882a593Smuzhiyunconfig S3C64XX_SETUP_SPI
101*4882a593Smuzhiyun	bool
102*4882a593Smuzhiyun	help
103*4882a593Smuzhiyun	 Common setup code for SPI GPIO configurations
104*4882a593Smuzhiyun
105*4882a593Smuzhiyunconfig S3C64XX_SETUP_USB_PHY
106*4882a593Smuzhiyun	bool
107*4882a593Smuzhiyun	help
108*4882a593Smuzhiyun	  Common setup code for USB PHY controller
109*4882a593Smuzhiyun
110*4882a593Smuzhiyun# S36400 Macchine support
111*4882a593Smuzhiyun
112*4882a593Smuzhiyunconfig MACH_SMDK6400
113*4882a593Smuzhiyun       bool "SMDK6400"
114*4882a593Smuzhiyun	depends on ATAGS
115*4882a593Smuzhiyun	select CPU_S3C6400
116*4882a593Smuzhiyun	select S3C64XX_SETUP_SDHCI
117*4882a593Smuzhiyun	select S3C_DEV_HSMMC1
118*4882a593Smuzhiyun	help
119*4882a593Smuzhiyun	  Machine support for the Samsung SMDK6400
120*4882a593Smuzhiyun
121*4882a593Smuzhiyun# S3C6410 machine support
122*4882a593Smuzhiyun
123*4882a593Smuzhiyunconfig MACH_ANW6410
124*4882a593Smuzhiyun	bool "A&W6410"
125*4882a593Smuzhiyun	depends on ATAGS
126*4882a593Smuzhiyun	select CPU_S3C6410
127*4882a593Smuzhiyun	select S3C64XX_SETUP_FB_24BPP
128*4882a593Smuzhiyun	select S3C_DEV_FB
129*4882a593Smuzhiyun	help
130*4882a593Smuzhiyun	  Machine support for the A&W6410
131*4882a593Smuzhiyun
132*4882a593Smuzhiyunconfig MACH_MINI6410
133*4882a593Smuzhiyun	bool "MINI6410"
134*4882a593Smuzhiyun	depends on ATAGS
135*4882a593Smuzhiyun	select CPU_S3C6410
136*4882a593Smuzhiyun	select S3C64XX_SETUP_FB_24BPP
137*4882a593Smuzhiyun	select S3C64XX_SETUP_SDHCI
138*4882a593Smuzhiyun	select S3C_DEV_FB
139*4882a593Smuzhiyun	select S3C_DEV_HSMMC
140*4882a593Smuzhiyun	select S3C_DEV_HSMMC1
141*4882a593Smuzhiyun	select S3C_DEV_NAND
142*4882a593Smuzhiyun	select S3C_DEV_USB_HOST
143*4882a593Smuzhiyun	select SAMSUNG_DEV_ADC
144*4882a593Smuzhiyun	select SAMSUNG_DEV_TS
145*4882a593Smuzhiyun	help
146*4882a593Smuzhiyun	  Machine support for the FriendlyARM MINI6410
147*4882a593Smuzhiyun
148*4882a593Smuzhiyunconfig MACH_REAL6410
149*4882a593Smuzhiyun	bool "REAL6410"
150*4882a593Smuzhiyun	depends on ATAGS
151*4882a593Smuzhiyun	select CPU_S3C6410
152*4882a593Smuzhiyun	select S3C64XX_SETUP_FB_24BPP
153*4882a593Smuzhiyun	select S3C64XX_SETUP_SDHCI
154*4882a593Smuzhiyun	select S3C_DEV_FB
155*4882a593Smuzhiyun	select S3C_DEV_HSMMC
156*4882a593Smuzhiyun	select S3C_DEV_HSMMC1
157*4882a593Smuzhiyun	select S3C_DEV_NAND
158*4882a593Smuzhiyun	select S3C_DEV_USB_HOST
159*4882a593Smuzhiyun	select SAMSUNG_DEV_ADC
160*4882a593Smuzhiyun	select SAMSUNG_DEV_TS
161*4882a593Smuzhiyun	help
162*4882a593Smuzhiyun	  Machine support for the CoreWind REAL6410
163*4882a593Smuzhiyun
164*4882a593Smuzhiyunconfig MACH_SMDK6410
165*4882a593Smuzhiyun	bool "SMDK6410"
166*4882a593Smuzhiyun	depends on ATAGS
167*4882a593Smuzhiyun	select CPU_S3C6410
168*4882a593Smuzhiyun	select S3C64XX_SETUP_FB_24BPP
169*4882a593Smuzhiyun	select S3C64XX_SETUP_I2C1
170*4882a593Smuzhiyun	select S3C64XX_SETUP_IDE
171*4882a593Smuzhiyun	select S3C64XX_SETUP_KEYPAD
172*4882a593Smuzhiyun	select S3C64XX_SETUP_SDHCI
173*4882a593Smuzhiyun	select S3C64XX_SETUP_USB_PHY
174*4882a593Smuzhiyun	select S3C_DEV_FB
175*4882a593Smuzhiyun	select S3C_DEV_HSMMC
176*4882a593Smuzhiyun	select S3C_DEV_HSMMC1
177*4882a593Smuzhiyun	select S3C_DEV_I2C1
178*4882a593Smuzhiyun	select S3C_DEV_RTC
179*4882a593Smuzhiyun	select S3C_DEV_USB_HOST
180*4882a593Smuzhiyun	select S3C_DEV_USB_HSOTG
181*4882a593Smuzhiyun	select S3C_DEV_WDT
182*4882a593Smuzhiyun	select SAMSUNG_DEV_ADC
183*4882a593Smuzhiyun	select SAMSUNG_DEV_BACKLIGHT
184*4882a593Smuzhiyun	select SAMSUNG_DEV_IDE
185*4882a593Smuzhiyun	select SAMSUNG_DEV_KEYPAD
186*4882a593Smuzhiyun	select SAMSUNG_DEV_PWM
187*4882a593Smuzhiyun	select SAMSUNG_DEV_TS
188*4882a593Smuzhiyun	help
189*4882a593Smuzhiyun	  Machine support for the Samsung SMDK6410
190*4882a593Smuzhiyun
191*4882a593Smuzhiyun# At least some of the SMDK6410s were shipped with the card detect
192*4882a593Smuzhiyun# for the MMC/SD slots connected to the same input. This means that
193*4882a593Smuzhiyun# either the boards need to be altered to have channel0 to an alternate
194*4882a593Smuzhiyun# configuration or that only one slot can be used.
195*4882a593Smuzhiyun
196*4882a593Smuzhiyunchoice
197*4882a593Smuzhiyun	prompt "SMDK6410 MMC/SD slot setup"
198*4882a593Smuzhiyun	depends on MACH_SMDK6410
199*4882a593Smuzhiyun
200*4882a593Smuzhiyunconfig SMDK6410_SD_CH0
201*4882a593Smuzhiyun	bool "Use channel 0 only"
202*4882a593Smuzhiyun	depends on MACH_SMDK6410
203*4882a593Smuzhiyun	help
204*4882a593Smuzhiyun          Select CON7 (channel 0) as the MMC/SD slot, as
205*4882a593Smuzhiyun	  at least some SMDK6410 boards come with the
206*4882a593Smuzhiyun	  resistors fitted so that the card detects for
207*4882a593Smuzhiyun	  channels 0 and 1 are the same.
208*4882a593Smuzhiyun
209*4882a593Smuzhiyunconfig SMDK6410_SD_CH1
210*4882a593Smuzhiyun	bool "Use channel 1 only"
211*4882a593Smuzhiyun	depends on MACH_SMDK6410
212*4882a593Smuzhiyun	help
213*4882a593Smuzhiyun          Select CON6 (channel 1) as the MMC/SD slot, as
214*4882a593Smuzhiyun	  at least some SMDK6410 boards come with the
215*4882a593Smuzhiyun	  resistors fitted so that the card detects for
216*4882a593Smuzhiyun	  channels 0 and 1 are the same.
217*4882a593Smuzhiyun
218*4882a593Smuzhiyunendchoice
219*4882a593Smuzhiyun
220*4882a593Smuzhiyunconfig SMDK6410_WM1190_EV1
221*4882a593Smuzhiyun	bool "Support Wolfson Microelectronics 1190-EV1 PMIC card"
222*4882a593Smuzhiyun	depends on MACH_SMDK6410
223*4882a593Smuzhiyun	depends on I2C=y
224*4882a593Smuzhiyun	select MFD_WM8350_I2C
225*4882a593Smuzhiyun	select REGULATOR
226*4882a593Smuzhiyun	select REGULATOR_WM8350
227*4882a593Smuzhiyun	help
228*4882a593Smuzhiyun	  The Wolfson Microelectronics 1190-EV1 is a WM835x based PMIC
229*4882a593Smuzhiyun	  and audio daughtercard for the Samsung SMDK6410 reference
230*4882a593Smuzhiyun	  platform.  Enabling this option will build support for this
231*4882a593Smuzhiyun	  module into the kernel.  The presence of the module will be
232*4882a593Smuzhiyun	  detected at runtime so the resulting kernel can be used
233*4882a593Smuzhiyun	  with or without the 1190-EV1 fitted.
234*4882a593Smuzhiyun
235*4882a593Smuzhiyunconfig SMDK6410_WM1192_EV1
236*4882a593Smuzhiyun	bool "Support Wolfson Microelectronics 1192-EV1 PMIC card"
237*4882a593Smuzhiyun	depends on MACH_SMDK6410
238*4882a593Smuzhiyun	depends on I2C=y
239*4882a593Smuzhiyun	select MFD_WM831X
240*4882a593Smuzhiyun	select MFD_WM831X_I2C
241*4882a593Smuzhiyun	select REGULATOR
242*4882a593Smuzhiyun	select REGULATOR_WM831X
243*4882a593Smuzhiyun	help
244*4882a593Smuzhiyun	  The Wolfson Microelectronics 1192-EV1 is a WM831x based PMIC
245*4882a593Smuzhiyun	  daughtercard for the Samsung SMDK6410 reference platform.
246*4882a593Smuzhiyun	  Enabling this option will build support for this module into
247*4882a593Smuzhiyun	  the kernel.  The presence of the daughtercard will be
248*4882a593Smuzhiyun	  detected at runtime so the resulting kernel can be used
249*4882a593Smuzhiyun	  with or without the 1192-EV1 fitted.
250*4882a593Smuzhiyun
251*4882a593Smuzhiyunconfig MACH_NCP
252*4882a593Smuzhiyun	bool "NCP"
253*4882a593Smuzhiyun	depends on ATAGS
254*4882a593Smuzhiyun	select CPU_S3C6410
255*4882a593Smuzhiyun	select S3C64XX_SETUP_I2C1
256*4882a593Smuzhiyun	select S3C_DEV_HSMMC1
257*4882a593Smuzhiyun	select S3C_DEV_I2C1
258*4882a593Smuzhiyun	help
259*4882a593Smuzhiyun          Machine support for the Samsung NCP
260*4882a593Smuzhiyun
261*4882a593Smuzhiyunconfig MACH_HMT
262*4882a593Smuzhiyun	bool "Airgoo HMT"
263*4882a593Smuzhiyun	depends on ATAGS
264*4882a593Smuzhiyun	select CPU_S3C6410
265*4882a593Smuzhiyun	select S3C64XX_SETUP_FB_24BPP
266*4882a593Smuzhiyun	select S3C_DEV_FB
267*4882a593Smuzhiyun	select S3C_DEV_NAND
268*4882a593Smuzhiyun	select S3C_DEV_USB_HOST
269*4882a593Smuzhiyun	select SAMSUNG_DEV_PWM
270*4882a593Smuzhiyun	help
271*4882a593Smuzhiyun	  Machine support for the Airgoo HMT
272*4882a593Smuzhiyun
273*4882a593Smuzhiyunconfig MACH_SMARTQ
274*4882a593Smuzhiyun	bool
275*4882a593Smuzhiyun	select CPU_S3C6410
276*4882a593Smuzhiyun	select S3C64XX_SETUP_FB_24BPP
277*4882a593Smuzhiyun	select S3C64XX_SETUP_SDHCI
278*4882a593Smuzhiyun	select S3C64XX_SETUP_USB_PHY
279*4882a593Smuzhiyun	select S3C_DEV_FB
280*4882a593Smuzhiyun	select S3C_DEV_HSMMC
281*4882a593Smuzhiyun	select S3C_DEV_HSMMC1
282*4882a593Smuzhiyun	select S3C_DEV_HSMMC2
283*4882a593Smuzhiyun	select S3C_DEV_HWMON
284*4882a593Smuzhiyun	select S3C_DEV_RTC
285*4882a593Smuzhiyun	select S3C_DEV_USB_HOST
286*4882a593Smuzhiyun	select S3C_DEV_USB_HSOTG
287*4882a593Smuzhiyun	select SAMSUNG_DEV_ADC
288*4882a593Smuzhiyun	select SAMSUNG_DEV_PWM
289*4882a593Smuzhiyun	select SAMSUNG_DEV_TS
290*4882a593Smuzhiyun	help
291*4882a593Smuzhiyun	    Shared machine support for SmartQ 5/7
292*4882a593Smuzhiyun
293*4882a593Smuzhiyunconfig MACH_SMARTQ5
294*4882a593Smuzhiyun	bool "SmartQ 5"
295*4882a593Smuzhiyun	depends on ATAGS
296*4882a593Smuzhiyun	select MACH_SMARTQ
297*4882a593Smuzhiyun	help
298*4882a593Smuzhiyun	    Machine support for the SmartQ 5
299*4882a593Smuzhiyun
300*4882a593Smuzhiyunconfig MACH_SMARTQ7
301*4882a593Smuzhiyun	bool "SmartQ 7"
302*4882a593Smuzhiyun	depends on ATAGS
303*4882a593Smuzhiyun	select MACH_SMARTQ
304*4882a593Smuzhiyun	help
305*4882a593Smuzhiyun	    Machine support for the SmartQ 7
306*4882a593Smuzhiyun
307*4882a593Smuzhiyunconfig MACH_WLF_CRAGG_6410
308*4882a593Smuzhiyun	bool "Wolfson Cragganmore 6410"
309*4882a593Smuzhiyun	depends on ATAGS
310*4882a593Smuzhiyun	depends on I2C=y
311*4882a593Smuzhiyun	select CPU_S3C6410
312*4882a593Smuzhiyun	select LEDS_GPIO_REGISTER
313*4882a593Smuzhiyun	select S3C64XX_DEV_SPI0
314*4882a593Smuzhiyun	select S3C64XX_SETUP_FB_24BPP
315*4882a593Smuzhiyun	select S3C64XX_SETUP_I2C1
316*4882a593Smuzhiyun	select S3C64XX_SETUP_IDE
317*4882a593Smuzhiyun	select S3C64XX_SETUP_KEYPAD
318*4882a593Smuzhiyun	select S3C64XX_SETUP_SDHCI
319*4882a593Smuzhiyun	select S3C64XX_SETUP_SPI
320*4882a593Smuzhiyun	select S3C64XX_SETUP_USB_PHY
321*4882a593Smuzhiyun	select S3C_DEV_FB
322*4882a593Smuzhiyun	select S3C_DEV_HSMMC
323*4882a593Smuzhiyun	select S3C_DEV_HSMMC1
324*4882a593Smuzhiyun	select S3C_DEV_HSMMC2
325*4882a593Smuzhiyun	select S3C_DEV_I2C1
326*4882a593Smuzhiyun	select S3C_DEV_RTC
327*4882a593Smuzhiyun	select S3C_DEV_USB_HOST
328*4882a593Smuzhiyun	select S3C_DEV_USB_HSOTG
329*4882a593Smuzhiyun	select S3C_DEV_WDT
330*4882a593Smuzhiyun	select SAMSUNG_DEV_ADC
331*4882a593Smuzhiyun	select SAMSUNG_DEV_KEYPAD
332*4882a593Smuzhiyun	select SAMSUNG_DEV_PWM
333*4882a593Smuzhiyun	help
334*4882a593Smuzhiyun	  Machine support for the Wolfson Cragganmore S3C6410 variant.
335*4882a593Smuzhiyun
336*4882a593Smuzhiyunconfig MACH_S3C64XX_DT
337*4882a593Smuzhiyun	bool "Samsung S3C6400/S3C6410 machine using Device Tree"
338*4882a593Smuzhiyun	select CPU_S3C6400
339*4882a593Smuzhiyun	select CPU_S3C6410
340*4882a593Smuzhiyun	select PINCTRL
341*4882a593Smuzhiyun	select PINCTRL_S3C64XX
342*4882a593Smuzhiyun	help
343*4882a593Smuzhiyun	  Machine support for Samsung S3C6400/S3C6410 machines with Device Tree
344*4882a593Smuzhiyun	  enabled.
345*4882a593Smuzhiyun	  Select this if a fdt blob is available for your S3C64XX SoC based
346*4882a593Smuzhiyun	  board.
347*4882a593Smuzhiyun	  Note: This is under development and not all peripherals can be
348*4882a593Smuzhiyun	  supported with this machine file.
349*4882a593Smuzhiyun
350*4882a593Smuzhiyunendif
351