blob: c0f0542e6dfc625eb4164ff1d6208532518af1b3 [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
Thomas Abraham6e6aac72013-03-09 17:03:05 +090028 select SAMSUNG_CLKSRC if !COMMON_CLK
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
Ben Dooks89f1fa02010-01-29 09:02:17 +000040config S3C_BOOT_ERROR_RESET
41 bool "S3C Reboot on decompression error"
42 help
43 Say y here to use the watchdog to reset the system if the
44 kernel decompressor detects an error during decompression.
45
46config S3C_BOOT_UART_FORCE_FIFO
47 bool "Force UART FIFO on during boot process"
48 default y
49 help
50 Say Y here to force the UART FIFOs on during the kernel
51 uncompressor
52
53
54config S3C_LOWLEVEL_UART_PORT
55 int "S3C UART to use for low-level messages"
56 default 0
57 help
58 Choice of which UART port to use for the low-level messages,
59 such as the `Uncompressing...` at start time. The value of
60 this configuration should be between zero and two. The port
61 must have been initialised by the boot-loader before use.
62
Tomasz Figacd8dc7a2013-06-15 09:01:49 +090063config SAMSUNG_ATAGS
64 def_bool n
65 depends on !ARCH_MULTIPLATFORM
66 depends on ATAGS
67 help
68 This option enables ATAGS based boot support code for
69 Samsung platforms, including static platform devices, legacy
70 clock, timer and interrupt initialization, etc.
71
72 Platforms that support only DT based boot need not to select
73 this option.
74
75if SAMSUNG_ATAGS
76
Kukjin Kim33bf3322012-04-17 11:20:49 -070077# timer options
78
Romain Naourc1fcd402013-01-09 18:47:03 -080079config SAMSUNG_HRT
Kukjin Kim33bf3322012-04-17 11:20:49 -070080 bool
81 select SAMSUNG_DEV_PWM
82 help
83 Use the High Resolution timer support
84
Ben Dooks89f1fa02010-01-29 09:02:17 +000085# clock options
86
Mark Brown2aa1ecf2012-07-12 16:57:19 +090087config SAMSUNG_CLOCK
88 bool
89 default y if !COMMON_CLK
90
Harald Welteaa9ad6a2009-12-01 01:24:34 +000091config SAMSUNG_CLKSRC
92 bool
93 help
94 Select the clock code for the clksrc implementation
95 used by newer systems such as the S3C64XX.
Ben Dookscf383672009-11-10 00:14:58 +000096
Kukjin Kimbf46aae2012-04-15 21:13:29 -070097config S5P_CLOCK
Thomas Abraham6e6aac72013-03-09 17:03:05 +090098 def_bool (ARCH_S5P64X0 || ARCH_S5PC100 || ARCH_S5PV210)
Kukjin Kimbf46aae2012-04-15 21:13:29 -070099 help
100 Support common clock part for ARCH_S5P and ARCH_EXYNOS SoCs
101
Ben Dooks7162ba02010-01-06 10:14:51 +0900102# options for IRQ support
103
104config SAMSUNG_IRQ_VIC_TIMER
105 bool
106 help
107 Internal configuration to build the VIC timer interrupt code.
108
Kukjin Kim68ae8992012-04-15 21:40:33 -0700109config S5P_IRQ
Tomasz Figa278c8002013-04-23 17:46:31 +0200110 def_bool (ARCH_S5P64X0 || ARCH_S5PC100 || ARCH_S5PV210)
Kukjin Kim68ae8992012-04-15 21:40:33 -0700111 help
Tomasz Figa278c8002013-04-23 17:46:31 +0200112 Support common interrupt part for ARCH_S5P SoCs
Kukjin Kim68ae8992012-04-15 21:40:33 -0700113
114config S5P_EXT_INT
115 bool
116 help
117 Use the external interrupts (other than GPIO interrupts.)
118 Note: Do not choose this for S5P6440 and S5P6450.
119
120config S5P_GPIO_INT
121 bool
122 help
123 Common code for the GPIO interrupts (other than external interrupts.)
124
Ben Dooks4f830db2010-01-06 02:28:20 +0900125# options for gpio configuration support
126
Kukjin Kim1f323cf2010-01-19 15:30:54 +0900127config SAMSUNG_GPIOLIB_4BIT
128 bool
129 help
130 GPIOlib file contains the 4 bit modification functions for gpio
131 configuration. GPIOlib shall be compiled only for S3C64XX and S5P
132 series of processors.
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 Kime033ca92012-04-17 20:39:10 -0700384config S5P_DEV_ONENAND
385 bool
386 help
387 Compile in platform device definition for OneNAND controller
388
389config S5P_DEV_TV
390 bool
391 help
392 Compile in platform device definition for TV interface
393
394config S5P_DEV_USB_EHCI
395 bool
396 help
397 Compile in platform device definition for USB EHCI
398
Banajit Goswami2ce30132011-02-28 22:24:51 +0530399config S3C24XX_PWM
400 bool "PWM device support"
Arnd Bergmann35e79062012-08-04 07:52:19 +0000401 select PWM
402 select PWM_SAMSUNG
Banajit Goswami2ce30132011-02-28 22:24:51 +0530403 help
404 Support for exporting the PWM timer blocks via the pwm device
405 system
406
Kukjin Kimd9c452f2012-04-17 20:21:30 -0700407config S5P_SETUP_MIPIPHY
408 bool
409 help
410 Compile in common setup code for MIPI-CSIS and MIPI-DSIM devices
411
Sylwester Nawrockie51d5482012-11-22 14:29:18 +0900412config S3C_SETUP_CAMIF
413 bool
414 help
415 Compile in common setup code for S3C CAMIF devices
416
Ben Dooks89f1fa02010-01-29 09:02:17 +0000417# DMA
418
419config S3C_DMA
420 bool
421 help
422 Internal configuration for S3C DMA core
423
Tomasz Figacd8dc7a2013-06-15 09:01:49 +0900424endif
425
Boojin Kimaa0de002011-09-02 09:44:34 +0900426config SAMSUNG_DMADEV
Jassi Brard800ede2010-05-18 11:59:06 +0900427 bool
Russell Kingb1b3f492012-10-06 17:12:25 +0100428 select ARM_AMBA
Boojin Kimaa0de002011-09-02 09:44:34 +0900429 select DMADEVICES
Boojin Kim20ef9e02012-05-12 16:40:52 +0900430 select PL330_DMA if (ARCH_EXYNOS5 || ARCH_EXYNOS4 || CPU_S5PV210 || CPU_S5PC100 || \
Boojin Kimaa0de002011-09-02 09:44:34 +0900431 CPU_S5P6450 || CPU_S5P6440)
Jassi Brard800ede2010-05-18 11:59:06 +0900432 help
Boojin Kimaa0de002011-09-02 09:44:34 +0900433 Use DMA device engine for PL330 DMAC.
Jassi Brard800ede2010-05-18 11:59:06 +0900434
Tomasz Figacd8dc7a2013-06-15 09:01:49 +0900435config S5P_DEV_MFC
436 bool
437 help
438 Compile in setup memory (init) code for MFC
439
Ben Dooks80057452010-01-20 12:29:25 +0900440comment "Power management"
441
442config SAMSUNG_PM_DEBUG
443 bool "S3C2410 PM Suspend debug"
444 depends on PM
Maurus Cuelenaere3cd21f62012-04-14 07:42:04 -0700445 select DEBUG_LL
Ben Dooks80057452010-01-20 12:29:25 +0900446 help
447 Say Y here if you want verbose debugging from the PM Suspend and
448 Resume code. See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt>
449 for more information.
450
451config S3C_PM_DEBUG_LED_SMDK
452 bool "SMDK LED suspend/resume debugging"
453 depends on PM && (MACH_SMDK6410)
454 help
455 Say Y here to enable the use of the SMDK LEDs on the baseboard
456 for debugging of the state of the suspend and resume process.
457
458 Note, this currently only works for S3C64XX based SMDK boards.
459
460config SAMSUNG_PM_CHECK
461 bool "S3C2410 PM Suspend Memory CRC"
462 depends on PM && CRC32
463 help
464 Enable the PM code's memory area checksum over sleep. This option
465 will generate CRCs of all blocks of memory, and store them before
466 going to sleep. The blocks are then checked on resume for any
467 errors.
468
469 Note, this can take several seconds depending on memory size
470 and CPU speed.
471
472 See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt>
473
474config SAMSUNG_PM_CHECK_CHUNKSIZE
475 int "S3C2410 PM Suspend CRC Chunksize (KiB)"
476 depends on PM && SAMSUNG_PM_CHECK
477 default 64
478 help
479 Set the chunksize in Kilobytes of the CRC for checking memory
480 corruption over suspend and resume. A smaller value will mean that
481 the CRC data block will take more memory, but wil identify any
482 faults with better precision.
483
484 See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt>
485
Ben Dooks0317e522010-05-20 14:05:33 +0900486config SAMSUNG_WAKEMASK
487 bool
488 depends on PM
489 help
490 Compile support for wakeup-mask controls found on the S3C6400
491 and above. This code allows a set of interrupt to wakeup-mask
492 mappings. See <plat/wakeup-mask.h>
493
Kukjin Kim8eadcf72012-04-15 21:57:38 -0700494config S5P_PM
495 bool
496 help
497 Common code for power management support on S5P and newer SoCs
498 Note: Do not select this for S5P6440 and S5P6450.
499
500config S5P_SLEEP
501 bool
502 help
503 Internal config node to apply common S5P sleep management code.
504 Can be selected by S5P and newer SoCs with similar sleep procedure.
505
Will Deacon952aeeb22011-08-16 22:28:54 +0100506config DEBUG_S3C_UART
507 depends on PLAT_SAMSUNG
508 int
509 default "0" if DEBUG_S3C_UART0
510 default "1" if DEBUG_S3C_UART1
511 default "2" if DEBUG_S3C_UART2
Olof Johansson5fa23dd2012-11-22 14:24:04 +0900512 default "3" if DEBUG_S3C_UART3
Will Deacon952aeeb22011-08-16 22:28:54 +0100513
Ben Dookscf383672009-11-10 00:14:58 +0000514endif