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