blob: bb0af66bb487994bd90a510fd1b78c14bd1a1747 [file] [log] [blame]
Ben Dookscf383672009-11-10 00:14:58 +00001# arch/arm/plat-samsung/Kconfig
2#
3# Copyright 2009 Simtec Electronics
4#
5# Licensed under GPLv2
6
7config PLAT_SAMSUNG
8 bool
Kukjin Kim2d4a3b72010-08-13 14:38:52 +09009 depends on PLAT_S3C24XX || ARCH_S3C64XX || PLAT_S5P
Ben Dooksae5fa352010-01-29 09:02:19 +000010 select NO_IOPORT
Mark Brown878ccdc2011-05-19 23:10:13 +010011 select GENERIC_IRQ_CHIP
Ben Dookscf383672009-11-10 00:14:58 +000012 default y
13 help
14 Base platform code for all Samsung SoC based systems
15
16if PLAT_SAMSUNG
17
Ben Dooks89f1fa02010-01-29 09:02:17 +000018# boot configurations
19
20comment "Boot options"
21
22config 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
30config 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
36config 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
44config 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
Harald Welteaa9ad6a2009-12-01 01:24:34 +000055config SAMSUNG_CLKSRC
56 bool
57 help
58 Select the clock code for the clksrc implementation
59 used by newer systems such as the S3C64XX.
Ben Dookscf383672009-11-10 00:14:58 +000060
Ben Dooks7162ba02010-01-06 10:14:51 +090061# options for IRQ support
62
63config SAMSUNG_IRQ_VIC_TIMER
64 bool
65 help
66 Internal configuration to build the VIC timer interrupt code.
67
Ben Dooks4f830db2010-01-06 02:28:20 +090068# options for gpio configuration support
69
Kukjin Kim1f323cf2010-01-19 15:30:54 +090070config 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
Ben Dooks4f830db2010-01-06 02:28:20 +090077config S3C_GPIO_CFG_S3C64XX
78 bool
79 help
80 Internal configuration to enable S3C64XX style GPIO configuration
81 functions.
82
Marek Szyprowski838c6d42010-05-18 12:23:36 +020083config S5P_GPIO_DRVSTR
84 bool
85 help
86 Internal configuration to get and set correct GPIO driver strength
87 helper
88
Kukjin Kim85841bc2010-01-11 12:21:51 +090089config SAMSUNG_GPIO_EXTRA
90 int "Number of additional GPIO pins"
Mark Brown4ff13992011-11-03 16:15:38 +090091 default 128 if SAMSUNG_GPIO_EXTRA128
92 default 64 if SAMSUNG_GPIO_EXTRA64
Kukjin Kim85841bc2010-01-11 12:21:51 +090093 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
Mark Brown4ff13992011-11-03 16:15:38 +090099config SAMSUNG_GPIO_EXTRA64
100 bool
101
102config SAMSUNG_GPIO_EXTRA128
103 bool
104
Ben Dooks89f1fa02010-01-29 09:02:17 +0000105config 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
114config 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
Maurus Cuelenaere3929e1e2010-01-14 00:30:31 +0100120# ADC driver
121
122config 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
Ben Dooksb6a60412010-01-06 02:45:09 +0900129# device definitions to compile in
130
131config S3C_DEV_HSMMC
132 bool
133 help
134 Compile in platform device definitions for HSMMC code
135
136config S3C_DEV_HSMMC1
137 bool
138 help
139 Compile in platform device definitions for HSMMC channel 1
140
141config S3C_DEV_HSMMC2
142 bool
143 help
144 Compile in platform device definitions for HSMMC channel 2
145
Hyuk Leeb3c674b2010-06-10 15:22:16 +0900146config S3C_DEV_HSMMC3
147 bool
148 help
149 Compile in platform device definitions for HSMMC channel 3
150
Maurus Cuelenaere6cd82ff2010-05-04 13:12:32 +0200151config S3C_DEV_HWMON
152 bool
153 help
154 Compile in platform device definitions for HWMON
155
Ben Dooksb6a60412010-01-06 02:45:09 +0900156config S3C_DEV_I2C1
157 bool
158 help
159 Compile in platform device definitions for I2C channel 1
160
Marek Szyprowskic8d833b2010-05-20 08:13:06 +0200161config S3C_DEV_I2C2
162 bool
163 help
164 Compile in platform device definitions for I2C channel 2
165
Kyungmin Parkb7a98252010-10-12 07:49:24 +0900166config S3C_DEV_I2C3
167 bool
168 help
169 Compile in platform device definition for I2C controller 3
170
171config S3C_DEV_I2C4
172 bool
173 help
174 Compile in platform device definition for I2C controller 4
175
176config S3C_DEV_I2C5
177 bool
178 help
179 Compile in platform device definition for I2C controller 5
180
181config S3C_DEV_I2C6
182 bool
183 help
184 Compile in platform device definition for I2C controller 6
185
186config S3C_DEV_I2C7
187 bool
188 help
189 Compile in platform device definition for I2C controller 7
190
Ben Dooksb6a60412010-01-06 02:45:09 +0900191config S3C_DEV_FB
192 bool
193 help
194 Compile in platform device definition for framebuffer
195
196config S3C_DEV_USB_HOST
197 bool
198 help
199 Compile in platform device definition for USB host.
200
201config S3C_DEV_USB_HSOTG
202 bool
203 help
204 Compile in platform device definition for USB high-speed OtG
205
Banajit Goswamie1d5c932010-05-19 15:42:29 +0900206config S3C_DEV_WDT
207 bool
208 default y if ARCH_S3C2410
209 help
210 Complie in platform device definition for Watchdog Timer
211
Ben Dooksb6a60412010-01-06 02:45:09 +0900212config S3C_DEV_NAND
213 bool
214 help
215 Compile in platform device definition for NAND controller
216
Marek Szyprowski999304b2010-05-20 08:59:05 +0200217config S3C_DEV_ONENAND
218 bool
219 help
220 Compile in platform device definition for OneNAND controller
221
Atul Dahiyaadc0950c2010-05-18 14:58:56 +0900222config S3C_DEV_RTC
223 bool
224 help
225 Complie in platform device definition for RTC
226
Naveen Krishna4f7cdc32010-05-13 22:06:36 +0900227config SAMSUNG_DEV_ADC
228 bool
229 help
230 Compile in platform device definition for ADC controller
231
Abhilash Kesavandb900052010-06-08 16:38:20 +0900232config SAMSUNG_DEV_IDE
233 bool
234 help
235 Compile in platform device definitions for IDE
236
Jassi Brar4b4c6622010-01-28 17:14:49 +0900237config S3C64XX_DEV_SPI
238 bool
239 help
240 Compile in platform device definitions for S3C64XX's type
241 SPI controllers.
242
Ben Dooks2b6c02a2010-05-19 14:36:28 +0900243config SAMSUNG_DEV_TS
Maurus Cuelenaere909de0d2010-05-04 13:12:44 +0200244 bool
245 help
Ben Dooks2b6c02a2010-05-19 14:36:28 +0900246 Common in platform device definitions for touchscreen device
Maurus Cuelenaere909de0d2010-05-04 13:12:44 +0200247
Joonyoung Shim995c48a2010-08-06 19:26:10 +0900248config SAMSUNG_DEV_KEYPAD
249 bool
250 help
251 Compile in platform device definitions for keypad
252
Banajit Goswami2ce30132011-02-28 22:24:51 +0530253config SAMSUNG_DEV_PWM
254 bool
255 default y if ARCH_S3C2410
256 help
257 Compile in platform device definition for PWM Timer
258
Banajit Goswamif00207b2011-07-20 23:44:21 +0900259config SAMSUNG_DEV_BACKLIGHT
260 bool
261 depends on SAMSUNG_DEV_PWM
262 help
263 Compile in platform device definition LCD backlight with PWM Timer
264
Banajit Goswami2ce30132011-02-28 22:24:51 +0530265config S3C24XX_PWM
266 bool "PWM device support"
267 select HAVE_PWM
268 help
269 Support for exporting the PWM timer blocks via the pwm device
270 system
271
Ben Dooks89f1fa02010-01-29 09:02:17 +0000272# DMA
273
274config S3C_DMA
275 bool
276 help
277 Internal configuration for S3C DMA core
278
Boojin Kimaa0de002011-09-02 09:44:34 +0900279config SAMSUNG_DMADEV
Jassi Brard800ede2010-05-18 11:59:06 +0900280 bool
Boojin Kimaa0de002011-09-02 09:44:34 +0900281 select DMADEVICES
282 select PL330_DMA if (CPU_EXYNOS4210 || CPU_S5PV210 || CPU_S5PC100 || \
283 CPU_S5P6450 || CPU_S5P6440)
284 select ARM_AMBA
Jassi Brard800ede2010-05-18 11:59:06 +0900285 help
Boojin Kimaa0de002011-09-02 09:44:34 +0900286 Use DMA device engine for PL330 DMAC.
Jassi Brard800ede2010-05-18 11:59:06 +0900287
Ben Dooks80057452010-01-20 12:29:25 +0900288comment "Power management"
289
290config SAMSUNG_PM_DEBUG
291 bool "S3C2410 PM Suspend debug"
292 depends on PM
293 help
294 Say Y here if you want verbose debugging from the PM Suspend and
295 Resume code. See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt>
296 for more information.
297
298config S3C_PM_DEBUG_LED_SMDK
299 bool "SMDK LED suspend/resume debugging"
300 depends on PM && (MACH_SMDK6410)
301 help
302 Say Y here to enable the use of the SMDK LEDs on the baseboard
303 for debugging of the state of the suspend and resume process.
304
305 Note, this currently only works for S3C64XX based SMDK boards.
306
307config SAMSUNG_PM_CHECK
308 bool "S3C2410 PM Suspend Memory CRC"
309 depends on PM && CRC32
310 help
311 Enable the PM code's memory area checksum over sleep. This option
312 will generate CRCs of all blocks of memory, and store them before
313 going to sleep. The blocks are then checked on resume for any
314 errors.
315
316 Note, this can take several seconds depending on memory size
317 and CPU speed.
318
319 See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt>
320
321config SAMSUNG_PM_CHECK_CHUNKSIZE
322 int "S3C2410 PM Suspend CRC Chunksize (KiB)"
323 depends on PM && SAMSUNG_PM_CHECK
324 default 64
325 help
326 Set the chunksize in Kilobytes of the CRC for checking memory
327 corruption over suspend and resume. A smaller value will mean that
328 the CRC data block will take more memory, but wil identify any
329 faults with better precision.
330
331 See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt>
332
Ben Dooks0317e522010-05-20 14:05:33 +0900333config SAMSUNG_WAKEMASK
334 bool
335 depends on PM
336 help
337 Compile support for wakeup-mask controls found on the S3C6400
338 and above. This code allows a set of interrupt to wakeup-mask
339 mappings. See <plat/wakeup-mask.h>
340
Changhwan Yound9305962010-12-03 17:14:57 +0900341comment "Power Domain"
342
343config SAMSUNG_PD
344 bool "Samsung Power Domain"
345 depends on PM_RUNTIME
346 help
347 Say Y here if you want to control Power Domain by Runtime PM.
348
Will Deacon952aeeb2011-08-16 22:28:54 +0100349config DEBUG_S3C_UART
350 depends on PLAT_SAMSUNG
351 int
352 default "0" if DEBUG_S3C_UART0
353 default "1" if DEBUG_S3C_UART1
354 default "2" if DEBUG_S3C_UART2
355
Ben Dookscf383672009-11-10 00:14:58 +0000356endif