Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs...
[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 if PLAT_SAMSUNG
17
18 # boot configurations
19
20 comment "Boot options"
21
22 config S3C_BOOT_WATCHDOG
23         bool "S3C Initialisation watchdog"
24         depends on S3C2410_WATCHDOG
25         help
26           Say y to enable the watchdog during the kernel decompression
27           stage. If the kernel fails to uncompress, then the watchdog
28           will trigger a reset and the system should restart.
29
30 config S3C_BOOT_ERROR_RESET
31         bool "S3C Reboot on decompression error"
32         help
33           Say y here to use the watchdog to reset the system if the
34           kernel decompressor detects an error during decompression.
35
36 config S3C_BOOT_UART_FORCE_FIFO
37        bool "Force UART FIFO on during boot process"
38        default y
39        help
40          Say Y here to force the UART FIFOs on during the kernel
41          uncompressor
42
43
44 config S3C_LOWLEVEL_UART_PORT
45         int "S3C UART to use for low-level messages"
46         default 0
47         help
48           Choice of which UART port to use for the low-level messages,
49           such as the `Uncompressing...` at start time. The value of
50           this configuration should be between zero and two. The port
51           must have been initialised by the boot-loader before use.
52
53 # clock options
54
55 config SAMSUNG_CLKSRC
56         bool
57         help
58           Select the clock code for the clksrc implementation
59           used by newer systems such as the S3C64XX.
60
61 # options for IRQ support
62
63 config SAMSUNG_IRQ_VIC_TIMER
64        bool
65        help
66          Internal configuration to build the VIC timer interrupt code.
67
68 config SAMSUNG_IRQ_UART
69        bool
70        help
71          Internal configuration to build the IRQ UART demux code.
72
73 # options for gpio configuration support
74
75 config SAMSUNG_GPIOLIB_4BIT
76         bool
77         help
78           GPIOlib file contains the 4 bit modification functions for gpio
79           configuration. GPIOlib shall be compiled only for S3C64XX and S5P
80           series of processors.
81
82 config S3C_GPIO_CFG_S3C24XX
83         bool
84         help
85           Internal configuration to enable S3C24XX style GPIO configuration
86           functions.
87
88 config S3C_GPIO_CFG_S3C64XX
89         bool
90         help
91           Internal configuration to enable S3C64XX style GPIO configuration
92           functions.
93
94 config S3C_GPIO_PULL_UPDOWN
95         bool
96         help
97           Internal configuration to enable the correct GPIO pull helper
98
99 config S3C_GPIO_PULL_S3C2443
100         bool
101         select S3C_GPIO_PULL_UPDOWN
102         help
103           Internal configuration to enable the correct GPIO pull helper for S3C2443-style GPIO
104
105 config S3C_GPIO_PULL_DOWN
106         bool
107         help
108           Internal configuration to enable the correct GPIO pull helper
109
110 config S3C_GPIO_PULL_UP
111         bool
112         help
113           Internal configuration to enable the correct GPIO pull helper
114
115 config S5P_GPIO_DRVSTR
116         bool
117         help
118           Internal configuration to get and set correct GPIO driver strength
119           helper
120
121 config SAMSUNG_GPIO_EXTRA
122         int "Number of additional GPIO pins"
123         default 0
124         help
125           Use additional GPIO space in addition to the GPIO's the SOC
126           provides. This allows expanding the GPIO space for use with
127           GPIO expanders.
128
129 config S3C_GPIO_SPACE
130         int "Space between gpio banks"
131         default 0
132         help
133           Add a number of spare GPIO entries between each bank for debugging
134           purposes. This allows any problems where an counter overflows from
135           one bank to another to be caught, at the expense of using a little
136           more memory.
137
138 config S3C_GPIO_TRACK
139         bool
140         help
141           Internal configuration option to enable the s3c specific gpio
142           chip tracking if the platform requires it.
143
144 # ADC driver
145
146 config S3C_ADC
147         bool "ADC common driver support"
148         help
149           Core support for the ADC block found in the Samsung SoC systems
150           for drivers such as the touchscreen and hwmon to use to share
151           this resource.
152
153 # device definitions to compile in
154
155 config S3C_DEV_HSMMC
156         bool
157         help
158           Compile in platform device definitions for HSMMC code
159
160 config S3C_DEV_HSMMC1
161         bool
162         help
163           Compile in platform device definitions for HSMMC channel 1
164
165 config S3C_DEV_HSMMC2
166         bool
167         help
168           Compile in platform device definitions for HSMMC channel 2
169
170 config S3C_DEV_HSMMC3
171         bool
172         help
173           Compile in platform device definitions for HSMMC channel 3
174
175 config S3C_DEV_HWMON
176         bool
177         help
178             Compile in platform device definitions for HWMON
179
180 config S3C_DEV_I2C1
181         bool
182         help
183           Compile in platform device definitions for I2C channel 1
184
185 config S3C_DEV_I2C2
186         bool
187         help
188           Compile in platform device definitions for I2C channel 2
189
190 config S3C_DEV_I2C3
191         bool
192         help
193           Compile in platform device definition for I2C controller 3
194
195 config S3C_DEV_I2C4
196         bool
197         help
198           Compile in platform device definition for I2C controller 4
199
200 config S3C_DEV_I2C5
201         bool
202         help
203           Compile in platform device definition for I2C controller 5
204
205 config S3C_DEV_I2C6
206         bool
207         help
208           Compile in platform device definition for I2C controller 6
209
210 config S3C_DEV_I2C7
211         bool
212         help
213           Compile in platform device definition for I2C controller 7
214
215 config S3C_DEV_FB
216         bool
217         help
218           Compile in platform device definition for framebuffer
219
220 config S3C_DEV_USB_HOST
221         bool
222         help
223           Compile in platform device definition for USB host.
224
225 config S3C_DEV_USB_HSOTG
226         bool
227         help
228           Compile in platform device definition for USB high-speed OtG
229
230 config S3C_DEV_WDT
231         bool
232         default y if ARCH_S3C2410
233         help
234           Complie in platform device definition for Watchdog Timer
235
236 config S3C_DEV_NAND
237         bool
238         help
239           Compile in platform device definition for NAND controller
240
241 config S3C_DEV_ONENAND
242         bool
243         help
244           Compile in platform device definition for OneNAND controller
245
246 config S3C_DEV_RTC
247         bool
248         help
249           Complie in platform device definition for RTC
250
251 config SAMSUNG_DEV_ADC
252         bool
253         help
254           Compile in platform device definition for ADC controller
255
256 config SAMSUNG_DEV_IDE
257         bool
258         help
259           Compile in platform device definitions for IDE
260
261 config S3C64XX_DEV_SPI
262         bool
263         help
264           Compile in platform device definitions for S3C64XX's type
265           SPI controllers.
266
267 config SAMSUNG_DEV_TS
268         bool
269         help
270             Common in platform device definitions for touchscreen device
271
272 config SAMSUNG_DEV_KEYPAD
273         bool
274         help
275           Compile in platform device definitions for keypad
276
277 config SAMSUNG_DEV_PWM
278         bool
279         default y if ARCH_S3C2410
280         help
281           Compile in platform device definition for PWM Timer
282
283 config SAMSUNG_DEV_BACKLIGHT
284         bool
285         depends on SAMSUNG_DEV_PWM
286         help
287           Compile in platform device definition LCD backlight with PWM Timer
288
289 config S3C24XX_PWM
290         bool "PWM device support"
291         select HAVE_PWM
292         help
293           Support for exporting the PWM timer blocks via the pwm device
294           system
295
296 # DMA
297
298 config S3C_DMA
299         bool
300         help
301           Internal configuration for S3C DMA core
302
303 config S3C_PL330_DMA
304         bool
305         select PL330
306         help
307           S3C DMA API Driver for PL330 DMAC.
308
309 comment "Power management"
310
311 config SAMSUNG_PM_DEBUG
312         bool "S3C2410 PM Suspend debug"
313         depends on PM
314         help
315           Say Y here if you want verbose debugging from the PM Suspend and
316           Resume code. See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt>
317           for more information.
318
319 config S3C_PM_DEBUG_LED_SMDK
320        bool "SMDK LED suspend/resume debugging"
321        depends on PM && (MACH_SMDK6410)
322        help
323          Say Y here to enable the use of the SMDK LEDs on the baseboard
324          for debugging of the state of the suspend and resume process.
325
326          Note, this currently only works for S3C64XX based SMDK boards.
327
328 config SAMSUNG_PM_CHECK
329         bool "S3C2410 PM Suspend Memory CRC"
330         depends on PM && CRC32
331         help
332           Enable the PM code's memory area checksum over sleep. This option
333           will generate CRCs of all blocks of memory, and store them before
334           going to sleep. The blocks are then checked on resume for any
335           errors.
336
337           Note, this can take several seconds depending on memory size
338           and CPU speed.
339
340           See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt>
341
342 config SAMSUNG_PM_CHECK_CHUNKSIZE
343         int "S3C2410 PM Suspend CRC Chunksize (KiB)"
344         depends on PM && SAMSUNG_PM_CHECK
345         default 64
346         help
347           Set the chunksize in Kilobytes of the CRC for checking memory
348           corruption over suspend and resume. A smaller value will mean that
349           the CRC data block will take more memory, but wil identify any
350           faults with better precision.
351
352           See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt>
353
354 config SAMSUNG_WAKEMASK
355         bool
356         depends on PM
357         help
358           Compile support for wakeup-mask controls found on the S3C6400
359           and above. This code allows a set of interrupt to wakeup-mask
360           mappings. See <plat/wakeup-mask.h>
361
362 comment "Power Domain"
363
364 config SAMSUNG_PD
365         bool "Samsung Power Domain"
366         depends on PM_RUNTIME
367         help
368           Say Y here if you want to control Power Domain by Runtime PM.
369
370 endif