ARM: EXYNOS: Decouple ARCH_EXYNOS from PLAT_S5P
[deliverable/linux.git] / arch / arm / plat-samsung / Kconfig
1 # arch/arm/plat-samsung/Kconfig
2 #
3 # Copyright 2009 Simtec Electronics
4 #
5 # Licensed under GPLv2
6
7 config PLAT_SAMSUNG
8 bool
9 depends on PLAT_S3C24XX || ARCH_S3C64XX || PLAT_S5P || ARCH_EXYNOS
10 default y
11 select GENERIC_IRQ_CHIP
12 select NO_IOPORT
13 help
14 Base platform code for all Samsung SoC based systems
15
16 config PLAT_S5P
17 bool
18 depends on (ARCH_S5P64X0 || ARCH_S5PC100 || ARCH_S5PV210)
19 default y
20 select ARCH_REQUIRE_GPIOLIB
21 select ARM_VIC
22 select NO_IOPORT
23 select PLAT_SAMSUNG
24 select S3C_GPIO_TRACK
25 select S5P_GPIO_DRVSTR
26 select SAMSUNG_CLKSRC if !COMMON_CLK
27 select SAMSUNG_GPIOLIB_4BIT
28 select SAMSUNG_IRQ_VIC_TIMER
29 help
30 Base platform code for Samsung's S5P series SoC.
31
32 if PLAT_SAMSUNG
33
34 # boot configurations
35
36 comment "Boot options"
37
38 config 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
44 config 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
52 config 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
61 config 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
73 if SAMSUNG_ATAGS
74
75 # timer options
76
77 config SAMSUNG_HRT
78 bool
79 select SAMSUNG_DEV_PWM
80 help
81 Use the High Resolution timer support
82
83 # clock options
84
85 config SAMSUNG_CLOCK
86 bool
87 default y if !COMMON_CLK
88
89 config SAMSUNG_CLKSRC
90 bool
91 help
92 Select the clock code for the clksrc implementation
93 used by newer systems such as the S3C64XX.
94
95 config S5P_CLOCK
96 def_bool (ARCH_S5P64X0 || ARCH_S5PC100 || ARCH_S5PV210)
97 help
98 Support common clock part for ARCH_S5P and ARCH_EXYNOS SoCs
99
100 # options for IRQ support
101
102 config SAMSUNG_IRQ_VIC_TIMER
103 bool
104 help
105 Internal configuration to build the VIC timer interrupt code.
106
107 config S5P_IRQ
108 def_bool (ARCH_S5P64X0 || ARCH_S5PC100 || ARCH_S5PV210)
109 help
110 Support common interrupt part for ARCH_S5P SoCs
111
112 config 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
118 config S5P_GPIO_INT
119 bool
120 help
121 Common code for the GPIO interrupts (other than external interrupts.)
122
123 # options for gpio configuration support
124
125 config 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
132 config S5P_GPIO_DRVSTR
133 bool
134 help
135 Internal configuration to get and set correct GPIO driver strength
136 helper
137
138 config SAMSUNG_GPIO_EXTRA
139 int "Number of additional GPIO pins"
140 default 128 if SAMSUNG_GPIO_EXTRA128
141 default 64 if SAMSUNG_GPIO_EXTRA64
142 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
148 config SAMSUNG_GPIO_EXTRA64
149 bool
150
151 config SAMSUNG_GPIO_EXTRA128
152 bool
153
154 config 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
163 config 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
169 # uart options
170
171 config S5P_DEV_UART
172 def_bool y
173 depends on (ARCH_S5P64X0 || ARCH_S5PC100 || ARCH_S5PV210)
174
175 # ADC driver
176
177 config 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
184 # device definitions to compile in
185
186 config S3C_DEV_HSMMC
187 bool
188 help
189 Compile in platform device definitions for HSMMC code
190
191 config S3C_DEV_HSMMC1
192 bool
193 help
194 Compile in platform device definitions for HSMMC channel 1
195
196 config S3C_DEV_HSMMC2
197 bool
198 help
199 Compile in platform device definitions for HSMMC channel 2
200
201 config S3C_DEV_HSMMC3
202 bool
203 help
204 Compile in platform device definitions for HSMMC channel 3
205
206 config S3C_DEV_HWMON
207 bool
208 help
209 Compile in platform device definitions for HWMON
210
211 config S3C_DEV_I2C1
212 bool
213 help
214 Compile in platform device definitions for I2C channel 1
215
216 config S3C_DEV_I2C2
217 bool
218 help
219 Compile in platform device definitions for I2C channel 2
220
221 config S3C_DEV_I2C3
222 bool
223 help
224 Compile in platform device definition for I2C controller 3
225
226 config S3C_DEV_I2C4
227 bool
228 help
229 Compile in platform device definition for I2C controller 4
230
231 config S3C_DEV_I2C5
232 bool
233 help
234 Compile in platform device definition for I2C controller 5
235
236 config S3C_DEV_I2C6
237 bool
238 help
239 Compile in platform device definition for I2C controller 6
240
241 config S3C_DEV_I2C7
242 bool
243 help
244 Compile in platform device definition for I2C controller 7
245
246 config S3C_DEV_FB
247 bool
248 help
249 Compile in platform device definition for framebuffer
250
251 config S3C_DEV_USB_HOST
252 bool
253 help
254 Compile in platform device definition for USB host.
255
256 config S3C_DEV_USB_HSOTG
257 bool
258 help
259 Compile in platform device definition for USB high-speed OtG
260
261 config S3C_DEV_WDT
262 bool
263 default y if ARCH_S3C24XX
264 help
265 Complie in platform device definition for Watchdog Timer
266
267 config S3C_DEV_NAND
268 bool
269 help
270 Compile in platform device definition for NAND controller
271
272 config S3C_DEV_ONENAND
273 bool
274 help
275 Compile in platform device definition for OneNAND controller
276
277 config S3C_DEV_RTC
278 bool
279 help
280 Complie in platform device definition for RTC
281
282 config SAMSUNG_DEV_ADC
283 bool
284 help
285 Compile in platform device definition for ADC controller
286
287 config SAMSUNG_DEV_IDE
288 bool
289 help
290 Compile in platform device definitions for IDE
291
292 config S3C64XX_DEV_SPI0
293 bool
294 help
295 Compile in platform device definitions for S3C64XX's type
296 SPI controller 0
297
298 config S3C64XX_DEV_SPI1
299 bool
300 help
301 Compile in platform device definitions for S3C64XX's type
302 SPI controller 1
303
304 config S3C64XX_DEV_SPI2
305 bool
306 help
307 Compile in platform device definitions for S3C64XX's type
308 SPI controller 2
309
310 config SAMSUNG_DEV_TS
311 bool
312 help
313 Common in platform device definitions for touchscreen device
314
315 config SAMSUNG_DEV_KEYPAD
316 bool
317 help
318 Compile in platform device definitions for keypad
319
320 config SAMSUNG_DEV_PWM
321 bool
322 default y if ARCH_S3C24XX
323 help
324 Compile in platform device definition for PWM Timer
325
326 config 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
332 config S5P_DEV_CSIS0
333 bool
334 help
335 Compile in platform device definitions for MIPI-CSIS channel 0
336
337 config S5P_DEV_CSIS1
338 bool
339 help
340 Compile in platform device definitions for MIPI-CSIS channel 1
341
342 config S5P_DEV_FIMC0
343 bool
344 help
345 Compile in platform device definitions for FIMC controller 0
346
347 config S5P_DEV_FIMC1
348 bool
349 help
350 Compile in platform device definitions for FIMC controller 1
351
352 config S5P_DEV_FIMC2
353 bool
354 help
355 Compile in platform device definitions for FIMC controller 2
356
357 config S5P_DEV_FIMC3
358 bool
359 help
360 Compile in platform device definitions for FIMC controller 3
361
362 config S5P_DEV_FIMD0
363 bool
364 help
365 Compile in platform device definitions for FIMD controller 0
366
367 config S5P_DEV_G2D
368 bool
369 help
370 Compile in platform device definitions for G2D device
371
372 config S5P_DEV_I2C_HDMIPHY
373 bool
374 help
375 Compile in platform device definitions for I2C HDMIPHY controller
376
377 config S5P_DEV_JPEG
378 bool
379 help
380 Compile in platform device definitions for JPEG codec
381
382 config S5P_DEV_ONENAND
383 bool
384 help
385 Compile in platform device definition for OneNAND controller
386
387 config S5P_DEV_TV
388 bool
389 help
390 Compile in platform device definition for TV interface
391
392 config S5P_DEV_USB_EHCI
393 bool
394 help
395 Compile in platform device definition for USB EHCI
396
397 config S3C24XX_PWM
398 bool "PWM device support"
399 select PWM
400 select PWM_SAMSUNG
401 help
402 Support for exporting the PWM timer blocks via the pwm device
403 system
404
405 config S5P_SETUP_MIPIPHY
406 bool
407 help
408 Compile in common setup code for MIPI-CSIS and MIPI-DSIM devices
409
410 config S3C_SETUP_CAMIF
411 bool
412 help
413 Compile in common setup code for S3C CAMIF devices
414
415 # DMA
416
417 config S3C_DMA
418 bool
419 help
420 Internal configuration for S3C DMA core
421
422 config S5P_IRQ_PM
423 bool
424 default y if S5P_PM
425 help
426 Legacy IRQ power management for S5P platforms
427
428 config 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
435 endif
436
437 config SAMSUNG_DMADEV
438 bool
439 select ARM_AMBA
440 select DMADEVICES
441 select PL330_DMA if (ARCH_EXYNOS5 || ARCH_EXYNOS4 || CPU_S5PV210 || CPU_S5PC100 || \
442 CPU_S5P6450 || CPU_S5P6440)
443 help
444 Use DMA device engine for PL330 DMAC.
445
446 config S5P_DEV_MFC
447 bool
448 help
449 Compile in setup memory (init) code for MFC
450
451 comment "Power management"
452
453 config SAMSUNG_PM_DEBUG
454 bool "S3C2410 PM Suspend debug"
455 depends on PM
456 select DEBUG_LL
457 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
462 config 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
471 config 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
485 config 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
497 config 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
505 config 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
511 config 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
517 config 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
523 default "3" if DEBUG_S3C_UART3
524
525 endif
This page took 0.048446 seconds and 5 git commands to generate.