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