]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/blob - arch/arm/Kconfig.debug
Merge tag '9p-for-5.15-rc1' of git://github.com/martinetd/linux
[mirror_ubuntu-jammy-kernel.git] / arch / arm / Kconfig.debug
1 # SPDX-License-Identifier: GPL-2.0
2
3 config ARM_PTDUMP_CORE
4 def_bool n
5
6 config ARM_PTDUMP_DEBUGFS
7 bool "Export kernel pagetable layout to userspace via debugfs"
8 depends on DEBUG_KERNEL
9 depends on MMU
10 select ARM_PTDUMP_CORE
11 select DEBUG_FS
12 help
13 Say Y here if you want to show the kernel pagetable layout in a
14 debugfs file. This information is only useful for kernel developers
15 who are working in architecture specific areas of the kernel.
16 It is probably not a good idea to enable this feature in a production
17 kernel.
18 If in doubt, say "N"
19
20 config DEBUG_WX
21 bool "Warn on W+X mappings at boot"
22 depends on MMU
23 select ARM_PTDUMP_CORE
24 help
25 Generate a warning if any W+X mappings are found at boot.
26
27 This is useful for discovering cases where the kernel is leaving
28 W+X mappings after applying NX, as such mappings are a security risk.
29
30 Look for a message in dmesg output like this:
31
32 arm/mm: Checked W+X mappings: passed, no W+X pages found.
33
34 or like this, if the check failed:
35
36 arm/mm: Checked W+X mappings: FAILED, <N> W+X pages found.
37
38 Note that even if the check fails, your kernel is possibly
39 still fine, as W+X mappings are not a security hole in
40 themselves, what they do is that they make the exploitation
41 of other unfixed kernel bugs easier.
42
43 There is no runtime or memory usage effect of this option
44 once the kernel has booted up - it's a one time check.
45
46 If in doubt, say "Y".
47
48 choice
49 prompt "Choose kernel unwinder"
50 default UNWINDER_ARM if AEABI
51 default UNWINDER_FRAME_POINTER if !AEABI
52 help
53 This determines which method will be used for unwinding kernel stack
54 traces for panics, oopses, bugs, warnings, perf, /proc/<pid>/stack,
55 livepatch, lockdep, and more.
56
57 config UNWINDER_FRAME_POINTER
58 bool "Frame pointer unwinder"
59 depends on !THUMB2_KERNEL
60 select ARCH_WANT_FRAME_POINTERS
61 select FRAME_POINTER
62 help
63 This option enables the frame pointer unwinder for unwinding
64 kernel stack traces.
65
66 config UNWINDER_ARM
67 bool "ARM EABI stack unwinder"
68 depends on AEABI && !FUNCTION_GRAPH_TRACER
69 # https://github.com/ClangBuiltLinux/linux/issues/732
70 depends on !LD_IS_LLD || LLD_VERSION >= 110000
71 select ARM_UNWIND
72 help
73 This option enables stack unwinding support in the kernel
74 using the information automatically generated by the
75 compiler. The resulting kernel image is slightly bigger but
76 the performance is not affected. Currently, this feature
77 only works with EABI compilers.
78
79 endchoice
80
81 config ARM_UNWIND
82 bool
83
84 config FRAME_POINTER
85 bool
86
87 config DEBUG_USER
88 bool "Verbose user fault messages"
89 help
90 When a user program crashes due to an exception, the kernel can
91 print a brief message explaining what the problem was. This is
92 sometimes helpful for debugging but serves no purpose on a
93 production system. Most people should say N here.
94
95 In addition, you need to pass user_debug=N on the kernel command
96 line to enable this feature. N consists of the sum of:
97
98 1 - undefined instruction events
99 2 - system calls
100 4 - invalid data aborts
101 8 - SIGSEGV faults
102 16 - SIGBUS faults
103
104 # These options are only for real kernel hackers who want to get their hands dirty.
105 config DEBUG_LL
106 bool "Kernel low-level debugging functions (read help!)"
107 depends on DEBUG_KERNEL
108 help
109 Say Y here to include definitions of printascii, printch, printhex
110 in the kernel. This is helpful if you are debugging code that
111 executes before the console is initialized.
112
113 Note that selecting this option will limit the kernel to a single
114 UART definition, as specified below. Attempting to boot the kernel
115 image on a different platform *will not work*, so this option should
116 not be enabled for kernels that are intended to be portable.
117
118 choice
119 prompt "Kernel low-level debugging port"
120 depends on DEBUG_LL
121
122 config DEBUG_ALPINE_UART0
123 bool "Kernel low-level debugging messages via Alpine UART0"
124 depends on ARCH_ALPINE
125 select DEBUG_UART_8250
126 help
127 Say Y here if you want kernel low-level debugging support
128 on Alpine based platforms.
129
130 config DEBUG_ASM9260_UART
131 bool "Kernel low-level debugging via asm9260 UART"
132 depends on MACH_ASM9260
133 help
134 Say Y here if you want the debug print routines to direct
135 their output to an UART or USART port on asm9260 based
136 machines.
137
138 DEBUG_UART_PHYS | DEBUG_UART_VIRT
139
140 0x80000000 | 0xf0000000 | UART0
141 0x80004000 | 0xf0004000 | UART1
142 0x80008000 | 0xf0008000 | UART2
143 0x8000c000 | 0xf000c000 | UART3
144 0x80010000 | 0xf0010000 | UART4
145 0x80014000 | 0xf0014000 | UART5
146 0x80018000 | 0xf0018000 | UART6
147 0x8001c000 | 0xf001c000 | UART7
148 0x80020000 | 0xf0020000 | UART8
149 0x80024000 | 0xf0024000 | UART9
150
151 config DEBUG_AT91_RM9200_DBGU
152 bool "Kernel low-level debugging on AT91RM9200, AT91SAM9, SAM9X60 DBGU"
153 select DEBUG_AT91_UART
154 depends on SOC_AT91RM9200 || SOC_AT91SAM9 || SOC_SAM9X60
155 help
156 Say Y here if you want kernel low-level debugging support
157 on the DBGU port of:
158 at91rm9200, at91sam9260, at91sam9g20, at91sam9261,
159 at91sam9g10, at91sam9n12, at91sam9rl64, at91sam9x5, sam9x60
160
161 config DEBUG_AT91_SAM9263_DBGU
162 bool "Kernel low-level debugging on AT91SAM{9263,9G45,A5D3} DBGU"
163 select DEBUG_AT91_UART
164 depends on SOC_AT91SAM9 || SOC_SAMA5D3
165 help
166 Say Y here if you want kernel low-level debugging support
167 on the DBGU port of:
168 at91sam9263, at91sam9g45, at91sam9m10,
169 sama5d3
170
171 config DEBUG_AT91_SAMA5D2_UART1
172 bool "Kernel low-level debugging on SAMA5D2 UART1"
173 select DEBUG_AT91_UART
174 depends on SOC_SAMA5D2
175 help
176 Say Y here if you want kernel low-level debugging support
177 on the UART1 port of sama5d2.
178
179 config DEBUG_AT91_SAMA5D4_USART3
180 bool "Kernel low-level debugging on SAMA5D4 USART3"
181 select DEBUG_AT91_UART
182 depends on SOC_SAMA5D4
183 help
184 Say Y here if you want kernel low-level debugging support
185 on the USART3 port of sama5d4.
186
187 config DEBUG_AT91_SAMV7_USART1
188 bool "Kernel low-level debugging via SAMV7 USART1"
189 select DEBUG_AT91_UART
190 depends on SOC_SAMV7
191 help
192 Say Y here if you want the debug print routines to direct
193 their output to the USART1 port on SAMV7 based
194 machines.
195
196 config DEBUG_AT91_SAMA7G5_FLEXCOM3
197 bool "Kernel low-level debugging on SAMA7G5 FLEXCOM3"
198 select DEBUG_AT91_UART
199 depends on SOC_SAMA7G5
200 help
201 Say Y here if you want kernel low-level debugging support
202 on the FLEXCOM3 port of SAMA7G5.
203
204 config DEBUG_BCM2835
205 bool "Kernel low-level debugging on BCM2835 PL011 UART"
206 depends on ARCH_BCM2835 && ARCH_MULTI_V6
207 select DEBUG_UART_PL01X
208
209 config DEBUG_BCM2836
210 bool "Kernel low-level debugging on BCM2836 PL011 UART"
211 depends on ARCH_BCM2835 && ARCH_MULTI_V7
212 select DEBUG_UART_PL01X
213
214 config DEBUG_BCM_5301X
215 bool "Kernel low-level debugging on BCM5301X/NSP UART1"
216 depends on ARCH_BCM_5301X || ARCH_BCM_NSP
217 select DEBUG_UART_8250
218
219 config DEBUG_BCM_HR2
220 bool "Kernel low-level debugging on Hurricane 2 UART2"
221 depends on ARCH_BCM_HR2
222 select DEBUG_UART_8250
223
224 config DEBUG_BCM_IPROC_UART3
225 bool "Kernel low-level debugging on BCM IPROC UART3"
226 depends on ARCH_BCM_CYGNUS
227 select DEBUG_UART_8250
228 help
229 Say Y here if you want the debug print routines to direct
230 their output to the third serial port on these devices.
231
232 config DEBUG_BCM_KONA_UART
233 bool "Kernel low-level debugging messages via BCM KONA UART"
234 depends on ARCH_BCM_MOBILE
235 select DEBUG_UART_8250
236 help
237 Say Y here if you want kernel low-level debugging support
238 on Broadcom SoC platforms.
239 This low level debug works for Broadcom
240 mobile SoCs in the Kona family of chips (e.g. bcm28155,
241 bcm11351, etc...)
242
243 config DEBUG_BCM63XX_UART
244 bool "Kernel low-level debugging on BCM63XX UART"
245 depends on ARCH_BCM_63XX
246
247 config DEBUG_BERLIN_UART
248 bool "Marvell Berlin SoC Debug UART"
249 depends on ARCH_BERLIN
250 select DEBUG_UART_8250
251 help
252 Say Y here if you want kernel low-level debugging support
253 on Marvell Berlin SoC based platforms.
254
255 config DEBUG_BRCMSTB_UART
256 bool "Use BRCMSTB UART for low-level debug"
257 depends on ARCH_BRCMSTB
258 help
259 Say Y here if you want the debug print routines to direct
260 their output to the first serial port on these devices. The
261 UART physical and virtual address is automatically provided
262 based on the chip identification register value.
263
264 If you have a Broadcom STB chip and would like early print
265 messages to appear over the UART, select this option.
266
267 config DEBUG_CLPS711X_UART1
268 bool "Kernel low-level debugging messages via UART1"
269 depends on ARCH_CLPS711X
270 help
271 Say Y here if you want the debug print routines to direct
272 their output to the first serial port on these devices.
273
274 config DEBUG_CLPS711X_UART2
275 bool "Kernel low-level debugging messages via UART2"
276 depends on ARCH_CLPS711X
277 help
278 Say Y here if you want the debug print routines to direct
279 their output to the second serial port on these devices.
280
281 config DEBUG_CNS3XXX
282 bool "Kernel Kernel low-level debugging on Cavium Networks CNS3xxx"
283 depends on ARCH_CNS3XXX
284 select DEBUG_UART_8250
285 help
286 Say Y here if you want the debug print routines to direct
287 their output to the CNS3xxx UART0.
288
289 config DEBUG_DAVINCI_DA8XX_UART1
290 bool "Kernel low-level debugging on DaVinci DA8XX using UART1"
291 depends on ARCH_DAVINCI_DA8XX
292 select DEBUG_UART_8250
293 help
294 Say Y here if you want the debug print routines to direct
295 their output to UART1 serial port on DaVinci DA8XX devices.
296
297 config DEBUG_DAVINCI_DA8XX_UART2
298 bool "Kernel low-level debugging on DaVinci DA8XX using UART2"
299 depends on ARCH_DAVINCI_DA8XX
300 select DEBUG_UART_8250
301 help
302 Say Y here if you want the debug print routines to direct
303 their output to UART2 serial port on DaVinci DA8XX devices.
304
305 config DEBUG_DAVINCI_DMx_UART0
306 bool "Kernel low-level debugging on DaVinci DMx using UART0"
307 depends on ARCH_DAVINCI_DMx
308 select DEBUG_UART_8250
309 help
310 Say Y here if you want the debug print routines to direct
311 their output to UART0 serial port on DaVinci DMx devices.
312
313 config DEBUG_DC21285_PORT
314 bool "Kernel low-level debugging messages via footbridge serial port"
315 depends on FOOTBRIDGE
316 help
317 Say Y here if you want the debug print routines to direct
318 their output to the serial port in the DC21285 (Footbridge).
319
320 config DEBUG_DIGICOLOR_UA0
321 bool "Kernel low-level debugging messages via Digicolor UA0"
322 depends on ARCH_DIGICOLOR
323 help
324 Say Y here if you want the debug print routines to direct
325 their output to the UA0 serial port in the CX92755.
326
327 config DEBUG_EP93XX
328 bool "Kernel low-level debugging messages via ep93xx UART"
329 depends on ARCH_EP93XX
330 select DEBUG_UART_PL01X
331 help
332 Say Y here if you want kernel low-level debugging support
333 on Cirrus Logic EP93xx based platforms.
334
335 config DEBUG_FOOTBRIDGE_COM1
336 bool "Kernel low-level debugging messages via footbridge 8250 at PCI COM1"
337 depends on FOOTBRIDGE
338 select DEBUG_UART_8250
339 help
340 Say Y here if you want the debug print routines to direct
341 their output to the 8250 at PCI COM1.
342
343 config DEBUG_GEMINI
344 bool "Kernel low-level debugging messages via Cortina Systems Gemini UART"
345 depends on ARCH_GEMINI
346 select DEBUG_UART_8250
347 help
348 Say Y here if you want kernel low-level debugging support
349 on Cortina Gemini based platforms.
350
351 config DEBUG_HI3620_UART
352 bool "Hisilicon HI3620 Debug UART"
353 depends on ARCH_HI3xxx
354 select DEBUG_UART_PL01X
355 help
356 Say Y here if you want kernel low-level debugging support
357 on HI3620 UART.
358
359 config DEBUG_HIGHBANK_UART
360 bool "Kernel low-level debugging messages via Highbank UART"
361 depends on ARCH_HIGHBANK
362 select DEBUG_UART_PL01X
363 help
364 Say Y here if you want the debug print routines to direct
365 their output to the UART on Highbank based devices.
366
367 config DEBUG_HIP01_UART
368 bool "Hisilicon Hip01 Debug UART"
369 depends on ARCH_HIP01
370 select DEBUG_UART_8250
371 help
372 Say Y here if you want kernel low-level debugging support
373 on HIP01 UART.
374
375 config DEBUG_HIP04_UART
376 bool "Hisilicon HiP04 Debug UART"
377 depends on ARCH_HIP04
378 select DEBUG_UART_8250
379 help
380 Say Y here if you want kernel low-level debugging support
381 on HIP04 UART.
382
383 config DEBUG_HIX5HD2_UART
384 bool "Hisilicon Hix5hd2 Debug UART"
385 depends on ARCH_HIX5HD2
386 select DEBUG_UART_PL01X
387 help
388 Say Y here if you want kernel low-level debugging support
389 on Hix5hd2 UART.
390
391 config DEBUG_IMX1_UART
392 bool "i.MX1 Debug UART"
393 depends on SOC_IMX1
394 help
395 Say Y here if you want kernel low-level debugging support
396 on i.MX1.
397
398 config DEBUG_IMX23_UART
399 bool "i.MX23 Debug UART"
400 depends on SOC_IMX23
401 select DEBUG_UART_PL01X
402 help
403 Say Y here if you want kernel low-level debugging support
404 on i.MX23.
405
406 config DEBUG_IMX25_UART
407 bool "i.MX25 Debug UART"
408 depends on SOC_IMX25
409 help
410 Say Y here if you want kernel low-level debugging support
411 on i.MX25.
412
413 config DEBUG_IMX21_IMX27_UART
414 bool "i.MX21 and i.MX27 Debug UART"
415 depends on SOC_IMX21 || SOC_IMX27
416 help
417 Say Y here if you want kernel low-level debugging support
418 on i.MX21 or i.MX27.
419
420 config DEBUG_IMX28_UART
421 bool "i.MX28 Debug UART"
422 depends on SOC_IMX28
423 select DEBUG_UART_PL01X
424 help
425 Say Y here if you want kernel low-level debugging support
426 on i.MX28.
427
428 config DEBUG_IMX31_UART
429 bool "i.MX31 Debug UART"
430 depends on SOC_IMX31
431 help
432 Say Y here if you want kernel low-level debugging support
433 on i.MX31.
434
435 config DEBUG_IMX35_UART
436 bool "i.MX35 Debug UART"
437 depends on SOC_IMX35
438 help
439 Say Y here if you want kernel low-level debugging support
440 on i.MX35.
441
442 config DEBUG_IMX50_UART
443 bool "i.MX50 Debug UART"
444 depends on SOC_IMX50
445 help
446 Say Y here if you want kernel low-level debugging support
447 on i.MX50.
448
449 config DEBUG_IMX51_UART
450 bool "i.MX51 Debug UART"
451 depends on SOC_IMX51
452 help
453 Say Y here if you want kernel low-level debugging support
454 on i.MX51.
455
456 config DEBUG_IMX53_UART
457 bool "i.MX53 Debug UART"
458 depends on SOC_IMX53
459 help
460 Say Y here if you want kernel low-level debugging support
461 on i.MX53.
462
463 config DEBUG_IMX6Q_UART
464 bool "i.MX6Q/DL Debug UART"
465 depends on SOC_IMX6Q
466 help
467 Say Y here if you want kernel low-level debugging support
468 on i.MX6Q/DL.
469
470 config DEBUG_IMX6SL_UART
471 bool "i.MX6SL Debug UART"
472 depends on SOC_IMX6SL
473 help
474 Say Y here if you want kernel low-level debugging support
475 on i.MX6SL.
476
477 config DEBUG_IMX6SX_UART
478 bool "i.MX6SX Debug UART"
479 depends on SOC_IMX6SX
480 help
481 Say Y here if you want kernel low-level debugging support
482 on i.MX6SX.
483
484 config DEBUG_IMX6UL_UART
485 bool "i.MX6UL Debug UART"
486 depends on SOC_IMX6UL
487 help
488 Say Y here if you want kernel low-level debugging support
489 on i.MX6UL.
490
491 config DEBUG_IMX7D_UART
492 bool "i.MX7D Debug UART"
493 depends on SOC_IMX7D
494 help
495 Say Y here if you want kernel low-level debugging support
496 on i.MX7D.
497
498 config DEBUG_INTEGRATOR
499 bool "Kernel low-level debugging messages via ARM Integrator UART"
500 depends on ARCH_INTEGRATOR
501 select DEBUG_UART_PL01X
502 help
503 Say Y here if you want kernel low-level debugging support
504 on ARM Integrator platforms.
505
506 config DEBUG_KEYSTONE_UART0
507 bool "Kernel low-level debugging on KEYSTONE2 using UART0"
508 depends on ARCH_KEYSTONE
509 select DEBUG_UART_8250
510 help
511 Say Y here if you want the debug print routines to direct
512 their output to UART0 serial port on KEYSTONE2 devices.
513
514 config DEBUG_KEYSTONE_UART1
515 bool "Kernel low-level debugging on KEYSTONE2 using UART1"
516 depends on ARCH_KEYSTONE
517 select DEBUG_UART_8250
518 help
519 Say Y here if you want the debug print routines to direct
520 their output to UART1 serial port on KEYSTONE2 devices.
521
522 config DEBUG_LPC18XX_UART0
523 bool "Kernel low-level debugging via LPC18xx/43xx UART0"
524 depends on ARCH_LPC18XX
525 select DEBUG_UART_8250
526 help
527 Say Y here if you want kernel low-level debugging support
528 on NXP LPC18xx/43xx UART0.
529
530 config DEBUG_LPC32XX
531 bool "Kernel low-level debugging messages via NXP LPC32xx UART"
532 depends on ARCH_LPC32XX
533 select DEBUG_UART_8250
534 help
535 Say Y here if you want kernel low-level debugging support
536 on NXP LPC32xx based platforms.
537
538 config DEBUG_MESON_UARTAO
539 bool "Kernel low-level debugging via Meson6 UARTAO"
540 depends on ARCH_MESON
541 help
542 Say Y here if you want kernel low-lever debugging support
543 on Amlogic Meson6 based platforms on the UARTAO.
544
545 config DEBUG_MMP_UART2
546 bool "Kernel low-level debugging message via MMP UART2"
547 depends on ARCH_MMP
548 select DEBUG_UART_8250
549 help
550 Say Y here if you want kernel low-level debugging support
551 on MMP UART2.
552
553 config DEBUG_MMP_UART3
554 bool "Kernel low-level debugging message via MMP UART3"
555 depends on ARCH_MMP
556 select DEBUG_UART_8250
557 help
558 Say Y here if you want kernel low-level debugging support
559 on MMP UART3.
560
561 config DEBUG_MVEBU_UART0
562 bool "Kernel low-level debugging messages via MVEBU UART0 (old bootloaders)"
563 depends on ARCH_MVEBU
564 depends on ARCH_MVEBU && CPU_V7
565 select DEBUG_UART_8250
566 help
567 Say Y here if you want kernel low-level debugging support
568 on MVEBU based platforms on UART0.
569
570 This option should be used with the old bootloaders
571 that left the internal registers mapped at
572 0xd0000000. As of today, this is the case on
573 platforms such as the Globalscale Mirabox or the
574 Plathome OpenBlocks AX3, when using the original
575 bootloader.
576
577 This option will not work on older Marvell platforms
578 (Kirkwood, Dove, MV78xx0, Orion5x), which should pick
579 the "new bootloader" variant.
580
581 If the wrong DEBUG_MVEBU_UART* option is selected,
582 when u-boot hands over to the kernel, the system
583 silently crashes, with no serial output at all.
584
585 config DEBUG_MVEBU_UART0_ALTERNATE
586 bool "Kernel low-level debugging messages via MVEBU UART0 (new bootloaders)"
587 depends on ARCH_MVEBU || ARCH_DOVE || ARCH_MV78XX0 || ARCH_ORION5X
588 select DEBUG_UART_8250
589 help
590 Say Y here if you want kernel low-level debugging support
591 on MVEBU based platforms on UART0. (Armada XP, Armada 3xx,
592 Kirkwood, Dove, MV78xx0, Orion5x).
593
594
595 This option should be used with the new bootloaders
596 that remap the internal registers at 0xf1000000.
597
598 If the wrong DEBUG_MVEBU_UART* option is selected,
599 when u-boot hands over to the kernel, the system
600 silently crashes, with no serial output at all.
601
602 config DEBUG_MVEBU_UART1_ALTERNATE
603 bool "Kernel low-level debugging messages via MVEBU UART1 (new bootloaders)"
604 depends on ARCH_MVEBU
605 select DEBUG_UART_8250
606 help
607 Say Y here if you want kernel low-level debugging support
608 on MVEBU based platforms on UART1. (Armada XP, Armada 3xx,
609 Kirkwood, Dove, MV78xx0, Orion5x).
610
611 This option should be used with the new bootloaders
612 that remap the internal registers at 0xf1000000.
613 All of the older (pre Armada XP/370) platforms also use
614 this address, regardless of the boot loader version.
615
616 If the wrong DEBUG_MVEBU_UART* option is selected,
617 when u-boot hands over to the kernel, the system
618 silently crashes, with no serial output at all.
619
620 config DEBUG_MSTARV7_PMUART
621 bool "Kernel low-level debugging messages via MSTARV7 PM UART"
622 depends on ARCH_MSTARV7
623 select DEBUG_UART_8250
624 help
625 Say Y here if you want kernel low-level debugging support
626 for MSTAR ARMv7-based platforms on PM UART.
627
628 config DEBUG_MT6589_UART0
629 bool "Mediatek mt6589 UART0"
630 depends on ARCH_MEDIATEK
631 select DEBUG_UART_8250
632 help
633 Say Y here if you want kernel low-level debugging support
634 for Mediatek mt6589 based platforms on UART0.
635
636 config DEBUG_MT8127_UART0
637 bool "Mediatek mt8127/mt6592 UART0"
638 depends on ARCH_MEDIATEK
639 select DEBUG_UART_8250
640 help
641 Say Y here if you want kernel low-level debugging support
642 for Mediatek mt8127 based platforms on UART0.
643
644 config DEBUG_MT8135_UART3
645 bool "Mediatek mt8135 UART3"
646 depends on ARCH_MEDIATEK
647 select DEBUG_UART_8250
648 help
649 Say Y here if you want kernel low-level debugging support
650 for Mediatek mt8135 based platforms on UART3.
651
652 config DEBUG_NOMADIK_UART
653 bool "Kernel low-level debugging messages via NOMADIK UART"
654 depends on ARCH_NOMADIK
655 select DEBUG_UART_PL01X
656 help
657 Say Y here if you want kernel low-level debugging support
658 on NOMADIK based platforms.
659
660 config DEBUG_NSPIRE_CLASSIC_UART
661 bool "Kernel low-level debugging via TI-NSPIRE 8250 UART"
662 depends on ARCH_NSPIRE
663 select DEBUG_UART_8250
664 help
665 Say Y here if you want kernel low-level debugging support
666 on TI-NSPIRE classic models.
667
668 config DEBUG_NSPIRE_CX_UART
669 bool "Kernel low-level debugging via TI-NSPIRE PL011 UART"
670 depends on ARCH_NSPIRE
671 select DEBUG_UART_PL01X
672 help
673 Say Y here if you want kernel low-level debugging support
674 on TI-NSPIRE CX models.
675
676 config DEBUG_OMAP1UART1
677 bool "Kernel low-level debugging via OMAP1 UART1"
678 depends on ARCH_OMAP1
679 select DEBUG_UART_8250
680 help
681 Say Y here if you want kernel low-level debugging support
682 on OMAP1 based platforms (except OMAP730) on the UART1.
683
684 config DEBUG_OMAP1UART2
685 bool "Kernel low-level debugging via OMAP1 UART2"
686 depends on ARCH_OMAP1
687 select DEBUG_UART_8250
688 help
689 Say Y here if you want kernel low-level debugging support
690 on OMAP1 based platforms (except OMAP730) on the UART2.
691
692 config DEBUG_OMAP1UART3
693 bool "Kernel low-level debugging via OMAP1 UART3"
694 depends on ARCH_OMAP1
695 select DEBUG_UART_8250
696 help
697 Say Y here if you want kernel low-level debugging support
698 on OMAP1 based platforms (except OMAP730) on the UART3.
699
700 config DEBUG_OMAP2UART1
701 bool "OMAP2/3/4 UART1 (omap2/3 sdp boards and some omap3 boards)"
702 depends on ARCH_OMAP2PLUS
703 select DEBUG_UART_8250
704 help
705 This covers at least h4, 2430sdp, 3430sdp, 3630sdp,
706 omap3 torpedo and 3530 lv som.
707
708 config DEBUG_OMAP2UART2
709 bool "Kernel low-level debugging messages via OMAP2/3/4 UART2"
710 depends on ARCH_OMAP2PLUS
711 select DEBUG_UART_8250
712
713 config DEBUG_OMAP2UART3
714 bool "Kernel low-level debugging messages via OMAP2 UART3 (n8x0)"
715 depends on ARCH_OMAP2PLUS
716 select DEBUG_UART_8250
717
718 config DEBUG_OMAP3UART3
719 bool "Kernel low-level debugging messages via OMAP3 UART3 (most omap3 boards)"
720 depends on ARCH_OMAP2PLUS
721 select DEBUG_UART_8250
722 help
723 This covers at least cm_t3x, beagle, crane, devkit8000,
724 igep00x0, ldp, n900, n9(50), pandora, overo, touchbook,
725 and 3517evm.
726
727 config DEBUG_OMAP4UART3
728 bool "Kernel low-level debugging messages via OMAP4/5 UART3 (omap4 blaze, panda, omap5 sevm)"
729 depends on ARCH_OMAP2PLUS
730 select DEBUG_UART_8250
731
732 config DEBUG_OMAP3UART4
733 bool "Kernel low-level debugging messages via OMAP36XX UART4"
734 depends on ARCH_OMAP2PLUS
735 select DEBUG_UART_8250
736
737 config DEBUG_OMAP4UART4
738 bool "Kernel low-level debugging messages via OMAP4/5 UART4"
739 depends on ARCH_OMAP2PLUS
740 select DEBUG_UART_8250
741
742 config DEBUG_OMAP7XXUART1
743 bool "Kernel low-level debugging via OMAP730 UART1"
744 depends on ARCH_OMAP730
745 select DEBUG_UART_8250
746 help
747 Say Y here if you want kernel low-level debugging support
748 on OMAP730 based platforms on the UART1.
749
750 config DEBUG_OMAP7XXUART2
751 bool "Kernel low-level debugging via OMAP730 UART2"
752 depends on ARCH_OMAP730
753 select DEBUG_UART_8250
754 help
755 Say Y here if you want kernel low-level debugging support
756 on OMAP730 based platforms on the UART2.
757
758 config DEBUG_OMAP7XXUART3
759 bool "Kernel low-level debugging via OMAP730 UART3"
760 depends on ARCH_OMAP730
761 select DEBUG_UART_8250
762 help
763 Say Y here if you want kernel low-level debugging support
764 on OMAP730 based platforms on the UART3.
765
766 config DEBUG_TI81XXUART1
767 bool "Kernel low-level debugging messages via TI81XX UART1 (ti8148evm)"
768 depends on ARCH_OMAP2PLUS
769 select DEBUG_UART_8250
770
771 config DEBUG_TI81XXUART2
772 bool "Kernel low-level debugging messages via TI81XX UART2"
773 depends on ARCH_OMAP2PLUS
774 select DEBUG_UART_8250
775
776 config DEBUG_TI81XXUART3
777 bool "Kernel low-level debugging messages via TI81XX UART3 (ti8168evm)"
778 depends on ARCH_OMAP2PLUS
779 select DEBUG_UART_8250
780
781 config DEBUG_AM33XXUART1
782 bool "Kernel low-level debugging messages via AM33XX UART1"
783 depends on ARCH_OMAP2PLUS
784 select DEBUG_UART_8250
785
786 config DEBUG_ZOOM_UART
787 bool "Kernel low-level debugging messages via Zoom2/3 UART"
788 depends on ARCH_OMAP2PLUS
789 select DEBUG_OMAP2PLUS_UART
790
791 config DEBUG_PXA_UART1
792 depends on ARCH_PXA
793 bool "Use PXA UART1 for low-level debug"
794 select DEBUG_UART_8250
795 help
796 Say Y here if you want kernel low-level debugging support
797 on PXA UART1.
798
799 config DEBUG_QCOM_UARTDM
800 bool "Kernel low-level debugging messages via QCOM UARTDM"
801 depends on ARCH_QCOM
802 help
803 Say Y here if you want the debug print routines to direct
804 their output to the serial port on Qualcomm devices.
805
806 ARCH DEBUG_UART_PHYS DEBUG_UART_VIRT
807 APQ8064 0x16640000 0xf0040000
808 APQ8084 0xf995e000 0xfa75e000
809 IPQ4019 0x078af000 0xf78af000
810 MSM8X60 0x19c40000 0xf0040000
811 MSM8960 0x16440000 0xf0040000
812 MSM8974 0xf991e000 0xfa71e000
813
814 Please adjust DEBUG_UART_PHYS and DEBUG_UART_BASE configuration
815 options based on your needs.
816
817 config DEBUG_REALVIEW_STD_PORT
818 bool "RealView Default UART"
819 depends on ARCH_REALVIEW
820 select DEBUG_UART_PL01X
821 help
822 Say Y here if you want the debug print routines to direct
823 their output to the serial port on RealView EB, PB11MP, PBA8
824 and PBX platforms.
825
826 config DEBUG_REALVIEW_PB1176_PORT
827 bool "RealView PB1176 UART"
828 depends on MACH_REALVIEW_PB1176
829 select DEBUG_UART_PL01X
830 help
831 Say Y here if you want the debug print routines to direct
832 their output to the standard serial port on the RealView
833 PB1176 platform.
834
835 config DEBUG_RV1108_UART0
836 bool "Kernel low-level debugging messages via Rockchip RV1108 UART0"
837 depends on ARCH_ROCKCHIP
838 select DEBUG_UART_8250
839 help
840 Say Y here if you want kernel low-level debugging support
841 on Rockchip RV1108 based platforms.
842
843 config DEBUG_RV1108_UART1
844 bool "Kernel low-level debugging messages via Rockchip RV1108 UART1"
845 depends on ARCH_ROCKCHIP
846 select DEBUG_UART_8250
847 help
848 Say Y here if you want kernel low-level debugging support
849 on Rockchip RV1108 based platforms.
850
851 config DEBUG_RV1108_UART2
852 bool "Kernel low-level debugging messages via Rockchip RV1108 UART2"
853 depends on ARCH_ROCKCHIP
854 select DEBUG_UART_8250
855 help
856 Say Y here if you want kernel low-level debugging support
857 on Rockchip RV1108 based platforms.
858
859 config DEBUG_RK29_UART0
860 bool "Kernel low-level debugging messages via Rockchip RK29 UART0"
861 depends on ARCH_ROCKCHIP
862 select DEBUG_UART_8250
863 help
864 Say Y here if you want kernel low-level debugging support
865 on Rockchip based platforms.
866
867 config DEBUG_RK29_UART1
868 bool "Kernel low-level debugging messages via Rockchip RK29 UART1"
869 depends on ARCH_ROCKCHIP
870 select DEBUG_UART_8250
871 help
872 Say Y here if you want kernel low-level debugging support
873 on Rockchip based platforms.
874
875 config DEBUG_RK29_UART2
876 bool "Kernel low-level debugging messages via Rockchip RK29 UART2"
877 depends on ARCH_ROCKCHIP
878 select DEBUG_UART_8250
879 help
880 Say Y here if you want kernel low-level debugging support
881 on Rockchip based platforms.
882
883 config DEBUG_RK3X_UART0
884 bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART0"
885 depends on ARCH_ROCKCHIP
886 select DEBUG_UART_8250
887 help
888 Say Y here if you want kernel low-level debugging support
889 on Rockchip based platforms.
890
891 config DEBUG_RK3X_UART1
892 bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART1"
893 depends on ARCH_ROCKCHIP
894 select DEBUG_UART_8250
895 help
896 Say Y here if you want kernel low-level debugging support
897 on Rockchip based platforms.
898
899 config DEBUG_RK3X_UART2
900 bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART2"
901 depends on ARCH_ROCKCHIP
902 select DEBUG_UART_8250
903 help
904 Say Y here if you want kernel low-level debugging support
905 on Rockchip based platforms.
906
907 config DEBUG_RK3X_UART3
908 bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART3"
909 depends on ARCH_ROCKCHIP
910 select DEBUG_UART_8250
911 help
912 Say Y here if you want kernel low-level debugging support
913 on Rockchip based platforms.
914
915 config DEBUG_RK32_UART2
916 bool "Kernel low-level debugging messages via Rockchip RK32 UART2"
917 depends on ARCH_ROCKCHIP
918 select DEBUG_UART_8250
919 help
920 Say Y here if you want kernel low-level debugging support
921 on Rockchip RK32xx based platforms.
922
923 config DEBUG_R7S72100_SCIF2
924 bool "Kernel low-level debugging messages via SCIF2 on R7S72100"
925 depends on ARCH_R7S72100
926 help
927 Say Y here if you want kernel low-level debugging support
928 via SCIF2 on Renesas RZ/A1H (R7S72100).
929
930 config DEBUG_R7S9210_SCIF2
931 bool "Kernel low-level debugging messages via SCIF2 on R7S9210"
932 depends on ARCH_R7S9210
933 help
934 Say Y here if you want kernel low-level debugging support
935 via SCIF2 on Renesas RZ/A2M (R7S9210).
936
937 config DEBUG_R7S9210_SCIF4
938 bool "Kernel low-level debugging messages via SCIF4 on R7S9210"
939 depends on ARCH_R7S9210
940 help
941 Say Y here if you want kernel low-level debugging support
942 via SCIF4 on Renesas RZ/A2M (R7S9210).
943
944 config DEBUG_RCAR_GEN1_SCIF0
945 bool "Kernel low-level debugging messages via SCIF0 on R8A7778"
946 depends on ARCH_R8A7778
947 help
948 Say Y here if you want kernel low-level debugging support
949 via SCIF0 on Renesas R-Car M1A (R8A7778).
950
951 config DEBUG_RCAR_GEN1_SCIF2
952 bool "Kernel low-level debugging messages via SCIF2 on R8A7779"
953 depends on ARCH_R8A7779
954 help
955 Say Y here if you want kernel low-level debugging support
956 via SCIF2 on Renesas R-Car H1 (R8A7779).
957
958 config DEBUG_RCAR_GEN2_SCIF0
959 bool "Kernel low-level debugging messages via SCIF0 on R-Car Gen2 and RZ/G1"
960 depends on ARCH_R8A7743 || ARCH_R8A7744 || ARCH_R8A7790 || \
961 ARCH_R8A7791 || ARCH_R8A7792 || ARCH_R8A7793
962 help
963 Say Y here if you want kernel low-level debugging support
964 via SCIF0 on Renesas RZ/G1M (R8A7743), RZ/G1N (R8A7744),
965 R-Car H2 (R8A7790), M2-W (R8A7791), V2H (R8A7792), or
966 M2-N (R8A7793).
967
968 config DEBUG_RCAR_GEN2_SCIF1
969 bool "Kernel low-level debugging messages via SCIF1 on R8A77470"
970 depends on ARCH_R8A77470
971 help
972 Say Y here if you want kernel low-level debugging support
973 via SCIF1 on Renesas RZ/G1C (R8A77470).
974
975 config DEBUG_RCAR_GEN2_SCIF2
976 bool "Kernel low-level debugging messages via SCIF2 on R8A7794"
977 depends on ARCH_R8A7794
978 help
979 Say Y here if you want kernel low-level debugging support
980 via SCIF2 on Renesas R-Car E2 (R8A7794).
981
982 config DEBUG_RCAR_GEN2_SCIF4
983 bool "Kernel low-level debugging messages via SCIF4 on R8A7745"
984 depends on ARCH_R8A7745
985 help
986 Say Y here if you want kernel low-level debugging support
987 via SCIF4 on Renesas RZ/G1E (R8A7745).
988
989 config DEBUG_RCAR_GEN2_SCIFA2
990 bool "Kernel low-level debugging messages via SCIFA2 on R8A7742"
991 depends on ARCH_R8A7742
992 help
993 Say Y here if you want kernel low-level debugging support
994 via SCIFA2 on Renesas RZ/G1H (R8A7742).
995
996 config DEBUG_RMOBILE_SCIFA0
997 bool "Kernel low-level debugging messages via SCIFA0 on R8A73A4"
998 depends on ARCH_R8A73A4
999 help
1000 Say Y here if you want kernel low-level debugging support
1001 via SCIFA0 on Renesas R-Mobile APE6 (R8A73A4).
1002
1003 config DEBUG_RMOBILE_SCIFA1
1004 bool "Kernel low-level debugging messages via SCIFA1 on R8A7740"
1005 depends on ARCH_R8A7740
1006 help
1007 Say Y here if you want kernel low-level debugging support
1008 via SCIFA1 on Renesas R-Mobile A1 (R8A7740).
1009
1010 config DEBUG_RMOBILE_SCIFA4
1011 bool "Kernel low-level debugging messages via SCIFA4 on SH73A0"
1012 depends on ARCH_SH73A0
1013 help
1014 Say Y here if you want kernel low-level debugging support
1015 via SCIFA4 on Renesas SH-Mobile AG5 (SH73A0).
1016
1017 config DEBUG_S3C_UART0
1018 depends on PLAT_SAMSUNG || ARCH_S5PV210 || ARCH_EXYNOS
1019 select DEBUG_EXYNOS_UART if ARCH_EXYNOS
1020 select DEBUG_S3C24XX_UART if ARCH_S3C24XX
1021 select DEBUG_S3C64XX_UART if ARCH_S3C64XX
1022 select DEBUG_S5PV210_UART if ARCH_S5PV210
1023 bool "Use Samsung S3C UART 0 for low-level debug"
1024 help
1025 Say Y here if you want the debug print routines to direct
1026 their output to UART 0. The port must have been initialised
1027 by the boot-loader before use.
1028
1029 config DEBUG_S3C_UART1
1030 depends on PLAT_SAMSUNG || ARCH_S5PV210 || ARCH_EXYNOS
1031 select DEBUG_EXYNOS_UART if ARCH_EXYNOS
1032 select DEBUG_S3C24XX_UART if ARCH_S3C24XX
1033 select DEBUG_S3C64XX_UART if ARCH_S3C64XX
1034 select DEBUG_S5PV210_UART if ARCH_S5PV210
1035 bool "Use Samsung S3C UART 1 for low-level debug"
1036 help
1037 Say Y here if you want the debug print routines to direct
1038 their output to UART 1. The port must have been initialised
1039 by the boot-loader before use.
1040
1041 config DEBUG_S3C_UART2
1042 depends on PLAT_SAMSUNG || ARCH_S5PV210 || ARCH_EXYNOS
1043 select DEBUG_EXYNOS_UART if ARCH_EXYNOS
1044 select DEBUG_S3C24XX_UART if ARCH_S3C24XX
1045 select DEBUG_S3C64XX_UART if ARCH_S3C64XX
1046 select DEBUG_S5PV210_UART if ARCH_S5PV210
1047 bool "Use Samsung S3C UART 2 for low-level debug"
1048 help
1049 Say Y here if you want the debug print routines to direct
1050 their output to UART 2. The port must have been initialised
1051 by the boot-loader before use.
1052
1053 config DEBUG_S3C_UART3
1054 depends on ARCH_EXYNOS || ARCH_S5PV210
1055 select DEBUG_EXYNOS_UART if ARCH_EXYNOS
1056 select DEBUG_S3C64XX_UART if ARCH_S3C64XX
1057 select DEBUG_S5PV210_UART if ARCH_S5PV210
1058 bool "Use Samsung S3C UART 3 for low-level debug"
1059 help
1060 Say Y here if you want the debug print routines to direct
1061 their output to UART 3. The port must have been initialised
1062 by the boot-loader before use.
1063
1064 config DEBUG_S3C2410_UART0
1065 depends on ARCH_S3C24XX
1066 select DEBUG_S3C2410_UART
1067 bool "Use S3C2410/S3C2412 UART 0 for low-level debug"
1068 help
1069 Say Y here if you want the debug print routines to direct
1070 their output to UART 0. The port must have been initialised
1071 by the boot-loader before use.
1072
1073 config DEBUG_S3C2410_UART1
1074 depends on ARCH_S3C24XX
1075 select DEBUG_S3C2410_UART
1076 bool "Use S3C2410/S3C2412 UART 1 for low-level debug"
1077 help
1078 Say Y here if you want the debug print routines to direct
1079 their output to UART 1. The port must have been initialised
1080 by the boot-loader before use.
1081
1082 config DEBUG_S3C2410_UART2
1083 depends on ARCH_S3C24XX
1084 select DEBUG_S3C2410_UART
1085 bool "Use S3C2410/S3C2412 UART 2 for low-level debug"
1086 help
1087 Say Y here if you want the debug print routines to direct
1088 their output to UART 2. The port must have been initialised
1089 by the boot-loader before use.
1090
1091 config DEBUG_SA1100
1092 depends on ARCH_SA1100
1093 bool "Use SA1100 UARTs for low-level debug"
1094 help
1095 Say Y here if you want kernel low-level debugging support
1096 on SA-11x0 UART ports. The kernel will check for the first
1097 enabled UART in a sequence 3-1-2.
1098
1099 config DEBUG_SD5203_UART
1100 bool "Hisilicon SD5203 Debug UART"
1101 depends on ARCH_SD5203
1102 select DEBUG_UART_8250
1103 help
1104 Say Y here if you want kernel low-level debugging support
1105 on SD5203 UART.
1106
1107 config DEBUG_SOCFPGA_UART0
1108 depends on ARCH_INTEL_SOCFPGA
1109 bool "Use SOCFPGA UART0 for low-level debug"
1110 select DEBUG_UART_8250
1111 help
1112 Say Y here if you want kernel low-level debugging support
1113 on SOCFPGA(Cyclone 5 and Arria 5) based platforms.
1114
1115 config DEBUG_SOCFPGA_ARRIA10_UART1
1116 depends on ARCH_INTEL_SOCFPGA
1117 bool "Use SOCFPGA Arria10 UART1 for low-level debug"
1118 select DEBUG_UART_8250
1119 help
1120 Say Y here if you want kernel low-level debugging support
1121 on SOCFPGA(Arria 10) based platforms.
1122
1123 config DEBUG_SOCFPGA_CYCLONE5_UART1
1124 depends on ARCH_INTEL_SOCFPGA
1125 bool "Use SOCFPGA Cyclone 5 UART1 for low-level debug"
1126 select DEBUG_UART_8250
1127 help
1128 Say Y here if you want kernel low-level debugging support
1129 on SOCFPGA(Cyclone 5 and Arria 5) based platforms.
1130
1131 config DEBUG_SUN9I_UART0
1132 bool "Kernel low-level debugging messages via sun9i UART0"
1133 depends on MACH_SUN9I
1134 select DEBUG_UART_8250
1135 help
1136 Say Y here if you want kernel low-level debugging support
1137 on Allwinner A80 based platforms on the UART0.
1138
1139 config DEBUG_SUNXI_UART0
1140 bool "Kernel low-level debugging messages via sunXi UART0"
1141 depends on ARCH_SUNXI
1142 select DEBUG_UART_8250
1143 help
1144 Say Y here if you want kernel low-level debugging support
1145 on Allwinner A1X based platforms on the UART0.
1146
1147 config DEBUG_SUNXI_UART1
1148 bool "Kernel low-level debugging messages via sunXi UART1"
1149 depends on ARCH_SUNXI
1150 select DEBUG_UART_8250
1151 help
1152 Say Y here if you want kernel low-level debugging support
1153 on Allwinner A1X based platforms on the UART1.
1154
1155 config DEBUG_SUNXI_R_UART
1156 bool "Kernel low-level debugging messages via sunXi R_UART"
1157 depends on MACH_SUN6I || MACH_SUN8I
1158 select DEBUG_UART_8250
1159 help
1160 Say Y here if you want kernel low-level debugging support
1161 on Allwinner A31/A23 based platforms on the R_UART.
1162
1163 config DEBUG_SPEAR3XX
1164 bool "Kernel low-level debugging messages via ST SPEAr 3xx/6xx UART"
1165 depends on ARCH_SPEAR3XX || ARCH_SPEAR6XX
1166 select DEBUG_UART_PL01X
1167 help
1168 Say Y here if you want kernel low-level debugging support
1169 on ST SPEAr based platforms.
1170
1171 config DEBUG_SPEAR13XX
1172 bool "Kernel low-level debugging messages via ST SPEAr 13xx UART"
1173 depends on ARCH_SPEAR13XX
1174 select DEBUG_UART_PL01X
1175 help
1176 Say Y here if you want kernel low-level debugging support
1177 on ST SPEAr13xx based platforms.
1178
1179 config DEBUG_STIH41X_ASC2
1180 bool "Use StiH415/416 ASC2 UART for low-level debug"
1181 depends on ARCH_STI
1182 help
1183 Say Y here if you want kernel low-level debugging support
1184 on STiH415/416 based platforms like b2000, which has
1185 default UART wired up to ASC2.
1186
1187 If unsure, say N.
1188
1189 config DEBUG_STIH41X_SBC_ASC1
1190 bool "Use StiH415/416 SBC ASC1 UART for low-level debug"
1191 depends on ARCH_STI
1192 help
1193 Say Y here if you want kernel low-level debugging support
1194 on STiH415/416 based platforms like b2020. which has
1195 default UART wired up to SBC ASC1.
1196
1197 If unsure, say N.
1198
1199 config DEBUG_STIH418_SBC_ASC0
1200 bool "Use StiH418 SBC ASC0 UART for low-level debug"
1201 depends on ARCH_STI
1202 help
1203 Say Y here if you want kernel low-level debugging support
1204 on STiH418 based platforms which has default UART wired
1205 up to SBC ASC0.
1206
1207 If unsure, say N.
1208
1209 config STM32F4_DEBUG_UART
1210 bool "Use STM32F4 UART for low-level debug"
1211 depends on MACH_STM32F429 || MACH_STM32F469
1212 select DEBUG_STM32_UART
1213 help
1214 Say Y here if you want kernel low-level debugging support
1215 on STM32F4 based platforms, which default UART is wired on
1216 USART1, but another UART instance can be selected by modifying
1217 CONFIG_DEBUG_UART_PHYS.
1218
1219 If unsure, say N.
1220
1221 config STM32F7_DEBUG_UART
1222 bool "Use STM32F7 UART for low-level debug"
1223 depends on MACH_STM32F746 || MACH_STM32F769
1224 select DEBUG_STM32_UART
1225 help
1226 Say Y here if you want kernel low-level debugging support
1227 on STM32F7 based platforms, which default UART is wired on
1228 USART1, but another UART instance can be selected by modifying
1229 CONFIG_DEBUG_UART_PHYS.
1230
1231 If unsure, say N.
1232
1233 config STM32H7_DEBUG_UART
1234 bool "Use STM32H7 UART for low-level debug"
1235 depends on MACH_STM32H743
1236 select DEBUG_STM32_UART
1237 help
1238 Say Y here if you want kernel low-level debugging support
1239 on STM32H7 based platforms, which default UART is wired on
1240 USART1, but another UART instance can be selected by modifying
1241 CONFIG_DEBUG_UART_PHYS.
1242
1243 If unsure, say N.
1244
1245 config STM32MP1_DEBUG_UART
1246 bool "Use STM32MP1 UART for low-level debug"
1247 depends on MACH_STM32MP157
1248 select DEBUG_STM32_UART
1249 help
1250 Say Y here if you want kernel low-level debugging support
1251 on STM32MP1 based platforms, wich default UART is wired on
1252 UART4, but another UART instance can be selected by modifying
1253 CONFIG_DEBUG_UART_PHYS and CONFIG_DEBUG_UART_VIRT.
1254
1255 If unsure, say N.
1256
1257 config TEGRA_DEBUG_UART_AUTO_ODMDATA
1258 bool "Kernel low-level debugging messages via Tegra UART via ODMDATA"
1259 depends on ARCH_TEGRA
1260 select DEBUG_TEGRA_UART
1261 help
1262 Automatically determines which UART to use for low-level
1263 debug based on the ODMDATA value. This value is part of
1264 the BCT, and is written to the boot memory device using
1265 nvflash, or other flashing tool. When bits 19:18 are 3,
1266 then bits 17:15 indicate which UART to use; 0/1/2/3/4
1267 are UART A/B/C/D/E.
1268
1269 config TEGRA_DEBUG_UARTA
1270 bool "Kernel low-level debugging messages via Tegra UART A"
1271 depends on ARCH_TEGRA
1272 select DEBUG_TEGRA_UART
1273 help
1274 Say Y here if you want kernel low-level debugging support
1275 on Tegra based platforms.
1276
1277 config TEGRA_DEBUG_UARTB
1278 bool "Kernel low-level debugging messages via Tegra UART B"
1279 depends on ARCH_TEGRA
1280 select DEBUG_TEGRA_UART
1281 help
1282 Say Y here if you want kernel low-level debugging support
1283 on Tegra based platforms.
1284
1285 config TEGRA_DEBUG_UARTC
1286 bool "Kernel low-level debugging messages via Tegra UART C"
1287 depends on ARCH_TEGRA
1288 select DEBUG_TEGRA_UART
1289 help
1290 Say Y here if you want kernel low-level debugging support
1291 on Tegra based platforms.
1292
1293 config TEGRA_DEBUG_UARTD
1294 bool "Kernel low-level debugging messages via Tegra UART D"
1295 depends on ARCH_TEGRA
1296 select DEBUG_TEGRA_UART
1297 help
1298 Say Y here if you want kernel low-level debugging support
1299 on Tegra based platforms.
1300
1301 config TEGRA_DEBUG_UARTE
1302 bool "Kernel low-level debugging messages via Tegra UART E"
1303 depends on ARCH_TEGRA
1304 select DEBUG_TEGRA_UART
1305 help
1306 Say Y here if you want kernel low-level debugging support
1307 on Tegra based platforms.
1308
1309 config DEBUG_UX500_UART
1310 depends on ARCH_U8500
1311 bool "Use Ux500 UART for low-level debug"
1312 help
1313 Say Y here if you want kernel low-level debugging support
1314 on Ux500 based platforms.
1315
1316 config DEBUG_VERSATILE
1317 bool "Kernel low-level debugging messages via ARM Versatile UART"
1318 depends on ARCH_VERSATILE
1319 select DEBUG_UART_PL01X
1320 help
1321 Say Y here if you want kernel low-level debugging support
1322 on ARM Versatile platforms.
1323
1324 config DEBUG_VEXPRESS_UART0_DETECT
1325 bool "Autodetect UART0 on Versatile Express Cortex-A core tiles"
1326 depends on ARCH_VEXPRESS && CPU_CP15_MMU
1327 help
1328 This option enables a simple heuristic which tries to determine
1329 the motherboard's memory map variant (original or RS1) and then
1330 choose the relevant UART0 base address.
1331
1332 Note that this will only work with standard A-class core tiles,
1333 and may fail with non-standard SMM or custom software models.
1334
1335 config DEBUG_VEXPRESS_UART0_CA9
1336 bool "Use PL011 UART0 at 0x10009000 (V2P-CA9 core tile)"
1337 depends on ARCH_VEXPRESS
1338 select DEBUG_UART_PL01X
1339 help
1340 This option selects UART0 at 0x10009000. Except for custom models,
1341 this applies only to the V2P-CA9 tile.
1342
1343 config DEBUG_VEXPRESS_UART0_RS1
1344 bool "Use PL011 UART0 at 0x1c090000 (RS1 complaint tiles)"
1345 depends on ARCH_VEXPRESS
1346 select DEBUG_UART_PL01X
1347 help
1348 This option selects UART0 at 0x1c090000. This applies to most
1349 of the tiles using the RS1 memory map, including all new A-class
1350 core tiles, FPGA-based SMMs and software models.
1351
1352 config DEBUG_VEXPRESS_UART0_CRX
1353 bool "Use PL011 UART0 at 0xb0090000 (Cortex-R compliant tiles)"
1354 depends on ARCH_VEXPRESS && !MMU
1355 select DEBUG_UART_PL01X
1356 help
1357 This option selects UART0 at 0xb0090000. This is appropriate for
1358 Cortex-R series tiles and SMMs, such as Cortex-R5 and Cortex-R7
1359
1360 config DEBUG_VF_UART
1361 bool "Vybrid UART"
1362 depends on SOC_VF610
1363 help
1364 Say Y here if you want kernel low-level debugging support
1365 on Vybrid based platforms.
1366
1367 config DEBUG_VT8500_UART0
1368 bool "Use UART0 on VIA/Wondermedia SoCs"
1369 depends on ARCH_VT8500
1370 help
1371 This option selects UART0 on VIA/Wondermedia System-on-a-chip
1372 devices, including VT8500, WM8505, WM8650 and WM8850.
1373
1374 config DEBUG_ZYNQ_UART0
1375 bool "Kernel low-level debugging on Xilinx Zynq using UART0"
1376 depends on ARCH_ZYNQ
1377 help
1378 Say Y here if you want the debug print routines to direct
1379 their output to UART0 on the Zynq platform.
1380
1381 config DEBUG_ZYNQ_UART1
1382 bool "Kernel low-level debugging on Xilinx Zynq using UART1"
1383 depends on ARCH_ZYNQ
1384 help
1385 Say Y here if you want the debug print routines to direct
1386 their output to UART1 on the Zynq platform.
1387
1388 If you have a ZC702 board and want early boot messages to
1389 appear on the USB serial adaptor, select this option.
1390
1391 config DEBUG_ICEDCC
1392 bool "Kernel low-level debugging via EmbeddedICE DCC channel"
1393 help
1394 Say Y here if you want the debug print routines to direct
1395 their output to the EmbeddedICE macrocell's DCC channel using
1396 co-processor 14. This is known to work on the ARM9 style ICE
1397 channel and on the XScale with the PEEDI.
1398
1399 Note that the system will appear to hang during boot if there
1400 is nothing connected to read from the DCC.
1401
1402 config DEBUG_SEMIHOSTING
1403 bool "Kernel low-level debug output via semihosting I/O"
1404 help
1405 Semihosting enables code running on an ARM target to use
1406 the I/O facilities on a host debugger/emulator through a
1407 simple SVC call. The host debugger or emulator must have
1408 semihosting enabled for the special svc call to be trapped
1409 otherwise the kernel will crash.
1410
1411 This is known to work with OpenOCD, as well as
1412 ARM's Fast Models, or any other controlling environment
1413 that implements semihosting.
1414
1415 For more details about semihosting, please see
1416 chapter 8 of DUI0203I_rvct_developer_guide.pdf from ARM Ltd.
1417
1418 config DEBUG_LL_UART_8250
1419 bool "Kernel low-level debugging via 8250 UART"
1420 help
1421 Say Y here if you wish the debug print routes to direct
1422 their output to an 8250 UART. You can use this option
1423 to provide the parameters for the 8250 UART rather than
1424 selecting one of the platform specific options above if
1425 you know the parameters for the port.
1426
1427 This option is preferred over the platform specific
1428 options; the platform specific options are deprecated
1429 and will be soon removed.
1430
1431 config DEBUG_LL_UART_PL01X
1432 bool "Kernel low-level debugging via ARM Ltd PL01x Primecell UART"
1433 help
1434 Say Y here if you wish the debug print routes to direct
1435 their output to a PL01x Primecell UART. You can use
1436 this option to provide the parameters for the UART
1437 rather than selecting one of the platform specific
1438 options above if you know the parameters for the port.
1439
1440 This option is preferred over the platform specific
1441 options; the platform specific options are deprecated
1442 and will be soon removed.
1443
1444 endchoice
1445
1446 config DEBUG_AT91_UART
1447 bool
1448 depends on ARCH_AT91
1449
1450 config DEBUG_EXYNOS_UART
1451 bool
1452
1453 config DEBUG_S3C2410_UART
1454 bool
1455 select DEBUG_S3C24XX_UART
1456
1457 config DEBUG_S3C24XX_UART
1458 bool
1459
1460 config DEBUG_S3C64XX_UART
1461 bool
1462
1463 config DEBUG_S5PV210_UART
1464 bool
1465
1466 config DEBUG_S3C_UART
1467 depends on DEBUG_S3C2410_UART || DEBUG_S3C24XX_UART || \
1468 DEBUG_S3C64XX_UART || DEBUG_S5PV210_UART || \
1469 DEBUG_EXYNOS_UART
1470 int
1471 default "0" if DEBUG_S3C_UART0
1472 default "1" if DEBUG_S3C_UART1
1473 default "2" if DEBUG_S3C_UART2
1474 default "3" if DEBUG_S3C_UART3
1475
1476 config DEBUG_OMAP2PLUS_UART
1477 bool
1478 depends on ARCH_OMAP2PLUS
1479
1480 config DEBUG_IMX_UART_PORT
1481 int "i.MX Debug UART Port Selection"
1482 depends on DEBUG_IMX1_UART || \
1483 DEBUG_IMX25_UART || \
1484 DEBUG_IMX21_IMX27_UART || \
1485 DEBUG_IMX31_UART || \
1486 DEBUG_IMX35_UART || \
1487 DEBUG_IMX50_UART || \
1488 DEBUG_IMX51_UART || \
1489 DEBUG_IMX53_UART || \
1490 DEBUG_IMX6Q_UART || \
1491 DEBUG_IMX6SL_UART || \
1492 DEBUG_IMX6SX_UART || \
1493 DEBUG_IMX6UL_UART || \
1494 DEBUG_IMX7D_UART
1495 default 1
1496 help
1497 Choose UART port on which kernel low-level debug messages
1498 should be output.
1499
1500 config DEBUG_VF_UART_PORT
1501 int "Vybrid Debug UART Port Selection" if DEBUG_VF_UART
1502 default 1
1503 range 0 3
1504 depends on SOC_VF610
1505 help
1506 Choose UART port on which kernel low-level debug messages
1507 should be output.
1508
1509 config DEBUG_TEGRA_UART
1510 bool
1511 depends on ARCH_TEGRA
1512
1513 config DEBUG_STM32_UART
1514 bool
1515 depends on ARCH_STM32
1516
1517 config DEBUG_UART_FLOW_CONTROL
1518 bool "Enable flow control (CTS) for the debug UART"
1519 depends on DEBUG_LL
1520 default y if DEBUG_FOOTBRIDGE_COM1 || DEBUG_GEMINI || ARCH_RPC
1521 help
1522 Some UART ports are connected to terminals that will use modem
1523 control signals to indicate whether they are ready to receive text.
1524 In practice this means that the terminal is asserting the special
1525 control signal CTS (Clear To Send). If your debug UART supports
1526 this and your debug terminal will require it, enable this option.
1527
1528 config DEBUG_LL_INCLUDE
1529 string
1530 default "debug/sa1100.S" if DEBUG_SA1100
1531 default "debug/palmchip.S" if DEBUG_UART_8250_PALMCHIP
1532 default "debug/8250.S" if DEBUG_LL_UART_8250 || DEBUG_UART_8250
1533 default "debug/at91.S" if DEBUG_AT91_UART
1534 default "debug/asm9260.S" if DEBUG_ASM9260_UART
1535 default "debug/clps711x.S" if DEBUG_CLPS711X_UART1 || DEBUG_CLPS711X_UART2
1536 default "debug/dc21285.S" if DEBUG_DC21285_PORT
1537 default "debug/meson.S" if DEBUG_MESON_UARTAO
1538 default "debug/pl01x.S" if DEBUG_LL_UART_PL01X || DEBUG_UART_PL01X
1539 default "debug/exynos.S" if DEBUG_EXYNOS_UART
1540 default "debug/icedcc.S" if DEBUG_ICEDCC
1541 default "debug/imx.S" if DEBUG_IMX1_UART || \
1542 DEBUG_IMX25_UART || \
1543 DEBUG_IMX21_IMX27_UART || \
1544 DEBUG_IMX31_UART || \
1545 DEBUG_IMX35_UART || \
1546 DEBUG_IMX50_UART || \
1547 DEBUG_IMX51_UART || \
1548 DEBUG_IMX53_UART ||\
1549 DEBUG_IMX6Q_UART || \
1550 DEBUG_IMX6SL_UART || \
1551 DEBUG_IMX6SX_UART || \
1552 DEBUG_IMX6UL_UART || \
1553 DEBUG_IMX7D_UART
1554 default "debug/msm.S" if DEBUG_QCOM_UARTDM
1555 default "debug/omap2plus.S" if DEBUG_OMAP2PLUS_UART
1556 default "debug/renesas-scif.S" if DEBUG_R7S72100_SCIF2
1557 default "debug/renesas-scif.S" if DEBUG_R7S9210_SCIF2
1558 default "debug/renesas-scif.S" if DEBUG_R7S9210_SCIF4
1559 default "debug/renesas-scif.S" if DEBUG_RCAR_GEN1_SCIF0
1560 default "debug/renesas-scif.S" if DEBUG_RCAR_GEN1_SCIF2
1561 default "debug/renesas-scif.S" if DEBUG_RCAR_GEN2_SCIF0
1562 default "debug/renesas-scif.S" if DEBUG_RCAR_GEN2_SCIF1
1563 default "debug/renesas-scif.S" if DEBUG_RCAR_GEN2_SCIF2
1564 default "debug/renesas-scif.S" if DEBUG_RCAR_GEN2_SCIF4
1565 default "debug/renesas-scif.S" if DEBUG_RCAR_GEN2_SCIFA2
1566 default "debug/renesas-scif.S" if DEBUG_RMOBILE_SCIFA0
1567 default "debug/renesas-scif.S" if DEBUG_RMOBILE_SCIFA1
1568 default "debug/renesas-scif.S" if DEBUG_RMOBILE_SCIFA4
1569 default "debug/s3c24xx.S" if DEBUG_S3C24XX_UART || DEBUG_S3C64XX_UART
1570 default "debug/s5pv210.S" if DEBUG_S5PV210_UART
1571 default "debug/sti.S" if DEBUG_STIH41X_ASC2
1572 default "debug/sti.S" if DEBUG_STIH41X_SBC_ASC1
1573 default "debug/sti.S" if DEBUG_STIH418_SBC_ASC0
1574 default "debug/stm32.S" if DEBUG_STM32_UART
1575 default "debug/tegra.S" if DEBUG_TEGRA_UART
1576 default "debug/ux500.S" if DEBUG_UX500_UART
1577 default "debug/vexpress.S" if DEBUG_VEXPRESS_UART0_DETECT
1578 default "debug/vf.S" if DEBUG_VF_UART
1579 default "debug/vt8500.S" if DEBUG_VT8500_UART0
1580 default "debug/zynq.S" if DEBUG_ZYNQ_UART0 || DEBUG_ZYNQ_UART1
1581 default "debug/bcm63xx.S" if DEBUG_BCM63XX_UART
1582 default "debug/digicolor.S" if DEBUG_DIGICOLOR_UA0
1583 default "debug/brcmstb.S" if DEBUG_BRCMSTB_UART
1584 default "mach/debug-macro.S"
1585
1586 # Compatibility options for PL01x
1587 config DEBUG_UART_PL01X
1588 bool
1589
1590 # Compatibility options for 8250
1591 config DEBUG_UART_8250
1592 def_bool ARCH_IOP32X || ARCH_IXP4XX || ARCH_RPC
1593
1594 config DEBUG_UART_PHYS
1595 hex "Physical base address of debug UART"
1596 default 0x01c20000 if DEBUG_DAVINCI_DMx_UART0
1597 default 0x01c28000 if DEBUG_SUNXI_UART0
1598 default 0x01c28400 if DEBUG_SUNXI_UART1
1599 default 0x01d0c000 if DEBUG_DAVINCI_DA8XX_UART1
1600 default 0x01d0d000 if DEBUG_DAVINCI_DA8XX_UART2
1601 default 0x01f02800 if DEBUG_SUNXI_R_UART
1602 default 0x02530c00 if DEBUG_KEYSTONE_UART0
1603 default 0x02531000 if DEBUG_KEYSTONE_UART1
1604 default 0x03010fe0 if ARCH_RPC
1605 default 0x07000000 if DEBUG_SUN9I_UART0
1606 default 0x09530000 if DEBUG_STIH418_SBC_ASC0
1607 default 0x10009000 if DEBUG_REALVIEW_STD_PORT || \
1608 DEBUG_VEXPRESS_UART0_CA9
1609 default 0x1010c000 if DEBUG_REALVIEW_PB1176_PORT
1610 default 0x10124000 if DEBUG_RK3X_UART0
1611 default 0x10126000 if DEBUG_RK3X_UART1
1612 default 0x101f1000 if DEBUG_VERSATILE
1613 default 0x101fb000 if DEBUG_NOMADIK_UART
1614 default 0x10210000 if DEBUG_RV1108_UART2
1615 default 0x10220000 if DEBUG_RV1108_UART1
1616 default 0x10230000 if DEBUG_RV1108_UART0
1617 default 0x11002000 if DEBUG_MT8127_UART0
1618 default 0x11006000 if DEBUG_MT6589_UART0
1619 default 0x11009000 if DEBUG_MT8135_UART3
1620 default 0x16000000 if DEBUG_INTEGRATOR
1621 default 0x1600d000 if DEBUG_SD5203_UART
1622 default 0x18000300 if DEBUG_BCM_5301X
1623 default 0x18000400 if DEBUG_BCM_HR2
1624 default 0x18023000 if DEBUG_BCM_IPROC_UART3
1625 default 0x1c090000 if DEBUG_VEXPRESS_UART0_RS1
1626 default 0x1f221000 if DEBUG_MSTARV7_PMUART
1627 default 0x20001000 if DEBUG_HIP01_UART
1628 default 0x20060000 if DEBUG_RK29_UART0
1629 default 0x20064000 if DEBUG_RK29_UART1 || DEBUG_RK3X_UART2
1630 default 0x20068000 if DEBUG_RK29_UART2 || DEBUG_RK3X_UART3
1631 default 0x20201000 if DEBUG_BCM2835
1632 default 0x3e000000 if DEBUG_BCM_KONA_UART
1633 default 0x3f201000 if DEBUG_BCM2836
1634 default 0x40010000 if STM32MP1_DEBUG_UART
1635 default 0x40011000 if STM32F4_DEBUG_UART || STM32F7_DEBUG_UART || \
1636 STM32H7_DEBUG_UART
1637 default 0x40028000 if DEBUG_AT91_SAMV7_USART1
1638 default 0x40081000 if DEBUG_LPC18XX_UART0
1639 default 0x40090000 if DEBUG_LPC32XX
1640 default 0x40100000 if DEBUG_PXA_UART1
1641 default 0x42000000 if DEBUG_GEMINI
1642 default 0x44e09000 if DEBUG_AM33XXUART1
1643 default 0x48020000 if DEBUG_OMAP4UART3 || DEBUG_TI81XXUART1
1644 default 0x48022000 if DEBUG_TI81XXUART2
1645 default 0x48024000 if DEBUG_TI81XXUART3
1646 default 0x4806a000 if DEBUG_OMAP2UART1 || DEBUG_OMAP3UART1 || \
1647 DEBUG_OMAP4UART1 || DEBUG_OMAP5UART1
1648 default 0x4806c000 if DEBUG_OMAP2UART2 || DEBUG_OMAP3UART2 || \
1649 DEBUG_OMAP4UART2 || DEBUG_OMAP5UART2
1650 default 0x4806e000 if DEBUG_OMAP2UART3 || DEBUG_OMAP4UART4
1651 default 0x49020000 if DEBUG_OMAP3UART3
1652 default 0x49042000 if DEBUG_OMAP3UART4
1653 default 0x50000000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART0 || \
1654 DEBUG_S3C2410_UART0)
1655 default 0x50004000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART1 || \
1656 DEBUG_S3C2410_UART1)
1657 default 0x50008000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART2 || \
1658 DEBUG_S3C2410_UART2)
1659 default 0x78000000 if DEBUG_CNS3XXX
1660 default 0x7c0003f8 if DEBUG_FOOTBRIDGE_COM1
1661 default 0x7f005000 if DEBUG_S3C64XX_UART && DEBUG_S3C_UART0
1662 default 0x7f005400 if DEBUG_S3C64XX_UART && DEBUG_S3C_UART1
1663 default 0x7f005800 if DEBUG_S3C64XX_UART && DEBUG_S3C_UART2
1664 default 0x7f005c00 if DEBUG_S3C64XX_UART && DEBUG_S3C_UART3
1665 default 0x80010000 if DEBUG_ASM9260_UART
1666 default 0x80070000 if DEBUG_IMX23_UART
1667 default 0x80074000 if DEBUG_IMX28_UART
1668 default 0x808c0000 if DEBUG_EP93XX || ARCH_EP93XX
1669 default 0x90020000 if DEBUG_NSPIRE_CLASSIC_UART || DEBUG_NSPIRE_CX_UART
1670 default 0xb0090000 if DEBUG_VEXPRESS_UART0_CRX
1671 default 0xc8000000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN
1672 default 0xc8000003 if ARCH_IXP4XX && CPU_BIG_ENDIAN
1673 default 0xd0000000 if DEBUG_SPEAR3XX
1674 default 0xd0012000 if DEBUG_MVEBU_UART0
1675 default 0xc81004c0 if DEBUG_MESON_UARTAO
1676 default 0xd4017000 if DEBUG_MMP_UART2
1677 default 0xd4018000 if DEBUG_MMP_UART3
1678 default 0xe0000000 if DEBUG_SPEAR13XX
1679 default 0xe1824200 if DEBUG_AT91_SAMA7G5_FLEXCOM3
1680 default 0xe4007000 if DEBUG_HIP04_UART
1681 default 0xe6c40000 if DEBUG_RMOBILE_SCIFA0
1682 default 0xe6c50000 if DEBUG_RMOBILE_SCIFA1
1683 default 0xe6c60000 if DEBUG_RCAR_GEN2_SCIFA2
1684 default 0xe6c80000 if DEBUG_RMOBILE_SCIFA4
1685 default 0xe6e58000 if DEBUG_RCAR_GEN2_SCIF2
1686 default 0xe6e60000 if DEBUG_RCAR_GEN2_SCIF0
1687 default 0xe6e68000 if DEBUG_RCAR_GEN2_SCIF1
1688 default 0xe6ee0000 if DEBUG_RCAR_GEN2_SCIF4
1689 default 0xe8008000 if DEBUG_R7S72100_SCIF2 || DEBUG_R7S9210_SCIF2
1690 default 0xe8009000 if DEBUG_R7S9210_SCIF4
1691 default 0xf0000000 if DEBUG_DIGICOLOR_UA0
1692 default 0xf1012000 if DEBUG_MVEBU_UART0_ALTERNATE
1693 default 0xf1012100 if DEBUG_MVEBU_UART1_ALTERNATE
1694 default 0xf7fc9000 if DEBUG_BERLIN_UART
1695 default 0xf8020000 if DEBUG_AT91_SAMA5D2_UART1
1696 default 0xf8b00000 if DEBUG_HIX5HD2_UART
1697 default 0xf991e000 if DEBUG_QCOM_UARTDM
1698 default 0xfc00c000 if DEBUG_AT91_SAMA5D4_USART3
1699 default 0xfcb00000 if DEBUG_HI3620_UART
1700 default 0xfd883000 if DEBUG_ALPINE_UART0
1701 default 0xfe531000 if DEBUG_STIH41X_SBC_ASC1
1702 default 0xfe800000 if ARCH_IOP32X
1703 default 0xfed32000 if DEBUG_STIH41X_ASC2
1704 default 0xff690000 if DEBUG_RK32_UART2
1705 default 0xffc02000 if DEBUG_SOCFPGA_UART0
1706 default 0xffc02100 if DEBUG_SOCFPGA_ARRIA10_UART1
1707 default 0xffc03000 if DEBUG_SOCFPGA_CYCLONE5_UART1
1708 default 0xffe40000 if DEBUG_RCAR_GEN1_SCIF0
1709 default 0xffe42000 if DEBUG_RCAR_GEN1_SCIF2
1710 default 0xfff36000 if DEBUG_HIGHBANK_UART
1711 default 0xfffb0000 if DEBUG_OMAP1UART1 || DEBUG_OMAP7XXUART1
1712 default 0xfffb0800 if DEBUG_OMAP1UART2 || DEBUG_OMAP7XXUART2
1713 default 0xfffb9800 if DEBUG_OMAP1UART3 || DEBUG_OMAP7XXUART3
1714 default 0xfffe8600 if DEBUG_BCM63XX_UART
1715 default 0xffffee00 if DEBUG_AT91_SAM9263_DBGU
1716 default 0xfffff200 if DEBUG_AT91_RM9200_DBGU
1717 depends on ARCH_EP93XX || \
1718 DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \
1719 DEBUG_UART_8250 || DEBUG_UART_PL01X || DEBUG_MESON_UARTAO || \
1720 DEBUG_QCOM_UARTDM || DEBUG_R7S72100_SCIF2 || \
1721 DEBUG_R7S9210_SCIF2 || DEBUG_R7S9210_SCIF4 || \
1722 DEBUG_RCAR_GEN1_SCIF0 || DEBUG_RCAR_GEN1_SCIF2 || \
1723 DEBUG_RCAR_GEN2_SCIF0 || DEBUG_RCAR_GEN2_SCIF1 || \
1724 DEBUG_RCAR_GEN2_SCIF2 || DEBUG_RCAR_GEN2_SCIF4 || \
1725 DEBUG_RCAR_GEN2_SCIFA2 || \
1726 DEBUG_RMOBILE_SCIFA0 || DEBUG_RMOBILE_SCIFA1 || \
1727 DEBUG_RMOBILE_SCIFA4 || DEBUG_S3C24XX_UART || \
1728 DEBUG_S3C64XX_UART || \
1729 DEBUG_BCM63XX_UART || DEBUG_ASM9260_UART || \
1730 DEBUG_DIGICOLOR_UA0 || \
1731 DEBUG_AT91_UART || DEBUG_STM32_UART || \
1732 DEBUG_STIH41X_ASC2 || DEBUG_STIH41X_SBC_ASC1 || \
1733 DEBUG_STIH418_SBC_ASC0
1734
1735 config DEBUG_UART_VIRT
1736 hex "Virtual base address of debug UART"
1737 default 0xc881f000 if DEBUG_RV1108_UART2
1738 default 0xc8821000 if DEBUG_RV1108_UART1
1739 default 0xc8912000 if DEBUG_RV1108_UART0
1740 default 0xe0010fe0 if ARCH_RPC
1741 default 0xe0824200 if DEBUG_AT91_SAMA7G5_FLEXCOM3
1742 default 0xf0010000 if DEBUG_ASM9260_UART
1743 default 0xf0100000 if DEBUG_DIGICOLOR_UA0
1744 default 0xf01fb000 if DEBUG_NOMADIK_UART
1745 default 0xf0201000 if DEBUG_BCM2835 || DEBUG_BCM2836
1746 default 0xf0221000 if DEBUG_MSTARV7_PMUART
1747 default 0xf1000300 if DEBUG_BCM_5301X
1748 default 0xf1000400 if DEBUG_BCM_HR2
1749 default 0xf1002000 if DEBUG_MT8127_UART0
1750 default 0xf1006000 if DEBUG_MT6589_UART0
1751 default 0xf1009000 if DEBUG_MT8135_UART3
1752 default 0xf1023000 if DEBUG_BCM_IPROC_UART3
1753 default 0xf11f1000 if DEBUG_VERSATILE
1754 default 0xf1600000 if DEBUG_INTEGRATOR
1755 default 0xf1c28000 if DEBUG_SUNXI_UART0
1756 default 0xf1c28400 if DEBUG_SUNXI_UART1
1757 default 0xf1f02800 if DEBUG_SUNXI_R_UART
1758 default 0xf31004c0 if DEBUG_MESON_UARTAO
1759 default 0xf4090000 if DEBUG_LPC32XX
1760 default 0xf4200000 if DEBUG_GEMINI
1761 default 0xf6200000 if DEBUG_PXA_UART1
1762 default 0xf7000000 if DEBUG_SUN9I_UART0
1763 default 0xf7000000 if DEBUG_S3C64XX_UART && DEBUG_S3C_UART0
1764 default 0xf7000000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART0 || \
1765 DEBUG_S3C2410_UART0)
1766 default 0xf7000400 if DEBUG_S3C64XX_UART && DEBUG_S3C_UART1
1767 default 0xf7000800 if DEBUG_S3C64XX_UART && DEBUG_S3C_UART2
1768 default 0xf7000c00 if DEBUG_S3C64XX_UART && DEBUG_S3C_UART3
1769 default 0xf7004000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART1 || \
1770 DEBUG_S3C2410_UART1)
1771 default 0xf7008000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART2 || \
1772 DEBUG_S3C2410_UART2)
1773 default 0xf7020000 if DEBUG_AT91_SAMA5D2_UART1
1774 default 0xf7fc9000 if DEBUG_BERLIN_UART
1775 default 0xf8007000 if DEBUG_HIP04_UART
1776 default 0xf8009000 if DEBUG_VEXPRESS_UART0_CA9
1777 default 0xf8090000 if DEBUG_VEXPRESS_UART0_RS1
1778 default 0xf8ffee00 if DEBUG_AT91_SAM9263_DBGU
1779 default 0xf8fff200 if DEBUG_AT91_RM9200_DBGU
1780 default 0xf9530000 if DEBUG_STIH418_SBC_ASC0
1781 default 0xf9e09000 if DEBUG_AM33XXUART1
1782 default 0xfa020000 if DEBUG_OMAP4UART3 || DEBUG_TI81XXUART1
1783 default 0xfa022000 if DEBUG_TI81XXUART2
1784 default 0xfa024000 if DEBUG_TI81XXUART3
1785 default 0xfa06a000 if DEBUG_OMAP2UART1 || DEBUG_OMAP3UART1 || \
1786 DEBUG_OMAP4UART1 || DEBUG_OMAP5UART1
1787 default 0xfa06c000 if DEBUG_OMAP2UART2 || DEBUG_OMAP3UART2 || \
1788 DEBUG_OMAP4UART2 || DEBUG_OMAP5UART2
1789 default 0xfa06e000 if DEBUG_OMAP2UART3 || DEBUG_OMAP4UART4
1790 default 0xfa71e000 if DEBUG_QCOM_UARTDM
1791 default 0xfb002000 if DEBUG_CNS3XXX
1792 default 0xfb009000 if DEBUG_REALVIEW_STD_PORT
1793 default 0xfb00c000 if DEBUG_AT91_SAMA5D4_USART3
1794 default 0xfb020000 if DEBUG_OMAP3UART3
1795 default 0xfb042000 if DEBUG_OMAP3UART4
1796 default 0xfb10c000 if DEBUG_REALVIEW_PB1176_PORT
1797 default 0xfcfe8600 if DEBUG_BCM63XX_UART
1798 default 0xfd000000 if DEBUG_SPEAR3XX || DEBUG_SPEAR13XX
1799 default 0xfd531000 if DEBUG_STIH41X_SBC_ASC1
1800 default 0xfd883000 if DEBUG_ALPINE_UART0
1801 default 0xfdd32000 if DEBUG_STIH41X_ASC2
1802 default 0xfe010000 if STM32MP1_DEBUG_UART
1803 default 0xfe017000 if DEBUG_MMP_UART2
1804 default 0xfe018000 if DEBUG_MMP_UART3
1805 default 0xfe100000 if DEBUG_IMX23_UART || DEBUG_IMX28_UART
1806 default 0xfe300000 if DEBUG_BCM_KONA_UART
1807 default 0xfe800000 if ARCH_IOP32X
1808 default 0xfeb00000 if DEBUG_HI3620_UART || DEBUG_HIX5HD2_UART
1809 default 0xfeb24000 if DEBUG_RK3X_UART0
1810 default 0xfeb26000 if DEBUG_RK3X_UART1
1811 default 0xfeb30c00 if DEBUG_KEYSTONE_UART0
1812 default 0xfeb31000 if DEBUG_KEYSTONE_UART1
1813 default 0xfec02000 if DEBUG_SOCFPGA_UART0
1814 default 0xfec02100 if DEBUG_SOCFPGA_ARRIA10_UART1
1815 default 0xfec03000 if DEBUG_SOCFPGA_CYCLONE5_UART1
1816 default 0xfec12000 if DEBUG_MVEBU_UART0 || DEBUG_MVEBU_UART0_ALTERNATE
1817 default 0xfec12100 if DEBUG_MVEBU_UART1_ALTERNATE
1818 default 0xfec20000 if DEBUG_DAVINCI_DMx_UART0
1819 default 0xfec90000 if DEBUG_RK32_UART2
1820 default 0xfed0c000 if DEBUG_DAVINCI_DA8XX_UART1
1821 default 0xfed0d000 if DEBUG_DAVINCI_DA8XX_UART2 || DEBUG_SD5203_UART
1822 default 0xfed60000 if DEBUG_RK29_UART0
1823 default 0xfed64000 if DEBUG_RK29_UART1 || DEBUG_RK3X_UART2
1824 default 0xfed68000 if DEBUG_RK29_UART2 || DEBUG_RK3X_UART3
1825 default 0xfedc0000 if DEBUG_EP93XX
1826 default 0xfee003f8 if DEBUG_FOOTBRIDGE_COM1
1827 default 0xfee20000 if DEBUG_NSPIRE_CLASSIC_UART || DEBUG_NSPIRE_CX_UART
1828 default 0xfec00000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN
1829 default 0xfec00003 if ARCH_IXP4XX && CPU_BIG_ENDIAN
1830 default 0xfef36000 if DEBUG_HIGHBANK_UART
1831 default 0xfefb0000 if DEBUG_OMAP1UART1 || DEBUG_OMAP7XXUART1
1832 default 0xfefb0800 if DEBUG_OMAP1UART2 || DEBUG_OMAP7XXUART2
1833 default 0xfefb9800 if DEBUG_OMAP1UART3 || DEBUG_OMAP7XXUART3
1834 default 0xffd01000 if DEBUG_HIP01_UART
1835 default DEBUG_UART_PHYS if !MMU
1836 depends on DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \
1837 DEBUG_UART_8250 || DEBUG_UART_PL01X || DEBUG_MESON_UARTAO || \
1838 DEBUG_QCOM_UARTDM || DEBUG_S3C24XX_UART || \
1839 DEBUG_S3C64XX_UART || \
1840 DEBUG_BCM63XX_UART || DEBUG_ASM9260_UART || \
1841 DEBUG_DIGICOLOR_UA0 || \
1842 DEBUG_AT91_UART || DEBUG_STM32_UART || \
1843 DEBUG_STIH41X_ASC2 || DEBUG_STIH41X_SBC_ASC1 || \
1844 DEBUG_STIH418_SBC_ASC0
1845
1846 config DEBUG_UART_8250_SHIFT
1847 int "Register offset shift for the 8250 debug UART"
1848 depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
1849 default 0 if DEBUG_FOOTBRIDGE_COM1 || ARCH_IOP32X || DEBUG_BCM_5301X || \
1850 DEBUG_BCM_HR2 || DEBUG_OMAP7XXUART1 || DEBUG_OMAP7XXUART2 || \
1851 DEBUG_OMAP7XXUART3
1852 default 3 if DEBUG_MSTARV7_PMUART
1853 default 2
1854
1855 config DEBUG_UART_8250_WORD
1856 bool "Use 32-bit accesses for 8250 UART"
1857 depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
1858 depends on DEBUG_UART_8250_SHIFT >= 2
1859 default y if DEBUG_SOCFPGA_UART0 || DEBUG_SOCFPGA_ARRIA10_UART1 || \
1860 DEBUG_SOCFPGA_CYCLONE5_UART1 || DEBUG_KEYSTONE_UART0 || \
1861 DEBUG_KEYSTONE_UART1 || DEBUG_ALPINE_UART0 || \
1862 DEBUG_DAVINCI_DMx_UART0 || DEBUG_DAVINCI_DA8XX_UART1 || \
1863 DEBUG_DAVINCI_DA8XX_UART2 || DEBUG_BCM_IPROC_UART3 || \
1864 DEBUG_BCM_KONA_UART || DEBUG_RK32_UART2
1865
1866 config DEBUG_UART_8250_PALMCHIP
1867 bool "8250 UART is Palmchip BK-310x"
1868 depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
1869 help
1870 Palmchip provides a UART implementation compatible with 16550
1871 except for having a different register layout. Say Y here if
1872 the debug UART is of this type.
1873
1874 config DEBUG_UNCOMPRESS
1875 bool "Enable decompressor debugging via DEBUG_LL output"
1876 depends on ARCH_MULTIPLATFORM || PLAT_SAMSUNG || ARM_SINGLE_ARMV7M
1877 depends on DEBUG_LL && !DEBUG_OMAP2PLUS_UART && \
1878 (!DEBUG_TEGRA_UART || !ZBOOT_ROM) && \
1879 !DEBUG_BRCMSTB_UART && !DEBUG_SEMIHOSTING
1880 help
1881 This option influences the normal decompressor output for
1882 multiplatform kernels. Normally, multiplatform kernels disable
1883 decompressor output because it is not possible to know where to
1884 send the decompressor output.
1885
1886 When this option is set, the selected DEBUG_LL output method
1887 will be re-used for normal decompressor output on multiplatform
1888 kernels.
1889
1890
1891 config UNCOMPRESS_INCLUDE
1892 string
1893 default "debug/uncompress.h" if ARCH_MULTIPLATFORM || ARCH_MSM || \
1894 PLAT_SAMSUNG || ARM_SINGLE_ARMV7M
1895 default "mach/uncompress.h"
1896
1897 config EARLY_PRINTK
1898 bool "Early printk"
1899 depends on DEBUG_LL
1900 help
1901 Say Y here if you want to have an early console using the
1902 kernel low-level debugging functions. Add earlyprintk to your
1903 kernel parameters to enable this console.
1904
1905 config ARM_KPROBES_TEST
1906 tristate "Kprobes test module"
1907 depends on KPROBES && MODULES
1908 help
1909 Perform tests of kprobes API and instruction set simulation.
1910
1911 config PID_IN_CONTEXTIDR
1912 bool "Write the current PID to the CONTEXTIDR register"
1913 depends on CPU_COPY_V6
1914 help
1915 Enabling this option causes the kernel to write the current PID to
1916 the PROCID field of the CONTEXTIDR register, at the expense of some
1917 additional instructions during context switch. Say Y here only if you
1918 are planning to use hardware trace tools with this kernel.
1919
1920 source "drivers/hwtracing/coresight/Kconfig"