]> git.karo-electronics.de Git - karo-tx-linux.git/blob - arch/arm/plat-samsung/Kconfig
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
[karo-tx-linux.git] / 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
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_WATCHDOG
41         bool "S3C Initialisation watchdog"
42         depends on S3C2410_WATCHDOG
43         help
44           Say y to enable the watchdog during the kernel decompression
45           stage. If the kernel fails to uncompress, then the watchdog
46           will trigger a reset and the system should restart.
47
48 config S3C_BOOT_ERROR_RESET
49         bool "S3C Reboot on decompression error"
50         help
51           Say y here to use the watchdog to reset the system if the
52           kernel decompressor detects an error during decompression.
53
54 config S3C_BOOT_UART_FORCE_FIFO
55        bool "Force UART FIFO on during boot process"
56        default y
57        help
58          Say Y here to force the UART FIFOs on during the kernel
59          uncompressor
60
61
62 config S3C_LOWLEVEL_UART_PORT
63         int "S3C UART to use for low-level messages"
64         default 0
65         help
66           Choice of which UART port to use for the low-level messages,
67           such as the `Uncompressing...` at start time. The value of
68           this configuration should be between zero and two. The port
69           must have been initialised by the boot-loader before use.
70
71 # timer options
72
73 config S5P_HRT
74         bool
75         select SAMSUNG_DEV_PWM
76         help
77           Use the High Resolution timer support
78
79 # clock options
80
81 config SAMSUNG_CLOCK
82         bool
83         default y if !COMMON_CLK
84
85 config SAMSUNG_CLKSRC
86         bool
87         help
88           Select the clock code for the clksrc implementation
89           used by newer systems such as the S3C64XX.
90
91 config S5P_CLOCK
92         def_bool (ARCH_S5P64X0 || ARCH_S5PC100 || ARCH_S5PV210 || ARCH_EXYNOS)
93         help
94           Support common clock part for ARCH_S5P and ARCH_EXYNOS SoCs
95
96 # options for IRQ support
97
98 config SAMSUNG_IRQ_VIC_TIMER
99        bool
100        help
101          Internal configuration to build the VIC timer interrupt code.
102
103 config S5P_IRQ
104         def_bool (ARCH_S5P64X0 || ARCH_S5PC100 || ARCH_S5PV210 || ARCH_EXYNOS)
105         help
106           Support common interrup part for ARCH_S5P and ARCH_EXYNOS SoCs
107
108 config S5P_EXT_INT
109         bool
110         help
111           Use the external interrupts (other than GPIO interrupts.)
112           Note: Do not choose this for S5P6440 and S5P6450.
113
114 config S5P_GPIO_INT
115         bool
116         help
117           Common code for the GPIO interrupts (other than external interrupts.)
118
119 # options for gpio configuration support
120
121 config SAMSUNG_GPIOLIB_4BIT
122         bool
123         help
124           GPIOlib file contains the 4 bit modification functions for gpio
125           configuration. GPIOlib shall be compiled only for S3C64XX and S5P
126           series of processors.
127
128 config S3C_GPIO_CFG_S3C64XX
129         bool
130         help
131           Internal configuration to enable S3C64XX style GPIO configuration
132           functions.
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_MFC
385         bool
386         help
387           Compile in setup memory (init) code for MFC
388
389 config S5P_DEV_ONENAND
390         bool
391         help
392           Compile in platform device definition for OneNAND controller
393
394 config S5P_DEV_TV
395         bool
396         help
397           Compile in platform device definition for TV interface
398
399 config S5P_DEV_USB_EHCI
400         bool
401         help
402           Compile in platform device definition for USB EHCI
403
404 config S3C24XX_PWM
405         bool "PWM device support"
406         select PWM
407         select PWM_SAMSUNG
408         help
409           Support for exporting the PWM timer blocks via the pwm device
410           system
411
412 config S5P_SETUP_MIPIPHY
413         bool
414         help
415           Compile in common setup code for MIPI-CSIS and MIPI-DSIM devices
416
417 config S3C_SETUP_CAMIF
418         bool
419         help
420           Compile in common setup code for S3C CAMIF devices
421
422 # DMA
423
424 config S3C_DMA
425         bool
426         help
427           Internal configuration for S3C DMA core
428
429 config SAMSUNG_DMADEV
430         bool
431         select ARM_AMBA
432         select DMADEVICES
433         select PL330_DMA if (ARCH_EXYNOS5 || ARCH_EXYNOS4 || CPU_S5PV210 || CPU_S5PC100 || \
434                                         CPU_S5P6450 || CPU_S5P6440)
435         help
436           Use DMA device engine for PL330 DMAC.
437
438 comment "Power management"
439
440 config SAMSUNG_PM_DEBUG
441         bool "S3C2410 PM Suspend debug"
442         depends on PM
443         select DEBUG_LL
444         help
445           Say Y here if you want verbose debugging from the PM Suspend and
446           Resume code. See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt>
447           for more information.
448
449 config S3C_PM_DEBUG_LED_SMDK
450        bool "SMDK LED suspend/resume debugging"
451        depends on PM && (MACH_SMDK6410)
452        help
453          Say Y here to enable the use of the SMDK LEDs on the baseboard
454          for debugging of the state of the suspend and resume process.
455
456          Note, this currently only works for S3C64XX based SMDK boards.
457
458 config SAMSUNG_PM_CHECK
459         bool "S3C2410 PM Suspend Memory CRC"
460         depends on PM && CRC32
461         help
462           Enable the PM code's memory area checksum over sleep. This option
463           will generate CRCs of all blocks of memory, and store them before
464           going to sleep. The blocks are then checked on resume for any
465           errors.
466
467           Note, this can take several seconds depending on memory size
468           and CPU speed.
469
470           See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt>
471
472 config SAMSUNG_PM_CHECK_CHUNKSIZE
473         int "S3C2410 PM Suspend CRC Chunksize (KiB)"
474         depends on PM && SAMSUNG_PM_CHECK
475         default 64
476         help
477           Set the chunksize in Kilobytes of the CRC for checking memory
478           corruption over suspend and resume. A smaller value will mean that
479           the CRC data block will take more memory, but wil identify any
480           faults with better precision.
481
482           See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt>
483
484 config SAMSUNG_WAKEMASK
485         bool
486         depends on PM
487         help
488           Compile support for wakeup-mask controls found on the S3C6400
489           and above. This code allows a set of interrupt to wakeup-mask
490           mappings. See <plat/wakeup-mask.h>
491
492 config S5P_PM
493         bool
494         help
495           Common code for power management support on S5P and newer SoCs
496           Note: Do not select this for S5P6440 and S5P6450.
497
498 config S5P_SLEEP
499         bool
500         help
501           Internal config node to apply common S5P sleep management code.
502           Can be selected by S5P and newer SoCs with similar sleep procedure.
503
504 config DEBUG_S3C_UART
505         depends on PLAT_SAMSUNG
506         int
507         default "0" if DEBUG_S3C_UART0
508         default "1" if DEBUG_S3C_UART1
509         default "2" if DEBUG_S3C_UART2
510         default "3" if DEBUG_S3C_UART3
511
512 endif