blob: a9d52167e16ecbd0184ac18c47112eaaaaba5362 [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 Dookscf383672009-11-10 00:14:58 +000010 default y
Russell Kingb1b3f492012-10-06 17:12:25 +010011 select GENERIC_IRQ_CHIP
12 select NO_IOPORT
Ben Dookscf383672009-11-10 00:14:58 +000013 help
14 Base platform code for all Samsung SoC based systems
15
Kukjin Kim199642b2012-05-13 07:11:38 +090016config PLAT_S5P
17 bool
18 depends on (ARCH_S5P64X0 || ARCH_S5PC100 || ARCH_S5PV210 || ARCH_EXYNOS)
19 default y
Russell Kingb1b3f492012-10-06 17:12:25 +010020 select ARCH_REQUIRE_GPIOLIB
Kukjin Kim199642b2012-05-13 07:11:38 +090021 select ARM_GIC if ARCH_EXYNOS
Russell Kingb1b3f492012-10-06 17:12:25 +010022 select ARM_VIC if !ARCH_EXYNOS
Kukjin Kim199642b2012-05-13 07:11:38 +090023 select GIC_NON_BANKED if ARCH_EXYNOS4
24 select NO_IOPORT
Russell Kingb1b3f492012-10-06 17:12:25 +010025 select PLAT_SAMSUNG
Kukjin Kim199642b2012-05-13 07:11:38 +090026 select S3C_GPIO_TRACK
27 select S5P_GPIO_DRVSTR
Kukjin Kim199642b2012-05-13 07:11:38 +090028 select SAMSUNG_CLKSRC
Russell Kingb1b3f492012-10-06 17:12:25 +010029 select SAMSUNG_GPIOLIB_4BIT
Kukjin Kim199642b2012-05-13 07:11:38 +090030 select SAMSUNG_IRQ_VIC_TIMER
31 help
32 Base platform code for Samsung's S5P series SoC.
33
Ben Dookscf383672009-11-10 00:14:58 +000034if PLAT_SAMSUNG
35
Ben Dooks89f1fa02010-01-29 09:02:17 +000036# boot configurations
37
38comment "Boot options"
39
40config 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
48config 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
54config 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
62config 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
Kukjin Kim33bf3322012-04-17 11:20:49 -070071# timer options
72
73config S5P_HRT
74 bool
75 select SAMSUNG_DEV_PWM
76 help
77 Use the High Resolution timer support
78
Ben Dooks89f1fa02010-01-29 09:02:17 +000079# clock options
80
Mark Brown2aa1ecf2012-07-12 16:57:19 +090081config SAMSUNG_CLOCK
82 bool
83 default y if !COMMON_CLK
84
Harald Welteaa9ad6a2009-12-01 01:24:34 +000085config SAMSUNG_CLKSRC
86 bool
87 help
88 Select the clock code for the clksrc implementation
89 used by newer systems such as the S3C64XX.
Ben Dookscf383672009-11-10 00:14:58 +000090
Kukjin Kimbf46aae2012-04-15 21:13:29 -070091config S5P_CLOCK
92 def_bool (ARCH_S5P64X0 || ARCH_S5PC100 || ARCH_S5PV210 || ARCH_EXYNOS)
93 help
94 Support common clock part for ARCH_S5P and ARCH_EXYNOS SoCs
95
Ben Dooks7162ba02010-01-06 10:14:51 +090096# options for IRQ support
97
98config SAMSUNG_IRQ_VIC_TIMER
99 bool
100 help
101 Internal configuration to build the VIC timer interrupt code.
102
Kukjin Kim68ae8992012-04-15 21:40:33 -0700103config S5P_IRQ
104 def_bool (ARCH_S5P64X0 || ARCH_S5PC100 || ARCH_S5PV210 || ARCH_EXYNOS)
105 help
106 Support common interrup part for ARCH_S5P and ARCH_EXYNOS SoCs
107
108config S5P_EXT_INT
109 bool
110 help
111 Use the external interrupts (other than GPIO interrupts.)
112 Note: Do not choose this for S5P6440 and S5P6450.
113
114config S5P_GPIO_INT
115 bool
116 help
117 Common code for the GPIO interrupts (other than external interrupts.)
118
Ben Dooks4f830db2010-01-06 02:28:20 +0900119# options for gpio configuration support
120
Kukjin Kim1f323cf2010-01-19 15:30:54 +0900121config SAMSUNG_GPIOLIB_4BIT
122 bool
123 help
124 GPIOlib file contains the 4 bit modification functions for gpio
125 configuration. GPIOlib shall be compiled only for S3C64XX and S5P
126 series of processors.
127
Ben Dooks4f830db2010-01-06 02:28:20 +0900128config S3C_GPIO_CFG_S3C64XX
129 bool
130 help
131 Internal configuration to enable S3C64XX style GPIO configuration
132 functions.
133
Marek Szyprowski838c6d42010-05-18 12:23:36 +0200134config S5P_GPIO_DRVSTR
135 bool
136 help
137 Internal configuration to get and set correct GPIO driver strength
138 helper
139
Kukjin Kim85841bc2010-01-11 12:21:51 +0900140config SAMSUNG_GPIO_EXTRA
141 int "Number of additional GPIO pins"
Mark Brown4ff13992011-11-03 16:15:38 +0900142 default 128 if SAMSUNG_GPIO_EXTRA128
143 default 64 if SAMSUNG_GPIO_EXTRA64
Kukjin Kim85841bc2010-01-11 12:21:51 +0900144 default 0
145 help
146 Use additional GPIO space in addition to the GPIO's the SOC
147 provides. This allows expanding the GPIO space for use with
148 GPIO expanders.
149
Mark Brown4ff13992011-11-03 16:15:38 +0900150config SAMSUNG_GPIO_EXTRA64
151 bool
152
153config SAMSUNG_GPIO_EXTRA128
154 bool
155
Ben Dooks89f1fa02010-01-29 09:02:17 +0000156config S3C_GPIO_SPACE
157 int "Space between gpio banks"
158 default 0
159 help
160 Add a number of spare GPIO entries between each bank for debugging
161 purposes. This allows any problems where an counter overflows from
162 one bank to another to be caught, at the expense of using a little
163 more memory.
164
165config S3C_GPIO_TRACK
166 bool
167 help
168 Internal configuration option to enable the s3c specific gpio
169 chip tracking if the platform requires it.
170
Kukjin Kimcfe370f2012-04-17 20:05:19 -0700171# uart options
172
173config S5P_DEV_UART
174 def_bool y
175 depends on (ARCH_S5P64X0 || ARCH_S5PC100 || ARCH_S5PV210)
176
Maurus Cuelenaere3929e1e2010-01-14 00:30:31 +0100177# ADC driver
178
179config S3C_ADC
180 bool "ADC common driver support"
181 help
182 Core support for the ADC block found in the Samsung SoC systems
183 for drivers such as the touchscreen and hwmon to use to share
184 this resource.
185
Ben Dooksb6a60412010-01-06 02:45:09 +0900186# device definitions to compile in
187
188config S3C_DEV_HSMMC
189 bool
190 help
191 Compile in platform device definitions for HSMMC code
192
193config S3C_DEV_HSMMC1
194 bool
195 help
196 Compile in platform device definitions for HSMMC channel 1
197
198config S3C_DEV_HSMMC2
199 bool
200 help
201 Compile in platform device definitions for HSMMC channel 2
202
Hyuk Leeb3c674b2010-06-10 15:22:16 +0900203config S3C_DEV_HSMMC3
204 bool
205 help
206 Compile in platform device definitions for HSMMC channel 3
207
Maurus Cuelenaere6cd82ff2010-05-04 13:12:32 +0200208config S3C_DEV_HWMON
209 bool
210 help
211 Compile in platform device definitions for HWMON
212
Ben Dooksb6a60412010-01-06 02:45:09 +0900213config S3C_DEV_I2C1
214 bool
215 help
216 Compile in platform device definitions for I2C channel 1
217
Marek Szyprowskic8d833b2010-05-20 08:13:06 +0200218config S3C_DEV_I2C2
219 bool
220 help
221 Compile in platform device definitions for I2C channel 2
222
Kyungmin Parkb7a98252010-10-12 07:49:24 +0900223config S3C_DEV_I2C3
224 bool
225 help
226 Compile in platform device definition for I2C controller 3
227
228config S3C_DEV_I2C4
229 bool
230 help
231 Compile in platform device definition for I2C controller 4
232
233config S3C_DEV_I2C5
234 bool
235 help
236 Compile in platform device definition for I2C controller 5
237
238config S3C_DEV_I2C6
239 bool
240 help
241 Compile in platform device definition for I2C controller 6
242
243config S3C_DEV_I2C7
244 bool
245 help
246 Compile in platform device definition for I2C controller 7
247
Ben Dooksb6a60412010-01-06 02:45:09 +0900248config S3C_DEV_FB
249 bool
250 help
251 Compile in platform device definition for framebuffer
252
253config S3C_DEV_USB_HOST
254 bool
255 help
256 Compile in platform device definition for USB host.
257
258config S3C_DEV_USB_HSOTG
259 bool
260 help
261 Compile in platform device definition for USB high-speed OtG
262
Banajit Goswamie1d5c932010-05-19 15:42:29 +0900263config S3C_DEV_WDT
264 bool
Kukjin Kimb130d5c2012-02-03 14:29:23 +0900265 default y if ARCH_S3C24XX
Banajit Goswamie1d5c932010-05-19 15:42:29 +0900266 help
267 Complie in platform device definition for Watchdog Timer
268
Ben Dooksb6a60412010-01-06 02:45:09 +0900269config S3C_DEV_NAND
270 bool
271 help
272 Compile in platform device definition for NAND controller
273
Marek Szyprowski999304b2010-05-20 08:59:05 +0200274config S3C_DEV_ONENAND
275 bool
276 help
277 Compile in platform device definition for OneNAND controller
278
Atul Dahiyaadc0950c2010-05-18 14:58:56 +0900279config S3C_DEV_RTC
280 bool
281 help
282 Complie in platform device definition for RTC
283
Naveen Krishna4f7cdc32010-05-13 22:06:36 +0900284config SAMSUNG_DEV_ADC
285 bool
286 help
287 Compile in platform device definition for ADC controller
288
Abhilash Kesavandb900052010-06-08 16:38:20 +0900289config SAMSUNG_DEV_IDE
290 bool
291 help
292 Compile in platform device definitions for IDE
293
Padmavathi Venna875a5932011-12-23 10:14:31 +0900294config S3C64XX_DEV_SPI0
Jassi Brar4b4c6622010-01-28 17:14:49 +0900295 bool
296 help
297 Compile in platform device definitions for S3C64XX's type
Padmavathi Venna875a5932011-12-23 10:14:31 +0900298 SPI controller 0
299
300config S3C64XX_DEV_SPI1
301 bool
302 help
303 Compile in platform device definitions for S3C64XX's type
304 SPI controller 1
305
306config S3C64XX_DEV_SPI2
307 bool
308 help
309 Compile in platform device definitions for S3C64XX's type
310 SPI controller 2
Jassi Brar4b4c6622010-01-28 17:14:49 +0900311
Ben Dooks2b6c02a2010-05-19 14:36:28 +0900312config SAMSUNG_DEV_TS
Maurus Cuelenaere909de0d2010-05-04 13:12:44 +0200313 bool
314 help
Ben Dooks2b6c02a2010-05-19 14:36:28 +0900315 Common in platform device definitions for touchscreen device
Maurus Cuelenaere909de0d2010-05-04 13:12:44 +0200316
Joonyoung Shim995c48a2010-08-06 19:26:10 +0900317config SAMSUNG_DEV_KEYPAD
318 bool
319 help
320 Compile in platform device definitions for keypad
321
Banajit Goswami2ce30132011-02-28 22:24:51 +0530322config SAMSUNG_DEV_PWM
323 bool
Kukjin Kimb130d5c2012-02-03 14:29:23 +0900324 default y if ARCH_S3C24XX
Banajit Goswami2ce30132011-02-28 22:24:51 +0530325 help
326 Compile in platform device definition for PWM Timer
327
Banajit Goswamif00207b2011-07-20 23:44:21 +0900328config SAMSUNG_DEV_BACKLIGHT
329 bool
330 depends on SAMSUNG_DEV_PWM
331 help
332 Compile in platform device definition LCD backlight with PWM Timer
333
Kukjin Kime033ca92012-04-17 20:39:10 -0700334config S5P_DEV_CSIS0
335 bool
336 help
337 Compile in platform device definitions for MIPI-CSIS channel 0
338
339config S5P_DEV_CSIS1
340 bool
341 help
342 Compile in platform device definitions for MIPI-CSIS channel 1
343
344config S5P_DEV_FIMC0
345 bool
346 help
347 Compile in platform device definitions for FIMC controller 0
348
349config S5P_DEV_FIMC1
350 bool
351 help
352 Compile in platform device definitions for FIMC controller 1
353
354config S5P_DEV_FIMC2
355 bool
356 help
357 Compile in platform device definitions for FIMC controller 2
358
359config S5P_DEV_FIMC3
360 bool
361 help
362 Compile in platform device definitions for FIMC controller 3
363
364config S5P_DEV_FIMD0
365 bool
366 help
367 Compile in platform device definitions for FIMD controller 0
368
369config S5P_DEV_G2D
370 bool
371 help
372 Compile in platform device definitions for G2D device
373
374config S5P_DEV_I2C_HDMIPHY
375 bool
376 help
377 Compile in platform device definitions for I2C HDMIPHY controller
378
379config S5P_DEV_JPEG
380 bool
381 help
382 Compile in platform device definitions for JPEG codec
383
Kukjin Kimd9c452f2012-04-17 20:21:30 -0700384config S5P_DEV_MFC
385 bool
386 help
387 Compile in setup memory (init) code for MFC
388
Kukjin Kime033ca92012-04-17 20:39:10 -0700389config S5P_DEV_ONENAND
390 bool
391 help
392 Compile in platform device definition for OneNAND controller
393
394config S5P_DEV_TV
395 bool
396 help
397 Compile in platform device definition for TV interface
398
399config S5P_DEV_USB_EHCI
400 bool
401 help
402 Compile in platform device definition for USB EHCI
403
Banajit Goswami2ce30132011-02-28 22:24:51 +0530404config S3C24XX_PWM
405 bool "PWM device support"
Arnd Bergmann35e79062012-08-04 07:52:19 +0000406 select PWM
407 select PWM_SAMSUNG
Banajit Goswami2ce30132011-02-28 22:24:51 +0530408 help
409 Support for exporting the PWM timer blocks via the pwm device
410 system
411
Kukjin Kimd9c452f2012-04-17 20:21:30 -0700412config S5P_SETUP_MIPIPHY
413 bool
414 help
415 Compile in common setup code for MIPI-CSIS and MIPI-DSIM devices
416
Sylwester Nawrockie51d5482012-11-22 14:29:18 +0900417config S3C_SETUP_CAMIF
418 bool
419 help
420 Compile in common setup code for S3C CAMIF devices
421
Ben Dooks89f1fa02010-01-29 09:02:17 +0000422# DMA
423
424config S3C_DMA
425 bool
426 help
427 Internal configuration for S3C DMA core
428
Boojin Kimaa0de002011-09-02 09:44:34 +0900429config SAMSUNG_DMADEV
Jassi Brard800ede2010-05-18 11:59:06 +0900430 bool
Russell Kingb1b3f492012-10-06 17:12:25 +0100431 select ARM_AMBA
Boojin Kimaa0de002011-09-02 09:44:34 +0900432 select DMADEVICES
Boojin Kim20ef9e02012-05-12 16:40:52 +0900433 select PL330_DMA if (ARCH_EXYNOS5 || ARCH_EXYNOS4 || CPU_S5PV210 || CPU_S5PC100 || \
Boojin Kimaa0de002011-09-02 09:44:34 +0900434 CPU_S5P6450 || CPU_S5P6440)
Jassi Brard800ede2010-05-18 11:59:06 +0900435 help
Boojin Kimaa0de002011-09-02 09:44:34 +0900436 Use DMA device engine for PL330 DMAC.
Jassi Brard800ede2010-05-18 11:59:06 +0900437
Ben Dooks80057452010-01-20 12:29:25 +0900438comment "Power management"
439
440config SAMSUNG_PM_DEBUG
441 bool "S3C2410 PM Suspend debug"
442 depends on PM
Maurus Cuelenaere3cd21f62012-04-14 07:42:04 -0700443 select DEBUG_LL
Ben Dooks80057452010-01-20 12:29:25 +0900444 help
445 Say Y here if you want verbose debugging from the PM Suspend and
446 Resume code. See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt>
447 for more information.
448
449config S3C_PM_DEBUG_LED_SMDK
450 bool "SMDK LED suspend/resume debugging"
451 depends on PM && (MACH_SMDK6410)
452 help
453 Say Y here to enable the use of the SMDK LEDs on the baseboard
454 for debugging of the state of the suspend and resume process.
455
456 Note, this currently only works for S3C64XX based SMDK boards.
457
458config SAMSUNG_PM_CHECK
459 bool "S3C2410 PM Suspend Memory CRC"
460 depends on PM && CRC32
461 help
462 Enable the PM code's memory area checksum over sleep. This option
463 will generate CRCs of all blocks of memory, and store them before
464 going to sleep. The blocks are then checked on resume for any
465 errors.
466
467 Note, this can take several seconds depending on memory size
468 and CPU speed.
469
470 See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt>
471
472config SAMSUNG_PM_CHECK_CHUNKSIZE
473 int "S3C2410 PM Suspend CRC Chunksize (KiB)"
474 depends on PM && SAMSUNG_PM_CHECK
475 default 64
476 help
477 Set the chunksize in Kilobytes of the CRC for checking memory
478 corruption over suspend and resume. A smaller value will mean that
479 the CRC data block will take more memory, but wil identify any
480 faults with better precision.
481
482 See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt>
483
Ben Dooks0317e522010-05-20 14:05:33 +0900484config SAMSUNG_WAKEMASK
485 bool
486 depends on PM
487 help
488 Compile support for wakeup-mask controls found on the S3C6400
489 and above. This code allows a set of interrupt to wakeup-mask
490 mappings. See <plat/wakeup-mask.h>
491
Kukjin Kim8eadcf72012-04-15 21:57:38 -0700492config S5P_PM
493 bool
494 help
495 Common code for power management support on S5P and newer SoCs
496 Note: Do not select this for S5P6440 and S5P6450.
497
498config S5P_SLEEP
499 bool
500 help
501 Internal config node to apply common S5P sleep management code.
502 Can be selected by S5P and newer SoCs with similar sleep procedure.
503
Will Deacon952aeeb22011-08-16 22:28:54 +0100504config DEBUG_S3C_UART
505 depends on PLAT_SAMSUNG
506 int
507 default "0" if DEBUG_S3C_UART0
508 default "1" if DEBUG_S3C_UART1
509 default "2" if DEBUG_S3C_UART2
Olof Johansson5fa23dd2012-11-22 14:24:04 +0900510 default "3" if DEBUG_S3C_UART3
Will Deacon952aeeb22011-08-16 22:28:54 +0100511
Ben Dookscf383672009-11-10 00:14:58 +0000512endif