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