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