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