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