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