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