blob: 243dfcb2ca0ec191f1c6b27e3071c0098f181a94 [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
Uwe Kleine-Königce816fa2014-04-07 15:39:19 -070012 select NO_IOPORT_MAP
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
Uwe Kleine-Königce816fa2014-04-07 15:39:19 -070022 select NO_IOPORT_MAP
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
Kukjin Kim199642b2012-05-13 07:11:38 +090027 help
28 Base platform code for Samsung's S5P series SoC.
29
Amit Daniel Kachhap89693012013-07-24 14:06:13 +090030config SAMSUNG_PM
31 bool
32 depends on PM && (PLAT_S3C24XX || ARCH_S3C64XX || ARCH_S5P64X0 || S5P_PM)
33 default y
34 help
35 Base platform power management code for samsung code
36
Ben Dookscf383672009-11-10 00:14:58 +000037if PLAT_SAMSUNG
38
Ben Dooks89f1fa02010-01-29 09:02:17 +000039# boot configurations
40
41comment "Boot options"
42
Ben Dooks89f1fa02010-01-29 09:02:17 +000043config S3C_BOOT_ERROR_RESET
44 bool "S3C Reboot on decompression error"
45 help
46 Say y here to use the watchdog to reset the system if the
47 kernel decompressor detects an error during decompression.
48
49config S3C_BOOT_UART_FORCE_FIFO
50 bool "Force UART FIFO on during boot process"
51 default y
52 help
53 Say Y here to force the UART FIFOs on during the kernel
54 uncompressor
55
56
57config S3C_LOWLEVEL_UART_PORT
58 int "S3C UART to use for low-level messages"
59 default 0
60 help
61 Choice of which UART port to use for the low-level messages,
62 such as the `Uncompressing...` at start time. The value of
63 this configuration should be between zero and two. The port
64 must have been initialised by the boot-loader before use.
65
Tomasz Figacd8dc7a2013-06-15 09:01:49 +090066config SAMSUNG_ATAGS
67 def_bool n
68 depends on !ARCH_MULTIPLATFORM
69 depends on ATAGS
70 help
71 This option enables ATAGS based boot support code for
72 Samsung platforms, including static platform devices, legacy
73 clock, timer and interrupt initialization, etc.
74
75 Platforms that support only DT based boot need not to select
76 this option.
77
78if SAMSUNG_ATAGS
79
Ben Dooks89f1fa02010-01-29 09:02:17 +000080# clock options
81
Mark Brown2aa1ecf2012-07-12 16:57:19 +090082config SAMSUNG_CLOCK
83 bool
84 default y if !COMMON_CLK
85
Harald Welteaa9ad6a2009-12-01 01:24:34 +000086config SAMSUNG_CLKSRC
87 bool
88 help
89 Select the clock code for the clksrc implementation
90 used by newer systems such as the S3C64XX.
Ben Dookscf383672009-11-10 00:14:58 +000091
Kukjin Kimbf46aae2012-04-15 21:13:29 -070092config S5P_CLOCK
Thomas Abraham6e6aac72013-03-09 17:03:05 +090093 def_bool (ARCH_S5P64X0 || ARCH_S5PC100 || ARCH_S5PV210)
Kukjin Kimbf46aae2012-04-15 21:13:29 -070094 help
95 Support common clock part for ARCH_S5P and ARCH_EXYNOS SoCs
96
Ben Dooks7162ba02010-01-06 10:14:51 +090097# options for IRQ support
98
Kukjin Kim68ae8992012-04-15 21:40:33 -070099config S5P_IRQ
Tomasz Figa278c8002013-04-23 17:46:31 +0200100 def_bool (ARCH_S5P64X0 || ARCH_S5PC100 || ARCH_S5PV210)
Kukjin Kim68ae8992012-04-15 21:40:33 -0700101 help
Tomasz Figa278c8002013-04-23 17:46:31 +0200102 Support common interrupt part for ARCH_S5P SoCs
Kukjin Kim68ae8992012-04-15 21:40:33 -0700103
104config S5P_EXT_INT
105 bool
106 help
107 Use the external interrupts (other than GPIO interrupts.)
108 Note: Do not choose this for S5P6440 and S5P6450.
109
110config S5P_GPIO_INT
111 bool
112 help
113 Common code for the GPIO interrupts (other than external interrupts.)
114
Ben Dooks4f830db2010-01-06 02:28:20 +0900115# options for gpio configuration support
116
Marek Szyprowski838c6d492010-05-18 12:23:36 +0200117config S5P_GPIO_DRVSTR
118 bool
119 help
120 Internal configuration to get and set correct GPIO driver strength
121 helper
122
Kukjin Kim85841bc2010-01-11 12:21:51 +0900123config SAMSUNG_GPIO_EXTRA
124 int "Number of additional GPIO pins"
Mark Brown4ff13992011-11-03 16:15:38 +0900125 default 128 if SAMSUNG_GPIO_EXTRA128
126 default 64 if SAMSUNG_GPIO_EXTRA64
Kukjin Kim85841bc2010-01-11 12:21:51 +0900127 default 0
128 help
129 Use additional GPIO space in addition to the GPIO's the SOC
130 provides. This allows expanding the GPIO space for use with
131 GPIO expanders.
132
Mark Brown4ff13992011-11-03 16:15:38 +0900133config SAMSUNG_GPIO_EXTRA64
134 bool
135
136config SAMSUNG_GPIO_EXTRA128
137 bool
138
Ben Dooks89f1fa02010-01-29 09:02:17 +0000139config S3C_GPIO_SPACE
140 int "Space between gpio banks"
141 default 0
142 help
143 Add a number of spare GPIO entries between each bank for debugging
144 purposes. This allows any problems where an counter overflows from
145 one bank to another to be caught, at the expense of using a little
146 more memory.
147
148config S3C_GPIO_TRACK
149 bool
150 help
151 Internal configuration option to enable the s3c specific gpio
152 chip tracking if the platform requires it.
153
Kukjin Kimcfe370f2012-04-17 20:05:19 -0700154# uart options
155
156config S5P_DEV_UART
157 def_bool y
158 depends on (ARCH_S5P64X0 || ARCH_S5PC100 || ARCH_S5PV210)
159
Maurus Cuelenaere3929e1e2010-01-14 00:30:31 +0100160# ADC driver
161
162config S3C_ADC
163 bool "ADC common driver support"
164 help
165 Core support for the ADC block found in the Samsung SoC systems
166 for drivers such as the touchscreen and hwmon to use to share
167 this resource.
168
Ben Dooksb6a60412010-01-06 02:45:09 +0900169# device definitions to compile in
170
171config S3C_DEV_HSMMC
172 bool
173 help
174 Compile in platform device definitions for HSMMC code
175
176config S3C_DEV_HSMMC1
177 bool
178 help
179 Compile in platform device definitions for HSMMC channel 1
180
181config S3C_DEV_HSMMC2
182 bool
183 help
184 Compile in platform device definitions for HSMMC channel 2
185
Hyuk Leeb3c674b2010-06-10 15:22:16 +0900186config S3C_DEV_HSMMC3
187 bool
188 help
189 Compile in platform device definitions for HSMMC channel 3
190
Maurus Cuelenaere6cd82ff2010-05-04 13:12:32 +0200191config S3C_DEV_HWMON
192 bool
193 help
194 Compile in platform device definitions for HWMON
195
Ben Dooksb6a60412010-01-06 02:45:09 +0900196config S3C_DEV_I2C1
197 bool
198 help
199 Compile in platform device definitions for I2C channel 1
200
Marek Szyprowskic8d833b2010-05-20 08:13:06 +0200201config S3C_DEV_I2C2
202 bool
203 help
204 Compile in platform device definitions for I2C channel 2
205
Kyungmin Parkb7a98252010-10-12 07:49:24 +0900206config S3C_DEV_I2C3
207 bool
208 help
209 Compile in platform device definition for I2C controller 3
210
211config S3C_DEV_I2C4
212 bool
213 help
214 Compile in platform device definition for I2C controller 4
215
216config S3C_DEV_I2C5
217 bool
218 help
219 Compile in platform device definition for I2C controller 5
220
221config S3C_DEV_I2C6
222 bool
223 help
224 Compile in platform device definition for I2C controller 6
225
226config S3C_DEV_I2C7
227 bool
228 help
229 Compile in platform device definition for I2C controller 7
230
Ben Dooksb6a60412010-01-06 02:45:09 +0900231config S3C_DEV_FB
232 bool
233 help
234 Compile in platform device definition for framebuffer
235
236config S3C_DEV_USB_HOST
237 bool
238 help
239 Compile in platform device definition for USB host.
240
241config S3C_DEV_USB_HSOTG
242 bool
243 help
244 Compile in platform device definition for USB high-speed OtG
245
Banajit Goswamie1d5c932010-05-19 15:42:29 +0900246config S3C_DEV_WDT
247 bool
Kukjin Kimb130d5c2012-02-03 14:29:23 +0900248 default y if ARCH_S3C24XX
Banajit Goswamie1d5c932010-05-19 15:42:29 +0900249 help
250 Complie in platform device definition for Watchdog Timer
251
Ben Dooksb6a60412010-01-06 02:45:09 +0900252config S3C_DEV_NAND
253 bool
254 help
255 Compile in platform device definition for NAND controller
256
Marek Szyprowski999304b2010-05-20 08:59:05 +0200257config S3C_DEV_ONENAND
258 bool
259 help
260 Compile in platform device definition for OneNAND controller
261
Atul Dahiyaadc0950c2010-05-18 14:58:56 +0900262config S3C_DEV_RTC
263 bool
264 help
265 Complie in platform device definition for RTC
266
Naveen Krishna4f7cdc32010-05-13 22:06:36 +0900267config SAMSUNG_DEV_ADC
268 bool
269 help
270 Compile in platform device definition for ADC controller
271
Abhilash Kesavandb900052010-06-08 16:38:20 +0900272config SAMSUNG_DEV_IDE
273 bool
274 help
275 Compile in platform device definitions for IDE
276
Padmavathi Venna875a5932011-12-23 10:14:31 +0900277config S3C64XX_DEV_SPI0
Jassi Brar4b4c6622010-01-28 17:14:49 +0900278 bool
279 help
280 Compile in platform device definitions for S3C64XX's type
Padmavathi Venna875a5932011-12-23 10:14:31 +0900281 SPI controller 0
282
283config S3C64XX_DEV_SPI1
284 bool
285 help
286 Compile in platform device definitions for S3C64XX's type
287 SPI controller 1
288
289config S3C64XX_DEV_SPI2
290 bool
291 help
292 Compile in platform device definitions for S3C64XX's type
293 SPI controller 2
Jassi Brar4b4c6622010-01-28 17:14:49 +0900294
Ben Dooks2b6c02a2010-05-19 14:36:28 +0900295config SAMSUNG_DEV_TS
Maurus Cuelenaere909de0d2010-05-04 13:12:44 +0200296 bool
297 help
Ben Dooks2b6c02a2010-05-19 14:36:28 +0900298 Common in platform device definitions for touchscreen device
Maurus Cuelenaere909de0d2010-05-04 13:12:44 +0200299
Joonyoung Shim995c48a2010-08-06 19:26:10 +0900300config SAMSUNG_DEV_KEYPAD
301 bool
302 help
303 Compile in platform device definitions for keypad
304
Banajit Goswami2ce30132011-02-28 22:24:51 +0530305config SAMSUNG_DEV_PWM
306 bool
Kukjin Kimb130d5c2012-02-03 14:29:23 +0900307 default y if ARCH_S3C24XX
Banajit Goswami2ce30132011-02-28 22:24:51 +0530308 help
309 Compile in platform device definition for PWM Timer
310
Banajit Goswamif00207b2011-07-20 23:44:21 +0900311config SAMSUNG_DEV_BACKLIGHT
312 bool
313 depends on SAMSUNG_DEV_PWM
314 help
315 Compile in platform device definition LCD backlight with PWM Timer
316
Kukjin Kime033ca92012-04-17 20:39:10 -0700317config S5P_DEV_CSIS0
318 bool
319 help
320 Compile in platform device definitions for MIPI-CSIS channel 0
321
322config S5P_DEV_CSIS1
323 bool
324 help
325 Compile in platform device definitions for MIPI-CSIS channel 1
326
327config S5P_DEV_FIMC0
328 bool
329 help
330 Compile in platform device definitions for FIMC controller 0
331
332config S5P_DEV_FIMC1
333 bool
334 help
335 Compile in platform device definitions for FIMC controller 1
336
337config S5P_DEV_FIMC2
338 bool
339 help
340 Compile in platform device definitions for FIMC controller 2
341
342config S5P_DEV_FIMC3
343 bool
344 help
345 Compile in platform device definitions for FIMC controller 3
346
347config S5P_DEV_FIMD0
348 bool
349 help
350 Compile in platform device definitions for FIMD controller 0
351
352config S5P_DEV_G2D
353 bool
354 help
355 Compile in platform device definitions for G2D device
356
357config S5P_DEV_I2C_HDMIPHY
358 bool
359 help
360 Compile in platform device definitions for I2C HDMIPHY controller
361
362config S5P_DEV_JPEG
363 bool
364 help
365 Compile in platform device definitions for JPEG codec
366
Kukjin Kime033ca92012-04-17 20:39:10 -0700367config S5P_DEV_ONENAND
368 bool
369 help
370 Compile in platform device definition for OneNAND controller
371
372config S5P_DEV_TV
373 bool
374 help
375 Compile in platform device definition for TV interface
376
Banajit Goswami2ce30132011-02-28 22:24:51 +0530377config S3C24XX_PWM
378 bool "PWM device support"
Arnd Bergmann35e79062012-08-04 07:52:19 +0000379 select PWM
380 select PWM_SAMSUNG
Banajit Goswami2ce30132011-02-28 22:24:51 +0530381 help
382 Support for exporting the PWM timer blocks via the pwm device
383 system
384
Sylwester Nawrockie51d5482012-11-22 14:29:18 +0900385config S3C_SETUP_CAMIF
386 bool
387 help
388 Compile in common setup code for S3C CAMIF devices
389
Ben Dooks89f1fa02010-01-29 09:02:17 +0000390# DMA
391
392config S3C_DMA
393 bool
394 help
395 Internal configuration for S3C DMA core
396
Tomasz Figa105dddb2013-06-19 01:24:12 +0900397config S5P_IRQ_PM
398 bool
399 default y if S5P_PM
400 help
401 Legacy IRQ power management for S5P platforms
402
403config SAMSUNG_PM_GPIO
404 bool
405 default y if GPIO_SAMSUNG && PM
406 help
407 Include legacy GPIO power management code for platforms not using
408 pinctrl-samsung driver.
409
Tomasz Figacd8dc7a2013-06-15 09:01:49 +0900410endif
411
Boojin Kimaa0de002011-09-02 09:44:34 +0900412config SAMSUNG_DMADEV
Jassi Brard800ede2010-05-18 11:59:06 +0900413 bool
Russell Kingb1b3f492012-10-06 17:12:25 +0100414 select ARM_AMBA
Boojin Kimaa0de002011-09-02 09:44:34 +0900415 select DMADEVICES
Boojin Kim20ef9e02012-05-12 16:40:52 +0900416 select PL330_DMA if (ARCH_EXYNOS5 || ARCH_EXYNOS4 || CPU_S5PV210 || CPU_S5PC100 || \
Boojin Kimaa0de002011-09-02 09:44:34 +0900417 CPU_S5P6450 || CPU_S5P6440)
Jassi Brard800ede2010-05-18 11:59:06 +0900418 help
Boojin Kimaa0de002011-09-02 09:44:34 +0900419 Use DMA device engine for PL330 DMAC.
Jassi Brard800ede2010-05-18 11:59:06 +0900420
Tomasz Figacd8dc7a2013-06-15 09:01:49 +0900421config S5P_DEV_MFC
422 bool
423 help
424 Compile in setup memory (init) code for MFC
425
Ben Dooks80057452010-01-20 12:29:25 +0900426comment "Power management"
427
428config SAMSUNG_PM_DEBUG
429 bool "S3C2410 PM Suspend debug"
Arnd Bergmannaf960152014-03-13 16:42:48 +0100430 depends on PM && DEBUG_KERNEL && DEBUG_S3C_UART
Ben Dooks80057452010-01-20 12:29:25 +0900431 help
432 Say Y here if you want verbose debugging from the PM Suspend and
433 Resume code. See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt>
434 for more information.
435
436config S3C_PM_DEBUG_LED_SMDK
437 bool "SMDK LED suspend/resume debugging"
438 depends on PM && (MACH_SMDK6410)
439 help
440 Say Y here to enable the use of the SMDK LEDs on the baseboard
441 for debugging of the state of the suspend and resume process.
442
443 Note, this currently only works for S3C64XX based SMDK boards.
444
445config SAMSUNG_PM_CHECK
446 bool "S3C2410 PM Suspend Memory CRC"
Arnd Bergmann714e3302014-03-18 10:02:26 +0100447 depends on PM
448 select CRC32
Ben Dooks80057452010-01-20 12:29:25 +0900449 help
450 Enable the PM code's memory area checksum over sleep. This option
451 will generate CRCs of all blocks of memory, and store them before
452 going to sleep. The blocks are then checked on resume for any
453 errors.
454
455 Note, this can take several seconds depending on memory size
456 and CPU speed.
457
458 See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt>
459
460config SAMSUNG_PM_CHECK_CHUNKSIZE
461 int "S3C2410 PM Suspend CRC Chunksize (KiB)"
462 depends on PM && SAMSUNG_PM_CHECK
463 default 64
464 help
465 Set the chunksize in Kilobytes of the CRC for checking memory
466 corruption over suspend and resume. A smaller value will mean that
467 the CRC data block will take more memory, but wil identify any
468 faults with better precision.
469
470 See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt>
471
Ben Dooks0317e522010-05-20 14:05:33 +0900472config SAMSUNG_WAKEMASK
473 bool
474 depends on PM
475 help
476 Compile support for wakeup-mask controls found on the S3C6400
477 and above. This code allows a set of interrupt to wakeup-mask
478 mappings. See <plat/wakeup-mask.h>
479
Tomasz Figaa4658e52013-06-17 23:45:33 +0900480config SAMSUNG_WDT_RESET
481 bool
482 help
483 Compile support for system restart by triggering watchdog reset.
484 Used on SoCs that do not provide dedicated reset control.
485
Kukjin Kim8eadcf72012-04-15 21:57:38 -0700486config S5P_PM
487 bool
488 help
489 Common code for power management support on S5P and newer SoCs
490 Note: Do not select this for S5P6440 and S5P6450.
491
492config S5P_SLEEP
493 bool
494 help
495 Internal config node to apply common S5P sleep management code.
496 Can be selected by S5P and newer SoCs with similar sleep procedure.
497
Will Deacon952aeeb22011-08-16 22:28:54 +0100498config DEBUG_S3C_UART
499 depends on PLAT_SAMSUNG
500 int
501 default "0" if DEBUG_S3C_UART0
502 default "1" if DEBUG_S3C_UART1
503 default "2" if DEBUG_S3C_UART2
Olof Johansson5fa23dd2012-11-22 14:24:04 +0900504 default "3" if DEBUG_S3C_UART3
Will Deacon952aeeb22011-08-16 22:28:54 +0100505
Ben Dookscf383672009-11-10 00:14:58 +0000506endif