3 source "lib/Kconfig.debug"
6 bool "Export kernel pagetable layout to userspace via debugfs"
7 depends on DEBUG_KERNEL
11 Say Y here if you want to show the kernel pagetable layout in a
12 debugfs file. This information is only useful for kernel developers
13 who are working in architecture specific areas of the kernel.
14 It is probably not a good idea to enable this feature in a production
18 # RMK wants arm kernels compiled with frame pointers or stack unwinding.
19 # If you know what you are doing and are willing to live without stack
20 # traces, you can get a slightly smaller kernel by setting this option to
21 # n, but then RMK will have to kill you ;).
24 depends on !THUMB2_KERNEL
25 default y if !ARM_UNWIND || FUNCTION_GRAPH_TRACER
27 If you say N here, the resulting kernel will be slightly smaller and
28 faster. However, if neither FRAME_POINTER nor ARM_UNWIND are enabled,
29 when a problem occurs with the kernel, the information that is
30 reported is severely limited.
33 bool "Enable stack unwinding support (EXPERIMENTAL)"
37 This option enables stack unwinding support in the kernel
38 using the information automatically generated by the
39 compiler. The resulting kernel image is slightly bigger but
40 the performance is not affected. Currently, this feature
41 only works with EABI compilers. If unsure say Y.
45 depends on FUNCTION_TRACER && FRAME_POINTER
49 bool "Verbose user fault messages"
51 When a user program crashes due to an exception, the kernel can
52 print a brief message explaining what the problem was. This is
53 sometimes helpful for debugging but serves no purpose on a
54 production system. Most people should say N here.
56 In addition, you need to pass user_debug=N on the kernel command
57 line to enable this feature. N consists of the sum of:
59 1 - undefined instruction events
61 4 - invalid data aborts
65 # These options are only for real kernel hackers who want to get their hands dirty.
67 bool "Kernel low-level debugging functions (read help!)"
68 depends on DEBUG_KERNEL
70 Say Y here to include definitions of printascii, printch, printhex
71 in the kernel. This is helpful if you are debugging code that
72 executes before the console is initialized.
74 Note that selecting this option will limit the kernel to a single
75 UART definition, as specified below. Attempting to boot the kernel
76 image on a different platform *will not work*, so this option should
77 not be enabled for kernels that are intended to be portable.
80 prompt "Kernel low-level debugging port"
83 config DEBUG_ALPINE_UART0
84 bool "Kernel low-level debugging messages via Alpine UART0"
85 depends on ARCH_ALPINE
86 select DEBUG_UART_8250
88 Say Y here if you want kernel low-level debugging support
89 on Alpine based platforms.
91 config DEBUG_ASM9260_UART
92 bool "Kernel low-level debugging via asm9260 UART"
93 depends on MACH_ASM9260
95 Say Y here if you want the debug print routines to direct
96 their output to an UART or USART port on asm9260 based
99 DEBUG_UART_PHYS | DEBUG_UART_VIRT
101 0x80000000 | 0xf0000000 | UART0
102 0x80004000 | 0xf0004000 | UART1
103 0x80008000 | 0xf0008000 | UART2
104 0x8000c000 | 0xf000c000 | UART3
105 0x80010000 | 0xf0010000 | UART4
106 0x80014000 | 0xf0014000 | UART5
107 0x80018000 | 0xf0018000 | UART6
108 0x8001c000 | 0xf001c000 | UART7
109 0x80020000 | 0xf0020000 | UART8
110 0x80024000 | 0xf0024000 | UART9
112 config DEBUG_AT91_UART
113 bool "Kernel low-level debugging on Atmel SoCs"
116 Say Y here if you want the debug print routines to direct
117 their output to the serial port on atmel devices.
119 SOC DEBUG_UART_PHYS DEBUG_UART_VIRT PORT
120 rm9200, 9260/9g20, 0xfffff200 0xfefff200 DBGU
122 9263, 9g45, sama5d3 0xffffee00 0xfeffee00 DBGU
123 sama5d4 0xfc00c000 0xfb00c000 USART3
124 sama5d4 0xfc069000 0xfb069000 DBGU
125 sama5d2 0xf8020000 0xf7020000 UART1
127 Please adjust DEBUG_UART_PHYS configuration options based on
131 bool "Kernel low-level debugging on BCM2835 PL011 UART"
132 depends on ARCH_BCM2835 && ARCH_MULTI_V6
133 select DEBUG_UART_PL01X
136 bool "Kernel low-level debugging on BCM2836 PL011 UART"
137 depends on ARCH_BCM2835 && ARCH_MULTI_V7
138 select DEBUG_UART_PL01X
140 config DEBUG_BCM_5301X
141 bool "Kernel low-level debugging on BCM5301X UART1"
142 depends on ARCH_BCM_5301X
143 select DEBUG_UART_8250
145 config DEBUG_BCM_KONA_UART
146 bool "Kernel low-level debugging messages via BCM KONA UART"
147 depends on ARCH_BCM_MOBILE
148 select DEBUG_UART_8250
150 Say Y here if you want kernel low-level debugging support
151 on Broadcom SoC platforms.
152 This low level debug works for Broadcom
153 mobile SoCs in the Kona family of chips (e.g. bcm28155,
157 bool "Kernel low-level debugging on BCM63XX UART"
158 depends on ARCH_BCM_63XX
159 select DEBUG_UART_BCM63XX
161 config DEBUG_BERLIN_UART
162 bool "Marvell Berlin SoC Debug UART"
163 depends on ARCH_BERLIN
164 select DEBUG_UART_8250
166 Say Y here if you want kernel low-level debugging support
167 on Marvell Berlin SoC based platforms.
169 config DEBUG_BRCMSTB_UART
170 bool "Use BRCMSTB UART for low-level debug"
171 depends on ARCH_BRCMSTB
172 select DEBUG_UART_8250
174 Say Y here if you want the debug print routines to direct
175 their output to the first serial port on these devices.
177 If you have a Broadcom STB chip and would like early print
178 messages to appear over the UART, select this option.
180 config DEBUG_CLPS711X_UART1
181 bool "Kernel low-level debugging messages via UART1"
182 depends on ARCH_CLPS711X
184 Say Y here if you want the debug print routines to direct
185 their output to the first serial port on these devices.
187 config DEBUG_CLPS711X_UART2
188 bool "Kernel low-level debugging messages via UART2"
189 depends on ARCH_CLPS711X
191 Say Y here if you want the debug print routines to direct
192 their output to the second serial port on these devices.
195 bool "Kernel Kernel low-level debugging on Cavium Networks CNS3xxx"
196 depends on ARCH_CNS3XXX
197 select DEBUG_UART_8250
199 Say Y here if you want the debug print routines to direct
200 their output to the CNS3xxx UART0.
202 config DEBUG_DAVINCI_DA8XX_UART1
203 bool "Kernel low-level debugging on DaVinci DA8XX using UART1"
204 depends on ARCH_DAVINCI_DA8XX
205 select DEBUG_UART_8250
207 Say Y here if you want the debug print routines to direct
208 their output to UART1 serial port on DaVinci DA8XX devices.
210 config DEBUG_DAVINCI_DA8XX_UART2
211 bool "Kernel low-level debugging on DaVinci DA8XX using UART2"
212 depends on ARCH_DAVINCI_DA8XX
213 select DEBUG_UART_8250
215 Say Y here if you want the debug print routines to direct
216 their output to UART2 serial port on DaVinci DA8XX devices.
218 config DEBUG_DAVINCI_DMx_UART0
219 bool "Kernel low-level debugging on DaVinci DMx using UART0"
220 depends on ARCH_DAVINCI_DMx
221 select DEBUG_UART_8250
223 Say Y here if you want the debug print routines to direct
224 their output to UART0 serial port on DaVinci DMx devices.
226 config DEBUG_DC21285_PORT
227 bool "Kernel low-level debugging messages via footbridge serial port"
228 depends on FOOTBRIDGE
230 Say Y here if you want the debug print routines to direct
231 their output to the serial port in the DC21285 (Footbridge).
233 config DEBUG_DIGICOLOR_UA0
234 bool "Kernel low-level debugging messages via Digicolor UA0"
235 depends on ARCH_DIGICOLOR
237 Say Y here if you want the debug print routines to direct
238 their output to the UA0 serial port in the CX92755.
241 bool "Kernel low-level debugging messages via ep93xx UART"
242 depends on ARCH_EP93XX
243 select DEBUG_UART_PL01X
245 Say Y here if you want kernel low-level debugging support
246 on Cirrus Logic EP93xx based platforms.
248 config DEBUG_FOOTBRIDGE_COM1
249 bool "Kernel low-level debugging messages via footbridge 8250 at PCI COM1"
250 depends on FOOTBRIDGE
251 select DEBUG_UART_8250
253 Say Y here if you want the debug print routines to direct
254 their output to the 8250 at PCI COM1.
257 bool "Kernel low-level debugging messages via Cortina Systems Gemini UART"
258 depends on ARCH_GEMINI
259 select DEBUG_UART_8250
261 Say Y here if you want kernel low-level debugging support
262 on Cortina Gemini based platforms.
264 config DEBUG_HI3620_UART
265 bool "Hisilicon HI3620 Debug UART"
266 depends on ARCH_HI3xxx
267 select DEBUG_UART_PL01X
269 Say Y here if you want kernel low-level debugging support
272 config DEBUG_HI3716_UART
273 bool "Hisilicon Hi3716 Debug UART"
274 depends on ARCH_HI3xxx
275 select DEBUG_UART_PL01X
277 Say Y here if you want kernel low-level debugging support
280 config DEBUG_HIGHBANK_UART
281 bool "Kernel low-level debugging messages via Highbank UART"
282 depends on ARCH_HIGHBANK
283 select DEBUG_UART_PL01X
285 Say Y here if you want the debug print routines to direct
286 their output to the UART on Highbank based devices.
288 config DEBUG_HIP01_UART
289 bool "Hisilicon Hip01 Debug UART"
290 depends on ARCH_HIP01
291 select DEBUG_UART_8250
293 Say Y here if you want kernel low-level debugging support
296 config DEBUG_HIP04_UART
297 bool "Hisilicon HiP04 Debug UART"
298 depends on ARCH_HIP04
299 select DEBUG_UART_8250
301 Say Y here if you want kernel low-level debugging support
304 config DEBUG_HIX5HD2_UART
305 bool "Hisilicon Hix5hd2 Debug UART"
306 depends on ARCH_HIX5HD2
307 select DEBUG_UART_PL01X
309 Say Y here if you want kernel low-level debugging support
312 config DEBUG_IMX1_UART
313 bool "i.MX1 Debug UART"
316 Say Y here if you want kernel low-level debugging support
319 config DEBUG_IMX23_UART
320 bool "i.MX23 Debug UART"
322 select DEBUG_UART_PL01X
324 Say Y here if you want kernel low-level debugging support
327 config DEBUG_IMX25_UART
328 bool "i.MX25 Debug UART"
331 Say Y here if you want kernel low-level debugging support
334 config DEBUG_IMX21_IMX27_UART
335 bool "i.MX21 and i.MX27 Debug UART"
336 depends on SOC_IMX21 || SOC_IMX27
338 Say Y here if you want kernel low-level debugging support
341 config DEBUG_IMX28_UART
342 bool "i.MX28 Debug UART"
344 select DEBUG_UART_PL01X
346 Say Y here if you want kernel low-level debugging support
349 config DEBUG_IMX31_UART
350 bool "i.MX31 Debug UART"
353 Say Y here if you want kernel low-level debugging support
356 config DEBUG_IMX35_UART
357 bool "i.MX35 Debug UART"
360 Say Y here if you want kernel low-level debugging support
363 config DEBUG_IMX50_UART
364 bool "i.MX50 Debug UART"
367 Say Y here if you want kernel low-level debugging support
370 config DEBUG_IMX51_UART
371 bool "i.MX51 Debug UART"
374 Say Y here if you want kernel low-level debugging support
377 config DEBUG_IMX53_UART
378 bool "i.MX53 Debug UART"
381 Say Y here if you want kernel low-level debugging support
384 config DEBUG_IMX6Q_UART
385 bool "i.MX6Q/DL Debug UART"
388 Say Y here if you want kernel low-level debugging support
391 config DEBUG_IMX6SL_UART
392 bool "i.MX6SL Debug UART"
393 depends on SOC_IMX6SL
395 Say Y here if you want kernel low-level debugging support
398 config DEBUG_IMX6SX_UART
399 bool "i.MX6SX Debug UART"
400 depends on SOC_IMX6SX
402 Say Y here if you want kernel low-level debugging support
405 config DEBUG_IMX6UL_UART
406 bool "i.MX6UL Debug UART"
407 depends on SOC_IMX6UL
409 Say Y here if you want kernel low-level debugging support
412 config DEBUG_IMX7D_UART
413 bool "i.MX7D Debug UART"
416 Say Y here if you want kernel low-level debugging support
419 config DEBUG_INTEGRATOR
420 bool "Kernel low-level debugging messages via ARM Integrator UART"
421 depends on ARCH_INTEGRATOR
422 select DEBUG_UART_PL01X
424 Say Y here if you want kernel low-level debugging support
425 on ARM Integrator platforms.
427 config DEBUG_KEYSTONE_UART0
428 bool "Kernel low-level debugging on KEYSTONE2 using UART0"
429 depends on ARCH_KEYSTONE
430 select DEBUG_UART_8250
432 Say Y here if you want the debug print routines to direct
433 their output to UART0 serial port on KEYSTONE2 devices.
435 config DEBUG_KEYSTONE_UART1
436 bool "Kernel low-level debugging on KEYSTONE2 using UART1"
437 depends on ARCH_KEYSTONE
438 select DEBUG_UART_8250
440 Say Y here if you want the debug print routines to direct
441 their output to UART1 serial port on KEYSTONE2 devices.
443 config DEBUG_KS8695_UART
444 bool "KS8695 Debug UART"
445 depends on ARCH_KS8695
447 Say Y here if you want kernel low-level debugging support
450 config DEBUG_LPC18XX_UART0
451 bool "Kernel low-level debugging via LPC18xx/43xx UART0"
452 depends on ARCH_LPC18XX
453 select DEBUG_UART_8250
455 Say Y here if you want kernel low-level debugging support
456 on NXP LPC18xx/43xx UART0.
459 bool "Kernel low-level debugging messages via NXP LPC32xx UART"
460 depends on ARCH_LPC32XX
461 select DEBUG_UART_8250
463 Say Y here if you want kernel low-level debugging support
464 on NXP LPC32xx based platforms.
466 config DEBUG_MESON_UARTAO
467 bool "Kernel low-level debugging via Meson6 UARTAO"
468 depends on ARCH_MESON
470 Say Y here if you want kernel low-lever debugging support
471 on Amlogic Meson6 based platforms on the UARTAO.
473 config DEBUG_MMP_UART2
474 bool "Kernel low-level debugging message via MMP UART2"
476 select DEBUG_UART_8250
478 Say Y here if you want kernel low-level debugging support
481 config DEBUG_MMP_UART3
482 bool "Kernel low-level debugging message via MMP UART3"
484 select DEBUG_UART_8250
486 Say Y here if you want kernel low-level debugging support
489 config DEBUG_MVEBU_UART0
490 bool "Kernel low-level debugging messages via MVEBU UART0 (old bootloaders)"
491 depends on ARCH_MVEBU
492 depends on ARCH_MVEBU && CPU_V7
493 select DEBUG_UART_8250
495 Say Y here if you want kernel low-level debugging support
496 on MVEBU based platforms on UART0.
498 This option should be used with the old bootloaders
499 that left the internal registers mapped at
500 0xd0000000. As of today, this is the case on
501 platforms such as the Globalscale Mirabox or the
502 Plathome OpenBlocks AX3, when using the original
505 This option will not work on older Marvell platforms
506 (Kirkwood, Dove, MV78xx0, Orion5x), which should pick
507 the "new bootloader" variant.
509 If the wrong DEBUG_MVEBU_UART* option is selected,
510 when u-boot hands over to the kernel, the system
511 silently crashes, with no serial output at all.
513 config DEBUG_MVEBU_UART0_ALTERNATE
514 bool "Kernel low-level debugging messages via MVEBU UART0 (new bootloaders)"
515 depends on ARCH_MVEBU || ARCH_DOVE || ARCH_MV78XX0 || ARCH_ORION5X
516 select DEBUG_UART_8250
518 Say Y here if you want kernel low-level debugging support
519 on MVEBU based platforms on UART0. (Armada XP, Armada 3xx,
520 Kirkwood, Dove, MV78xx0, Orion5x).
523 This option should be used with the new bootloaders
524 that remap the internal registers at 0xf1000000.
526 If the wrong DEBUG_MVEBU_UART* option is selected,
527 when u-boot hands over to the kernel, the system
528 silently crashes, with no serial output at all.
530 config DEBUG_MVEBU_UART1_ALTERNATE
531 bool "Kernel low-level debugging messages via MVEBU UART1 (new bootloaders)"
532 depends on ARCH_MVEBU
533 select DEBUG_UART_8250
535 Say Y here if you want kernel low-level debugging support
536 on MVEBU based platforms on UART1. (Armada XP, Armada 3xx,
537 Kirkwood, Dove, MV78xx0, Orion5x).
539 This option should be used with the new bootloaders
540 that remap the internal registers at 0xf1000000.
541 All of the older (pre Armada XP/370) platforms also use
542 this address, regardless of the boot loader version.
544 If the wrong DEBUG_MVEBU_UART* option is selected,
545 when u-boot hands over to the kernel, the system
546 silently crashes, with no serial output at all.
548 config DEBUG_MT6589_UART0
549 bool "Mediatek mt6589 UART0"
550 depends on ARCH_MEDIATEK
551 select DEBUG_UART_8250
553 Say Y here if you want kernel low-level debugging support
554 for Mediatek mt6589 based platforms on UART0.
556 config DEBUG_MT8127_UART0
557 bool "Mediatek mt8127/mt6592 UART0"
558 depends on ARCH_MEDIATEK
559 select DEBUG_UART_8250
561 Say Y here if you want kernel low-level debugging support
562 for Mediatek mt8127 based platforms on UART0.
564 config DEBUG_MT8135_UART3
565 bool "Mediatek mt8135 UART3"
566 depends on ARCH_MEDIATEK
567 select DEBUG_UART_8250
569 Say Y here if you want kernel low-level debugging support
570 for Mediatek mt8135 based platforms on UART3.
572 config DEBUG_NETX_UART
573 bool "Kernel low-level debugging messages via NetX UART"
576 Say Y here if you want kernel low-level debugging support
577 on Hilscher NetX based platforms.
579 config DEBUG_NOMADIK_UART
580 bool "Kernel low-level debugging messages via NOMADIK UART"
581 depends on ARCH_NOMADIK
582 select DEBUG_UART_PL01X
584 Say Y here if you want kernel low-level debugging support
585 on NOMADIK based platforms.
587 config DEBUG_NSPIRE_CLASSIC_UART
588 bool "Kernel low-level debugging via TI-NSPIRE 8250 UART"
589 depends on ARCH_NSPIRE
590 select DEBUG_UART_8250
592 Say Y here if you want kernel low-level debugging support
593 on TI-NSPIRE classic models.
595 config DEBUG_NSPIRE_CX_UART
596 bool "Kernel low-level debugging via TI-NSPIRE PL011 UART"
597 depends on ARCH_NSPIRE
598 select DEBUG_UART_PL01X
600 Say Y here if you want kernel low-level debugging support
601 on TI-NSPIRE CX models.
603 config DEBUG_OMAP1UART1
604 bool "Kernel low-level debugging via OMAP1 UART1"
605 depends on ARCH_OMAP1
606 select DEBUG_UART_8250
608 Say Y here if you want kernel low-level debugging support
609 on OMAP1 based platforms (except OMAP730) on the UART1.
611 config DEBUG_OMAP1UART2
612 bool "Kernel low-level debugging via OMAP1 UART2"
613 depends on ARCH_OMAP1
614 select DEBUG_UART_8250
616 Say Y here if you want kernel low-level debugging support
617 on OMAP1 based platforms (except OMAP730) on the UART2.
619 config DEBUG_OMAP1UART3
620 bool "Kernel low-level debugging via OMAP1 UART3"
621 depends on ARCH_OMAP1
622 select DEBUG_UART_8250
624 Say Y here if you want kernel low-level debugging support
625 on OMAP1 based platforms (except OMAP730) on the UART3.
627 config DEBUG_OMAP2UART1
628 bool "OMAP2/3/4 UART1 (omap2/3 sdp boards and some omap3 boards)"
629 depends on ARCH_OMAP2PLUS
630 select DEBUG_OMAP2PLUS_UART
632 This covers at least h4, 2430sdp, 3430sdp, 3630sdp,
633 omap3 torpedo and 3530 lv som.
635 config DEBUG_OMAP2UART2
636 bool "Kernel low-level debugging messages via OMAP2/3/4 UART2"
637 depends on ARCH_OMAP2PLUS
638 select DEBUG_OMAP2PLUS_UART
640 config DEBUG_OMAP2UART3
641 bool "Kernel low-level debugging messages via OMAP2 UART3 (n8x0)"
642 depends on ARCH_OMAP2PLUS
643 select DEBUG_OMAP2PLUS_UART
645 config DEBUG_OMAP3UART3
646 bool "Kernel low-level debugging messages via OMAP3 UART3 (most omap3 boards)"
647 depends on ARCH_OMAP2PLUS
648 select DEBUG_OMAP2PLUS_UART
650 This covers at least cm_t3x, beagle, crane, devkit8000,
651 igep00x0, ldp, n900, n9(50), pandora, overo, touchbook,
654 config DEBUG_OMAP4UART3
655 bool "Kernel low-level debugging messages via OMAP4/5 UART3 (omap4 blaze, panda, omap5 sevm)"
656 depends on ARCH_OMAP2PLUS
657 select DEBUG_OMAP2PLUS_UART
659 config DEBUG_OMAP3UART4
660 bool "Kernel low-level debugging messages via OMAP36XX UART4"
661 depends on ARCH_OMAP2PLUS
662 select DEBUG_OMAP2PLUS_UART
664 config DEBUG_OMAP4UART4
665 bool "Kernel low-level debugging messages via OMAP4/5 UART4"
666 depends on ARCH_OMAP2PLUS
667 select DEBUG_OMAP2PLUS_UART
669 config DEBUG_OMAP7XXUART1
670 bool "Kernel low-level debugging via OMAP730 UART1"
671 depends on ARCH_OMAP730
672 select DEBUG_UART_8250
674 Say Y here if you want kernel low-level debugging support
675 on OMAP730 based platforms on the UART1.
677 config DEBUG_OMAP7XXUART2
678 bool "Kernel low-level debugging via OMAP730 UART2"
679 depends on ARCH_OMAP730
680 select DEBUG_UART_8250
682 Say Y here if you want kernel low-level debugging support
683 on OMAP730 based platforms on the UART2.
685 config DEBUG_OMAP7XXUART3
686 bool "Kernel low-level debugging via OMAP730 UART3"
687 depends on ARCH_OMAP730
688 select DEBUG_UART_8250
690 Say Y here if you want kernel low-level debugging support
691 on OMAP730 based platforms on the UART3.
693 config DEBUG_TI81XXUART1
694 bool "Kernel low-level debugging messages via TI81XX UART1 (ti8148evm)"
695 depends on ARCH_OMAP2PLUS
696 select DEBUG_OMAP2PLUS_UART
698 config DEBUG_TI81XXUART2
699 bool "Kernel low-level debugging messages via TI81XX UART2"
700 depends on ARCH_OMAP2PLUS
701 select DEBUG_OMAP2PLUS_UART
703 config DEBUG_TI81XXUART3
704 bool "Kernel low-level debugging messages via TI81XX UART3 (ti8168evm)"
705 depends on ARCH_OMAP2PLUS
706 select DEBUG_OMAP2PLUS_UART
708 config DEBUG_AM33XXUART1
709 bool "Kernel low-level debugging messages via AM33XX UART1"
710 depends on ARCH_OMAP2PLUS
711 select DEBUG_OMAP2PLUS_UART
713 config DEBUG_ZOOM_UART
714 bool "Kernel low-level debugging messages via Zoom2/3 UART"
715 depends on ARCH_OMAP2PLUS
716 select DEBUG_OMAP2PLUS_UART
718 config DEBUG_PICOXCELL_UART
719 depends on ARCH_PICOXCELL
720 bool "Use PicoXcell UART for low-level debug"
721 select DEBUG_UART_8250
723 Say Y here if you want kernel low-level debugging support
724 on PicoXcell based platforms.
726 config DEBUG_PXA_UART1
728 bool "Use PXA UART1 for low-level debug"
729 select DEBUG_UART_8250
731 Say Y here if you want kernel low-level debugging support
734 config DEBUG_QCOM_UARTDM
735 bool "Kernel low-level debugging messages via QCOM UARTDM"
738 Say Y here if you want the debug print routines to direct
739 their output to the serial port on Qualcomm devices.
741 ARCH DEBUG_UART_PHYS DEBUG_UART_VIRT
742 APQ8064 0x16640000 0xf0040000
743 APQ8084 0xf995e000 0xfa75e000
744 MSM8X60 0x19c40000 0xf0040000
745 MSM8960 0x16440000 0xf0040000
746 MSM8974 0xf991e000 0xfa71e000
748 Please adjust DEBUG_UART_PHYS and DEBUG_UART_BASE configuration
749 options based on your needs.
751 config DEBUG_REALVIEW_STD_PORT
752 bool "RealView Default UART"
753 depends on ARCH_REALVIEW
754 select DEBUG_UART_PL01X
756 Say Y here if you want the debug print routines to direct
757 their output to the serial port on RealView EB, PB11MP, PBA8
760 config DEBUG_REALVIEW_PB1176_PORT
761 bool "RealView PB1176 UART"
762 depends on MACH_REALVIEW_PB1176
763 select DEBUG_UART_PL01X
765 Say Y here if you want the debug print routines to direct
766 their output to the standard serial port on the RealView
769 config DEBUG_RK29_UART0
770 bool "Kernel low-level debugging messages via Rockchip RK29 UART0"
771 depends on ARCH_ROCKCHIP
772 select DEBUG_UART_8250
774 Say Y here if you want kernel low-level debugging support
775 on Rockchip based platforms.
777 config DEBUG_RK29_UART1
778 bool "Kernel low-level debugging messages via Rockchip RK29 UART1"
779 depends on ARCH_ROCKCHIP
780 select DEBUG_UART_8250
782 Say Y here if you want kernel low-level debugging support
783 on Rockchip based platforms.
785 config DEBUG_RK29_UART2
786 bool "Kernel low-level debugging messages via Rockchip RK29 UART2"
787 depends on ARCH_ROCKCHIP
788 select DEBUG_UART_8250
790 Say Y here if you want kernel low-level debugging support
791 on Rockchip based platforms.
793 config DEBUG_RK3X_UART0
794 bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART0"
795 depends on ARCH_ROCKCHIP
796 select DEBUG_UART_8250
798 Say Y here if you want kernel low-level debugging support
799 on Rockchip based platforms.
801 config DEBUG_RK3X_UART1
802 bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART1"
803 depends on ARCH_ROCKCHIP
804 select DEBUG_UART_8250
806 Say Y here if you want kernel low-level debugging support
807 on Rockchip based platforms.
809 config DEBUG_RK3X_UART2
810 bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART2"
811 depends on ARCH_ROCKCHIP
812 select DEBUG_UART_8250
814 Say Y here if you want kernel low-level debugging support
815 on Rockchip based platforms.
817 config DEBUG_RK3X_UART3
818 bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART3"
819 depends on ARCH_ROCKCHIP
820 select DEBUG_UART_8250
822 Say Y here if you want kernel low-level debugging support
823 on Rockchip based platforms.
825 config DEBUG_RK32_UART2
826 bool "Kernel low-level debugging messages via Rockchip RK32 UART2"
827 depends on ARCH_ROCKCHIP
828 select DEBUG_UART_8250
830 Say Y here if you want kernel low-level debugging support
831 on Rockchip RK32xx based platforms.
833 config DEBUG_R7S72100_SCIF2
834 bool "Kernel low-level debugging messages via SCIF2 on R7S72100"
835 depends on ARCH_R7S72100
837 Say Y here if you want kernel low-level debugging support
838 via SCIF2 on Renesas RZ/A1H (R7S72100).
840 config DEBUG_RCAR_GEN1_SCIF0
841 bool "Kernel low-level debugging messages via SCIF0 on R8A7778"
842 depends on ARCH_R8A7778
844 Say Y here if you want kernel low-level debugging support
845 via SCIF0 on Renesas R-Car M1A (R8A7778).
847 config DEBUG_RCAR_GEN1_SCIF2
848 bool "Kernel low-level debugging messages via SCIF2 on R8A7779"
849 depends on ARCH_R8A7779
851 Say Y here if you want kernel low-level debugging support
852 via SCIF2 on Renesas R-Car H1 (R8A7779).
854 config DEBUG_RCAR_GEN2_SCIF0
855 bool "Kernel low-level debugging messages via SCIF0 on R8A7790/R8A7791/R8A7793"
856 depends on ARCH_R8A7790 || ARCH_R8A7791 || ARCH_R8A7793
858 Say Y here if you want kernel low-level debugging support
859 via SCIF0 on Renesas R-Car H2 (R8A7790), M2-W (R8A7791), or
862 config DEBUG_RCAR_GEN2_SCIF2
863 bool "Kernel low-level debugging messages via SCIF2 on R8A7794"
864 depends on ARCH_R8A7794
866 Say Y here if you want kernel low-level debugging support
867 via SCIF2 on Renesas R-Car E2 (R8A7794).
869 config DEBUG_RMOBILE_SCIFA0
870 bool "Kernel low-level debugging messages via SCIFA0 on R8A73A4"
871 depends on ARCH_R8A73A4
873 Say Y here if you want kernel low-level debugging support
874 via SCIFA0 on Renesas R-Mobile APE6 (R8A73A4).
876 config DEBUG_RMOBILE_SCIFA1
877 bool "Kernel low-level debugging messages via SCIFA1 on R8A7740"
878 depends on ARCH_R8A7740
880 Say Y here if you want kernel low-level debugging support
881 via SCIFA1 on Renesas R-Mobile A1 (R8A7740).
883 config DEBUG_RMOBILE_SCIFA4
884 bool "Kernel low-level debugging messages via SCIFA4 on SH73A0"
885 depends on ARCH_SH73A0
887 Say Y here if you want kernel low-level debugging support
888 via SCIFA4 on Renesas SH-Mobile AG5 (SH73A0).
890 config DEBUG_S3C_UART0
891 depends on PLAT_SAMSUNG
892 select DEBUG_EXYNOS_UART if ARCH_EXYNOS
893 select DEBUG_S3C24XX_UART if ARCH_S3C24XX
894 select DEBUG_S3C64XX_UART if ARCH_S3C64XX
895 select DEBUG_S5PV210_UART if ARCH_S5PV210
896 bool "Use Samsung S3C UART 0 for low-level debug"
898 Say Y here if you want the debug print routines to direct
899 their output to UART 0. The port must have been initialised
900 by the boot-loader before use.
902 config DEBUG_S3C_UART1
903 depends on PLAT_SAMSUNG
904 select DEBUG_EXYNOS_UART if ARCH_EXYNOS
905 select DEBUG_S3C24XX_UART if ARCH_S3C24XX
906 select DEBUG_S3C64XX_UART if ARCH_S3C64XX
907 select DEBUG_S5PV210_UART if ARCH_S5PV210
908 bool "Use Samsung S3C UART 1 for low-level debug"
910 Say Y here if you want the debug print routines to direct
911 their output to UART 1. The port must have been initialised
912 by the boot-loader before use.
914 config DEBUG_S3C_UART2
915 depends on PLAT_SAMSUNG
916 select DEBUG_EXYNOS_UART if ARCH_EXYNOS
917 select DEBUG_S3C24XX_UART if ARCH_S3C24XX
918 select DEBUG_S3C64XX_UART if ARCH_S3C64XX
919 select DEBUG_S5PV210_UART if ARCH_S5PV210
920 bool "Use Samsung S3C UART 2 for low-level debug"
922 Say Y here if you want the debug print routines to direct
923 their output to UART 2. The port must have been initialised
924 by the boot-loader before use.
926 config DEBUG_S3C_UART3
927 depends on PLAT_SAMSUNG && (ARCH_EXYNOS || ARCH_S5PV210)
928 select DEBUG_EXYNOS_UART if ARCH_EXYNOS
929 select DEBUG_S3C64XX_UART if ARCH_S3C64XX
930 select DEBUG_S5PV210_UART if ARCH_S5PV210
931 bool "Use Samsung S3C UART 3 for low-level debug"
933 Say Y here if you want the debug print routines to direct
934 their output to UART 3. The port must have been initialised
935 by the boot-loader before use.
937 config DEBUG_S3C2410_UART0
938 depends on ARCH_S3C24XX
939 select DEBUG_S3C2410_UART
940 bool "Use S3C2410/S3C2412 UART 0 for low-level debug"
942 Say Y here if you want the debug print routines to direct
943 their output to UART 0. The port must have been initialised
944 by the boot-loader before use.
946 config DEBUG_S3C2410_UART1
947 depends on ARCH_S3C24XX
948 select DEBUG_S3C2410_UART
949 bool "Use S3C2410/S3C2412 UART 1 for low-level debug"
951 Say Y here if you want the debug print routines to direct
952 their output to UART 1. The port must have been initialised
953 by the boot-loader before use.
955 config DEBUG_S3C2410_UART2
956 depends on ARCH_S3C24XX
957 select DEBUG_S3C2410_UART
958 bool "Use S3C2410/S3C2412 UART 2 for low-level debug"
960 Say Y here if you want the debug print routines to direct
961 their output to UART 2. The port must have been initialised
962 by the boot-loader before use.
965 depends on ARCH_SA1100
966 bool "Use SA1100 UARTs for low-level debug"
968 Say Y here if you want kernel low-level debugging support
969 on SA-11x0 UART ports. The kernel will check for the first
970 enabled UART in a sequence 3-1-2.
972 config DEBUG_SOCFPGA_UART0
973 depends on ARCH_SOCFPGA
974 bool "Use SOCFPGA UART0 for low-level debug"
975 select DEBUG_UART_8250
977 Say Y here if you want kernel low-level debugging support
978 on SOCFPGA(Cyclone 5 and Arria 5) based platforms.
980 config DEBUG_SOCFPGA_UART1
981 depends on ARCH_SOCFPGA
982 bool "Use SOCFPGA UART1 for low-level debug"
983 select DEBUG_UART_8250
985 Say Y here if you want kernel low-level debugging support
986 on SOCFPGA(Arria 10) based platforms.
989 config DEBUG_SUN9I_UART0
990 bool "Kernel low-level debugging messages via sun9i UART0"
991 depends on MACH_SUN9I
992 select DEBUG_UART_8250
994 Say Y here if you want kernel low-level debugging support
995 on Allwinner A80 based platforms on the UART0.
997 config DEBUG_SUNXI_UART0
998 bool "Kernel low-level debugging messages via sunXi UART0"
999 depends on ARCH_SUNXI
1000 select DEBUG_UART_8250
1002 Say Y here if you want kernel low-level debugging support
1003 on Allwinner A1X based platforms on the UART0.
1005 config DEBUG_SUNXI_UART1
1006 bool "Kernel low-level debugging messages via sunXi UART1"
1007 depends on ARCH_SUNXI
1008 select DEBUG_UART_8250
1010 Say Y here if you want kernel low-level debugging support
1011 on Allwinner A1X based platforms on the UART1.
1013 config DEBUG_SUNXI_R_UART
1014 bool "Kernel low-level debugging messages via sunXi R_UART"
1015 depends on MACH_SUN6I || MACH_SUN8I
1016 select DEBUG_UART_8250
1018 Say Y here if you want kernel low-level debugging support
1019 on Allwinner A31/A23 based platforms on the R_UART.
1021 config DEBUG_SIRFPRIMA2_UART1
1022 bool "Kernel low-level debugging messages via SiRFprimaII UART1"
1023 depends on ARCH_PRIMA2
1024 select DEBUG_SIRFSOC_UART
1026 Say Y here if you want the debug print routines to direct
1027 their output to the uart1 port on SiRFprimaII devices.
1029 config DEBUG_SIRFATLAS7_UART0
1030 bool "Kernel low-level debugging messages via SiRFatlas7 UART0"
1031 depends on ARCH_ATLAS7
1032 select DEBUG_SIRFSOC_UART
1034 Say Y here if you want the debug print routines to direct
1035 their output to the uart0 port on SiRFATLAS7 devices.The uart0
1036 is used on SiRFATLAS7 as a extra debug port.sometimes an extra
1037 debug port can be very useful.
1039 config DEBUG_SIRFATLAS7_UART1
1040 bool "Kernel low-level debugging messages via SiRFatlas7 UART1"
1041 depends on ARCH_ATLAS7
1042 select DEBUG_SIRFSOC_UART
1044 Say Y here if you want the debug print routines to direct
1045 their output to the uart1 port on SiRFATLAS7 devices.
1047 config DEBUG_SPEAR3XX
1048 bool "Kernel low-level debugging messages via ST SPEAr 3xx/6xx UART"
1049 depends on ARCH_SPEAR3XX || ARCH_SPEAR6XX
1050 select DEBUG_UART_PL01X
1052 Say Y here if you want kernel low-level debugging support
1053 on ST SPEAr based platforms.
1055 config DEBUG_SPEAR13XX
1056 bool "Kernel low-level debugging messages via ST SPEAr 13xx UART"
1057 depends on ARCH_SPEAR13XX
1058 select DEBUG_UART_PL01X
1060 Say Y here if you want kernel low-level debugging support
1061 on ST SPEAr13xx based platforms.
1063 config STIH41X_DEBUG_ASC2
1064 bool "Use StiH415/416 ASC2 UART for low-level debug"
1066 select DEBUG_STI_UART
1068 Say Y here if you want kernel low-level debugging support
1069 on STiH415/416 based platforms like b2000, which has
1070 default UART wired up to ASC2.
1074 config STIH41X_DEBUG_SBC_ASC1
1075 bool "Use StiH415/416 SBC ASC1 UART for low-level debug"
1077 select DEBUG_STI_UART
1079 Say Y here if you want kernel low-level debugging support
1080 on STiH415/416 based platforms like b2020. which has
1081 default UART wired up to SBC ASC1.
1085 config TEGRA_DEBUG_UART_AUTO_ODMDATA
1086 bool "Kernel low-level debugging messages via Tegra UART via ODMDATA"
1087 depends on ARCH_TEGRA
1088 select DEBUG_TEGRA_UART
1090 Automatically determines which UART to use for low-level
1091 debug based on the ODMDATA value. This value is part of
1092 the BCT, and is written to the boot memory device using
1093 nvflash, or other flashing tool. When bits 19:18 are 3,
1094 then bits 17:15 indicate which UART to use; 0/1/2/3/4
1097 config TEGRA_DEBUG_UARTA
1098 bool "Kernel low-level debugging messages via Tegra UART A"
1099 depends on ARCH_TEGRA
1100 select DEBUG_TEGRA_UART
1102 Say Y here if you want kernel low-level debugging support
1103 on Tegra based platforms.
1105 config TEGRA_DEBUG_UARTB
1106 bool "Kernel low-level debugging messages via Tegra UART B"
1107 depends on ARCH_TEGRA
1108 select DEBUG_TEGRA_UART
1110 Say Y here if you want kernel low-level debugging support
1111 on Tegra based platforms.
1113 config TEGRA_DEBUG_UARTC
1114 bool "Kernel low-level debugging messages via Tegra UART C"
1115 depends on ARCH_TEGRA
1116 select DEBUG_TEGRA_UART
1118 Say Y here if you want kernel low-level debugging support
1119 on Tegra based platforms.
1121 config TEGRA_DEBUG_UARTD
1122 bool "Kernel low-level debugging messages via Tegra UART D"
1123 depends on ARCH_TEGRA
1124 select DEBUG_TEGRA_UART
1126 Say Y here if you want kernel low-level debugging support
1127 on Tegra based platforms.
1129 config TEGRA_DEBUG_UARTE
1130 bool "Kernel low-level debugging messages via Tegra UART E"
1131 depends on ARCH_TEGRA
1132 select DEBUG_TEGRA_UART
1134 Say Y here if you want kernel low-level debugging support
1135 on Tegra based platforms.
1137 config DEBUG_U300_UART
1138 bool "Kernel low-level debugging messages via U300 UART0"
1139 depends on ARCH_U300
1140 select DEBUG_UART_PL01X
1142 Say Y here if you want the debug print routines to direct
1143 their output to the uart port on U300 devices.
1145 config DEBUG_UX500_UART
1146 depends on ARCH_U8500
1147 bool "Use Ux500 UART for low-level debug"
1149 Say Y here if you want kernel low-level debugging support
1150 on Ux500 based platforms.
1152 config DEBUG_VERSATILE
1153 bool "Kernel low-level debugging messages via ARM Versatile UART"
1154 depends on ARCH_VERSATILE
1155 select DEBUG_UART_PL01X
1157 Say Y here if you want kernel low-level debugging support
1158 on ARM Versatile platforms.
1160 config DEBUG_VEXPRESS_UART0_DETECT
1161 bool "Autodetect UART0 on Versatile Express Cortex-A core tiles"
1162 depends on ARCH_VEXPRESS && CPU_CP15_MMU
1164 This option enables a simple heuristic which tries to determine
1165 the motherboard's memory map variant (original or RS1) and then
1166 choose the relevant UART0 base address.
1168 Note that this will only work with standard A-class core tiles,
1169 and may fail with non-standard SMM or custom software models.
1171 config DEBUG_VEXPRESS_UART0_CA9
1172 bool "Use PL011 UART0 at 0x10009000 (V2P-CA9 core tile)"
1173 depends on ARCH_VEXPRESS
1174 select DEBUG_UART_PL01X
1176 This option selects UART0 at 0x10009000. Except for custom models,
1177 this applies only to the V2P-CA9 tile.
1179 config DEBUG_VEXPRESS_UART0_RS1
1180 bool "Use PL011 UART0 at 0x1c090000 (RS1 complaint tiles)"
1181 depends on ARCH_VEXPRESS
1182 select DEBUG_UART_PL01X
1184 This option selects UART0 at 0x1c090000. This applies to most
1185 of the tiles using the RS1 memory map, including all new A-class
1186 core tiles, FPGA-based SMMs and software models.
1188 config DEBUG_VEXPRESS_UART0_CRX
1189 bool "Use PL011 UART0 at 0xb0090000 (Cortex-R compliant tiles)"
1190 depends on ARCH_VEXPRESS && !MMU
1191 select DEBUG_UART_PL01X
1193 This option selects UART0 at 0xb0090000. This is appropriate for
1194 Cortex-R series tiles and SMMs, such as Cortex-R5 and Cortex-R7
1196 config DEBUG_VF_UART
1198 depends on SOC_VF610
1200 Say Y here if you want kernel low-level debugging support
1201 on Vybrid based platforms.
1203 config DEBUG_VT8500_UART0
1204 bool "Use UART0 on VIA/Wondermedia SoCs"
1205 depends on ARCH_VT8500
1207 This option selects UART0 on VIA/Wondermedia System-on-a-chip
1208 devices, including VT8500, WM8505, WM8650 and WM8850.
1211 bool "Use ZTE ZX UART"
1212 select DEBUG_UART_PL01X
1215 Say Y here if you are enabling ZTE ZX296702 SOC and need
1218 This option is preferred over the platform specific
1219 options; the platform specific options are deprecated
1220 and will be soon removed.
1222 config DEBUG_ZYNQ_UART0
1223 bool "Kernel low-level debugging on Xilinx Zynq using UART0"
1224 depends on ARCH_ZYNQ
1226 Say Y here if you want the debug print routines to direct
1227 their output to UART0 on the Zynq platform.
1229 config DEBUG_ZYNQ_UART1
1230 bool "Kernel low-level debugging on Xilinx Zynq using UART1"
1231 depends on ARCH_ZYNQ
1233 Say Y here if you want the debug print routines to direct
1234 their output to UART1 on the Zynq platform.
1236 If you have a ZC702 board and want early boot messages to
1237 appear on the USB serial adaptor, select this option.
1240 bool "Kernel low-level debugging via EmbeddedICE DCC channel"
1242 Say Y here if you want the debug print routines to direct
1243 their output to the EmbeddedICE macrocell's DCC channel using
1244 co-processor 14. This is known to work on the ARM9 style ICE
1245 channel and on the XScale with the PEEDI.
1247 Note that the system will appear to hang during boot if there
1248 is nothing connected to read from the DCC.
1250 config DEBUG_SEMIHOSTING
1251 bool "Kernel low-level debug output via semihosting I/O"
1253 Semihosting enables code running on an ARM target to use
1254 the I/O facilities on a host debugger/emulator through a
1255 simple SVC call. The host debugger or emulator must have
1256 semihosting enabled for the special svc call to be trapped
1257 otherwise the kernel will crash.
1259 This is known to work with OpenOCD, as well as
1260 ARM's Fast Models, or any other controlling environment
1261 that implements semihosting.
1263 For more details about semihosting, please see
1264 chapter 8 of DUI0203I_rvct_developer_guide.pdf from ARM Ltd.
1266 config DEBUG_LL_UART_8250
1267 bool "Kernel low-level debugging via 8250 UART"
1269 Say Y here if you wish the debug print routes to direct
1270 their output to an 8250 UART. You can use this option
1271 to provide the parameters for the 8250 UART rather than
1272 selecting one of the platform specific options above if
1273 you know the parameters for the port.
1275 This option is preferred over the platform specific
1276 options; the platform specific options are deprecated
1277 and will be soon removed.
1279 config DEBUG_LL_UART_EFM32
1280 bool "Kernel low-level debugging via efm32 UART"
1281 depends on ARCH_EFM32
1283 Say Y here if you want the debug print routines to direct
1284 their output to an UART or USART port on efm32 based
1285 machines. Use the following addresses for DEBUG_UART_PHYS:
1293 config DEBUG_LL_UART_PL01X
1294 bool "Kernel low-level debugging via ARM Ltd PL01x Primecell UART"
1296 Say Y here if you wish the debug print routes to direct
1297 their output to a PL01x Primecell UART. You can use
1298 this option to provide the parameters for the UART
1299 rather than selecting one of the platform specific
1300 options above if you know the parameters for the port.
1302 This option is preferred over the platform specific
1303 options; the platform specific options are deprecated
1304 and will be soon removed.
1308 config DEBUG_EXYNOS_UART
1311 config DEBUG_S3C2410_UART
1313 select DEBUG_S3C24XX_UART
1315 config DEBUG_S3C24XX_UART
1318 config DEBUG_S3C64XX_UART
1321 config DEBUG_S5PV210_UART
1324 config DEBUG_OMAP2PLUS_UART
1326 depends on ARCH_OMAP2PLUS
1328 config DEBUG_IMX_UART_PORT
1329 int "i.MX Debug UART Port Selection" if DEBUG_IMX1_UART || \
1330 DEBUG_IMX25_UART || \
1331 DEBUG_IMX21_IMX27_UART || \
1332 DEBUG_IMX31_UART || \
1333 DEBUG_IMX35_UART || \
1334 DEBUG_IMX50_UART || \
1335 DEBUG_IMX51_UART || \
1336 DEBUG_IMX53_UART || \
1337 DEBUG_IMX6Q_UART || \
1338 DEBUG_IMX6SL_UART || \
1339 DEBUG_IMX6SX_UART || \
1340 DEBUG_IMX6UL_UART || \
1345 Choose UART port on which kernel low-level debug messages
1348 config DEBUG_VF_UART_PORT
1349 int "Vybrid Debug UART Port Selection" if DEBUG_VF_UART
1352 depends on SOC_VF610
1354 Choose UART port on which kernel low-level debug messages
1357 config DEBUG_TEGRA_UART
1359 depends on ARCH_TEGRA
1361 config DEBUG_STI_UART
1365 config DEBUG_SIRFSOC_UART
1367 depends on ARCH_SIRF
1369 config DEBUG_LL_INCLUDE
1371 default "debug/sa1100.S" if DEBUG_SA1100
1372 default "debug/8250.S" if DEBUG_LL_UART_8250 || DEBUG_UART_8250
1373 default "debug/at91.S" if DEBUG_AT91_UART
1374 default "debug/asm9260.S" if DEBUG_ASM9260_UART
1375 default "debug/clps711x.S" if DEBUG_CLPS711X_UART1 || DEBUG_CLPS711X_UART2
1376 default "debug/dc21285.S" if DEBUG_DC21285_PORT
1377 default "debug/meson.S" if DEBUG_MESON_UARTAO
1378 default "debug/pl01x.S" if DEBUG_LL_UART_PL01X || DEBUG_UART_PL01X
1379 default "debug/exynos.S" if DEBUG_EXYNOS_UART
1380 default "debug/efm32.S" if DEBUG_LL_UART_EFM32
1381 default "debug/icedcc.S" if DEBUG_ICEDCC
1382 default "debug/imx.S" if DEBUG_IMX1_UART || \
1383 DEBUG_IMX25_UART || \
1384 DEBUG_IMX21_IMX27_UART || \
1385 DEBUG_IMX31_UART || \
1386 DEBUG_IMX35_UART || \
1387 DEBUG_IMX50_UART || \
1388 DEBUG_IMX51_UART || \
1389 DEBUG_IMX53_UART ||\
1390 DEBUG_IMX6Q_UART || \
1391 DEBUG_IMX6SL_UART || \
1392 DEBUG_IMX6SX_UART || \
1393 DEBUG_IMX6UL_UART || \
1395 default "debug/ks8695.S" if DEBUG_KS8695_UART
1396 default "debug/msm.S" if DEBUG_QCOM_UARTDM
1397 default "debug/netx.S" if DEBUG_NETX_UART
1398 default "debug/omap2plus.S" if DEBUG_OMAP2PLUS_UART
1399 default "debug/renesas-scif.S" if DEBUG_R7S72100_SCIF2
1400 default "debug/renesas-scif.S" if DEBUG_RCAR_GEN1_SCIF0
1401 default "debug/renesas-scif.S" if DEBUG_RCAR_GEN1_SCIF2
1402 default "debug/renesas-scif.S" if DEBUG_RCAR_GEN2_SCIF0
1403 default "debug/renesas-scif.S" if DEBUG_RCAR_GEN2_SCIF2
1404 default "debug/renesas-scif.S" if DEBUG_RMOBILE_SCIFA0
1405 default "debug/renesas-scif.S" if DEBUG_RMOBILE_SCIFA1
1406 default "debug/renesas-scif.S" if DEBUG_RMOBILE_SCIFA4
1407 default "debug/s3c24xx.S" if DEBUG_S3C24XX_UART || DEBUG_S3C64XX_UART
1408 default "debug/s5pv210.S" if DEBUG_S5PV210_UART
1409 default "debug/sirf.S" if DEBUG_SIRFSOC_UART
1410 default "debug/sti.S" if DEBUG_STI_UART
1411 default "debug/tegra.S" if DEBUG_TEGRA_UART
1412 default "debug/ux500.S" if DEBUG_UX500_UART
1413 default "debug/vexpress.S" if DEBUG_VEXPRESS_UART0_DETECT
1414 default "debug/vf.S" if DEBUG_VF_UART
1415 default "debug/vt8500.S" if DEBUG_VT8500_UART0
1416 default "debug/zynq.S" if DEBUG_ZYNQ_UART0 || DEBUG_ZYNQ_UART1
1417 default "debug/bcm63xx.S" if DEBUG_UART_BCM63XX
1418 default "debug/digicolor.S" if DEBUG_DIGICOLOR_UA0
1419 default "mach/debug-macro.S"
1421 # Compatibility options for PL01x
1422 config DEBUG_UART_PL01X
1425 # Compatibility options for 8250
1426 config DEBUG_UART_8250
1427 def_bool ARCH_EBSA110 || \
1428 ARCH_IOP13XX || ARCH_IOP32X || ARCH_IOP33X || ARCH_IXP4XX || \
1431 # Compatibility options for BCM63xx
1432 config DEBUG_UART_BCM63XX
1433 def_bool ARCH_BCM_63XX
1435 config DEBUG_UART_PHYS
1436 hex "Physical base address of debug UART"
1437 default 0x00100a00 if DEBUG_NETX_UART
1438 default 0x01c20000 if DEBUG_DAVINCI_DMx_UART0
1439 default 0x01c28000 if DEBUG_SUNXI_UART0
1440 default 0x01c28400 if DEBUG_SUNXI_UART1
1441 default 0x01d0c000 if DEBUG_DAVINCI_DA8XX_UART1
1442 default 0x01d0d000 if DEBUG_DAVINCI_DA8XX_UART2
1443 default 0x01f02800 if DEBUG_SUNXI_R_UART
1444 default 0x02530c00 if DEBUG_KEYSTONE_UART0
1445 default 0x02531000 if DEBUG_KEYSTONE_UART1
1446 default 0x03010fe0 if ARCH_RPC
1447 default 0x07000000 if DEBUG_SUN9I_UART0
1448 default 0x09405000 if DEBUG_ZTE_ZX
1449 default 0x10009000 if DEBUG_REALVIEW_STD_PORT || \
1450 DEBUG_VEXPRESS_UART0_CA9
1451 default 0x1010c000 if DEBUG_REALVIEW_PB1176_PORT
1452 default 0x10124000 if DEBUG_RK3X_UART0
1453 default 0x10126000 if DEBUG_RK3X_UART1
1454 default 0x101f1000 if DEBUG_VERSATILE
1455 default 0x101fb000 if DEBUG_NOMADIK_UART
1456 default 0x11002000 if DEBUG_MT8127_UART0
1457 default 0x11006000 if DEBUG_MT6589_UART0
1458 default 0x11009000 if DEBUG_MT8135_UART3
1459 default 0x16000000 if DEBUG_INTEGRATOR
1460 default 0x18000300 if DEBUG_BCM_5301X
1461 default 0x18010000 if DEBUG_SIRFATLAS7_UART0
1462 default 0x18020000 if DEBUG_SIRFATLAS7_UART1
1463 default 0x1c090000 if DEBUG_VEXPRESS_UART0_RS1
1464 default 0x20001000 if DEBUG_HIP01_UART
1465 default 0x20060000 if DEBUG_RK29_UART0
1466 default 0x20064000 if DEBUG_RK29_UART1 || DEBUG_RK3X_UART2
1467 default 0x20068000 if DEBUG_RK29_UART2 || DEBUG_RK3X_UART3
1468 default 0x20201000 if DEBUG_BCM2835
1469 default 0x3f201000 if DEBUG_BCM2836
1470 default 0x3e000000 if DEBUG_BCM_KONA_UART
1471 default 0x4000e400 if DEBUG_LL_UART_EFM32
1472 default 0x40081000 if DEBUG_LPC18XX_UART0
1473 default 0x40090000 if DEBUG_LPC32XX
1474 default 0x40100000 if DEBUG_PXA_UART1
1475 default 0x42000000 if DEBUG_GEMINI
1476 default 0x50000000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART0 || \
1477 DEBUG_S3C2410_UART0)
1478 default 0x50004000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART1 || \
1479 DEBUG_S3C2410_UART1)
1480 default 0x50008000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART2 || \
1481 DEBUG_S3C2410_UART2)
1482 default 0x78000000 if DEBUG_CNS3XXX
1483 default 0x7c0003f8 if DEBUG_FOOTBRIDGE_COM1
1484 default 0x7f005000 if DEBUG_S3C64XX_UART && DEBUG_S3C_UART0
1485 default 0x7f005400 if DEBUG_S3C64XX_UART && DEBUG_S3C_UART1
1486 default 0x7f005800 if DEBUG_S3C64XX_UART && DEBUG_S3C_UART2
1487 default 0x7f005c00 if DEBUG_S3C64XX_UART && DEBUG_S3C_UART3
1488 default 0x80010000 if DEBUG_ASM9260_UART
1489 default 0x80070000 if DEBUG_IMX23_UART
1490 default 0x80074000 if DEBUG_IMX28_UART
1491 default 0x80230000 if DEBUG_PICOXCELL_UART
1492 default 0x808c0000 if DEBUG_EP93XX || ARCH_EP93XX
1493 default 0x90020000 if DEBUG_NSPIRE_CLASSIC_UART || DEBUG_NSPIRE_CX_UART
1494 default 0xb0060000 if DEBUG_SIRFPRIMA2_UART1
1495 default 0xb0090000 if DEBUG_VEXPRESS_UART0_CRX
1496 default 0xc0013000 if DEBUG_U300_UART
1497 default 0xc8000000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN
1498 default 0xc8000003 if ARCH_IXP4XX && CPU_BIG_ENDIAN
1499 default 0xd0000000 if DEBUG_SPEAR3XX
1500 default 0xd0012000 if DEBUG_MVEBU_UART0
1501 default 0xc81004c0 if DEBUG_MESON_UARTAO
1502 default 0xd4017000 if DEBUG_MMP_UART2
1503 default 0xd4018000 if DEBUG_MMP_UART3
1504 default 0xe0000000 if DEBUG_SPEAR13XX
1505 default 0xe4007000 if DEBUG_HIP04_UART
1506 default 0xe6c40000 if DEBUG_RMOBILE_SCIFA0
1507 default 0xe6c50000 if DEBUG_RMOBILE_SCIFA1
1508 default 0xe6c80000 if DEBUG_RMOBILE_SCIFA4
1509 default 0xe6e58000 if DEBUG_RCAR_GEN2_SCIF2
1510 default 0xe6e60000 if DEBUG_RCAR_GEN2_SCIF0
1511 default 0xe8008000 if DEBUG_R7S72100_SCIF2
1512 default 0xf0000be0 if ARCH_EBSA110
1513 default 0xf040ab00 if DEBUG_BRCMSTB_UART
1514 default 0xf1012000 if DEBUG_MVEBU_UART0_ALTERNATE
1515 default 0xf1012100 if DEBUG_MVEBU_UART1_ALTERNATE
1516 default 0xf7fc9000 if DEBUG_BERLIN_UART
1517 default 0xf8b00000 if DEBUG_HIX5HD2_UART
1518 default 0xf991e000 if DEBUG_QCOM_UARTDM
1519 default 0xfcb00000 if DEBUG_HI3620_UART
1520 default 0xfd883000 if DEBUG_ALPINE_UART0
1521 default 0xfe800000 if ARCH_IOP32X
1522 default 0xff690000 if DEBUG_RK32_UART2
1523 default 0xffc02000 if DEBUG_SOCFPGA_UART0
1524 default 0xffc02100 if DEBUG_SOCFPGA_UART1
1525 default 0xffd82340 if ARCH_IOP13XX
1526 default 0xffe40000 if DEBUG_RCAR_GEN1_SCIF0
1527 default 0xffe42000 if DEBUG_RCAR_GEN1_SCIF2
1528 default 0xfff36000 if DEBUG_HIGHBANK_UART
1529 default 0xfffb0000 if DEBUG_OMAP1UART1 || DEBUG_OMAP7XXUART1
1530 default 0xfffb0800 if DEBUG_OMAP1UART2 || DEBUG_OMAP7XXUART2
1531 default 0xfffb9800 if DEBUG_OMAP1UART3 || DEBUG_OMAP7XXUART3
1532 default 0xfffe8600 if DEBUG_UART_BCM63XX
1533 default 0xfffff700 if ARCH_IOP33X
1534 depends on ARCH_EP93XX || \
1535 DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \
1536 DEBUG_LL_UART_EFM32 || \
1537 DEBUG_UART_8250 || DEBUG_UART_PL01X || DEBUG_MESON_UARTAO || \
1538 DEBUG_NETX_UART || \
1539 DEBUG_QCOM_UARTDM || DEBUG_R7S72100_SCIF2 || \
1540 DEBUG_RCAR_GEN1_SCIF0 || DEBUG_RCAR_GEN1_SCIF2 || \
1541 DEBUG_RCAR_GEN2_SCIF0 || DEBUG_RCAR_GEN2_SCIF2 || \
1542 DEBUG_RMOBILE_SCIFA0 || DEBUG_RMOBILE_SCIFA1 || \
1543 DEBUG_RMOBILE_SCIFA4 || DEBUG_S3C24XX_UART || \
1544 DEBUG_S3C64XX_UART || \
1545 DEBUG_UART_BCM63XX || DEBUG_ASM9260_UART || \
1546 DEBUG_SIRFSOC_UART || DEBUG_DIGICOLOR_UA0 || \
1549 config DEBUG_UART_VIRT
1550 hex "Virtual base address of debug UART"
1551 default 0xe0000a00 if DEBUG_NETX_UART
1552 default 0xe0010fe0 if ARCH_RPC
1553 default 0xf0000be0 if ARCH_EBSA110
1554 default 0xf0010000 if DEBUG_ASM9260_UART
1555 default 0xf01fb000 if DEBUG_NOMADIK_UART
1556 default 0xf0201000 if DEBUG_BCM2835 || DEBUG_BCM2836
1557 default 0xf1000300 if DEBUG_BCM_5301X
1558 default 0xf1002000 if DEBUG_MT8127_UART0
1559 default 0xf1006000 if DEBUG_MT6589_UART0
1560 default 0xf1009000 if DEBUG_MT8135_UART3
1561 default 0xf11f1000 if DEBUG_VERSATILE
1562 default 0xf1600000 if DEBUG_INTEGRATOR
1563 default 0xf1c28000 if DEBUG_SUNXI_UART0
1564 default 0xf1c28400 if DEBUG_SUNXI_UART1
1565 default 0xf1f02800 if DEBUG_SUNXI_R_UART
1566 default 0xf31004c0 if DEBUG_MESON_UARTAO
1567 default 0xf4090000 if DEBUG_LPC32XX
1568 default 0xf4200000 if DEBUG_GEMINI
1569 default 0xf6200000 if DEBUG_PXA_UART1
1570 default 0xf7000000 if DEBUG_SUN9I_UART0
1571 default 0xf7000000 if DEBUG_S3C64XX_UART && DEBUG_S3C_UART0
1572 default 0xf7000000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART0 || \
1573 DEBUG_S3C2410_UART0)
1574 default 0xf7000400 if DEBUG_S3C64XX_UART && DEBUG_S3C_UART1
1575 default 0xf7000800 if DEBUG_S3C64XX_UART && DEBUG_S3C_UART2
1576 default 0xf7000c00 if DEBUG_S3C64XX_UART && DEBUG_S3C_UART3
1577 default 0xf7004000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART1 || \
1578 DEBUG_S3C2410_UART1)
1579 default 0xf7008000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART2 || \
1580 DEBUG_S3C2410_UART2)
1581 default 0xf7fc9000 if DEBUG_BERLIN_UART
1582 default 0xf8007000 if DEBUG_HIP04_UART
1583 default 0xf8009000 if DEBUG_VEXPRESS_UART0_CA9
1584 default 0xf8090000 if DEBUG_VEXPRESS_UART0_RS1
1585 default 0xfa71e000 if DEBUG_QCOM_UARTDM
1586 default 0xfb002000 if DEBUG_CNS3XXX
1587 default 0xfb009000 if DEBUG_REALVIEW_STD_PORT
1588 default 0xfb10c000 if DEBUG_REALVIEW_PB1176_PORT
1589 default 0xfc40ab00 if DEBUG_BRCMSTB_UART
1590 default 0xfc705000 if DEBUG_ZTE_ZX
1591 default 0xfcfe8600 if DEBUG_UART_BCM63XX
1592 default 0xfd000000 if DEBUG_SPEAR3XX || DEBUG_SPEAR13XX
1593 default 0xfd012000 if DEBUG_MVEBU_UART0_ALTERNATE && ARCH_MV78XX0
1594 default 0xfd883000 if DEBUG_ALPINE_UART0
1595 default 0xfde12000 if DEBUG_MVEBU_UART0_ALTERNATE && ARCH_DOVE
1596 default 0xfe012000 if DEBUG_MVEBU_UART0_ALTERNATE && ARCH_ORION5X
1597 default 0xfe017000 if DEBUG_MMP_UART2
1598 default 0xfe018000 if DEBUG_MMP_UART3
1599 default 0xfe100000 if DEBUG_IMX23_UART || DEBUG_IMX28_UART
1600 default 0xfe230000 if DEBUG_PICOXCELL_UART
1601 default 0xfe300000 if DEBUG_BCM_KONA_UART
1602 default 0xfe800000 if ARCH_IOP32X
1603 default 0xfeb00000 if DEBUG_HI3620_UART || DEBUG_HIX5HD2_UART
1604 default 0xfeb24000 if DEBUG_RK3X_UART0
1605 default 0xfeb26000 if DEBUG_RK3X_UART1
1606 default 0xfeb30c00 if DEBUG_KEYSTONE_UART0
1607 default 0xfeb31000 if DEBUG_KEYSTONE_UART1
1608 default 0xfec02000 if DEBUG_SOCFPGA_UART0
1609 default 0xfec02100 if DEBUG_SOCFPGA_UART1
1610 default 0xfec12000 if (DEBUG_MVEBU_UART0 || DEBUG_MVEBU_UART0_ALTERNATE) && ARCH_MVEBU
1611 default 0xfec12100 if DEBUG_MVEBU_UART1_ALTERNATE
1612 default 0xfec10000 if DEBUG_SIRFATLAS7_UART0
1613 default 0xfec20000 if DEBUG_DAVINCI_DMx_UART0
1614 default 0xfec20000 if DEBUG_SIRFATLAS7_UART1
1615 default 0xfec60000 if DEBUG_SIRFPRIMA2_UART1
1616 default 0xfec90000 if DEBUG_RK32_UART2
1617 default 0xfed0c000 if DEBUG_DAVINCI_DA8XX_UART1
1618 default 0xfed0d000 if DEBUG_DAVINCI_DA8XX_UART2
1619 default 0xfed60000 if DEBUG_RK29_UART0
1620 default 0xfed64000 if DEBUG_RK29_UART1 || DEBUG_RK3X_UART2
1621 default 0xfed68000 if DEBUG_RK29_UART2 || DEBUG_RK3X_UART3
1622 default 0xfedc0000 if DEBUG_EP93XX
1623 default 0xfee003f8 if DEBUG_FOOTBRIDGE_COM1
1624 default 0xfee20000 if DEBUG_NSPIRE_CLASSIC_UART || DEBUG_NSPIRE_CX_UART
1625 default 0xfee82340 if ARCH_IOP13XX
1626 default 0xfef00000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN
1627 default 0xfef00003 if ARCH_IXP4XX && CPU_BIG_ENDIAN
1628 default 0xfef36000 if DEBUG_HIGHBANK_UART
1629 default 0xfefb0000 if DEBUG_OMAP1UART1 || DEBUG_OMAP7XXUART1
1630 default 0xfefb0800 if DEBUG_OMAP1UART2 || DEBUG_OMAP7XXUART2
1631 default 0xfefb9800 if DEBUG_OMAP1UART3 || DEBUG_OMAP7XXUART3
1632 default 0xfefff700 if ARCH_IOP33X
1633 default 0xff003000 if DEBUG_U300_UART
1634 default 0xffd01000 if DEBUG_HIP01_UART
1635 default DEBUG_UART_PHYS if !MMU
1636 depends on DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \
1637 DEBUG_UART_8250 || DEBUG_UART_PL01X || DEBUG_MESON_UARTAO || \
1638 DEBUG_NETX_UART || \
1639 DEBUG_QCOM_UARTDM || DEBUG_S3C24XX_UART || \
1640 DEBUG_S3C64XX_UART || \
1641 DEBUG_UART_BCM63XX || DEBUG_ASM9260_UART || \
1642 DEBUG_SIRFSOC_UART || DEBUG_DIGICOLOR_UA0
1644 config DEBUG_UART_8250_SHIFT
1645 int "Register offset shift for the 8250 debug UART"
1646 depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
1647 default 0 if DEBUG_FOOTBRIDGE_COM1 || ARCH_IOP32X || DEBUG_BCM_5301X || \
1648 DEBUG_OMAP7XXUART1 || DEBUG_OMAP7XXUART2 || DEBUG_OMAP7XXUART3
1651 config DEBUG_UART_8250_WORD
1652 bool "Use 32-bit accesses for 8250 UART"
1653 depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
1654 depends on DEBUG_UART_8250_SHIFT >= 2
1655 default y if DEBUG_PICOXCELL_UART || \
1656 DEBUG_SOCFPGA_UART0 || DEBUG_SOCFPGA_UART1 || \
1657 DEBUG_KEYSTONE_UART0 || DEBUG_KEYSTONE_UART1 || \
1658 DEBUG_ALPINE_UART0 || \
1659 DEBUG_DAVINCI_DMx_UART0 || DEBUG_DAVINCI_DA8XX_UART1 || \
1660 DEBUG_DAVINCI_DA8XX_UART2 || \
1661 DEBUG_BCM_KONA_UART || DEBUG_RK32_UART2 || \
1664 config DEBUG_UART_8250_FLOW_CONTROL
1665 bool "Enable flow control for 8250 UART"
1666 depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
1667 default y if ARCH_EBSA110 || DEBUG_FOOTBRIDGE_COM1 || DEBUG_GEMINI || ARCH_RPC
1669 config DEBUG_UNCOMPRESS
1671 depends on ARCH_MULTIPLATFORM || PLAT_SAMSUNG || ARM_SINGLE_ARMV7M
1672 default y if DEBUG_LL && !DEBUG_OMAP2PLUS_UART && \
1673 (!DEBUG_TEGRA_UART || !ZBOOT_ROM)
1675 This option influences the normal decompressor output for
1676 multiplatform kernels. Normally, multiplatform kernels disable
1677 decompressor output because it is not possible to know where to
1678 send the decompressor output.
1680 When this option is set, the selected DEBUG_LL output method
1681 will be re-used for normal decompressor output on multiplatform
1685 config UNCOMPRESS_INCLUDE
1687 default "debug/uncompress.h" if ARCH_MULTIPLATFORM || ARCH_MSM || \
1688 PLAT_SAMSUNG || ARM_SINGLE_ARMV7M
1689 default "mach/uncompress.h"
1695 Say Y here if you want to have an early console using the
1696 kernel low-level debugging functions. Add earlyprintk to your
1697 kernel parameters to enable this console.
1699 config ARM_KPROBES_TEST
1700 tristate "Kprobes test module"
1701 depends on KPROBES && MODULES
1703 Perform tests of kprobes API and instruction set simulation.
1705 config PID_IN_CONTEXTIDR
1706 bool "Write the current PID to the CONTEXTIDR register"
1707 depends on CPU_COPY_V6
1709 Enabling this option causes the kernel to write the current PID to
1710 the PROCID field of the CONTEXTIDR register, at the expense of some
1711 additional instructions during context switch. Say Y here only if you
1712 are planning to use hardware trace tools with this kernel.
1714 config DEBUG_SET_MODULE_RONX
1715 bool "Set loadable kernel module data as NX and text as RO"
1716 depends on MODULES && MMU
1718 This option helps catch unintended modifications to loadable
1719 kernel module's text and read-only data. It also prevents execution
1720 of module data. Such protection may interfere with run-time code
1721 patching and dynamic kernel tracing - and they might also protect
1722 against certain classes of kernel exploits.
1723 If in doubt, say "N".
1725 source "drivers/hwtracing/coresight/Kconfig"