blob: ca27cc9ac4bff0218ff909d2f018cdbaeafe5b5a [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
Tomasz Figae245f962013-06-19 01:26:42 +09009 depends on PLAT_S3C24XX || ARCH_S3C64XX || PLAT_S5P || ARCH_EXYNOS
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
Tomasz Figae245f962013-06-19 01:26:42 +090018 depends on (ARCH_S5P64X0 || ARCH_S5PC100 || ARCH_S5PV210)
Kukjin Kim199642b2012-05-13 07:11:38 +090019 default y
Russell Kingb1b3f492012-10-06 17:12:25 +010020 select ARCH_REQUIRE_GPIOLIB
Tomasz Figae245f962013-06-19 01:26:42 +090021 select ARM_VIC
Kukjin Kim199642b2012-05-13 07:11:38 +090022 select NO_IOPORT
Russell Kingb1b3f492012-10-06 17:12:25 +010023 select PLAT_SAMSUNG
Kukjin Kim199642b2012-05-13 07:11:38 +090024 select S3C_GPIO_TRACK
25 select S5P_GPIO_DRVSTR
Thomas Abraham6e6aac72013-03-09 17:03:05 +090026 select SAMSUNG_CLKSRC if !COMMON_CLK
Russell Kingb1b3f492012-10-06 17:12:25 +010027 select SAMSUNG_GPIOLIB_4BIT
Kukjin Kim199642b2012-05-13 07:11:38 +090028 select SAMSUNG_IRQ_VIC_TIMER
29 help
30 Base platform code for Samsung's S5P series SoC.
31
Ben Dookscf383672009-11-10 00:14:58 +000032if PLAT_SAMSUNG
33
Ben Dooks89f1fa02010-01-29 09:02:17 +000034# boot configurations
35
36comment "Boot options"
37
Ben Dooks89f1fa02010-01-29 09:02:17 +000038config S3C_BOOT_ERROR_RESET
39 bool "S3C Reboot on decompression error"
40 help
41 Say y here to use the watchdog to reset the system if the
42 kernel decompressor detects an error during decompression.
43
44config S3C_BOOT_UART_FORCE_FIFO
45 bool "Force UART FIFO on during boot process"
46 default y
47 help
48 Say Y here to force the UART FIFOs on during the kernel
49 uncompressor
50
51
52config S3C_LOWLEVEL_UART_PORT
53 int "S3C UART to use for low-level messages"
54 default 0
55 help
56 Choice of which UART port to use for the low-level messages,
57 such as the `Uncompressing...` at start time. The value of
58 this configuration should be between zero and two. The port
59 must have been initialised by the boot-loader before use.
60
Tomasz Figacd8dc7a2013-06-15 09:01:49 +090061config SAMSUNG_ATAGS
62 def_bool n
63 depends on !ARCH_MULTIPLATFORM
64 depends on ATAGS
65 help
66 This option enables ATAGS based boot support code for
67 Samsung platforms, including static platform devices, legacy
68 clock, timer and interrupt initialization, etc.
69
70 Platforms that support only DT based boot need not to select
71 this option.
72
73if SAMSUNG_ATAGS
74
Kukjin Kim33bf3322012-04-17 11:20:49 -070075# timer options
76
Romain Naourc1fcd402013-01-09 18:47:03 -080077config SAMSUNG_HRT
Kukjin Kim33bf3322012-04-17 11:20:49 -070078 bool
79 select SAMSUNG_DEV_PWM
80 help
81 Use the High Resolution timer support
82
Ben Dooks89f1fa02010-01-29 09:02:17 +000083# clock options
84
Mark Brown2aa1ecf2012-07-12 16:57:19 +090085config SAMSUNG_CLOCK
86 bool
87 default y if !COMMON_CLK
88
Harald Welteaa9ad6a2009-12-01 01:24:34 +000089config SAMSUNG_CLKSRC
90 bool
91 help
92 Select the clock code for the clksrc implementation
93 used by newer systems such as the S3C64XX.
Ben Dookscf383672009-11-10 00:14:58 +000094
Kukjin Kimbf46aae2012-04-15 21:13:29 -070095config S5P_CLOCK
Thomas Abraham6e6aac72013-03-09 17:03:05 +090096 def_bool (ARCH_S5P64X0 || ARCH_S5PC100 || ARCH_S5PV210)
Kukjin Kimbf46aae2012-04-15 21:13:29 -070097 help
98 Support common clock part for ARCH_S5P and ARCH_EXYNOS SoCs
99
Ben Dooks7162ba02010-01-06 10:14:51 +0900100# options for IRQ support
101
102config SAMSUNG_IRQ_VIC_TIMER
103 bool
104 help
105 Internal configuration to build the VIC timer interrupt code.
106
Kukjin Kim68ae8992012-04-15 21:40:33 -0700107config S5P_IRQ
Tomasz Figa278c8002013-04-23 17:46:31 +0200108 def_bool (ARCH_S5P64X0 || ARCH_S5PC100 || ARCH_S5PV210)
Kukjin Kim68ae8992012-04-15 21:40:33 -0700109 help
Tomasz Figa278c8002013-04-23 17:46:31 +0200110 Support common interrupt part for ARCH_S5P SoCs
Kukjin Kim68ae8992012-04-15 21:40:33 -0700111
112config S5P_EXT_INT
113 bool
114 help
115 Use the external interrupts (other than GPIO interrupts.)
116 Note: Do not choose this for S5P6440 and S5P6450.
117
118config S5P_GPIO_INT
119 bool
120 help
121 Common code for the GPIO interrupts (other than external interrupts.)
122
Ben Dooks4f830db2010-01-06 02:28:20 +0900123# options for gpio configuration support
124
Kukjin Kim1f323cf2010-01-19 15:30:54 +0900125config SAMSUNG_GPIOLIB_4BIT
126 bool
127 help
128 GPIOlib file contains the 4 bit modification functions for gpio
129 configuration. GPIOlib shall be compiled only for S3C64XX and S5P
130 series of processors.
131
Marek Szyprowski838c6d492010-05-18 12:23:36 +0200132config S5P_GPIO_DRVSTR
133 bool
134 help
135 Internal configuration to get and set correct GPIO driver strength
136 helper
137
Kukjin Kim85841bc2010-01-11 12:21:51 +0900138config SAMSUNG_GPIO_EXTRA
139 int "Number of additional GPIO pins"
Mark Brown4ff13992011-11-03 16:15:38 +0900140 default 128 if SAMSUNG_GPIO_EXTRA128
141 default 64 if SAMSUNG_GPIO_EXTRA64
Kukjin Kim85841bc2010-01-11 12:21:51 +0900142 default 0
143 help
144 Use additional GPIO space in addition to the GPIO's the SOC
145 provides. This allows expanding the GPIO space for use with
146 GPIO expanders.
147
Mark Brown4ff13992011-11-03 16:15:38 +0900148config SAMSUNG_GPIO_EXTRA64
149 bool
150
151config SAMSUNG_GPIO_EXTRA128
152 bool
153
Ben Dooks89f1fa02010-01-29 09:02:17 +0000154config S3C_GPIO_SPACE
155 int "Space between gpio banks"
156 default 0
157 help
158 Add a number of spare GPIO entries between each bank for debugging
159 purposes. This allows any problems where an counter overflows from
160 one bank to another to be caught, at the expense of using a little
161 more memory.
162
163config S3C_GPIO_TRACK
164 bool
165 help
166 Internal configuration option to enable the s3c specific gpio
167 chip tracking if the platform requires it.
168
Kukjin Kimcfe370f2012-04-17 20:05:19 -0700169# uart options
170
171config S5P_DEV_UART
172 def_bool y
173 depends on (ARCH_S5P64X0 || ARCH_S5PC100 || ARCH_S5PV210)
174
Maurus Cuelenaere3929e1e2010-01-14 00:30:31 +0100175# ADC driver
176
177config S3C_ADC
178 bool "ADC common driver support"
179 help
180 Core support for the ADC block found in the Samsung SoC systems
181 for drivers such as the touchscreen and hwmon to use to share
182 this resource.
183
Ben Dooksb6a60412010-01-06 02:45:09 +0900184# device definitions to compile in
185
186config S3C_DEV_HSMMC
187 bool
188 help
189 Compile in platform device definitions for HSMMC code
190
191config S3C_DEV_HSMMC1
192 bool
193 help
194 Compile in platform device definitions for HSMMC channel 1
195
196config S3C_DEV_HSMMC2
197 bool
198 help
199 Compile in platform device definitions for HSMMC channel 2
200
Hyuk Leeb3c674b2010-06-10 15:22:16 +0900201config S3C_DEV_HSMMC3
202 bool
203 help
204 Compile in platform device definitions for HSMMC channel 3
205
Maurus Cuelenaere6cd82ff2010-05-04 13:12:32 +0200206config S3C_DEV_HWMON
207 bool
208 help
209 Compile in platform device definitions for HWMON
210
Ben Dooksb6a60412010-01-06 02:45:09 +0900211config S3C_DEV_I2C1
212 bool
213 help
214 Compile in platform device definitions for I2C channel 1
215
Marek Szyprowskic8d833b2010-05-20 08:13:06 +0200216config S3C_DEV_I2C2
217 bool
218 help
219 Compile in platform device definitions for I2C channel 2
220
Kyungmin Parkb7a98252010-10-12 07:49:24 +0900221config S3C_DEV_I2C3
222 bool
223 help
224 Compile in platform device definition for I2C controller 3
225
226config S3C_DEV_I2C4
227 bool
228 help
229 Compile in platform device definition for I2C controller 4
230
231config S3C_DEV_I2C5
232 bool
233 help
234 Compile in platform device definition for I2C controller 5
235
236config S3C_DEV_I2C6
237 bool
238 help
239 Compile in platform device definition for I2C controller 6
240
241config S3C_DEV_I2C7
242 bool
243 help
244 Compile in platform device definition for I2C controller 7
245
Ben Dooksb6a60412010-01-06 02:45:09 +0900246config S3C_DEV_FB
247 bool
248 help
249 Compile in platform device definition for framebuffer
250
251config S3C_DEV_USB_HOST
252 bool
253 help
254 Compile in platform device definition for USB host.
255
256config S3C_DEV_USB_HSOTG
257 bool
258 help
259 Compile in platform device definition for USB high-speed OtG
260
Banajit Goswamie1d5c932010-05-19 15:42:29 +0900261config S3C_DEV_WDT
262 bool
Kukjin Kimb130d5c2012-02-03 14:29:23 +0900263 default y if ARCH_S3C24XX
Banajit Goswamie1d5c932010-05-19 15:42:29 +0900264 help
265 Complie in platform device definition for Watchdog Timer
266
Ben Dooksb6a60412010-01-06 02:45:09 +0900267config S3C_DEV_NAND
268 bool
269 help
270 Compile in platform device definition for NAND controller
271
Marek Szyprowski999304b2010-05-20 08:59:05 +0200272config S3C_DEV_ONENAND
273 bool
274 help
275 Compile in platform device definition for OneNAND controller
276
Atul Dahiyaadc0950c2010-05-18 14:58:56 +0900277config S3C_DEV_RTC
278 bool
279 help
280 Complie in platform device definition for RTC
281
Naveen Krishna4f7cdc32010-05-13 22:06:36 +0900282config SAMSUNG_DEV_ADC
283 bool
284 help
285 Compile in platform device definition for ADC controller
286
Abhilash Kesavandb900052010-06-08 16:38:20 +0900287config SAMSUNG_DEV_IDE
288 bool
289 help
290 Compile in platform device definitions for IDE
291
Padmavathi Venna875a5932011-12-23 10:14:31 +0900292config S3C64XX_DEV_SPI0
Jassi Brar4b4c6622010-01-28 17:14:49 +0900293 bool
294 help
295 Compile in platform device definitions for S3C64XX's type
Padmavathi Venna875a5932011-12-23 10:14:31 +0900296 SPI controller 0
297
298config S3C64XX_DEV_SPI1
299 bool
300 help
301 Compile in platform device definitions for S3C64XX's type
302 SPI controller 1
303
304config S3C64XX_DEV_SPI2
305 bool
306 help
307 Compile in platform device definitions for S3C64XX's type
308 SPI controller 2
Jassi Brar4b4c6622010-01-28 17:14:49 +0900309
Ben Dooks2b6c02a2010-05-19 14:36:28 +0900310config SAMSUNG_DEV_TS
Maurus Cuelenaere909de0d2010-05-04 13:12:44 +0200311 bool
312 help
Ben Dooks2b6c02a2010-05-19 14:36:28 +0900313 Common in platform device definitions for touchscreen device
Maurus Cuelenaere909de0d2010-05-04 13:12:44 +0200314
Joonyoung Shim995c48a2010-08-06 19:26:10 +0900315config SAMSUNG_DEV_KEYPAD
316 bool
317 help
318 Compile in platform device definitions for keypad
319
Banajit Goswami2ce30132011-02-28 22:24:51 +0530320config SAMSUNG_DEV_PWM
321 bool
Kukjin Kimb130d5c2012-02-03 14:29:23 +0900322 default y if ARCH_S3C24XX
Banajit Goswami2ce30132011-02-28 22:24:51 +0530323 help
324 Compile in platform device definition for PWM Timer
325
Banajit Goswamif00207b2011-07-20 23:44:21 +0900326config SAMSUNG_DEV_BACKLIGHT
327 bool
328 depends on SAMSUNG_DEV_PWM
329 help
330 Compile in platform device definition LCD backlight with PWM Timer
331
Kukjin Kime033ca92012-04-17 20:39:10 -0700332config S5P_DEV_CSIS0
333 bool
334 help
335 Compile in platform device definitions for MIPI-CSIS channel 0
336
337config S5P_DEV_CSIS1
338 bool
339 help
340 Compile in platform device definitions for MIPI-CSIS channel 1
341
342config S5P_DEV_FIMC0
343 bool
344 help
345 Compile in platform device definitions for FIMC controller 0
346
347config S5P_DEV_FIMC1
348 bool
349 help
350 Compile in platform device definitions for FIMC controller 1
351
352config S5P_DEV_FIMC2
353 bool
354 help
355 Compile in platform device definitions for FIMC controller 2
356
357config S5P_DEV_FIMC3
358 bool
359 help
360 Compile in platform device definitions for FIMC controller 3
361
362config S5P_DEV_FIMD0
363 bool
364 help
365 Compile in platform device definitions for FIMD controller 0
366
367config S5P_DEV_G2D
368 bool
369 help
370 Compile in platform device definitions for G2D device
371
372config S5P_DEV_I2C_HDMIPHY
373 bool
374 help
375 Compile in platform device definitions for I2C HDMIPHY controller
376
377config S5P_DEV_JPEG
378 bool
379 help
380 Compile in platform device definitions for JPEG codec
381
Kukjin Kime033ca92012-04-17 20:39:10 -0700382config S5P_DEV_ONENAND
383 bool
384 help
385 Compile in platform device definition for OneNAND controller
386
387config S5P_DEV_TV
388 bool
389 help
390 Compile in platform device definition for TV interface
391
392config S5P_DEV_USB_EHCI
393 bool
394 help
395 Compile in platform device definition for USB EHCI
396
Banajit Goswami2ce30132011-02-28 22:24:51 +0530397config S3C24XX_PWM
398 bool "PWM device support"
Arnd Bergmann35e79062012-08-04 07:52:19 +0000399 select PWM
400 select PWM_SAMSUNG
Banajit Goswami2ce30132011-02-28 22:24:51 +0530401 help
402 Support for exporting the PWM timer blocks via the pwm device
403 system
404
Kukjin Kimd9c452f2012-04-17 20:21:30 -0700405config S5P_SETUP_MIPIPHY
406 bool
407 help
408 Compile in common setup code for MIPI-CSIS and MIPI-DSIM devices
409
Sylwester Nawrockie51d5482012-11-22 14:29:18 +0900410config S3C_SETUP_CAMIF
411 bool
412 help
413 Compile in common setup code for S3C CAMIF devices
414
Ben Dooks89f1fa02010-01-29 09:02:17 +0000415# DMA
416
417config S3C_DMA
418 bool
419 help
420 Internal configuration for S3C DMA core
421
Tomasz Figa105dddb2013-06-19 01:24:12 +0900422config S5P_IRQ_PM
423 bool
424 default y if S5P_PM
425 help
426 Legacy IRQ power management for S5P platforms
427
428config SAMSUNG_PM_GPIO
429 bool
430 default y if GPIO_SAMSUNG && PM
431 help
432 Include legacy GPIO power management code for platforms not using
433 pinctrl-samsung driver.
434
Tomasz Figacd8dc7a2013-06-15 09:01:49 +0900435endif
436
Boojin Kimaa0de002011-09-02 09:44:34 +0900437config SAMSUNG_DMADEV
Jassi Brard800ede2010-05-18 11:59:06 +0900438 bool
Russell Kingb1b3f492012-10-06 17:12:25 +0100439 select ARM_AMBA
Boojin Kimaa0de002011-09-02 09:44:34 +0900440 select DMADEVICES
Boojin Kim20ef9e02012-05-12 16:40:52 +0900441 select PL330_DMA if (ARCH_EXYNOS5 || ARCH_EXYNOS4 || CPU_S5PV210 || CPU_S5PC100 || \
Boojin Kimaa0de002011-09-02 09:44:34 +0900442 CPU_S5P6450 || CPU_S5P6440)
Jassi Brard800ede2010-05-18 11:59:06 +0900443 help
Boojin Kimaa0de002011-09-02 09:44:34 +0900444 Use DMA device engine for PL330 DMAC.
Jassi Brard800ede2010-05-18 11:59:06 +0900445
Tomasz Figacd8dc7a2013-06-15 09:01:49 +0900446config S5P_DEV_MFC
447 bool
448 help
449 Compile in setup memory (init) code for MFC
450
Ben Dooks80057452010-01-20 12:29:25 +0900451comment "Power management"
452
453config SAMSUNG_PM_DEBUG
454 bool "S3C2410 PM Suspend debug"
455 depends on PM
Maurus Cuelenaere3cd21f62012-04-14 07:42:04 -0700456 select DEBUG_LL
Ben Dooks80057452010-01-20 12:29:25 +0900457 help
458 Say Y here if you want verbose debugging from the PM Suspend and
459 Resume code. See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt>
460 for more information.
461
462config S3C_PM_DEBUG_LED_SMDK
463 bool "SMDK LED suspend/resume debugging"
464 depends on PM && (MACH_SMDK6410)
465 help
466 Say Y here to enable the use of the SMDK LEDs on the baseboard
467 for debugging of the state of the suspend and resume process.
468
469 Note, this currently only works for S3C64XX based SMDK boards.
470
471config SAMSUNG_PM_CHECK
472 bool "S3C2410 PM Suspend Memory CRC"
473 depends on PM && CRC32
474 help
475 Enable the PM code's memory area checksum over sleep. This option
476 will generate CRCs of all blocks of memory, and store them before
477 going to sleep. The blocks are then checked on resume for any
478 errors.
479
480 Note, this can take several seconds depending on memory size
481 and CPU speed.
482
483 See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt>
484
485config SAMSUNG_PM_CHECK_CHUNKSIZE
486 int "S3C2410 PM Suspend CRC Chunksize (KiB)"
487 depends on PM && SAMSUNG_PM_CHECK
488 default 64
489 help
490 Set the chunksize in Kilobytes of the CRC for checking memory
491 corruption over suspend and resume. A smaller value will mean that
492 the CRC data block will take more memory, but wil identify any
493 faults with better precision.
494
495 See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt>
496
Ben Dooks0317e522010-05-20 14:05:33 +0900497config SAMSUNG_WAKEMASK
498 bool
499 depends on PM
500 help
501 Compile support for wakeup-mask controls found on the S3C6400
502 and above. This code allows a set of interrupt to wakeup-mask
503 mappings. See <plat/wakeup-mask.h>
504
Kukjin Kim8eadcf72012-04-15 21:57:38 -0700505config S5P_PM
506 bool
507 help
508 Common code for power management support on S5P and newer SoCs
509 Note: Do not select this for S5P6440 and S5P6450.
510
511config S5P_SLEEP
512 bool
513 help
514 Internal config node to apply common S5P sleep management code.
515 Can be selected by S5P and newer SoCs with similar sleep procedure.
516
Will Deacon952aeeb22011-08-16 22:28:54 +0100517config DEBUG_S3C_UART
518 depends on PLAT_SAMSUNG
519 int
520 default "0" if DEBUG_S3C_UART0
521 default "1" if DEBUG_S3C_UART1
522 default "2" if DEBUG_S3C_UART2
Olof Johansson5fa23dd2012-11-22 14:24:04 +0900523 default "3" if DEBUG_S3C_UART3
Will Deacon952aeeb22011-08-16 22:28:54 +0100524
Ben Dookscf383672009-11-10 00:14:58 +0000525endif