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