1# arch/arm/mach-s3c24xx/Kconfig
2#
3# Copyright (c) 2012 Samsung Electronics Co., Ltd.
4#		http://www.samsung.com/
5#
6# Copyright 2007 Simtec Electronics
7#
8# Licensed under GPLv2
9
10if ARCH_S3C24XX
11
12config PLAT_S3C24XX
13	def_bool y
14	select ARCH_REQUIRE_GPIOLIB
15	select NO_IOPORT_MAP
16	select S3C_DEV_NAND
17	select IRQ_DOMAIN
18	help
19	  Base platform code for any Samsung S3C24XX device
20
21
22
23menu "SAMSUNG S3C24XX SoCs Support"
24
25comment "S3C24XX SoCs"
26
27config CPU_S3C2410
28	bool "SAMSUNG S3C2410"
29	default y
30	select CPU_ARM920T
31	select S3C2410_COMMON_CLK
32	select ARM_S3C2410_CPUFREQ if ARM_S3C24XX_CPUFREQ
33	select S3C2410_PM if PM
34	help
35	  Support for S3C2410 and S3C2410A family from the S3C24XX line
36	  of Samsung Mobile CPUs.
37
38config CPU_S3C2412
39	bool "SAMSUNG S3C2412"
40	select CPU_ARM926T
41	select S3C2412_COMMON_CLK
42	select S3C2412_PM if PM_SLEEP
43	help
44	  Support for the S3C2412 and S3C2413 SoCs from the S3C24XX line
45
46config CPU_S3C2416
47	bool "SAMSUNG S3C2416/S3C2450"
48	select CPU_ARM926T
49	select S3C2416_PM if PM_SLEEP
50	select S3C2443_COMMON_CLK
51	help
52	  Support for the S3C2416 SoC from the S3C24XX line
53
54config CPU_S3C2440
55	bool "SAMSUNG S3C2440"
56	select CPU_ARM920T
57	select S3C2410_COMMON_CLK
58	select S3C2410_PM if PM_SLEEP
59	help
60	  Support for S3C2440 Samsung Mobile CPU based systems.
61
62config CPU_S3C2442
63	bool "SAMSUNG S3C2442"
64	select CPU_ARM920T
65	select S3C2410_COMMON_CLK
66	select S3C2410_PM if PM_SLEEP
67	help
68	  Support for S3C2442 Samsung Mobile CPU based systems.
69
70config CPU_S3C244X
71	def_bool y
72	depends on CPU_S3C2440 || CPU_S3C2442
73
74config CPU_S3C2443
75	bool "SAMSUNG S3C2443"
76	select CPU_ARM920T
77	select S3C2443_COMMON_CLK
78	help
79	  Support for the S3C2443 SoC from the S3C24XX line
80
81# common code
82
83config S3C24XX_SMDK
84	bool
85	help
86	  Common machine code for SMDK2410 and SMDK2440
87
88config S3C24XX_SIMTEC_AUDIO
89	bool
90	depends on (ARCH_BAST || MACH_VR1000 || MACH_OSIRIS || MACH_ANUBIS)
91	default y
92	help
93	  Add audio devices for common Simtec S3C24XX boards
94
95config S3C24XX_SIMTEC_PM
96	bool
97	help
98	  Common power management code for systems that are
99	  compatible with the Simtec style of power management
100
101config S3C24XX_SIMTEC_USB
102	bool
103	help
104	  USB management code for common Simtec S3C24XX boards
105
106config S3C24XX_SETUP_TS
107	bool
108	help
109	  Compile in platform device definition for Samsung TouchScreen.
110
111config S3C2410_PM
112	bool
113	help
114	  Power Management code common to S3C2410 and better
115
116config S3C24XX_PLL
117	bool "Support CPUfreq changing of PLL frequency (EXPERIMENTAL)"
118	depends on ARM_S3C24XX_CPUFREQ
119	help
120	  Compile in support for changing the PLL frequency from the
121	  S3C24XX series CPUfreq driver. The PLL takes time to settle
122	  after a frequency change, so by default it is not enabled.
123
124	  This also means that the PLL tables for the selected CPU(s) will
125	  be built which may increase the size of the kernel image.
126
127# cpu frequency items common between s3c2410 and s3c2440/s3c2442
128
129config S3C2410_IOTIMING
130	bool
131	depends on ARM_S3C24XX_CPUFREQ
132	help
133	  Internal node to select io timing code that is common to the s3c2410
134	  and s3c2440/s3c2442 cpu frequency support.
135
136config S3C2410_CPUFREQ_UTILS
137       bool
138       depends on ARM_S3C24XX_CPUFREQ
139       help
140         Internal node to select timing code that is common to the s3c2410
141         and s3c2440/s3c244 cpu frequency support.
142
143# cpu frequency support common to s3c2412, s3c2413 and s3c2442
144
145config S3C2412_IOTIMING
146	bool
147	depends on ARM_S3C24XX_CPUFREQ && (CPU_S3C2412 || CPU_S3C2443)
148	help
149	  Intel node to select io timing code that is common to the s3c2412
150	  and the s3c2443.
151
152# cpu-specific sections
153
154if CPU_S3C2410
155
156config S3C2410_PLL
157	bool
158	depends on ARM_S3C2410_CPUFREQ && S3C24XX_PLL
159	default y
160	help
161	  Select the PLL table for the S3C2410
162
163config S3C24XX_SIMTEC_NOR
164	bool
165	help
166	  Internal node to specify machine has simtec NOR mapping
167
168config MACH_BAST_IDE
169	bool
170	select HAVE_PATA_PLATFORM
171	help
172	  Internal node for machines with an BAST style IDE
173	  interface
174
175comment "S3C2410 Boards"
176
177#
178# The "S3C2410 Boards" list is ordered alphabetically by option text.
179# (without ARCH_ or MACH_)
180#
181
182config MACH_AML_M5900
183	bool "AML M5900 Series"
184	select S3C24XX_SIMTEC_PM if PM
185	select S3C_DEV_USB_HOST
186	help
187	  Say Y here if you are using the American Microsystems M5900 Series
188	  <http://www.amltd.com>
189
190config ARCH_BAST
191	bool "Simtec Electronics BAST (EB2410ITX)"
192	select ISA
193	select MACH_BAST_IDE
194	select S3C2410_COMMON_DCLK
195	select S3C2410_IOTIMING if ARM_S3C2410_CPUFREQ
196	select S3C24XX_SIMTEC_NOR
197	select S3C24XX_SIMTEC_PM if PM
198	select S3C24XX_SIMTEC_USB
199	select S3C_DEV_HWMON
200	select S3C_DEV_NAND
201	select S3C_DEV_USB_HOST
202	help
203	  Say Y here if you are using the Simtec Electronics EB2410ITX
204	  development board (also known as BAST)
205
206config BAST_PC104_IRQ
207	bool "BAST PC104 IRQ support"
208	depends on ARCH_BAST
209	default y
210	help
211	  Say Y	here to enable the PC104 IRQ routing on the
212	  Simtec BAST (EB2410ITX)
213
214config ARCH_H1940
215	bool "IPAQ H1940"
216	select PM_H1940 if PM
217	select S3C24XX_SETUP_TS
218	select S3C_DEV_NAND
219	select S3C_DEV_USB_HOST
220	help
221	  Say Y here if you are using the HP IPAQ H1940
222
223config H1940BT
224	tristate "Control the state of H1940 bluetooth chip"
225	depends on ARCH_H1940
226	select RFKILL
227	help
228	  This is a simple driver that is able to control
229	  the state of built in bluetooth chip on h1940.
230
231config MACH_N30
232	bool "Acer N30 family"
233	select S3C_DEV_NAND
234	select S3C_DEV_USB_HOST
235	help
236	  Say Y here if you want suppt for the Acer N30, Acer N35,
237	  Navman PiN570, Yakumo AlphaX or Airis NC05 PDAs.
238
239config MACH_OTOM
240	bool "NexVision OTOM Board"
241	select S3C_DEV_NAND
242	select S3C_DEV_USB_HOST
243	help
244	  Say Y here if you are using the Nex Vision OTOM board
245
246config MACH_QT2410
247	bool "QT2410"
248	select S3C_DEV_NAND
249	select S3C_DEV_USB_HOST
250	help
251	  Say Y here if you are using the Armzone QT2410
252
253config ARCH_SMDK2410
254	bool "SMDK2410/A9M2410"
255	select S3C24XX_SMDK
256	select S3C_DEV_USB_HOST
257	help
258	  Say Y here if you are using the SMDK2410 or the derived module A9M2410
259	  <http://www.fsforth.de>
260
261config MACH_TCT_HAMMER
262	bool "TCT Hammer Board"
263	select S3C_DEV_USB_HOST
264	help
265	  Say Y here if you are using the TinCanTools Hammer Board
266	  <http://www.tincantools.com>
267
268config MACH_VR1000
269	bool "Thorcom VR1000"
270	select MACH_BAST_IDE
271	select S3C2410_COMMON_DCLK
272	select S3C24XX_SIMTEC_NOR
273	select S3C24XX_SIMTEC_PM if PM
274	select S3C24XX_SIMTEC_USB
275	select S3C_DEV_USB_HOST
276	help
277	  Say Y here if you are using the Thorcom VR1000 board.
278
279endif	# CPU_S3C2410
280
281config S3C2412_PM_SLEEP
282	bool
283	help
284	  Internal config node to apply sleep for S3C2412 power management.
285	  Can be selected by another SoCs such as S3C2416 with similar
286	  sleep procedure.
287
288if CPU_S3C2412
289
290config CPU_S3C2412_ONLY
291	bool
292	depends on !CPU_S3C2410 && !CPU_S3C2416 && !CPU_S3C2440 && \
293		   !CPU_S3C2442 && !CPU_S3C2443
294	default y
295
296config S3C2412_PM
297	bool
298	select S3C2412_PM_SLEEP
299	select SAMSUNG_WAKEMASK
300	help
301	  Internal config node to apply S3C2412 power management
302
303comment "S3C2412 Boards"
304
305#
306# The "S3C2412 Boards" list is ordered alphabetically by option text.
307# (without ARCH_ or MACH_)
308#
309
310config MACH_JIVE
311	bool "Logitech Jive"
312	select S3C_DEV_NAND
313	select S3C_DEV_USB_HOST
314	help
315	  Say Y here if you are using the Logitech Jive.
316
317config MACH_JIVE_SHOW_BOOTLOADER
318	bool "Allow access to bootloader partitions in MTD"
319	depends on MACH_JIVE
320
321config MACH_S3C2413
322	bool
323	help
324	  Internal node for S3C2413 version of SMDK2413, so that
325	  machine_is_s3c2413() will work when MACH_SMDK2413 is
326	  selected
327
328config MACH_SMDK2412
329	bool "SMDK2412"
330	select MACH_SMDK2413
331	help
332	  Say Y here if you are using an SMDK2412
333
334	  Note, this shares support with SMDK2413, so will automatically
335	  select MACH_SMDK2413.
336
337config MACH_SMDK2413
338	bool "SMDK2413"
339	select MACH_S3C2413
340	select S3C24XX_SMDK
341	select S3C_DEV_NAND
342	select S3C_DEV_USB_HOST
343	help
344	  Say Y here if you are using an SMDK2413
345
346config MACH_VSTMS
347	bool "VMSTMS"
348	select S3C_DEV_NAND
349	select S3C_DEV_USB_HOST
350	help
351	  Say Y here if you are using an VSTMS board
352
353endif	# CPU_S3C2412
354
355if CPU_S3C2416
356
357config S3C2416_PM
358	bool
359	select S3C2412_PM_SLEEP
360	select SAMSUNG_WAKEMASK
361	help
362	  Internal config node to apply S3C2416 power management
363
364config S3C2416_SETUP_SDHCI
365	bool
366	select S3C2416_SETUP_SDHCI_GPIO
367	help
368	  Internal helper functions for S3C2416 based SDHCI systems
369
370config S3C2416_SETUP_SDHCI_GPIO
371	bool
372	help
373	  Common setup code for SDHCI gpio.
374
375comment "S3C2416 Boards"
376
377config MACH_SMDK2416
378	bool "SMDK2416"
379	select S3C2416_SETUP_SDHCI
380	select S3C24XX_SMDK
381	select S3C_DEV_FB
382	select S3C_DEV_HSMMC
383	select S3C_DEV_HSMMC1
384	select S3C_DEV_NAND
385	select S3C_DEV_USB_HOST
386	help
387	  Say Y here if you are using an SMDK2416
388
389config MACH_S3C2416_DT
390	bool "Samsung S3C2416 machine using devicetree"
391	select CLKSRC_OF
392	select USE_OF
393	select PINCTRL
394	select PINCTRL_S3C24XX
395	help
396	  Machine support for Samsung S3C2416 machines with device tree enabled.
397	  Select this if a fdt blob is available for the S3C2416 SoC based board.
398	  Note: This is under development and not all peripherals can be supported
399	  with this machine file.
400
401endif	# CPU_S3C2416
402
403if CPU_S3C2440
404
405config S3C2440_XTAL_12000000
406	bool
407	help
408	  Indicate that the build needs to support 12MHz system
409	  crystal.
410
411config S3C2440_XTAL_16934400
412	bool
413	help
414	  Indicate that the build needs to support 16.9344MHz system
415	  crystal.
416
417config S3C2440_PLL_12000000
418	bool
419	depends on ARM_S3C2440_CPUFREQ && S3C2440_XTAL_12000000
420	default y if S3C24XX_PLL
421	help
422	  PLL tables for S3C2440 or S3C2442 CPUs with 12MHz crystals.
423
424config S3C2440_PLL_16934400
425	bool
426	depends on ARM_S3C2440_CPUFREQ && S3C2440_XTAL_16934400
427	default y if S3C24XX_PLL
428	help
429	  PLL tables for S3C2440 or S3C2442 CPUs with 16.934MHz crystals.
430
431comment "S3C2440 Boards"
432
433#
434# The "S3C2440 Boards" list is ordered alphabetically by option text.
435# (without ARCH_ or MACH_)
436#
437
438config MACH_ANUBIS
439	bool "Simtec Electronics ANUBIS"
440	select HAVE_PATA_PLATFORM
441	select S3C2410_COMMON_DCLK
442	select S3C2440_XTAL_12000000
443	select S3C24XX_SIMTEC_PM if PM
444	select S3C_DEV_USB_HOST
445	help
446	  Say Y here if you are using the Simtec Electronics ANUBIS
447	  development system
448
449config MACH_AT2440EVB
450	bool "Avantech AT2440EVB development board"
451	select S3C_DEV_NAND
452	select S3C_DEV_USB_HOST
453	help
454	  Say Y here if you are using the AT2440EVB development board
455
456config MACH_MINI2440
457	bool "MINI2440 development board"
458	select EEPROM_AT24 if I2C
459	select LEDS_CLASS
460	select LEDS_TRIGGERS
461	select LEDS_TRIGGER_BACKLIGHT
462	select NEW_LEDS
463	select S3C_DEV_NAND
464	select S3C_DEV_USB_HOST
465	select S3C_SETUP_CAMIF
466	help
467	  Say Y here to select support for the MINI2440. Is a 10cm x 10cm board
468	  available via various sources. It can come with a 3.5" or 7" touch LCD.
469
470config MACH_NEXCODER_2440
471	bool "NexVision NEXCODER 2440 Light Board"
472	select S3C2440_XTAL_12000000
473	select S3C_DEV_NAND
474	select S3C_DEV_USB_HOST
475	help
476	  Say Y here if you are using the Nex Vision NEXCODER 2440 Light Board
477
478config MACH_OSIRIS
479	bool "Simtec IM2440D20 (OSIRIS) module"
480	select S3C2410_COMMON_DCLK
481	select S3C2410_IOTIMING if ARM_S3C2440_CPUFREQ
482	select S3C2440_XTAL_12000000
483	select S3C24XX_SIMTEC_PM if PM
484	select S3C_DEV_NAND
485	select S3C_DEV_USB_HOST
486	help
487	  Say Y here if you are using the Simtec IM2440D20 module, also
488	  known as the Osiris.
489
490config MACH_OSIRIS_DVS
491	tristate "Simtec IM2440D20 (OSIRIS) Dynamic Voltage Scaling driver"
492	depends on MACH_OSIRIS
493	depends on TPS65010
494	help
495	  Say Y/M here if you want to have dynamic voltage scaling support
496	  on the Simtec IM2440D20 (OSIRIS) module via the TPS65011.
497
498	  The DVS driver alters the voltage supplied to the ARM core
499	  depending on the frequency it is running at. The driver itself
500	  does not do any of the frequency alteration, which is left up
501	  to the cpufreq driver.
502
503config MACH_RX3715
504	bool "HP iPAQ rx3715"
505	select PM_H1940 if PM
506	select S3C2440_XTAL_16934400
507	select S3C_DEV_NAND
508	help
509	  Say Y here if you are using the HP iPAQ rx3715.
510
511config ARCH_S3C2440
512	bool "SMDK2440"
513	select S3C2440_XTAL_16934400
514	select S3C24XX_SMDK
515	select S3C_DEV_NAND
516	select S3C_DEV_USB_HOST
517	help
518	  Say Y here if you are using the SMDK2440.
519
520config SMDK2440_CPU2440
521	bool "SMDK2440 with S3C2440 CPU module"
522	default y if ARCH_S3C2440
523	select S3C2440_XTAL_16934400
524
525endif	# CPU_S3C2440
526
527if CPU_S3C2442
528
529comment "S3C2442 Boards"
530
531#
532# The "S3C2442 Boards" list is ordered alphabetically by option text.
533# (without ARCH_ or MACH_)
534#
535
536config MACH_NEO1973_GTA02
537	bool "Openmoko GTA02 / Freerunner phone"
538	select I2C
539	select MFD_PCF50633
540	select PCF50633_GPIO
541	select POWER_SUPPLY
542	select S3C24XX_PWM
543	select S3C_DEV_USB_HOST
544	help
545	   Say Y here if you are using the Openmoko GTA02 / Freerunner GSM Phone
546
547config MACH_RX1950
548	bool "HP iPAQ rx1950"
549	select I2C
550	select PM_H1940 if PM
551	select S3C2410_COMMON_DCLK
552	select S3C2410_IOTIMING if ARM_S3C2440_CPUFREQ
553	select S3C2440_XTAL_16934400
554	select S3C24XX_PWM
555	select S3C_DEV_NAND
556	help
557	   Say Y here if you're using HP iPAQ rx1950
558
559endif	# CPU_S3C2442
560
561if CPU_S3C2443 || CPU_S3C2416
562
563config S3C2443_SETUP_SPI
564	bool
565	help
566	  Common setup code for SPI GPIO configurations
567
568endif	# CPU_S3C2443 || CPU_S3C2416
569
570if CPU_S3C2443
571
572comment "S3C2443 Boards"
573
574config MACH_SMDK2443
575	bool "SMDK2443"
576	select S3C24XX_SMDK
577	select S3C_DEV_HSMMC1
578	help
579	  Say Y here if you are using an SMDK2443
580
581endif	# CPU_S3C2443
582
583config PM_H1940
584	bool
585	help
586	  Internal node for H1940 and related PM
587
588endmenu	# SAMSUNG S3C24XX SoCs Support
589
590endif	# ARCH_S3C24XX
591