]>
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 | |
2d4a3b76 | 9 | depends on PLAT_S3C24XX || ARCH_S3C64XX || PLAT_S5P |
ae5fa355 | 10 | select NO_IOPORT |
878ccdc1 | 11 | select GENERIC_IRQ_CHIP |
cf383678 BD |
12 | default y |
13 | help | |
14 | Base platform code for all Samsung SoC based systems | |
15 | ||
199642bf KK |
16 | config PLAT_S5P |
17 | bool | |
18 | depends on (ARCH_S5P64X0 || ARCH_S5PC100 || ARCH_S5PV210 || ARCH_EXYNOS) | |
19 | default y | |
20 | select ARM_VIC if !ARCH_EXYNOS | |
21 | select ARM_GIC if ARCH_EXYNOS | |
22 | select GIC_NON_BANKED if ARCH_EXYNOS4 | |
23 | select NO_IOPORT | |
24 | select ARCH_REQUIRE_GPIOLIB | |
25 | select S3C_GPIO_TRACK | |
26 | select S5P_GPIO_DRVSTR | |
27 | select SAMSUNG_GPIOLIB_4BIT | |
28 | select PLAT_SAMSUNG | |
29 | select SAMSUNG_CLKSRC | |
30 | select SAMSUNG_IRQ_VIC_TIMER | |
31 | help | |
32 | Base platform code for Samsung's S5P series SoC. | |
33 | ||
cf383678 BD |
34 | if PLAT_SAMSUNG |
35 | ||
89f1fa08 BD |
36 | # boot configurations |
37 | ||
38 | comment "Boot options" | |
39 | ||
40 | config S3C_BOOT_WATCHDOG | |
41 | bool "S3C Initialisation watchdog" | |
42 | depends on S3C2410_WATCHDOG | |
43 | help | |
44 | Say y to enable the watchdog during the kernel decompression | |
45 | stage. If the kernel fails to uncompress, then the watchdog | |
46 | will trigger a reset and the system should restart. | |
47 | ||
48 | config S3C_BOOT_ERROR_RESET | |
49 | bool "S3C Reboot on decompression error" | |
50 | help | |
51 | Say y here to use the watchdog to reset the system if the | |
52 | kernel decompressor detects an error during decompression. | |
53 | ||
54 | config S3C_BOOT_UART_FORCE_FIFO | |
55 | bool "Force UART FIFO on during boot process" | |
56 | default y | |
57 | help | |
58 | Say Y here to force the UART FIFOs on during the kernel | |
59 | uncompressor | |
60 | ||
61 | ||
62 | config S3C_LOWLEVEL_UART_PORT | |
63 | int "S3C UART to use for low-level messages" | |
64 | default 0 | |
65 | help | |
66 | Choice of which UART port to use for the low-level messages, | |
67 | such as the `Uncompressing...` at start time. The value of | |
68 | this configuration should be between zero and two. The port | |
69 | must have been initialised by the boot-loader before use. | |
70 | ||
33bf3327 KK |
71 | # timer options |
72 | ||
73 | config S5P_HRT | |
74 | bool | |
75 | select SAMSUNG_DEV_PWM | |
76 | help | |
77 | Use the High Resolution timer support | |
78 | ||
89f1fa08 BD |
79 | # clock options |
80 | ||
2aa1ecf7 MB |
81 | config SAMSUNG_CLOCK |
82 | bool | |
83 | default y if !COMMON_CLK | |
84 | ||
aa9ad6ad HW |
85 | config SAMSUNG_CLKSRC |
86 | bool | |
87 | help | |
88 | Select the clock code for the clksrc implementation | |
89 | used by newer systems such as the S3C64XX. | |
cf383678 | 90 | |
bf46aaea KK |
91 | config S5P_CLOCK |
92 | def_bool (ARCH_S5P64X0 || ARCH_S5PC100 || ARCH_S5PV210 || ARCH_EXYNOS) | |
93 | help | |
94 | Support common clock part for ARCH_S5P and ARCH_EXYNOS SoCs | |
95 | ||
7162ba03 BD |
96 | # options for IRQ support |
97 | ||
98 | config SAMSUNG_IRQ_VIC_TIMER | |
99 | bool | |
100 | help | |
101 | Internal configuration to build the VIC timer interrupt code. | |
102 | ||
68ae8998 KK |
103 | config S5P_IRQ |
104 | def_bool (ARCH_S5P64X0 || ARCH_S5PC100 || ARCH_S5PV210 || ARCH_EXYNOS) | |
105 | help | |
106 | Support common interrup part for ARCH_S5P and ARCH_EXYNOS SoCs | |
107 | ||
108 | config S5P_EXT_INT | |
109 | bool | |
110 | help | |
111 | Use the external interrupts (other than GPIO interrupts.) | |
112 | Note: Do not choose this for S5P6440 and S5P6450. | |
113 | ||
114 | config S5P_GPIO_INT | |
115 | bool | |
116 | help | |
117 | Common code for the GPIO interrupts (other than external interrupts.) | |
118 | ||
4f830db9 BD |
119 | # options for gpio configuration support |
120 | ||
1f323cfd KK |
121 | config SAMSUNG_GPIOLIB_4BIT |
122 | bool | |
123 | help | |
124 | GPIOlib file contains the 4 bit modification functions for gpio | |
125 | configuration. GPIOlib shall be compiled only for S3C64XX and S5P | |
126 | series of processors. | |
127 | ||
4f830db9 BD |
128 | config S3C_GPIO_CFG_S3C64XX |
129 | bool | |
130 | help | |
131 | Internal configuration to enable S3C64XX style GPIO configuration | |
132 | functions. | |
133 | ||
838c6d49 MS |
134 | config S5P_GPIO_DRVSTR |
135 | bool | |
136 | help | |
137 | Internal configuration to get and set correct GPIO driver strength | |
138 | helper | |
139 | ||
85841bce KK |
140 | config SAMSUNG_GPIO_EXTRA |
141 | int "Number of additional GPIO pins" | |
4ff13995 MB |
142 | default 128 if SAMSUNG_GPIO_EXTRA128 |
143 | default 64 if SAMSUNG_GPIO_EXTRA64 | |
85841bce KK |
144 | 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 | ||
4ff13995 MB |
150 | config SAMSUNG_GPIO_EXTRA64 |
151 | bool | |
152 | ||
153 | config SAMSUNG_GPIO_EXTRA128 | |
154 | bool | |
155 | ||
89f1fa08 BD |
156 | config 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 | ||
165 | config 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 | ||
cfe370f8 KK |
171 | # uart options |
172 | ||
173 | config S5P_DEV_UART | |
174 | def_bool y | |
175 | depends on (ARCH_S5P64X0 || ARCH_S5PC100 || ARCH_S5PV210) | |
176 | ||
3929e1e7 MC |
177 | # ADC driver |
178 | ||
179 | config 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 | ||
b6a60413 BD |
186 | # device definitions to compile in |
187 | ||
188 | config S3C_DEV_HSMMC | |
189 | bool | |
190 | help | |
191 | Compile in platform device definitions for HSMMC code | |
192 | ||
193 | config S3C_DEV_HSMMC1 | |
194 | bool | |
195 | help | |
196 | Compile in platform device definitions for HSMMC channel 1 | |
197 | ||
198 | config S3C_DEV_HSMMC2 | |
199 | bool | |
200 | help | |
201 | Compile in platform device definitions for HSMMC channel 2 | |
202 | ||
b3c674bc HL |
203 | config S3C_DEV_HSMMC3 |
204 | bool | |
205 | help | |
206 | Compile in platform device definitions for HSMMC channel 3 | |
207 | ||
6cd82ffe MC |
208 | config S3C_DEV_HWMON |
209 | bool | |
210 | help | |
211 | Compile in platform device definitions for HWMON | |
212 | ||
b6a60413 BD |
213 | config S3C_DEV_I2C1 |
214 | bool | |
215 | help | |
216 | Compile in platform device definitions for I2C channel 1 | |
217 | ||
c8d833bf MS |
218 | config S3C_DEV_I2C2 |
219 | bool | |
220 | help | |
221 | Compile in platform device definitions for I2C channel 2 | |
222 | ||
b7a98255 KP |
223 | config S3C_DEV_I2C3 |
224 | bool | |
225 | help | |
226 | Compile in platform device definition for I2C controller 3 | |
227 | ||
228 | config S3C_DEV_I2C4 | |
229 | bool | |
230 | help | |
231 | Compile in platform device definition for I2C controller 4 | |
232 | ||
233 | config S3C_DEV_I2C5 | |
234 | bool | |
235 | help | |
236 | Compile in platform device definition for I2C controller 5 | |
237 | ||
238 | config S3C_DEV_I2C6 | |
239 | bool | |
240 | help | |
241 | Compile in platform device definition for I2C controller 6 | |
242 | ||
243 | config S3C_DEV_I2C7 | |
244 | bool | |
245 | help | |
246 | Compile in platform device definition for I2C controller 7 | |
247 | ||
b6a60413 BD |
248 | config S3C_DEV_FB |
249 | bool | |
250 | help | |
251 | Compile in platform device definition for framebuffer | |
252 | ||
253 | config S3C_DEV_USB_HOST | |
254 | bool | |
255 | help | |
256 | Compile in platform device definition for USB host. | |
257 | ||
258 | config S3C_DEV_USB_HSOTG | |
259 | bool | |
260 | help | |
261 | Compile in platform device definition for USB high-speed OtG | |
262 | ||
e1d5c93e BG |
263 | config S3C_DEV_WDT |
264 | bool | |
b130d5c2 | 265 | default y if ARCH_S3C24XX |
e1d5c93e BG |
266 | help |
267 | Complie in platform device definition for Watchdog Timer | |
268 | ||
b6a60413 BD |
269 | config S3C_DEV_NAND |
270 | bool | |
271 | help | |
272 | Compile in platform device definition for NAND controller | |
273 | ||
999304be MS |
274 | config S3C_DEV_ONENAND |
275 | bool | |
276 | help | |
277 | Compile in platform device definition for OneNAND controller | |
278 | ||
adc0950c AD |
279 | config S3C_DEV_RTC |
280 | bool | |
281 | help | |
282 | Complie in platform device definition for RTC | |
283 | ||
4f7cdc38 NK |
284 | config SAMSUNG_DEV_ADC |
285 | bool | |
286 | help | |
287 | Compile in platform device definition for ADC controller | |
288 | ||
db90005b AK |
289 | config SAMSUNG_DEV_IDE |
290 | bool | |
291 | help | |
292 | Compile in platform device definitions for IDE | |
293 | ||
875a5937 | 294 | config S3C64XX_DEV_SPI0 |
4b4c6625 JB |
295 | bool |
296 | help | |
297 | Compile in platform device definitions for S3C64XX's type | |
875a5937 PV |
298 | SPI controller 0 |
299 | ||
300 | config S3C64XX_DEV_SPI1 | |
301 | bool | |
302 | help | |
303 | Compile in platform device definitions for S3C64XX's type | |
304 | SPI controller 1 | |
305 | ||
306 | config S3C64XX_DEV_SPI2 | |
307 | bool | |
308 | help | |
309 | Compile in platform device definitions for S3C64XX's type | |
310 | SPI controller 2 | |
4b4c6625 | 311 | |
2b6c02ab | 312 | config SAMSUNG_DEV_TS |
909de0d6 MC |
313 | bool |
314 | help | |
2b6c02ab | 315 | Common in platform device definitions for touchscreen device |
909de0d6 | 316 | |
995c48ad JS |
317 | config SAMSUNG_DEV_KEYPAD |
318 | bool | |
319 | help | |
320 | Compile in platform device definitions for keypad | |
321 | ||
2ce30137 BG |
322 | config SAMSUNG_DEV_PWM |
323 | bool | |
b130d5c2 | 324 | default y if ARCH_S3C24XX |
2ce30137 BG |
325 | help |
326 | Compile in platform device definition for PWM Timer | |
327 | ||
f00207b2 BG |
328 | config 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 | ||
e033ca9b KK |
334 | config S5P_DEV_CSIS0 |
335 | bool | |
336 | help | |
337 | Compile in platform device definitions for MIPI-CSIS channel 0 | |
338 | ||
339 | config S5P_DEV_CSIS1 | |
340 | bool | |
341 | help | |
342 | Compile in platform device definitions for MIPI-CSIS channel 1 | |
343 | ||
344 | config S5P_DEV_FIMC0 | |
345 | bool | |
346 | help | |
347 | Compile in platform device definitions for FIMC controller 0 | |
348 | ||
349 | config S5P_DEV_FIMC1 | |
350 | bool | |
351 | help | |
352 | Compile in platform device definitions for FIMC controller 1 | |
353 | ||
354 | config S5P_DEV_FIMC2 | |
355 | bool | |
356 | help | |
357 | Compile in platform device definitions for FIMC controller 2 | |
358 | ||
359 | config S5P_DEV_FIMC3 | |
360 | bool | |
361 | help | |
362 | Compile in platform device definitions for FIMC controller 3 | |
363 | ||
364 | config S5P_DEV_FIMD0 | |
365 | bool | |
366 | help | |
367 | Compile in platform device definitions for FIMD controller 0 | |
368 | ||
369 | config S5P_DEV_G2D | |
370 | bool | |
371 | help | |
372 | Compile in platform device definitions for G2D device | |
373 | ||
374 | config S5P_DEV_I2C_HDMIPHY | |
375 | bool | |
376 | help | |
377 | Compile in platform device definitions for I2C HDMIPHY controller | |
378 | ||
379 | config S5P_DEV_JPEG | |
380 | bool | |
381 | help | |
382 | Compile in platform device definitions for JPEG codec | |
383 | ||
d9c452f4 KK |
384 | config S5P_DEV_MFC |
385 | bool | |
386 | help | |
387 | Compile in setup memory (init) code for MFC | |
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" | |
406 | select HAVE_PWM | |
407 | help | |
408 | Support for exporting the PWM timer blocks via the pwm device | |
409 | system | |
410 | ||
d9c452f4 KK |
411 | config S5P_SETUP_MIPIPHY |
412 | bool | |
413 | help | |
414 | Compile in common setup code for MIPI-CSIS and MIPI-DSIM devices | |
415 | ||
89f1fa08 BD |
416 | # DMA |
417 | ||
418 | config S3C_DMA | |
419 | bool | |
420 | help | |
421 | Internal configuration for S3C DMA core | |
422 | ||
aa0de00e | 423 | config SAMSUNG_DMADEV |
d800edeb | 424 | bool |
aa0de00e | 425 | select DMADEVICES |
20ef9e08 | 426 | select PL330_DMA if (ARCH_EXYNOS5 || ARCH_EXYNOS4 || CPU_S5PV210 || CPU_S5PC100 || \ |
aa0de00e BK |
427 | CPU_S5P6450 || CPU_S5P6440) |
428 | select ARM_AMBA | |
d800edeb | 429 | help |
aa0de00e | 430 | Use DMA device engine for PL330 DMAC. |
d800edeb | 431 | |
8005745d BD |
432 | comment "Power management" |
433 | ||
434 | config SAMSUNG_PM_DEBUG | |
435 | bool "S3C2410 PM Suspend debug" | |
436 | depends on PM | |
3cd21f61 | 437 | select DEBUG_LL |
8005745d BD |
438 | help |
439 | Say Y here if you want verbose debugging from the PM Suspend and | |
440 | Resume code. See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt> | |
441 | for more information. | |
442 | ||
443 | config S3C_PM_DEBUG_LED_SMDK | |
444 | bool "SMDK LED suspend/resume debugging" | |
445 | depends on PM && (MACH_SMDK6410) | |
446 | help | |
447 | Say Y here to enable the use of the SMDK LEDs on the baseboard | |
448 | for debugging of the state of the suspend and resume process. | |
449 | ||
450 | Note, this currently only works for S3C64XX based SMDK boards. | |
451 | ||
452 | config SAMSUNG_PM_CHECK | |
453 | bool "S3C2410 PM Suspend Memory CRC" | |
454 | depends on PM && CRC32 | |
455 | help | |
456 | Enable the PM code's memory area checksum over sleep. This option | |
457 | will generate CRCs of all blocks of memory, and store them before | |
458 | going to sleep. The blocks are then checked on resume for any | |
459 | errors. | |
460 | ||
461 | Note, this can take several seconds depending on memory size | |
462 | and CPU speed. | |
463 | ||
464 | See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt> | |
465 | ||
466 | config SAMSUNG_PM_CHECK_CHUNKSIZE | |
467 | int "S3C2410 PM Suspend CRC Chunksize (KiB)" | |
468 | depends on PM && SAMSUNG_PM_CHECK | |
469 | default 64 | |
470 | help | |
471 | Set the chunksize in Kilobytes of the CRC for checking memory | |
472 | corruption over suspend and resume. A smaller value will mean that | |
473 | the CRC data block will take more memory, but wil identify any | |
474 | faults with better precision. | |
475 | ||
476 | See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt> | |
477 | ||
0317e52e BD |
478 | config SAMSUNG_WAKEMASK |
479 | bool | |
480 | depends on PM | |
481 | help | |
482 | Compile support for wakeup-mask controls found on the S3C6400 | |
483 | and above. This code allows a set of interrupt to wakeup-mask | |
484 | mappings. See <plat/wakeup-mask.h> | |
485 | ||
8eadcf74 KK |
486 | config 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 | ||
492 | config 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 | ||
952aeeb2 WD |
498 | config 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 | |
504 | ||
cf383678 | 505 | endif |