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