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