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