]> git.karo-electronics.de Git - karo-tx-linux.git/blob - arch/arm/plat-samsung/Kconfig
Merge tag 'drivers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm...
[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 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 # timer options
64
65 config SAMSUNG_HRT
66         bool
67         select SAMSUNG_DEV_PWM
68         help
69           Use the High Resolution timer support
70
71 # clock options
72
73 config SAMSUNG_CLOCK
74         bool
75         default y if !COMMON_CLK
76
77 config 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
83 config 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
90 config SAMSUNG_IRQ_VIC_TIMER
91        bool
92        help
93          Internal configuration to build the VIC timer interrupt code.
94
95 config S5P_IRQ
96         def_bool (ARCH_S5P64X0 || ARCH_S5PC100 || ARCH_S5PV210 || ARCH_EXYNOS)
97         help
98           Support common interrup part for ARCH_S5P and ARCH_EXYNOS SoCs
99
100 config 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
106 config 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
113 config 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
120 config S5P_GPIO_DRVSTR
121         bool
122         help
123           Internal configuration to get and set correct GPIO driver strength
124           helper
125
126 config 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
136 config SAMSUNG_GPIO_EXTRA64
137         bool
138
139 config SAMSUNG_GPIO_EXTRA128
140         bool
141
142 config 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
151 config 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
159 config S5P_DEV_UART
160         def_bool y
161         depends on (ARCH_S5P64X0 || ARCH_S5PC100 || ARCH_S5PV210)
162
163 # ADC driver
164
165 config 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
174 config S3C_DEV_HSMMC
175         bool
176         help
177           Compile in platform device definitions for HSMMC code
178
179 config S3C_DEV_HSMMC1
180         bool
181         help
182           Compile in platform device definitions for HSMMC channel 1
183
184 config S3C_DEV_HSMMC2
185         bool
186         help
187           Compile in platform device definitions for HSMMC channel 2
188
189 config S3C_DEV_HSMMC3
190         bool
191         help
192           Compile in platform device definitions for HSMMC channel 3
193
194 config S3C_DEV_HWMON
195         bool
196         help
197             Compile in platform device definitions for HWMON
198
199 config S3C_DEV_I2C1
200         bool
201         help
202           Compile in platform device definitions for I2C channel 1
203
204 config S3C_DEV_I2C2
205         bool
206         help
207           Compile in platform device definitions for I2C channel 2
208
209 config S3C_DEV_I2C3
210         bool
211         help
212           Compile in platform device definition for I2C controller 3
213
214 config S3C_DEV_I2C4
215         bool
216         help
217           Compile in platform device definition for I2C controller 4
218
219 config S3C_DEV_I2C5
220         bool
221         help
222           Compile in platform device definition for I2C controller 5
223
224 config S3C_DEV_I2C6
225         bool
226         help
227           Compile in platform device definition for I2C controller 6
228
229 config S3C_DEV_I2C7
230         bool
231         help
232           Compile in platform device definition for I2C controller 7
233
234 config S3C_DEV_FB
235         bool
236         help
237           Compile in platform device definition for framebuffer
238
239 config S3C_DEV_USB_HOST
240         bool
241         help
242           Compile in platform device definition for USB host.
243
244 config S3C_DEV_USB_HSOTG
245         bool
246         help
247           Compile in platform device definition for USB high-speed OtG
248
249 config S3C_DEV_WDT
250         bool
251         default y if ARCH_S3C24XX
252         help
253           Complie in platform device definition for Watchdog Timer
254
255 config S3C_DEV_NAND
256         bool
257         help
258           Compile in platform device definition for NAND controller
259
260 config S3C_DEV_ONENAND
261         bool
262         help
263           Compile in platform device definition for OneNAND controller
264
265 config S3C_DEV_RTC
266         bool
267         help
268           Complie in platform device definition for RTC
269
270 config SAMSUNG_DEV_ADC
271         bool
272         help
273           Compile in platform device definition for ADC controller
274
275 config SAMSUNG_DEV_IDE
276         bool
277         help
278           Compile in platform device definitions for IDE
279
280 config S3C64XX_DEV_SPI0
281         bool
282         help
283           Compile in platform device definitions for S3C64XX's type
284           SPI controller 0
285
286 config S3C64XX_DEV_SPI1
287         bool
288         help
289           Compile in platform device definitions for S3C64XX's type
290           SPI controller 1
291
292 config S3C64XX_DEV_SPI2
293         bool
294         help
295           Compile in platform device definitions for S3C64XX's type
296           SPI controller 2
297
298 config SAMSUNG_DEV_TS
299         bool
300         help
301             Common in platform device definitions for touchscreen device
302
303 config SAMSUNG_DEV_KEYPAD
304         bool
305         help
306           Compile in platform device definitions for keypad
307
308 config SAMSUNG_DEV_PWM
309         bool
310         default y if ARCH_S3C24XX
311         help
312           Compile in platform device definition for PWM Timer
313
314 config 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
320 config S5P_DEV_CSIS0
321         bool
322         help
323           Compile in platform device definitions for MIPI-CSIS channel 0
324
325 config S5P_DEV_CSIS1
326         bool
327         help
328           Compile in platform device definitions for MIPI-CSIS channel 1
329
330 config S5P_DEV_FIMC0
331         bool
332         help
333           Compile in platform device definitions for FIMC controller 0
334
335 config S5P_DEV_FIMC1
336         bool
337         help
338           Compile in platform device definitions for FIMC controller 1
339
340 config S5P_DEV_FIMC2
341         bool
342         help
343           Compile in platform device definitions for FIMC controller 2
344
345 config S5P_DEV_FIMC3
346         bool
347         help
348           Compile in platform device definitions for FIMC controller 3
349
350 config S5P_DEV_FIMD0
351         bool
352         help
353           Compile in platform device definitions for FIMD controller 0
354
355 config S5P_DEV_G2D
356         bool
357         help
358           Compile in platform device definitions for G2D device
359
360 config S5P_DEV_I2C_HDMIPHY
361         bool
362         help
363           Compile in platform device definitions for I2C HDMIPHY controller
364
365 config S5P_DEV_JPEG
366         bool
367         help
368           Compile in platform device definitions for JPEG codec
369
370 config S5P_DEV_MFC
371         bool
372         help
373           Compile in setup memory (init) code for MFC
374
375 config S5P_DEV_ONENAND
376         bool
377         help
378           Compile in platform device definition for OneNAND controller
379
380 config S5P_DEV_TV
381         bool
382         help
383           Compile in platform device definition for TV interface
384
385 config S5P_DEV_USB_EHCI
386         bool
387         help
388           Compile in platform device definition for USB EHCI
389
390 config 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
398 config S5P_SETUP_MIPIPHY
399         bool
400         help
401           Compile in common setup code for MIPI-CSIS and MIPI-DSIM devices
402
403 config S3C_SETUP_CAMIF
404         bool
405         help
406           Compile in common setup code for S3C CAMIF devices
407
408 # DMA
409
410 config S3C_DMA
411         bool
412         help
413           Internal configuration for S3C DMA core
414
415 config 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
424 comment "Power management"
425
426 config 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
435 config 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
444 config 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
458 config 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
470 config 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
478 config 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
484 config 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
490 config 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
498 endif