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