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
86# S36400 Macchine support
87
88config MACH_SMDK6400
89       bool "SMDK6400"
90	select CPU_S3C6400
91	select S3C_DEV_HSMMC
92	select S3C_DEV_NAND
93	select S3C64XX_SETUP_SDHCI
94	help
95	  Machine support for the Samsung SMDK6400
96
97# S3C6410 machine support
98
99config MACH_ANW6410
100	bool "A&W6410"
101	select CPU_S3C6410
102	select S3C_DEV_FB
103	select S3C64XX_SETUP_FB_24BPP
104	help
105	  Machine support for the A&W6410
106
107config MACH_MINI6410
108	bool "MINI6410"
109	select CPU_S3C6410
110	select S3C_DEV_HSMMC
111	select S3C_DEV_HSMMC1
112	select S3C64XX_SETUP_SDHCI
113	select S3C_DEV_USB_HOST
114	select S3C_DEV_NAND
115	select S3C_DEV_FB
116	select S3C64XX_SETUP_FB_24BPP
117	select SAMSUNG_DEV_ADC
118	select SAMSUNG_DEV_TS
119	help
120	  Machine support for the FriendlyARM MINI6410
121
122config MACH_REAL6410
123	bool "REAL6410"
124	select CPU_S3C6410
125	select S3C_DEV_HSMMC
126	select S3C_DEV_HSMMC1
127	select S3C64XX_SETUP_SDHCI
128	select S3C_DEV_FB
129	select S3C64XX_SETUP_FB_24BPP
130	select S3C_DEV_NAND
131	select SAMSUNG_DEV_ADC
132	select SAMSUNG_DEV_TS
133	select S3C_DEV_USB_HOST
134	help
135	  Machine support for the CoreWind REAL6410
136
137config MACH_SMDK6410
138	bool "SMDK6410"
139	select CPU_S3C6410
140	select SAMSUNG_DEV_ADC
141	select S3C_DEV_HSMMC
142	select S3C_DEV_HSMMC1
143	select S3C_DEV_I2C1
144	select SAMSUNG_DEV_IDE
145	select S3C_DEV_FB
146	select S3C_DEV_RTC
147	select SAMSUNG_DEV_TS
148	select S3C_DEV_USB_HOST
149	select S3C_DEV_USB_HSOTG
150	select S3C_DEV_WDT
151	select SAMSUNG_DEV_BACKLIGHT
152	select SAMSUNG_DEV_KEYPAD
153	select SAMSUNG_DEV_PWM
154	select HAVE_S3C2410_WATCHDOG if WATCHDOG
155	select S3C64XX_SETUP_SDHCI
156	select S3C64XX_SETUP_I2C1
157	select S3C64XX_SETUP_IDE
158	select S3C64XX_SETUP_FB_24BPP
159	select S3C64XX_SETUP_KEYPAD
160	help
161	  Machine support for the Samsung SMDK6410
162
163# At least some of the SMDK6410s were shipped with the card detect
164# for the MMC/SD slots connected to the same input. This means that
165# either the boards need to be altered to have channel0 to an alternate
166# configuration or that only one slot can be used.
167
168choice
169	prompt "SMDK6410 MMC/SD slot setup"
170	depends on MACH_SMDK6410
171
172config SMDK6410_SD_CH0
173	bool "Use channel 0 only"
174	depends on MACH_SMDK6410
175	help
176          Select CON7 (channel 0) as the MMC/SD slot, as
177	  at least some SMDK6410 boards come with the
178	  resistors fitted so that the card detects for
179	  channels 0 and 1 are the same.
180
181config SMDK6410_SD_CH1
182	bool "Use channel 1 only"
183	depends on MACH_SMDK6410
184	help
185          Select CON6 (channel 1) as the MMC/SD slot, as
186	  at least some SMDK6410 boards come with the
187	  resistors fitted so that the card detects for
188	  channels 0 and 1 are the same.
189
190endchoice
191
192config SMDK6410_WM1190_EV1
193	bool "Support Wolfson Microelectronics 1190-EV1 PMIC card"
194	depends on MACH_SMDK6410
195	select REGULATOR
196	select REGULATOR_WM8350
197	select SAMSUNG_GPIO_EXTRA64
198	select MFD_WM8350_I2C
199	select MFD_WM8350_CONFIG_MODE_0
200	select MFD_WM8350_CONFIG_MODE_3
201	select MFD_WM8352_CONFIG_MODE_0
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 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	select REGULATOR
214	select REGULATOR_WM831X
215	select SAMSUNG_GPIO_EXTRA64
216	select MFD_WM831X
217	select MFD_WM831X_I2C
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 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 S3C_DEV_I2C1
230	select S3C_DEV_HSMMC1
231	select S3C64XX_SETUP_I2C1
232	help
233          Machine support for the Samsung NCP
234
235config MACH_HMT
236	bool "Airgoo HMT"
237	select CPU_S3C6410
238	select S3C_DEV_FB
239	select S3C_DEV_NAND
240	select S3C_DEV_USB_HOST
241	select S3C64XX_SETUP_FB_24BPP
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 S3C_DEV_HSMMC
250	select S3C_DEV_HSMMC1
251	select S3C_DEV_HSMMC2
252	select S3C_DEV_FB
253	select S3C_DEV_HWMON
254	select S3C_DEV_RTC
255	select S3C_DEV_USB_HSOTG
256	select S3C_DEV_USB_HOST
257	select S3C64XX_SETUP_SDHCI
258	select S3C64XX_SETUP_FB_24BPP
259	select SAMSUNG_DEV_ADC
260	select SAMSUNG_DEV_PWM
261	select SAMSUNG_DEV_TS
262	help
263	    Shared machine support for SmartQ 5/7
264
265config MACH_SMARTQ5
266	bool "SmartQ 5"
267	select MACH_SMARTQ
268	help
269	    Machine support for the SmartQ 5
270
271config MACH_SMARTQ7
272	bool "SmartQ 7"
273	select MACH_SMARTQ
274	help
275	    Machine support for the SmartQ 7
276
277config MACH_WLF_CRAGG_6410
278	bool "Wolfson Cragganmore 6410"
279	select CPU_S3C6410
280	select S3C64XX_SETUP_SDHCI
281	select S3C64XX_SETUP_I2C1
282	select S3C64XX_SETUP_IDE
283	select S3C64XX_SETUP_FB_24BPP
284	select S3C64XX_SETUP_KEYPAD
285	select S3C64XX_SETUP_SPI
286	select SAMSUNG_DEV_ADC
287	select SAMSUNG_DEV_KEYPAD
288	select S3C_DEV_USB_HOST
289	select S3C_DEV_USB_HSOTG
290	select S3C_DEV_HSMMC
291	select S3C_DEV_HSMMC1
292	select S3C_DEV_HSMMC2
293	select S3C_DEV_I2C1
294	select S3C_DEV_WDT
295	select S3C_DEV_RTC
296	select S3C64XX_DEV_SPI0
297	select SAMSUNG_GPIO_EXTRA128
298	select I2C
299	help
300	  Machine support for the Wolfson Cragganmore S3C6410 variant.
301