ARM: dts: Add I2S dt node for exynos3250
[cascardo/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
39 # boot configurations
40
41 comment "Boot options"
42
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.
48
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
55
56
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.
65
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.
74
75            Platforms that support only DT based boot need not to select
76            this option.
77
78 if SAMSUNG_ATAGS
79
80 # clock options
81
82 config SAMSUNG_CLOCK
83         bool
84         default y if !COMMON_CLK
85
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.
91
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
96
97 # options for IRQ support
98
99 config S5P_IRQ
100         def_bool (ARCH_S5P64X0 || ARCH_S5PC100 || ARCH_S5PV210)
101         help
102           Support common interrupt part for ARCH_S5P SoCs
103
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.
109
110 config S5P_GPIO_INT
111         bool
112         help
113           Common code for the GPIO interrupts (other than external interrupts.)
114
115 # options for gpio configuration support
116
117 config S5P_GPIO_DRVSTR
118         bool
119         help
120           Internal configuration to get and set correct GPIO driver strength
121           helper
122
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.
132
133 config SAMSUNG_GPIO_EXTRA64
134         bool
135
136 config SAMSUNG_GPIO_EXTRA128
137         bool
138
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.
147
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.
153
154 # uart options
155
156 config S5P_DEV_UART
157         def_bool y
158         depends on (ARCH_S5P64X0 || ARCH_S5PC100 || ARCH_S5PV210)
159
160 # ADC driver
161
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.
168
169 # device definitions to compile in
170
171 config S3C_DEV_HSMMC
172         bool
173         help
174           Compile in platform device definitions for HSMMC code
175
176 config S3C_DEV_HSMMC1
177         bool
178         help
179           Compile in platform device definitions for HSMMC channel 1
180
181 config S3C_DEV_HSMMC2
182         bool
183         help
184           Compile in platform device definitions for HSMMC channel 2
185
186 config S3C_DEV_HSMMC3
187         bool
188         help
189           Compile in platform device definitions for HSMMC channel 3
190
191 config S3C_DEV_HWMON
192         bool
193         help
194             Compile in platform device definitions for HWMON
195
196 config S3C_DEV_I2C1
197         bool
198         help
199           Compile in platform device definitions for I2C channel 1
200
201 config S3C_DEV_I2C2
202         bool
203         help
204           Compile in platform device definitions for I2C channel 2
205
206 config S3C_DEV_I2C3
207         bool
208         help
209           Compile in platform device definition for I2C controller 3
210
211 config S3C_DEV_I2C4
212         bool
213         help
214           Compile in platform device definition for I2C controller 4
215
216 config S3C_DEV_I2C5
217         bool
218         help
219           Compile in platform device definition for I2C controller 5
220
221 config S3C_DEV_I2C6
222         bool
223         help
224           Compile in platform device definition for I2C controller 6
225
226 config S3C_DEV_I2C7
227         bool
228         help
229           Compile in platform device definition for I2C controller 7
230
231 config S3C_DEV_FB
232         bool
233         help
234           Compile in platform device definition for framebuffer
235
236 config S3C_DEV_USB_HOST
237         bool
238         help
239           Compile in platform device definition for USB host.
240
241 config S3C_DEV_USB_HSOTG
242         bool
243         help
244           Compile in platform device definition for USB high-speed OtG
245
246 config S3C_DEV_WDT
247         bool
248         default y if ARCH_S3C24XX
249         help
250           Complie in platform device definition for Watchdog Timer
251
252 config S3C_DEV_NAND
253         bool
254         help
255           Compile in platform device definition for NAND controller
256
257 config S3C_DEV_ONENAND
258         bool
259         help
260           Compile in platform device definition for OneNAND controller
261
262 config S3C_DEV_RTC
263         bool
264         help
265           Complie in platform device definition for RTC
266
267 config SAMSUNG_DEV_ADC
268         bool
269         help
270           Compile in platform device definition for ADC controller
271
272 config SAMSUNG_DEV_IDE
273         bool
274         help
275           Compile in platform device definitions for IDE
276
277 config S3C64XX_DEV_SPI0
278         bool
279         help
280           Compile in platform device definitions for S3C64XX's type
281           SPI controller 0
282
283 config S3C64XX_DEV_SPI1
284         bool
285         help
286           Compile in platform device definitions for S3C64XX's type
287           SPI controller 1
288
289 config S3C64XX_DEV_SPI2
290         bool
291         help
292           Compile in platform device definitions for S3C64XX's type
293           SPI controller 2
294
295 config SAMSUNG_DEV_TS
296         bool
297         help
298             Common in platform device definitions for touchscreen device
299
300 config SAMSUNG_DEV_KEYPAD
301         bool
302         help
303           Compile in platform device definitions for keypad
304
305 config SAMSUNG_DEV_PWM
306         bool
307         default y if ARCH_S3C24XX
308         help
309           Compile in platform device definition for PWM Timer
310
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
316
317 config S5P_DEV_CSIS0
318         bool
319         help
320           Compile in platform device definitions for MIPI-CSIS channel 0
321
322 config S5P_DEV_CSIS1
323         bool
324         help
325           Compile in platform device definitions for MIPI-CSIS channel 1
326
327 config S5P_DEV_FIMC0
328         bool
329         help
330           Compile in platform device definitions for FIMC controller 0
331
332 config S5P_DEV_FIMC1
333         bool
334         help
335           Compile in platform device definitions for FIMC controller 1
336
337 config S5P_DEV_FIMC2
338         bool
339         help
340           Compile in platform device definitions for FIMC controller 2
341
342 config S5P_DEV_FIMC3
343         bool
344         help
345           Compile in platform device definitions for FIMC controller 3
346
347 config S5P_DEV_FIMD0
348         bool
349         help
350           Compile in platform device definitions for FIMD controller 0
351
352 config S5P_DEV_G2D
353         bool
354         help
355           Compile in platform device definitions for G2D device
356
357 config S5P_DEV_I2C_HDMIPHY
358         bool
359         help
360           Compile in platform device definitions for I2C HDMIPHY controller
361
362 config S5P_DEV_JPEG
363         bool
364         help
365           Compile in platform device definitions for JPEG codec
366
367 config S5P_DEV_ONENAND
368         bool
369         help
370           Compile in platform device definition for OneNAND controller
371
372 config S5P_DEV_TV
373         bool
374         help
375           Compile in platform device definition for TV interface
376
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
384
385 config S3C_SETUP_CAMIF
386         bool
387         help
388           Compile in common setup code for S3C CAMIF devices
389
390 # DMA
391
392 config S3C_DMA
393         bool
394         help
395           Internal configuration for S3C DMA core
396
397 config S5P_IRQ_PM
398         bool
399         default y if S5P_PM
400         help
401           Legacy IRQ power management for S5P platforms
402
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.
409
410 endif
411
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.
420
421 config S5P_DEV_MFC
422         bool
423         help
424           Compile in setup memory (init) code for MFC
425
426 comment "Power management"
427
428 config SAMSUNG_PM_DEBUG
429         bool "S3C2410 PM Suspend debug"
430         depends on PM && DEBUG_KERNEL && DEBUG_S3C_UART
431         help
432           Say Y here if you want verbose debugging from the PM Suspend and
433           Resume code. See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt>
434           for more information.
435
436 config S3C_PM_DEBUG_LED_SMDK
437        bool "SMDK LED suspend/resume debugging"
438        depends on PM && (MACH_SMDK6410)
439        help
440          Say Y here to enable the use of the SMDK LEDs on the baseboard
441          for debugging of the state of the suspend and resume process.
442
443          Note, this currently only works for S3C64XX based SMDK boards.
444
445 config SAMSUNG_PM_CHECK
446         bool "S3C2410 PM Suspend Memory CRC"
447         depends on PM
448         select 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.
454
455           Note, this can take several seconds depending on memory size
456           and CPU speed.
457
458           See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt>
459
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.
469
470           See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt>
471
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>
479
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.
485
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.
491
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.
497
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
505
506 endif