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