Commit | Line | Data |
---|---|---|
cf383678 BD |
1 | # arch/arm/plat-samsung/Kconfig |
2 | # | |
3 | # Copyright 2009 Simtec Electronics | |
4 | # | |
5 | # Licensed under GPLv2 | |
6 | ||
7 | config PLAT_SAMSUNG | |
8 | bool | |
e245f969 | 9 | depends on PLAT_S3C24XX || ARCH_S3C64XX || PLAT_S5P || ARCH_EXYNOS |
cf383678 | 10 | default y |
b1b3f49c RK |
11 | select GENERIC_IRQ_CHIP |
12 | select NO_IOPORT | |
cf383678 BD |
13 | help |
14 | Base platform code for all Samsung SoC based systems | |
15 | ||
199642bf KK |
16 | config PLAT_S5P |
17 | bool | |
e245f969 | 18 | depends on (ARCH_S5P64X0 || ARCH_S5PC100 || ARCH_S5PV210) |
199642bf | 19 | default y |
b1b3f49c | 20 | select ARCH_REQUIRE_GPIOLIB |
e245f969 | 21 | select ARM_VIC |
199642bf | 22 | select NO_IOPORT |
b1b3f49c | 23 | select PLAT_SAMSUNG |
199642bf KK |
24 | select S3C_GPIO_TRACK |
25 | select S5P_GPIO_DRVSTR | |
6e6aac75 | 26 | select SAMSUNG_CLKSRC if !COMMON_CLK |
b1b3f49c | 27 | select SAMSUNG_GPIOLIB_4BIT |
199642bf KK |
28 | select SAMSUNG_IRQ_VIC_TIMER |
29 | help | |
30 | Base platform code for Samsung's S5P series SoC. | |
31 | ||
89693016 ADK |
32 | config SAMSUNG_PM |
33 | bool | |
34 | depends on PM && (PLAT_S3C24XX || ARCH_S3C64XX || ARCH_S5P64X0 || S5P_PM) | |
35 | default y | |
36 | help | |
37 | Base platform power management code for samsung code | |
38 | ||
cf383678 BD |
39 | if PLAT_SAMSUNG |
40 | ||
89f1fa08 BD |
41 | # boot configurations |
42 | ||
43 | comment "Boot options" | |
44 | ||
89f1fa08 BD |
45 | config S3C_BOOT_ERROR_RESET |
46 | bool "S3C Reboot on decompression error" | |
47 | help | |
48 | Say y here to use the watchdog to reset the system if the | |
49 | kernel decompressor detects an error during decompression. | |
50 | ||
51 | config S3C_BOOT_UART_FORCE_FIFO | |
52 | bool "Force UART FIFO on during boot process" | |
53 | default y | |
54 | help | |
55 | Say Y here to force the UART FIFOs on during the kernel | |
56 | uncompressor | |
57 | ||
58 | ||
59 | config S3C_LOWLEVEL_UART_PORT | |
60 | int "S3C UART to use for low-level messages" | |
61 | default 0 | |
62 | help | |
63 | Choice of which UART port to use for the low-level messages, | |
64 | such as the `Uncompressing...` at start time. The value of | |
65 | this configuration should be between zero and two. The port | |
66 | must have been initialised by the boot-loader before use. | |
67 | ||
cd8dc7ae TF |
68 | config SAMSUNG_ATAGS |
69 | def_bool n | |
70 | depends on !ARCH_MULTIPLATFORM | |
71 | depends on ATAGS | |
72 | help | |
73 | This option enables ATAGS based boot support code for | |
74 | Samsung platforms, including static platform devices, legacy | |
75 | clock, timer and interrupt initialization, etc. | |
76 | ||
77 | Platforms that support only DT based boot need not to select | |
78 | this option. | |
79 | ||
80 | if SAMSUNG_ATAGS | |
81 | ||
33bf3327 KK |
82 | # timer options |
83 | ||
c1fcd403 | 84 | config SAMSUNG_HRT |
33bf3327 KK |
85 | bool |
86 | select SAMSUNG_DEV_PWM | |
87 | help | |
88 | Use the High Resolution timer support | |
89 | ||
89f1fa08 BD |
90 | # clock options |
91 | ||
2aa1ecf7 MB |
92 | config SAMSUNG_CLOCK |
93 | bool | |
94 | default y if !COMMON_CLK | |
95 | ||
aa9ad6ad HW |
96 | config SAMSUNG_CLKSRC |
97 | bool | |
98 | help | |
99 | Select the clock code for the clksrc implementation | |
100 | used by newer systems such as the S3C64XX. | |
cf383678 | 101 | |
bf46aaea | 102 | config S5P_CLOCK |
6e6aac75 | 103 | def_bool (ARCH_S5P64X0 || ARCH_S5PC100 || ARCH_S5PV210) |
bf46aaea KK |
104 | help |
105 | Support common clock part for ARCH_S5P and ARCH_EXYNOS SoCs | |
106 | ||
7162ba03 BD |
107 | # options for IRQ support |
108 | ||
109 | config SAMSUNG_IRQ_VIC_TIMER | |
110 | bool | |
111 | help | |
112 | Internal configuration to build the VIC timer interrupt code. | |
113 | ||
68ae8998 | 114 | config S5P_IRQ |
278c800e | 115 | def_bool (ARCH_S5P64X0 || ARCH_S5PC100 || ARCH_S5PV210) |
68ae8998 | 116 | help |
278c800e | 117 | Support common interrupt part for ARCH_S5P SoCs |
68ae8998 KK |
118 | |
119 | config S5P_EXT_INT | |
120 | bool | |
121 | help | |
122 | Use the external interrupts (other than GPIO interrupts.) | |
123 | Note: Do not choose this for S5P6440 and S5P6450. | |
124 | ||
125 | config S5P_GPIO_INT | |
126 | bool | |
127 | help | |
128 | Common code for the GPIO interrupts (other than external interrupts.) | |
129 | ||
4f830db9 BD |
130 | # options for gpio configuration support |
131 | ||
1f323cfd KK |
132 | config SAMSUNG_GPIOLIB_4BIT |
133 | bool | |
134 | help | |
135 | GPIOlib file contains the 4 bit modification functions for gpio | |
136 | configuration. GPIOlib shall be compiled only for S3C64XX and S5P | |
137 | series of processors. | |
138 | ||
838c6d49 MS |
139 | config S5P_GPIO_DRVSTR |
140 | bool | |
141 | help | |
142 | Internal configuration to get and set correct GPIO driver strength | |
143 | helper | |
144 | ||
85841bce KK |
145 | config SAMSUNG_GPIO_EXTRA |
146 | int "Number of additional GPIO pins" | |
4ff13995 MB |
147 | default 128 if SAMSUNG_GPIO_EXTRA128 |
148 | default 64 if SAMSUNG_GPIO_EXTRA64 | |
85841bce KK |
149 | default 0 |
150 | help | |
151 | Use additional GPIO space in addition to the GPIO's the SOC | |
152 | provides. This allows expanding the GPIO space for use with | |
153 | GPIO expanders. | |
154 | ||
4ff13995 MB |
155 | config SAMSUNG_GPIO_EXTRA64 |
156 | bool | |
157 | ||
158 | config SAMSUNG_GPIO_EXTRA128 | |
159 | bool | |
160 | ||
89f1fa08 BD |
161 | config S3C_GPIO_SPACE |
162 | int "Space between gpio banks" | |
163 | default 0 | |
164 | help | |
165 | Add a number of spare GPIO entries between each bank for debugging | |
166 | purposes. This allows any problems where an counter overflows from | |
167 | one bank to another to be caught, at the expense of using a little | |
168 | more memory. | |
169 | ||
170 | config S3C_GPIO_TRACK | |
171 | bool | |
172 | help | |
173 | Internal configuration option to enable the s3c specific gpio | |
174 | chip tracking if the platform requires it. | |
175 | ||
cfe370f8 KK |
176 | # uart options |
177 | ||
178 | config S5P_DEV_UART | |
179 | def_bool y | |
180 | depends on (ARCH_S5P64X0 || ARCH_S5PC100 || ARCH_S5PV210) | |
181 | ||
3929e1e7 MC |
182 | # ADC driver |
183 | ||
184 | config S3C_ADC | |
185 | bool "ADC common driver support" | |
186 | help | |
187 | Core support for the ADC block found in the Samsung SoC systems | |
188 | for drivers such as the touchscreen and hwmon to use to share | |
189 | this resource. | |
190 | ||
b6a60413 BD |
191 | # device definitions to compile in |
192 | ||
193 | config S3C_DEV_HSMMC | |
194 | bool | |
195 | help | |
196 | Compile in platform device definitions for HSMMC code | |
197 | ||
198 | config S3C_DEV_HSMMC1 | |
199 | bool | |
200 | help | |
201 | Compile in platform device definitions for HSMMC channel 1 | |
202 | ||
203 | config S3C_DEV_HSMMC2 | |
204 | bool | |
205 | help | |
206 | Compile in platform device definitions for HSMMC channel 2 | |
207 | ||
b3c674bc HL |
208 | config S3C_DEV_HSMMC3 |
209 | bool | |
210 | help | |
211 | Compile in platform device definitions for HSMMC channel 3 | |
212 | ||
6cd82ffe MC |
213 | config S3C_DEV_HWMON |
214 | bool | |
215 | help | |
216 | Compile in platform device definitions for HWMON | |
217 | ||
b6a60413 BD |
218 | config S3C_DEV_I2C1 |
219 | bool | |
220 | help | |
221 | Compile in platform device definitions for I2C channel 1 | |
222 | ||
c8d833bf MS |
223 | config S3C_DEV_I2C2 |
224 | bool | |
225 | help | |
226 | Compile in platform device definitions for I2C channel 2 | |
227 | ||
b7a98255 KP |
228 | config S3C_DEV_I2C3 |
229 | bool | |
230 | help | |
231 | Compile in platform device definition for I2C controller 3 | |
232 | ||
233 | config S3C_DEV_I2C4 | |
234 | bool | |
235 | help | |
236 | Compile in platform device definition for I2C controller 4 | |
237 | ||
238 | config S3C_DEV_I2C5 | |
239 | bool | |
240 | help | |
241 | Compile in platform device definition for I2C controller 5 | |
242 | ||
243 | config S3C_DEV_I2C6 | |
244 | bool | |
245 | help | |
246 | Compile in platform device definition for I2C controller 6 | |
247 | ||
248 | config S3C_DEV_I2C7 | |
249 | bool | |
250 | help | |
251 | Compile in platform device definition for I2C controller 7 | |
252 | ||
b6a60413 BD |
253 | config S3C_DEV_FB |
254 | bool | |
255 | help | |
256 | Compile in platform device definition for framebuffer | |
257 | ||
258 | config S3C_DEV_USB_HOST | |
259 | bool | |
260 | help | |
261 | Compile in platform device definition for USB host. | |
262 | ||
263 | config S3C_DEV_USB_HSOTG | |
264 | bool | |
265 | help | |
266 | Compile in platform device definition for USB high-speed OtG | |
267 | ||
e1d5c93e BG |
268 | config S3C_DEV_WDT |
269 | bool | |
b130d5c2 | 270 | default y if ARCH_S3C24XX |
e1d5c93e BG |
271 | help |
272 | Complie in platform device definition for Watchdog Timer | |
273 | ||
b6a60413 BD |
274 | config S3C_DEV_NAND |
275 | bool | |
276 | help | |
277 | Compile in platform device definition for NAND controller | |
278 | ||
999304be MS |
279 | config S3C_DEV_ONENAND |
280 | bool | |
281 | help | |
282 | Compile in platform device definition for OneNAND controller | |
283 | ||
adc0950c AD |
284 | config S3C_DEV_RTC |
285 | bool | |
286 | help | |
287 | Complie in platform device definition for RTC | |
288 | ||
4f7cdc38 NK |
289 | config SAMSUNG_DEV_ADC |
290 | bool | |
291 | help | |
292 | Compile in platform device definition for ADC controller | |
293 | ||
db90005b AK |
294 | config SAMSUNG_DEV_IDE |
295 | bool | |
296 | help | |
297 | Compile in platform device definitions for IDE | |
298 | ||
875a5937 | 299 | config S3C64XX_DEV_SPI0 |
4b4c6625 JB |
300 | bool |
301 | help | |
302 | Compile in platform device definitions for S3C64XX's type | |
875a5937 PV |
303 | SPI controller 0 |
304 | ||
305 | config S3C64XX_DEV_SPI1 | |
306 | bool | |
307 | help | |
308 | Compile in platform device definitions for S3C64XX's type | |
309 | SPI controller 1 | |
310 | ||
311 | config S3C64XX_DEV_SPI2 | |
312 | bool | |
313 | help | |
314 | Compile in platform device definitions for S3C64XX's type | |
315 | SPI controller 2 | |
4b4c6625 | 316 | |
2b6c02ab | 317 | config SAMSUNG_DEV_TS |
909de0d6 MC |
318 | bool |
319 | help | |
2b6c02ab | 320 | Common in platform device definitions for touchscreen device |
909de0d6 | 321 | |
995c48ad JS |
322 | config SAMSUNG_DEV_KEYPAD |
323 | bool | |
324 | help | |
325 | Compile in platform device definitions for keypad | |
326 | ||
2ce30137 BG |
327 | config SAMSUNG_DEV_PWM |
328 | bool | |
b130d5c2 | 329 | default y if ARCH_S3C24XX |
2ce30137 BG |
330 | help |
331 | Compile in platform device definition for PWM Timer | |
332 | ||
f00207b2 BG |
333 | config SAMSUNG_DEV_BACKLIGHT |
334 | bool | |
335 | depends on SAMSUNG_DEV_PWM | |
336 | help | |
337 | Compile in platform device definition LCD backlight with PWM Timer | |
338 | ||
e033ca9b KK |
339 | config S5P_DEV_CSIS0 |
340 | bool | |
341 | help | |
342 | Compile in platform device definitions for MIPI-CSIS channel 0 | |
343 | ||
344 | config S5P_DEV_CSIS1 | |
345 | bool | |
346 | help | |
347 | Compile in platform device definitions for MIPI-CSIS channel 1 | |
348 | ||
349 | config S5P_DEV_FIMC0 | |
350 | bool | |
351 | help | |
352 | Compile in platform device definitions for FIMC controller 0 | |
353 | ||
354 | config S5P_DEV_FIMC1 | |
355 | bool | |
356 | help | |
357 | Compile in platform device definitions for FIMC controller 1 | |
358 | ||
359 | config S5P_DEV_FIMC2 | |
360 | bool | |
361 | help | |
362 | Compile in platform device definitions for FIMC controller 2 | |
363 | ||
364 | config S5P_DEV_FIMC3 | |
365 | bool | |
366 | help | |
367 | Compile in platform device definitions for FIMC controller 3 | |
368 | ||
369 | config S5P_DEV_FIMD0 | |
370 | bool | |
371 | help | |
372 | Compile in platform device definitions for FIMD controller 0 | |
373 | ||
374 | config S5P_DEV_G2D | |
375 | bool | |
376 | help | |
377 | Compile in platform device definitions for G2D device | |
378 | ||
379 | config S5P_DEV_I2C_HDMIPHY | |
380 | bool | |
381 | help | |
382 | Compile in platform device definitions for I2C HDMIPHY controller | |
383 | ||
384 | config S5P_DEV_JPEG | |
385 | bool | |
386 | help | |
387 | Compile in platform device definitions for JPEG codec | |
388 | ||
e033ca9b KK |
389 | config S5P_DEV_ONENAND |
390 | bool | |
391 | help | |
392 | Compile in platform device definition for OneNAND controller | |
393 | ||
394 | config S5P_DEV_TV | |
395 | bool | |
396 | help | |
397 | Compile in platform device definition for TV interface | |
398 | ||
399 | config S5P_DEV_USB_EHCI | |
400 | bool | |
401 | help | |
402 | Compile in platform device definition for USB EHCI | |
403 | ||
2ce30137 BG |
404 | config S3C24XX_PWM |
405 | bool "PWM device support" | |
35e79061 AB |
406 | select PWM |
407 | select PWM_SAMSUNG | |
2ce30137 BG |
408 | help |
409 | Support for exporting the PWM timer blocks via the pwm device | |
410 | system | |
411 | ||
d9c452f4 KK |
412 | config S5P_SETUP_MIPIPHY |
413 | bool | |
414 | help | |
415 | Compile in common setup code for MIPI-CSIS and MIPI-DSIM devices | |
416 | ||
e51d5486 SN |
417 | config S3C_SETUP_CAMIF |
418 | bool | |
419 | help | |
420 | Compile in common setup code for S3C CAMIF devices | |
421 | ||
89f1fa08 BD |
422 | # DMA |
423 | ||
424 | config S3C_DMA | |
425 | bool | |
426 | help | |
427 | Internal configuration for S3C DMA core | |
428 | ||
105dddbf TF |
429 | config S5P_IRQ_PM |
430 | bool | |
431 | default y if S5P_PM | |
432 | help | |
433 | Legacy IRQ power management for S5P platforms | |
434 | ||
435 | config SAMSUNG_PM_GPIO | |
436 | bool | |
437 | default y if GPIO_SAMSUNG && PM | |
438 | help | |
439 | Include legacy GPIO power management code for platforms not using | |
440 | pinctrl-samsung driver. | |
441 | ||
cd8dc7ae TF |
442 | endif |
443 | ||
aa0de00e | 444 | config SAMSUNG_DMADEV |
d800edeb | 445 | bool |
b1b3f49c | 446 | select ARM_AMBA |
aa0de00e | 447 | select DMADEVICES |
20ef9e08 | 448 | select PL330_DMA if (ARCH_EXYNOS5 || ARCH_EXYNOS4 || CPU_S5PV210 || CPU_S5PC100 || \ |
aa0de00e | 449 | CPU_S5P6450 || CPU_S5P6440) |
d800edeb | 450 | help |
aa0de00e | 451 | Use DMA device engine for PL330 DMAC. |
d800edeb | 452 | |
cd8dc7ae TF |
453 | config S5P_DEV_MFC |
454 | bool | |
455 | help | |
456 | Compile in setup memory (init) code for MFC | |
457 | ||
8005745d BD |
458 | comment "Power management" |
459 | ||
460 | config SAMSUNG_PM_DEBUG | |
461 | bool "S3C2410 PM Suspend debug" | |
462 | depends on PM | |
3cd21f61 | 463 | select DEBUG_LL |
8005745d BD |
464 | help |
465 | Say Y here if you want verbose debugging from the PM Suspend and | |
466 | Resume code. See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt> | |
467 | for more information. | |
468 | ||
469 | config S3C_PM_DEBUG_LED_SMDK | |
470 | bool "SMDK LED suspend/resume debugging" | |
471 | depends on PM && (MACH_SMDK6410) | |
472 | help | |
473 | Say Y here to enable the use of the SMDK LEDs on the baseboard | |
474 | for debugging of the state of the suspend and resume process. | |
475 | ||
476 | Note, this currently only works for S3C64XX based SMDK boards. | |
477 | ||
478 | config SAMSUNG_PM_CHECK | |
479 | bool "S3C2410 PM Suspend Memory CRC" | |
480 | depends on PM && CRC32 | |
481 | help | |
482 | Enable the PM code's memory area checksum over sleep. This option | |
483 | will generate CRCs of all blocks of memory, and store them before | |
484 | going to sleep. The blocks are then checked on resume for any | |
485 | errors. | |
486 | ||
487 | Note, this can take several seconds depending on memory size | |
488 | and CPU speed. | |
489 | ||
490 | See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt> | |
491 | ||
492 | config SAMSUNG_PM_CHECK_CHUNKSIZE | |
493 | int "S3C2410 PM Suspend CRC Chunksize (KiB)" | |
494 | depends on PM && SAMSUNG_PM_CHECK | |
495 | default 64 | |
496 | help | |
497 | Set the chunksize in Kilobytes of the CRC for checking memory | |
498 | corruption over suspend and resume. A smaller value will mean that | |
499 | the CRC data block will take more memory, but wil identify any | |
500 | faults with better precision. | |
501 | ||
502 | See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt> | |
503 | ||
0317e52e BD |
504 | config SAMSUNG_WAKEMASK |
505 | bool | |
506 | depends on PM | |
507 | help | |
508 | Compile support for wakeup-mask controls found on the S3C6400 | |
509 | and above. This code allows a set of interrupt to wakeup-mask | |
510 | mappings. See <plat/wakeup-mask.h> | |
511 | ||
a4658e57 TF |
512 | config SAMSUNG_WDT_RESET |
513 | bool | |
514 | help | |
515 | Compile support for system restart by triggering watchdog reset. | |
516 | Used on SoCs that do not provide dedicated reset control. | |
517 | ||
8eadcf74 KK |
518 | config S5P_PM |
519 | bool | |
520 | help | |
521 | Common code for power management support on S5P and newer SoCs | |
522 | Note: Do not select this for S5P6440 and S5P6450. | |
523 | ||
524 | config S5P_SLEEP | |
525 | bool | |
526 | help | |
527 | Internal config node to apply common S5P sleep management code. | |
528 | Can be selected by S5P and newer SoCs with similar sleep procedure. | |
529 | ||
952aeeb2 WD |
530 | config DEBUG_S3C_UART |
531 | depends on PLAT_SAMSUNG | |
532 | int | |
533 | default "0" if DEBUG_S3C_UART0 | |
534 | default "1" if DEBUG_S3C_UART1 | |
535 | default "2" if DEBUG_S3C_UART2 | |
5fa23dde | 536 | default "3" if DEBUG_S3C_UART3 |
952aeeb2 | 537 | |
cf383678 | 538 | endif |