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