• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# arch/arm/plat-samsung/Kconfig
2#
3# Copyright 2009 Simtec Electronics
4#
5# Licensed under GPLv2
6
7config PLAT_SAMSUNG
8	bool
9	depends on PLAT_S3C24XX || ARCH_S3C64XX || PLAT_S5P
10	default y
11	select GENERIC_IRQ_CHIP
12	select NO_IOPORT
13	help
14	  Base platform code for all Samsung SoC based systems
15
16config PLAT_S5P
17	bool
18	depends on (ARCH_S5P64X0 || ARCH_S5PC100 || ARCH_S5PV210 || ARCH_EXYNOS)
19	default y
20	select ARCH_REQUIRE_GPIOLIB
21	select ARM_GIC if ARCH_EXYNOS
22	select ARM_VIC if !ARCH_EXYNOS
23	select GIC_NON_BANKED if ARCH_EXYNOS4
24	select NO_IOPORT
25	select PLAT_SAMSUNG
26	select S3C_GPIO_TRACK
27	select S5P_GPIO_DRVSTR
28	select SAMSUNG_CLKSRC if !COMMON_CLK
29	select SAMSUNG_GPIOLIB_4BIT
30	select SAMSUNG_IRQ_VIC_TIMER
31	help
32	  Base platform code for Samsung's S5P series SoC.
33
34if PLAT_SAMSUNG
35
36# boot configurations
37
38comment "Boot options"
39
40config S3C_BOOT_ERROR_RESET
41	bool "S3C Reboot on decompression error"
42	help
43	  Say y here to use the watchdog to reset the system if the
44	  kernel decompressor detects an error during decompression.
45
46config S3C_BOOT_UART_FORCE_FIFO
47       bool "Force UART FIFO on during boot process"
48       default y
49       help
50         Say Y here to force the UART FIFOs on during the kernel
51	 uncompressor
52
53
54config S3C_LOWLEVEL_UART_PORT
55	int "S3C UART to use for low-level messages"
56	default 0
57	help
58	  Choice of which UART port to use for the low-level messages,
59	  such as the `Uncompressing...` at start time. The value of
60	  this configuration should be between zero and two. The port
61	  must have been initialised by the boot-loader before use.
62
63# timer options
64
65config SAMSUNG_HRT
66	bool
67	select SAMSUNG_DEV_PWM
68	help
69	  Use the High Resolution timer support
70
71# clock options
72
73config SAMSUNG_CLOCK
74	bool
75	default y if !COMMON_CLK
76
77config SAMSUNG_CLKSRC
78	bool
79	help
80	  Select the clock code for the clksrc implementation
81	  used by newer systems such as the S3C64XX.
82
83config S5P_CLOCK
84	def_bool (ARCH_S5P64X0 || ARCH_S5PC100 || ARCH_S5PV210)
85	help
86	  Support common clock part for ARCH_S5P and ARCH_EXYNOS SoCs
87
88# options for IRQ support
89
90config SAMSUNG_IRQ_VIC_TIMER
91       bool
92       help
93         Internal configuration to build the VIC timer interrupt code.
94
95config S5P_IRQ
96	def_bool (ARCH_S5P64X0 || ARCH_S5PC100 || ARCH_S5PV210)
97	help
98	  Support common interrupt part for ARCH_S5P SoCs
99
100config S5P_EXT_INT
101	bool
102	help
103	  Use the external interrupts (other than GPIO interrupts.)
104	  Note: Do not choose this for S5P6440 and S5P6450.
105
106config S5P_GPIO_INT
107	bool
108	help
109	  Common code for the GPIO interrupts (other than external interrupts.)
110
111# options for gpio configuration support
112
113config SAMSUNG_GPIOLIB_4BIT
114	bool
115	help
116	  GPIOlib file contains the 4 bit modification functions for gpio
117	  configuration. GPIOlib shall be compiled only for S3C64XX and S5P
118	  series of processors.
119
120config S5P_GPIO_DRVSTR
121	bool
122	help
123	  Internal configuration to get and set correct GPIO driver strength
124	  helper
125
126config SAMSUNG_GPIO_EXTRA
127	int "Number of additional GPIO pins"
128	default 128 if SAMSUNG_GPIO_EXTRA128
129	default 64 if SAMSUNG_GPIO_EXTRA64
130	default 0
131	help
132	  Use additional GPIO space in addition to the GPIO's the SOC
133	  provides. This allows expanding the GPIO space for use with
134	  GPIO expanders.
135
136config SAMSUNG_GPIO_EXTRA64
137	bool
138
139config SAMSUNG_GPIO_EXTRA128
140	bool
141
142config S3C_GPIO_SPACE
143	int "Space between gpio banks"
144	default 0
145	help
146	  Add a number of spare GPIO entries between each bank for debugging
147	  purposes. This allows any problems where an counter overflows from
148	  one bank to another to be caught, at the expense of using a little
149	  more memory.
150
151config S3C_GPIO_TRACK
152	bool
153	help
154	  Internal configuration option to enable the s3c specific gpio
155	  chip tracking if the platform requires it.
156
157# uart options
158
159config S5P_DEV_UART
160	def_bool y
161	depends on (ARCH_S5P64X0 || ARCH_S5PC100 || ARCH_S5PV210)
162
163# ADC driver
164
165config S3C_ADC
166	bool "ADC common driver support"
167	help
168	  Core support for the ADC block found in the Samsung SoC systems
169	  for drivers such as the touchscreen and hwmon to use to share
170	  this resource.
171
172# device definitions to compile in
173
174config S3C_DEV_HSMMC
175	bool
176	help
177	  Compile in platform device definitions for HSMMC code
178
179config S3C_DEV_HSMMC1
180	bool
181	help
182	  Compile in platform device definitions for HSMMC channel 1
183
184config S3C_DEV_HSMMC2
185	bool
186	help
187	  Compile in platform device definitions for HSMMC channel 2
188
189config S3C_DEV_HSMMC3
190	bool
191	help
192	  Compile in platform device definitions for HSMMC channel 3
193
194config S3C_DEV_HWMON
195	bool
196	help
197	    Compile in platform device definitions for HWMON
198
199config S3C_DEV_I2C1
200	bool
201	help
202	  Compile in platform device definitions for I2C channel 1
203
204config S3C_DEV_I2C2
205	bool
206	help
207	  Compile in platform device definitions for I2C channel 2
208
209config S3C_DEV_I2C3
210	bool
211	help
212	  Compile in platform device definition for I2C controller 3
213
214config S3C_DEV_I2C4
215	bool
216	help
217	  Compile in platform device definition for I2C controller 4
218
219config S3C_DEV_I2C5
220	bool
221	help
222	  Compile in platform device definition for I2C controller 5
223
224config S3C_DEV_I2C6
225	bool
226	help
227	  Compile in platform device definition for I2C controller 6
228
229config S3C_DEV_I2C7
230	bool
231	help
232	  Compile in platform device definition for I2C controller 7
233
234config S3C_DEV_FB
235	bool
236	help
237	  Compile in platform device definition for framebuffer
238
239config S3C_DEV_USB_HOST
240	bool
241	help
242	  Compile in platform device definition for USB host.
243
244config S3C_DEV_USB_HSOTG
245	bool
246	help
247	  Compile in platform device definition for USB high-speed OtG
248
249config S3C_DEV_WDT
250	bool
251	default y if ARCH_S3C24XX
252	help
253	  Complie in platform device definition for Watchdog Timer
254
255config S3C_DEV_NAND
256	bool
257	help
258	  Compile in platform device definition for NAND controller
259
260config S3C_DEV_ONENAND
261	bool
262	help
263	  Compile in platform device definition for OneNAND controller
264
265config S3C_DEV_RTC
266	bool
267	help
268	  Complie in platform device definition for RTC
269
270config SAMSUNG_DEV_ADC
271	bool
272	help
273	  Compile in platform device definition for ADC controller
274
275config SAMSUNG_DEV_IDE
276	bool
277	help
278	  Compile in platform device definitions for IDE
279
280config S3C64XX_DEV_SPI0
281	bool
282	help
283	  Compile in platform device definitions for S3C64XX's type
284	  SPI controller 0
285
286config S3C64XX_DEV_SPI1
287	bool
288	help
289	  Compile in platform device definitions for S3C64XX's type
290	  SPI controller 1
291
292config S3C64XX_DEV_SPI2
293	bool
294	help
295	  Compile in platform device definitions for S3C64XX's type
296	  SPI controller 2
297
298config SAMSUNG_DEV_TS
299	bool
300	help
301	    Common in platform device definitions for touchscreen device
302
303config SAMSUNG_DEV_KEYPAD
304	bool
305	help
306	  Compile in platform device definitions for keypad
307
308config SAMSUNG_DEV_PWM
309	bool
310	default y if ARCH_S3C24XX
311	help
312	  Compile in platform device definition for PWM Timer
313
314config SAMSUNG_DEV_BACKLIGHT
315	bool
316	depends on SAMSUNG_DEV_PWM
317	help
318	  Compile in platform device definition LCD backlight with PWM Timer
319
320config S5P_DEV_CSIS0
321	bool
322	help
323	  Compile in platform device definitions for MIPI-CSIS channel 0
324
325config S5P_DEV_CSIS1
326	bool
327	help
328	  Compile in platform device definitions for MIPI-CSIS channel 1
329
330config S5P_DEV_FIMC0
331	bool
332	help
333	  Compile in platform device definitions for FIMC controller 0
334
335config S5P_DEV_FIMC1
336	bool
337	help
338	  Compile in platform device definitions for FIMC controller 1
339
340config S5P_DEV_FIMC2
341	bool
342	help
343	  Compile in platform device definitions for FIMC controller 2
344
345config S5P_DEV_FIMC3
346	bool
347	help
348	  Compile in platform device definitions for FIMC controller 3
349
350config S5P_DEV_FIMD0
351	bool
352	help
353	  Compile in platform device definitions for FIMD controller 0
354
355config S5P_DEV_G2D
356	bool
357	help
358	  Compile in platform device definitions for G2D device
359
360config S5P_DEV_I2C_HDMIPHY
361	bool
362	help
363	  Compile in platform device definitions for I2C HDMIPHY controller
364
365config S5P_DEV_JPEG
366	bool
367	help
368	  Compile in platform device definitions for JPEG codec
369
370config S5P_DEV_MFC
371	bool
372	help
373	  Compile in setup memory (init) code for MFC
374
375config S5P_DEV_ONENAND
376	bool
377	help
378	  Compile in platform device definition for OneNAND controller
379
380config S5P_DEV_TV
381	bool
382	help
383	  Compile in platform device definition for TV interface
384
385config S5P_DEV_USB_EHCI
386	bool
387	help
388	  Compile in platform device definition for USB EHCI
389
390config S3C24XX_PWM
391	bool "PWM device support"
392	select PWM
393	select PWM_SAMSUNG
394	help
395	  Support for exporting the PWM timer blocks via the pwm device
396	  system
397
398config S5P_SETUP_MIPIPHY
399	bool
400	help
401	  Compile in common setup code for MIPI-CSIS and MIPI-DSIM devices
402
403config S3C_SETUP_CAMIF
404	bool
405	help
406	  Compile in common setup code for S3C CAMIF devices
407
408# DMA
409
410config S3C_DMA
411	bool
412	help
413	  Internal configuration for S3C DMA core
414
415config SAMSUNG_DMADEV
416	bool
417	select ARM_AMBA
418	select DMADEVICES
419	select PL330_DMA if (ARCH_EXYNOS5 || ARCH_EXYNOS4 || CPU_S5PV210 || CPU_S5PC100 || \
420					CPU_S5P6450 || CPU_S5P6440)
421	help
422	  Use DMA device engine for PL330 DMAC.
423
424comment "Power management"
425
426config SAMSUNG_PM_DEBUG
427	bool "S3C2410 PM Suspend debug"
428	depends on PM
429	select DEBUG_LL
430	help
431	  Say Y here if you want verbose debugging from the PM Suspend and
432	  Resume code. See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt>
433	  for more information.
434
435config S3C_PM_DEBUG_LED_SMDK
436       bool "SMDK LED suspend/resume debugging"
437       depends on PM && (MACH_SMDK6410)
438       help
439         Say Y here to enable the use of the SMDK LEDs on the baseboard
440	 for debugging of the state of the suspend and resume process.
441
442	 Note, this currently only works for S3C64XX based SMDK boards.
443
444config SAMSUNG_PM_CHECK
445	bool "S3C2410 PM Suspend Memory CRC"
446	depends on PM && CRC32
447	help
448	  Enable the PM code's memory area checksum over sleep. This option
449	  will generate CRCs of all blocks of memory, and store them before
450	  going to sleep. The blocks are then checked on resume for any
451	  errors.
452
453	  Note, this can take several seconds depending on memory size
454	  and CPU speed.
455
456	  See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt>
457
458config SAMSUNG_PM_CHECK_CHUNKSIZE
459	int "S3C2410 PM Suspend CRC Chunksize (KiB)"
460	depends on PM && SAMSUNG_PM_CHECK
461	default 64
462	help
463	  Set the chunksize in Kilobytes of the CRC for checking memory
464	  corruption over suspend and resume. A smaller value will mean that
465	  the CRC data block will take more memory, but wil identify any
466	  faults with better precision.
467
468	  See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt>
469
470config SAMSUNG_WAKEMASK
471	bool
472	depends on PM
473	help
474	  Compile support for wakeup-mask controls found on the S3C6400
475	  and above. This code allows a set of interrupt to wakeup-mask
476	  mappings. See <plat/wakeup-mask.h>
477
478config S5P_PM
479	bool
480	help
481	  Common code for power management support on S5P and newer SoCs
482	  Note: Do not select this for S5P6440 and S5P6450.
483
484config S5P_SLEEP
485	bool
486	help
487	  Internal config node to apply common S5P sleep management code.
488	  Can be selected by S5P and newer SoCs with similar sleep procedure.
489
490config DEBUG_S3C_UART
491	depends on PLAT_SAMSUNG
492	int
493	default "0" if DEBUG_S3C_UART0
494	default "1" if DEBUG_S3C_UART1
495	default "2" if DEBUG_S3C_UART2
496	default "3" if DEBUG_S3C_UART3
497
498endif
499