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