3 source "lib/Kconfig.debug"
6 bool "Export kernel pagetable layout to userspace via debugfs"
7 depends on DEBUG_KERNEL
10 Say Y here if you want to show the kernel pagetable layout in a
11 debugfs file. This information is only useful for kernel developers
12 who are working in architecture specific areas of the kernel.
13 It is probably not a good idea to enable this feature in a production
18 bool "Filter access to /dev/mem"
21 If this option is disabled, you allow userspace (root) access to all
22 of memory, including kernel and userspace memory. Accidental
23 access to this is obviously disastrous, but specific access can
24 be used by people debugging the kernel.
26 If this option is switched on, the /dev/mem file only allows
27 userspace access to memory mapped peripherals.
31 # RMK wants arm kernels compiled with frame pointers or stack unwinding.
32 # If you know what you are doing and are willing to live without stack
33 # traces, you can get a slightly smaller kernel by setting this option to
34 # n, but then RMK will have to kill you ;).
37 depends on !THUMB2_KERNEL
38 default y if !ARM_UNWIND || FUNCTION_GRAPH_TRACER
40 If you say N here, the resulting kernel will be slightly smaller and
41 faster. However, if neither FRAME_POINTER nor ARM_UNWIND are enabled,
42 when a problem occurs with the kernel, the information that is
43 reported is severely limited.
46 bool "Enable stack unwinding support (EXPERIMENTAL)"
50 This option enables stack unwinding support in the kernel
51 using the information automatically generated by the
52 compiler. The resulting kernel image is slightly bigger but
53 the performance is not affected. Currently, this feature
54 only works with EABI compilers. If unsure say Y.
58 depends on FUNCTION_TRACER && FRAME_POINTER
62 bool "Verbose user fault messages"
64 When a user program crashes due to an exception, the kernel can
65 print a brief message explaining what the problem was. This is
66 sometimes helpful for debugging but serves no purpose on a
67 production system. Most people should say N here.
69 In addition, you need to pass user_debug=N on the kernel command
70 line to enable this feature. N consists of the sum of:
72 1 - undefined instruction events
74 4 - invalid data aborts
78 # These options are only for real kernel hackers who want to get their hands dirty.
80 bool "Kernel low-level debugging functions (read help!)"
81 depends on DEBUG_KERNEL
83 Say Y here to include definitions of printascii, printch, printhex
84 in the kernel. This is helpful if you are debugging code that
85 executes before the console is initialized.
87 Note that selecting this option will limit the kernel to a single
88 UART definition, as specified below. Attempting to boot the kernel
89 image on a different platform *will not work*, so this option should
90 not be enabled for kernels that are intended to be portable.
93 prompt "Kernel low-level debugging port"
96 config DEBUG_ASM9260_UART
97 bool "Kernel low-level debugging via asm9260 UART"
98 depends on MACH_ASM9260
100 Say Y here if you want the debug print routines to direct
101 their output to an UART or USART port on asm9260 based
104 DEBUG_UART_PHYS | DEBUG_UART_VIRT
106 0x80000000 | 0xf0000000 | UART0
107 0x80004000 | 0xf0004000 | UART1
108 0x80008000 | 0xf0008000 | UART2
109 0x8000c000 | 0xf000c000 | UART3
110 0x80010000 | 0xf0010000 | UART4
111 0x80014000 | 0xf0014000 | UART5
112 0x80018000 | 0xf0018000 | UART6
113 0x8001c000 | 0xf001c000 | UART7
114 0x80020000 | 0xf0020000 | UART8
115 0x80024000 | 0xf0024000 | UART9
117 config AT91_DEBUG_LL_DBGU0
118 bool "Kernel low-level debugging on rm9200, 9260/9g20, 9261/9g10 and 9rl"
119 depends on HAVE_AT91_DBGU0
121 config AT91_DEBUG_LL_DBGU1
122 bool "Kernel low-level debugging on 9263 and 9g45"
123 depends on HAVE_AT91_DBGU1
125 config AT91_DEBUG_LL_DBGU2
126 bool "Kernel low-level debugging on sama5d4"
127 depends on HAVE_AT91_DBGU2
130 bool "Kernel low-level debugging on BCM2835 PL011 UART"
131 depends on ARCH_BCM2835
132 select DEBUG_UART_PL01X
134 config DEBUG_BCM_5301X
135 bool "Kernel low-level debugging on BCM5301X UART1"
136 depends on ARCH_BCM_5301X
137 select DEBUG_UART_8250
139 config DEBUG_BCM_KONA_UART
140 bool "Kernel low-level debugging messages via BCM KONA UART"
141 depends on ARCH_BCM_MOBILE
142 select DEBUG_UART_8250
144 Say Y here if you want kernel low-level debugging support
145 on Broadcom SoC platforms.
146 This low level debug works for Broadcom
147 mobile SoCs in the Kona family of chips (e.g. bcm28155,
151 bool "Kernel low-level debugging on BCM63XX UART"
152 depends on ARCH_BCM_63XX
153 select DEBUG_UART_BCM63XX
155 config DEBUG_BERLIN_UART
156 bool "Marvell Berlin SoC Debug UART"
157 depends on ARCH_BERLIN
158 select DEBUG_UART_8250
160 Say Y here if you want kernel low-level debugging support
161 on Marvell Berlin SoC based platforms.
163 config DEBUG_BRCMSTB_UART
164 bool "Use BRCMSTB UART for low-level debug"
165 depends on ARCH_BRCMSTB
166 select DEBUG_UART_8250
168 Say Y here if you want the debug print routines to direct
169 their output to the first serial port on these devices.
171 If you have a Broadcom STB chip and would like early print
172 messages to appear over the UART, select this option.
174 config DEBUG_CLPS711X_UART1
175 bool "Kernel low-level debugging messages via UART1"
176 depends on ARCH_CLPS711X
178 Say Y here if you want the debug print routines to direct
179 their output to the first serial port on these devices.
181 config DEBUG_CLPS711X_UART2
182 bool "Kernel low-level debugging messages via UART2"
183 depends on ARCH_CLPS711X
185 Say Y here if you want the debug print routines to direct
186 their output to the second serial port on these devices.
189 bool "Kernel Kernel low-level debugging on Cavium Networks CNS3xxx"
190 depends on ARCH_CNS3XXX
191 select DEBUG_UART_8250
193 Say Y here if you want the debug print routines to direct
194 their output to the CNS3xxx UART0.
196 config DEBUG_DAVINCI_DA8XX_UART1
197 bool "Kernel low-level debugging on DaVinci DA8XX using UART1"
198 depends on ARCH_DAVINCI_DA8XX
199 select DEBUG_UART_8250
201 Say Y here if you want the debug print routines to direct
202 their output to UART1 serial port on DaVinci DA8XX devices.
204 config DEBUG_DAVINCI_DA8XX_UART2
205 bool "Kernel low-level debugging on DaVinci DA8XX using UART2"
206 depends on ARCH_DAVINCI_DA8XX
207 select DEBUG_UART_8250
209 Say Y here if you want the debug print routines to direct
210 their output to UART2 serial port on DaVinci DA8XX devices.
212 config DEBUG_DAVINCI_DMx_UART0
213 bool "Kernel low-level debugging on DaVinci DMx using UART0"
214 depends on ARCH_DAVINCI_DMx
215 select DEBUG_UART_8250
217 Say Y here if you want the debug print routines to direct
218 their output to UART0 serial port on DaVinci DMx devices.
220 config DEBUG_ZYNQ_UART0
221 bool "Kernel low-level debugging on Xilinx Zynq using UART0"
224 Say Y here if you want the debug print routines to direct
225 their output to UART0 on the Zynq platform.
227 config DEBUG_ZYNQ_UART1
228 bool "Kernel low-level debugging on Xilinx Zynq using UART1"
231 Say Y here if you want the debug print routines to direct
232 their output to UART1 on the Zynq platform.
234 If you have a ZC702 board and want early boot messages to
235 appear on the USB serial adaptor, select this option.
237 config DEBUG_DC21285_PORT
238 bool "Kernel low-level debugging messages via footbridge serial port"
239 depends on FOOTBRIDGE
241 Say Y here if you want the debug print routines to direct
242 their output to the serial port in the DC21285 (Footbridge).
244 config DEBUG_FOOTBRIDGE_COM1
245 bool "Kernel low-level debugging messages via footbridge 8250 at PCI COM1"
246 depends on FOOTBRIDGE
248 Say Y here if you want the debug print routines to direct
249 their output to the 8250 at PCI COM1.
251 config DEBUG_HI3620_UART
252 bool "Hisilicon HI3620 Debug UART"
253 depends on ARCH_HI3xxx
254 select DEBUG_UART_PL01X
256 Say Y here if you want kernel low-level debugging support
259 config DEBUG_HI3716_UART
260 bool "Hisilicon Hi3716 Debug UART"
261 depends on ARCH_HI3xxx
262 select DEBUG_UART_PL01X
264 Say Y here if you want kernel low-level debugging support
267 config DEBUG_HIGHBANK_UART
268 bool "Kernel low-level debugging messages via Highbank UART"
269 depends on ARCH_HIGHBANK
270 select DEBUG_UART_PL01X
272 Say Y here if you want the debug print routines to direct
273 their output to the UART on Highbank based devices.
275 config DEBUG_HIP01_UART
276 bool "Hisilicon Hip01 Debug UART"
277 depends on ARCH_HIP01
278 select DEBUG_UART_8250
280 Say Y here if you want kernel low-level debugging support
283 config DEBUG_HIP04_UART
284 bool "Hisilicon HiP04 Debug UART"
285 depends on ARCH_HIP04
286 select DEBUG_UART_8250
288 Say Y here if you want kernel low-level debugging support
291 config DEBUG_HIX5HD2_UART
292 bool "Hisilicon Hix5hd2 Debug UART"
293 depends on ARCH_HIX5HD2
294 select DEBUG_UART_PL01X
296 Say Y here if you want kernel low-level debugging support
299 config DEBUG_IMX1_UART
300 bool "i.MX1 Debug UART"
303 Say Y here if you want kernel low-level debugging support
306 config DEBUG_IMX23_UART
307 bool "i.MX23 Debug UART"
309 select DEBUG_UART_PL01X
311 Say Y here if you want kernel low-level debugging support
314 config DEBUG_IMX25_UART
315 bool "i.MX25 Debug UART"
318 Say Y here if you want kernel low-level debugging support
321 config DEBUG_IMX21_IMX27_UART
322 bool "i.MX21 and i.MX27 Debug UART"
323 depends on SOC_IMX21 || SOC_IMX27
325 Say Y here if you want kernel low-level debugging support
328 config DEBUG_IMX28_UART
329 bool "i.MX28 Debug UART"
331 select DEBUG_UART_PL01X
333 Say Y here if you want kernel low-level debugging support
336 config DEBUG_IMX31_UART
337 bool "i.MX31 Debug UART"
340 Say Y here if you want kernel low-level debugging support
343 config DEBUG_IMX35_UART
344 bool "i.MX35 Debug UART"
347 Say Y here if you want kernel low-level debugging support
350 config DEBUG_IMX50_UART
351 bool "i.MX50 Debug UART"
354 Say Y here if you want kernel low-level debugging support
357 config DEBUG_IMX51_UART
358 bool "i.MX51 Debug UART"
361 Say Y here if you want kernel low-level debugging support
364 config DEBUG_IMX53_UART
365 bool "i.MX53 Debug UART"
368 Say Y here if you want kernel low-level debugging support
371 config DEBUG_IMX6Q_UART
372 bool "i.MX6Q/DL Debug UART"
375 Say Y here if you want kernel low-level debugging support
378 config DEBUG_IMX6SL_UART
379 bool "i.MX6SL Debug UART"
380 depends on SOC_IMX6SL
382 Say Y here if you want kernel low-level debugging support
385 config DEBUG_IMX6SX_UART
386 bool "i.MX6SX Debug UART"
387 depends on SOC_IMX6SX
389 Say Y here if you want kernel low-level debugging support
392 config DEBUG_KEYSTONE_UART0
393 bool "Kernel low-level debugging on KEYSTONE2 using UART0"
394 depends on ARCH_KEYSTONE
395 select DEBUG_UART_8250
397 Say Y here if you want the debug print routines to direct
398 their output to UART0 serial port on KEYSTONE2 devices.
400 config DEBUG_KEYSTONE_UART1
401 bool "Kernel low-level debugging on KEYSTONE2 using UART1"
402 depends on ARCH_KEYSTONE
403 select DEBUG_UART_8250
405 Say Y here if you want the debug print routines to direct
406 their output to UART1 serial port on KEYSTONE2 devices.
408 config DEBUG_MESON_UARTAO
409 bool "Kernel low-level debugging via Meson6 UARTAO"
410 depends on ARCH_MESON
412 Say Y here if you want kernel low-lever debugging support
413 on Amlogic Meson6 based platforms on the UARTAO.
415 config DEBUG_MMP_UART2
416 bool "Kernel low-level debugging message via MMP UART2"
418 select DEBUG_UART_8250
420 Say Y here if you want kernel low-level debugging support
423 config DEBUG_MMP_UART3
424 bool "Kernel low-level debugging message via MMP UART3"
426 select DEBUG_UART_8250
428 Say Y here if you want kernel low-level debugging support
431 config DEBUG_MSM_UART
432 bool "Kernel low-level debugging messages via MSM UART"
435 Say Y here if you want the debug print routines to direct
436 their output to the serial port on MSM devices.
438 ARCH DEBUG_UART_PHYS DEBUG_UART_BASE #
439 MSM7X00A, QSD8X50 0xa9a00000 0xe1000000 UART1
440 MSM7X00A, QSD8X50 0xa9b00000 0xe1000000 UART2
441 MSM7X00A, QSD8X50 0xa9c00000 0xe1000000 UART3
443 MSM7X30 0xaca00000 0xe1000000 UART1
444 MSM7X30 0xacb00000 0xe1000000 UART2
445 MSM7X30 0xacc00000 0xe1000000 UART3
447 Please adjust DEBUG_UART_PHYS and DEBUG_UART_BASE configuration
448 options based on your needs.
450 config DEBUG_QCOM_UARTDM
451 bool "Kernel low-level debugging messages via QCOM UARTDM"
454 Say Y here if you want the debug print routines to direct
455 their output to the serial port on Qualcomm devices.
457 ARCH DEBUG_UART_PHYS DEBUG_UART_BASE
458 APQ8084 0xf995e000 0xfa75e000
459 MSM8X60 0x19c40000 0xf0040000
460 MSM8960 0x16440000 0xf0040000
461 MSM8974 0xf991e000 0xfa71e000
463 Please adjust DEBUG_UART_PHYS and DEBUG_UART_BASE configuration
464 options based on your needs.
466 config DEBUG_MVEBU_UART0
467 bool "Kernel low-level debugging messages via MVEBU UART0 (old bootloaders)"
468 depends on ARCH_MVEBU
469 select DEBUG_UART_8250
471 Say Y here if you want kernel low-level debugging support
472 on MVEBU based platforms on UART0.
474 This option should be used with the old bootloaders
475 that left the internal registers mapped at
476 0xd0000000. As of today, this is the case on
477 platforms such as the Globalscale Mirabox or the
478 Plathome OpenBlocks AX3, when using the original
481 If the wrong DEBUG_MVEBU_UART* option is selected,
482 when u-boot hands over to the kernel, the system
483 silently crashes, with no serial output at all.
485 config DEBUG_MVEBU_UART0_ALTERNATE
486 bool "Kernel low-level debugging messages via MVEBU UART0 (new bootloaders)"
487 depends on ARCH_MVEBU
488 select DEBUG_UART_8250
490 Say Y here if you want kernel low-level debugging support
491 on MVEBU based platforms on UART0.
493 This option should be used with the new bootloaders
494 that remap the internal registers at 0xf1000000.
496 If the wrong DEBUG_MVEBU_UART* option is selected,
497 when u-boot hands over to the kernel, the system
498 silently crashes, with no serial output at all.
500 config DEBUG_MVEBU_UART1_ALTERNATE
501 bool "Kernel low-level debugging messages via MVEBU UART1 (new bootloaders)"
502 depends on ARCH_MVEBU
503 select DEBUG_UART_8250
505 Say Y here if you want kernel low-level debugging support
506 on MVEBU based platforms on UART1.
508 This option should be used with the new bootloaders
509 that remap the internal registers at 0xf1000000.
511 If the wrong DEBUG_MVEBU_UART* option is selected,
512 when u-boot hands over to the kernel, the system
513 silently crashes, with no serial output at all.
519 Say Y here if you want kernel low-level debugging support
520 on Vybrid based platforms.
522 config DEBUG_NOMADIK_UART
523 bool "Kernel low-level debugging messages via NOMADIK UART"
524 depends on ARCH_NOMADIK
525 select DEBUG_UART_PL01X
527 Say Y here if you want kernel low-level debugging support
528 on NOMADIK based platforms.
530 config DEBUG_NSPIRE_CLASSIC_UART
531 bool "Kernel low-level debugging via TI-NSPIRE 8250 UART"
532 depends on ARCH_NSPIRE
533 select DEBUG_UART_8250
535 Say Y here if you want kernel low-level debugging support
536 on TI-NSPIRE classic models.
538 config DEBUG_NSPIRE_CX_UART
539 bool "Kernel low-level debugging via TI-NSPIRE PL011 UART"
540 depends on ARCH_NSPIRE
541 select DEBUG_UART_PL01X
543 Say Y here if you want kernel low-level debugging support
544 on TI-NSPIRE CX models.
546 config DEBUG_OMAP2UART1
547 bool "OMAP2/3/4 UART1 (omap2/3 sdp boards and some omap3 boards)"
548 depends on ARCH_OMAP2PLUS
549 select DEBUG_OMAP2PLUS_UART
551 This covers at least h4, 2430sdp, 3430sdp, 3630sdp,
552 omap3 torpedo and 3530 lv som.
554 config DEBUG_OMAP2UART2
555 bool "Kernel low-level debugging messages via OMAP2/3/4 UART2"
556 depends on ARCH_OMAP2PLUS
557 select DEBUG_OMAP2PLUS_UART
559 config DEBUG_OMAP2UART3
560 bool "Kernel low-level debugging messages via OMAP2 UART3 (n8x0)"
561 depends on ARCH_OMAP2PLUS
562 select DEBUG_OMAP2PLUS_UART
564 config DEBUG_OMAP3UART3
565 bool "Kernel low-level debugging messages via OMAP3 UART3 (most omap3 boards)"
566 depends on ARCH_OMAP2PLUS
567 select DEBUG_OMAP2PLUS_UART
569 This covers at least cm_t3x, beagle, crane, devkit8000,
570 igep00x0, ldp, n900, n9(50), pandora, overo, touchbook,
573 config DEBUG_OMAP4UART3
574 bool "Kernel low-level debugging messages via OMAP4/5 UART3 (omap4 blaze, panda, omap5 sevm)"
575 depends on ARCH_OMAP2PLUS
576 select DEBUG_OMAP2PLUS_UART
578 config DEBUG_OMAP3UART4
579 bool "Kernel low-level debugging messages via OMAP36XX UART4"
580 depends on ARCH_OMAP2PLUS
581 select DEBUG_OMAP2PLUS_UART
583 config DEBUG_OMAP4UART4
584 bool "Kernel low-level debugging messages via OMAP4/5 UART4"
585 depends on ARCH_OMAP2PLUS
586 select DEBUG_OMAP2PLUS_UART
588 config DEBUG_TI81XXUART1
589 bool "Kernel low-level debugging messages via TI81XX UART1 (ti8148evm)"
590 depends on ARCH_OMAP2PLUS
591 select DEBUG_OMAP2PLUS_UART
593 config DEBUG_TI81XXUART2
594 bool "Kernel low-level debugging messages via TI81XX UART2"
595 depends on ARCH_OMAP2PLUS
596 select DEBUG_OMAP2PLUS_UART
598 config DEBUG_TI81XXUART3
599 bool "Kernel low-level debugging messages via TI81XX UART3 (ti8168evm)"
600 depends on ARCH_OMAP2PLUS
601 select DEBUG_OMAP2PLUS_UART
603 config DEBUG_AM33XXUART1
604 bool "Kernel low-level debugging messages via AM33XX UART1"
605 depends on ARCH_OMAP2PLUS
606 select DEBUG_OMAP2PLUS_UART
608 config DEBUG_ZOOM_UART
609 bool "Kernel low-level debugging messages via Zoom2/3 UART"
610 depends on ARCH_OMAP2PLUS
611 select DEBUG_OMAP2PLUS_UART
613 config DEBUG_PICOXCELL_UART
614 depends on ARCH_PICOXCELL
615 bool "Use PicoXcell UART for low-level debug"
616 select DEBUG_UART_8250
618 Say Y here if you want kernel low-level debugging support
619 on PicoXcell based platforms.
621 config DEBUG_PXA_UART1
623 bool "Use PXA UART1 for low-level debug"
624 select DEBUG_UART_8250
626 Say Y here if you want kernel low-level debugging support
629 config DEBUG_REALVIEW_STD_PORT
630 bool "RealView Default UART"
631 depends on ARCH_REALVIEW
632 select DEBUG_UART_PL01X
634 Say Y here if you want the debug print routines to direct
635 their output to the serial port on RealView EB, PB11MP, PBA8
638 config DEBUG_REALVIEW_PB1176_PORT
639 bool "RealView PB1176 UART"
640 depends on MACH_REALVIEW_PB1176
641 select DEBUG_UART_PL01X
643 Say Y here if you want the debug print routines to direct
644 their output to the standard serial port on the RealView
647 config DEBUG_RK29_UART0
648 bool "Kernel low-level debugging messages via Rockchip RK29 UART0"
649 depends on ARCH_ROCKCHIP
650 select DEBUG_UART_8250
652 Say Y here if you want kernel low-level debugging support
653 on Rockchip based platforms.
655 config DEBUG_RK29_UART1
656 bool "Kernel low-level debugging messages via Rockchip RK29 UART1"
657 depends on ARCH_ROCKCHIP
658 select DEBUG_UART_8250
660 Say Y here if you want kernel low-level debugging support
661 on Rockchip based platforms.
663 config DEBUG_RK29_UART2
664 bool "Kernel low-level debugging messages via Rockchip RK29 UART2"
665 depends on ARCH_ROCKCHIP
666 select DEBUG_UART_8250
668 Say Y here if you want kernel low-level debugging support
669 on Rockchip based platforms.
671 config DEBUG_RK3X_UART0
672 bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART0"
673 depends on ARCH_ROCKCHIP
674 select DEBUG_UART_8250
676 Say Y here if you want kernel low-level debugging support
677 on Rockchip based platforms.
679 config DEBUG_RK3X_UART1
680 bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART1"
681 depends on ARCH_ROCKCHIP
682 select DEBUG_UART_8250
684 Say Y here if you want kernel low-level debugging support
685 on Rockchip based platforms.
687 config DEBUG_RK3X_UART2
688 bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART2"
689 depends on ARCH_ROCKCHIP
690 select DEBUG_UART_8250
692 Say Y here if you want kernel low-level debugging support
693 on Rockchip based platforms.
695 config DEBUG_RK3X_UART3
696 bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART3"
697 depends on ARCH_ROCKCHIP
698 select DEBUG_UART_8250
700 Say Y here if you want kernel low-level debugging support
701 on Rockchip based platforms.
703 config DEBUG_RK32_UART2
704 bool "Kernel low-level debugging messages via Rockchip RK32 UART2"
705 depends on ARCH_ROCKCHIP
706 select DEBUG_UART_8250
708 Say Y here if you want kernel low-level debugging support
709 on Rockchip RK32xx based platforms.
711 config DEBUG_R7S72100_SCIF2
712 bool "Kernel low-level debugging messages via SCIF2 on R7S72100"
713 depends on ARCH_R7S72100
715 Say Y here if you want kernel low-level debugging support
716 via SCIF2 on Renesas RZ/A1H (R7S72100).
718 config DEBUG_RCAR_GEN1_SCIF0
719 bool "Kernel low-level debugging messages via SCIF0 on R8A7778"
720 depends on ARCH_R8A7778
722 Say Y here if you want kernel low-level debugging support
723 via SCIF0 on Renesas R-Car M1A (R8A7778).
725 config DEBUG_RCAR_GEN1_SCIF2
726 bool "Kernel low-level debugging messages via SCIF2 on R8A7779"
727 depends on ARCH_R8A7779
729 Say Y here if you want kernel low-level debugging support
730 via SCIF2 on Renesas R-Car H1 (R8A7779).
732 config DEBUG_RCAR_GEN2_SCIF0
733 bool "Kernel low-level debugging messages via SCIF0 on R8A7790/R8A7791/R8A7793)"
734 depends on ARCH_R8A7790 || ARCH_R8A7791 || ARCH_R8A7793
736 Say Y here if you want kernel low-level debugging support
737 via SCIF0 on Renesas R-Car H2 (R8A7790), M2-W (R8A7791), or
740 config DEBUG_RCAR_GEN2_SCIF2
741 bool "Kernel low-level debugging messages via SCIF2 on R8A7794"
742 depends on ARCH_R8A7794
744 Say Y here if you want kernel low-level debugging support
745 via SCIF2 on Renesas R-Car E2 (R8A7794).
747 config DEBUG_RMOBILE_SCIFA0
748 bool "Kernel low-level debugging messages via SCIFA0 on R8A73A4/SH7372"
749 depends on ARCH_R8A73A4 || ARCH_SH7372
751 Say Y here if you want kernel low-level debugging support
752 via SCIFA0 on Renesas R-Mobile APE6 (R8A73A4) or SH-Mobile
755 config DEBUG_RMOBILE_SCIFA1
756 bool "Kernel low-level debugging messages via SCIFA1 on R8A7740"
757 depends on ARCH_R8A7740
759 Say Y here if you want kernel low-level debugging support
760 via SCIFA1 on Renesas R-Mobile A1 (R8A7740).
762 config DEBUG_RMOBILE_SCIFA4
763 bool "Kernel low-level debugging messages via SCIFA4 on SH73A0"
764 depends on ARCH_SH73A0
766 Say Y here if you want kernel low-level debugging support
767 via SCIFA4 on Renesas SH-Mobile AG5 (SH73A0).
769 config DEBUG_S3C_UART0
770 depends on PLAT_SAMSUNG
771 select DEBUG_EXYNOS_UART if ARCH_EXYNOS
772 select DEBUG_S3C24XX_UART if ARCH_S3C24XX
773 select DEBUG_S5PV210_UART if ARCH_S5PV210
774 bool "Use Samsung S3C UART 0 for low-level debug"
776 Say Y here if you want the debug print routines to direct
777 their output to UART 0. The port must have been initialised
778 by the boot-loader before use.
780 config DEBUG_S3C_UART1
781 depends on PLAT_SAMSUNG
782 select DEBUG_EXYNOS_UART if ARCH_EXYNOS
783 select DEBUG_S3C24XX_UART if ARCH_S3C24XX
784 select DEBUG_S5PV210_UART if ARCH_S5PV210
785 bool "Use Samsung S3C UART 1 for low-level debug"
787 Say Y here if you want the debug print routines to direct
788 their output to UART 1. The port must have been initialised
789 by the boot-loader before use.
791 config DEBUG_S3C_UART2
792 depends on PLAT_SAMSUNG
793 select DEBUG_EXYNOS_UART if ARCH_EXYNOS
794 select DEBUG_S3C24XX_UART if ARCH_S3C24XX
795 select DEBUG_S5PV210_UART if ARCH_S5PV210
796 bool "Use Samsung S3C UART 2 for low-level debug"
798 Say Y here if you want the debug print routines to direct
799 their output to UART 2. The port must have been initialised
800 by the boot-loader before use.
802 config DEBUG_S3C_UART3
803 depends on PLAT_SAMSUNG && (ARCH_EXYNOS || ARCH_S5PV210)
804 select DEBUG_EXYNOS_UART if ARCH_EXYNOS
805 select DEBUG_S5PV210_UART if ARCH_S5PV210
806 bool "Use Samsung S3C UART 3 for low-level debug"
808 Say Y here if you want the debug print routines to direct
809 their output to UART 3. The port must have been initialised
810 by the boot-loader before use.
812 config DEBUG_S3C2410_UART0
813 depends on ARCH_S3C24XX
814 select DEBUG_S3C2410_UART
815 bool "Use S3C2410/S3C2412 UART 0 for low-level debug"
817 Say Y here if you want the debug print routines to direct
818 their output to UART 0. The port must have been initialised
819 by the boot-loader before use.
821 config DEBUG_S3C2410_UART1
822 depends on ARCH_S3C24XX
823 select DEBUG_S3C2410_UART
824 bool "Use S3C2410/S3C2412 UART 1 for low-level debug"
826 Say Y here if you want the debug print routines to direct
827 their output to UART 1. The port must have been initialised
828 by the boot-loader before use.
830 config DEBUG_S3C2410_UART2
831 depends on ARCH_S3C24XX
832 select DEBUG_S3C2410_UART
833 bool "Use S3C2410/S3C2412 UART 2 for low-level debug"
835 Say Y here if you want the debug print routines to direct
836 their output to UART 2. The port must have been initialised
837 by the boot-loader before use.
840 depends on ARCH_SA1100
841 bool "Use SA1100 UARTs for low-level debug"
843 Say Y here if you want kernel low-level debugging support
844 on SA-11x0 UART ports. The kernel will check for the first
845 enabled UART in a sequence 3-1-2.
847 config DEBUG_SOCFPGA_UART
848 depends on ARCH_SOCFPGA
849 bool "Use SOCFPGA UART for low-level debug"
850 select DEBUG_UART_8250
852 Say Y here if you want kernel low-level debugging support
853 on SOCFPGA based platforms.
855 config DEBUG_SUN9I_UART0
856 bool "Kernel low-level debugging messages via sun9i UART0"
857 depends on MACH_SUN9I
858 select DEBUG_UART_8250
860 Say Y here if you want kernel low-level debugging support
861 on Allwinner A80 based platforms on the UART0.
863 config DEBUG_SUNXI_UART0
864 bool "Kernel low-level debugging messages via sunXi UART0"
865 depends on ARCH_SUNXI
866 select DEBUG_UART_8250
868 Say Y here if you want kernel low-level debugging support
869 on Allwinner A1X based platforms on the UART0.
871 config DEBUG_SUNXI_UART1
872 bool "Kernel low-level debugging messages via sunXi UART1"
873 depends on ARCH_SUNXI
874 select DEBUG_UART_8250
876 Say Y here if you want kernel low-level debugging support
877 on Allwinner A1X based platforms on the UART1.
879 config DEBUG_SUNXI_R_UART
880 bool "Kernel low-level debugging messages via sunXi R_UART"
881 depends on MACH_SUN6I || MACH_SUN8I
882 select DEBUG_UART_8250
884 Say Y here if you want kernel low-level debugging support
885 on Allwinner A31/A23 based platforms on the R_UART.
887 config TEGRA_DEBUG_UART_AUTO_ODMDATA
888 bool "Kernel low-level debugging messages via Tegra UART via ODMDATA"
889 depends on ARCH_TEGRA
890 select DEBUG_TEGRA_UART
892 Automatically determines which UART to use for low-level
893 debug based on the ODMDATA value. This value is part of
894 the BCT, and is written to the boot memory device using
895 nvflash, or other flashing tool. When bits 19:18 are 3,
896 then bits 17:15 indicate which UART to use; 0/1/2/3/4
899 config TEGRA_DEBUG_UARTA
900 bool "Kernel low-level debugging messages via Tegra UART A"
901 depends on ARCH_TEGRA
902 select DEBUG_TEGRA_UART
904 Say Y here if you want kernel low-level debugging support
905 on Tegra based platforms.
907 config TEGRA_DEBUG_UARTB
908 bool "Kernel low-level debugging messages via Tegra UART B"
909 depends on ARCH_TEGRA
910 select DEBUG_TEGRA_UART
912 Say Y here if you want kernel low-level debugging support
913 on Tegra based platforms.
915 config TEGRA_DEBUG_UARTC
916 bool "Kernel low-level debugging messages via Tegra UART C"
917 depends on ARCH_TEGRA
918 select DEBUG_TEGRA_UART
920 Say Y here if you want kernel low-level debugging support
921 on Tegra based platforms.
923 config TEGRA_DEBUG_UARTD
924 bool "Kernel low-level debugging messages via Tegra UART D"
925 depends on ARCH_TEGRA
926 select DEBUG_TEGRA_UART
928 Say Y here if you want kernel low-level debugging support
929 on Tegra based platforms.
931 config TEGRA_DEBUG_UARTE
932 bool "Kernel low-level debugging messages via Tegra UART E"
933 depends on ARCH_TEGRA
934 select DEBUG_TEGRA_UART
936 Say Y here if you want kernel low-level debugging support
937 on Tegra based platforms.
939 config DEBUG_SIRFPRIMA2_UART1
940 bool "Kernel low-level debugging messages via SiRFprimaII UART1"
941 depends on ARCH_PRIMA2
942 select DEBUG_SIRFSOC_UART
944 Say Y here if you want the debug print routines to direct
945 their output to the uart1 port on SiRFprimaII devices.
947 config DEBUG_SIRFATLAS7_UART0
948 bool "Kernel low-level debugging messages via SiRFatlas7 UART0"
949 depends on ARCH_ATLAS7
950 select DEBUG_SIRFSOC_UART
952 Say Y here if you want the debug print routines to direct
953 their output to the uart0 port on SiRFATLAS7 devices.The uart0
954 is used on SiRFATLAS7 as a extra debug port.sometimes an extra
955 debug port can be very useful.
957 config DEBUG_SIRFATLAS7_UART1
958 bool "Kernel low-level debugging messages via SiRFatlas7 UART1"
959 depends on ARCH_ATLAS7
960 select DEBUG_SIRFSOC_UART
962 Say Y here if you want the debug print routines to direct
963 their output to the uart1 port on SiRFATLAS7 devices.
965 config STIH41X_DEBUG_ASC2
966 bool "Use StiH415/416 ASC2 UART for low-level debug"
968 select DEBUG_STI_UART
970 Say Y here if you want kernel low-level debugging support
971 on STiH415/416 based platforms like b2000, which has
972 default UART wired up to ASC2.
976 config STIH41X_DEBUG_SBC_ASC1
977 bool "Use StiH415/416 SBC ASC1 UART for low-level debug"
979 select DEBUG_STI_UART
981 Say Y here if you want kernel low-level debugging support
982 on STiH415/416 based platforms like b2020. which has
983 default UART wired up to SBC ASC1.
987 config DEBUG_U300_UART
988 bool "Kernel low-level debugging messages via U300 UART0"
990 select DEBUG_UART_PL01X
992 Say Y here if you want the debug print routines to direct
993 their output to the uart port on U300 devices.
995 config DEBUG_UX500_UART
996 depends on ARCH_U8500
997 bool "Use Ux500 UART for low-level debug"
999 Say Y here if you want kernel low-level debugging support
1000 on Ux500 based platforms.
1002 config DEBUG_MT6589_UART0
1003 bool "Mediatek mt6589 UART0"
1004 depends on ARCH_MEDIATEK
1005 select DEBUG_UART_8250
1007 Say Y here if you want kernel low-level debugging support
1008 for Mediatek mt6589 based platforms on UART0.
1010 config DEBUG_MT8127_UART0
1011 bool "Mediatek mt8127 UART0"
1012 depends on ARCH_MEDIATEK
1013 select DEBUG_UART_8250
1015 Say Y here if you want kernel low-level debugging support
1016 for Mediatek mt8127 based platforms on UART0.
1018 config DEBUG_MT8135_UART3
1019 bool "Mediatek mt8135 UART3"
1020 depends on ARCH_MEDIATEK
1021 select DEBUG_UART_8250
1023 Say Y here if you want kernel low-level debugging support
1024 for Mediatek mt8135 based platforms on UART3.
1026 config DEBUG_VEXPRESS_UART0_DETECT
1027 bool "Autodetect UART0 on Versatile Express Cortex-A core tiles"
1028 depends on ARCH_VEXPRESS && CPU_CP15_MMU
1030 This option enables a simple heuristic which tries to determine
1031 the motherboard's memory map variant (original or RS1) and then
1032 choose the relevant UART0 base address.
1034 Note that this will only work with standard A-class core tiles,
1035 and may fail with non-standard SMM or custom software models.
1037 config DEBUG_VEXPRESS_UART0_CA9
1038 bool "Use PL011 UART0 at 0x10009000 (V2P-CA9 core tile)"
1039 depends on ARCH_VEXPRESS
1040 select DEBUG_UART_PL01X
1042 This option selects UART0 at 0x10009000. Except for custom models,
1043 this applies only to the V2P-CA9 tile.
1045 config DEBUG_VEXPRESS_UART0_RS1
1046 bool "Use PL011 UART0 at 0x1c090000 (RS1 complaint tiles)"
1047 depends on ARCH_VEXPRESS
1048 select DEBUG_UART_PL01X
1050 This option selects UART0 at 0x1c090000. This applies to most
1051 of the tiles using the RS1 memory map, including all new A-class
1052 core tiles, FPGA-based SMMs and software models.
1054 config DEBUG_VEXPRESS_UART0_CRX
1055 bool "Use PL011 UART0 at 0xb0090000 (Cortex-R compliant tiles)"
1056 depends on ARCH_VEXPRESS && !MMU
1057 select DEBUG_UART_PL01X
1059 This option selects UART0 at 0xb0090000. This is appropriate for
1060 Cortex-R series tiles and SMMs, such as Cortex-R5 and Cortex-R7
1062 config DEBUG_VT8500_UART0
1063 bool "Use UART0 on VIA/Wondermedia SoCs"
1064 depends on ARCH_VT8500
1066 This option selects UART0 on VIA/Wondermedia System-on-a-chip
1067 devices, including VT8500, WM8505, WM8650 and WM8850.
1069 config DEBUG_LL_UART_NONE
1070 bool "No low-level debugging UART"
1071 depends on !ARCH_MULTIPLATFORM
1073 Say Y here if your platform doesn't provide a UART option
1074 above. This relies on your platform choosing the right UART
1075 definition internally in order for low-level debugging to
1079 bool "Kernel low-level debugging via EmbeddedICE DCC channel"
1081 Say Y here if you want the debug print routines to direct
1082 their output to the EmbeddedICE macrocell's DCC channel using
1083 co-processor 14. This is known to work on the ARM9 style ICE
1084 channel and on the XScale with the PEEDI.
1086 Note that the system will appear to hang during boot if there
1087 is nothing connected to read from the DCC.
1089 config DEBUG_SEMIHOSTING
1090 bool "Kernel low-level debug output via semihosting I/O"
1092 Semihosting enables code running on an ARM target to use
1093 the I/O facilities on a host debugger/emulator through a
1094 simple SVC call. The host debugger or emulator must have
1095 semihosting enabled for the special svc call to be trapped
1096 otherwise the kernel will crash.
1098 This is known to work with OpenOCD, as well as
1099 ARM's Fast Models, or any other controlling environment
1100 that implements semihosting.
1102 For more details about semihosting, please see
1103 chapter 8 of DUI0203I_rvct_developer_guide.pdf from ARM Ltd.
1105 config DEBUG_LL_UART_8250
1106 bool "Kernel low-level debugging via 8250 UART"
1108 Say Y here if you wish the debug print routes to direct
1109 their output to an 8250 UART. You can use this option
1110 to provide the parameters for the 8250 UART rather than
1111 selecting one of the platform specific options above if
1112 you know the parameters for the port.
1114 This option is preferred over the platform specific
1115 options; the platform specific options are deprecated
1116 and will be soon removed.
1118 config DEBUG_LL_UART_EFM32
1119 bool "Kernel low-level debugging via efm32 UART"
1120 depends on ARCH_EFM32
1122 Say Y here if you want the debug print routines to direct
1123 their output to an UART or USART port on efm32 based
1124 machines. Use the following addresses for DEBUG_UART_PHYS:
1132 config DEBUG_LL_UART_PL01X
1133 bool "Kernel low-level debugging via ARM Ltd PL01x Primecell UART"
1135 Say Y here if you wish the debug print routes to direct
1136 their output to a PL01x Primecell UART. You can use
1137 this option to provide the parameters for the UART
1138 rather than selecting one of the platform specific
1139 options above if you know the parameters for the port.
1141 This option is preferred over the platform specific
1142 options; the platform specific options are deprecated
1143 and will be soon removed.
1147 config DEBUG_EXYNOS_UART
1150 config DEBUG_S3C2410_UART
1152 select DEBUG_S3C24XX_UART
1154 config DEBUG_S3C24XX_UART
1157 config DEBUG_S5PV210_UART
1160 config DEBUG_OMAP2PLUS_UART
1162 depends on ARCH_OMAP2PLUS
1164 config DEBUG_IMX_UART_PORT
1165 int "i.MX Debug UART Port Selection" if DEBUG_IMX1_UART || \
1166 DEBUG_IMX25_UART || \
1167 DEBUG_IMX21_IMX27_UART || \
1168 DEBUG_IMX31_UART || \
1169 DEBUG_IMX35_UART || \
1170 DEBUG_IMX50_UART || \
1171 DEBUG_IMX51_UART || \
1172 DEBUG_IMX53_UART || \
1173 DEBUG_IMX6Q_UART || \
1174 DEBUG_IMX6SL_UART || \
1179 Choose UART port on which kernel low-level debug messages
1182 config DEBUG_VF_UART_PORT
1183 int "Vybrid Debug UART Port Selection" if DEBUG_VF_UART
1186 depends on SOC_VF610
1188 Choose UART port on which kernel low-level debug messages
1191 config DEBUG_TEGRA_UART
1193 depends on ARCH_TEGRA
1195 config DEBUG_STI_UART
1199 config DEBUG_SIRFSOC_UART
1201 depends on ARCH_SIRF
1203 config DEBUG_LL_INCLUDE
1205 default "debug/sa1100.S" if DEBUG_SA1100
1206 default "debug/8250.S" if DEBUG_LL_UART_8250 || DEBUG_UART_8250
1207 default "debug/asm9260.S" if DEBUG_ASM9260_UART
1208 default "debug/clps711x.S" if DEBUG_CLPS711X_UART1 || DEBUG_CLPS711X_UART2
1209 default "debug/meson.S" if DEBUG_MESON_UARTAO
1210 default "debug/pl01x.S" if DEBUG_LL_UART_PL01X || DEBUG_UART_PL01X
1211 default "debug/exynos.S" if DEBUG_EXYNOS_UART
1212 default "debug/efm32.S" if DEBUG_LL_UART_EFM32
1213 default "debug/icedcc.S" if DEBUG_ICEDCC
1214 default "debug/imx.S" if DEBUG_IMX1_UART || \
1215 DEBUG_IMX25_UART || \
1216 DEBUG_IMX21_IMX27_UART || \
1217 DEBUG_IMX31_UART || \
1218 DEBUG_IMX35_UART || \
1219 DEBUG_IMX50_UART || \
1220 DEBUG_IMX51_UART || \
1221 DEBUG_IMX53_UART ||\
1222 DEBUG_IMX6Q_UART || \
1223 DEBUG_IMX6SL_UART || \
1225 default "debug/msm.S" if DEBUG_MSM_UART || DEBUG_QCOM_UARTDM
1226 default "debug/omap2plus.S" if DEBUG_OMAP2PLUS_UART
1227 default "debug/renesas-scif.S" if DEBUG_R7S72100_SCIF2
1228 default "debug/renesas-scif.S" if DEBUG_RCAR_GEN1_SCIF0
1229 default "debug/renesas-scif.S" if DEBUG_RCAR_GEN1_SCIF2
1230 default "debug/renesas-scif.S" if DEBUG_RCAR_GEN2_SCIF0
1231 default "debug/renesas-scif.S" if DEBUG_RCAR_GEN2_SCIF2
1232 default "debug/renesas-scif.S" if DEBUG_RMOBILE_SCIFA0
1233 default "debug/renesas-scif.S" if DEBUG_RMOBILE_SCIFA1
1234 default "debug/renesas-scif.S" if DEBUG_RMOBILE_SCIFA4
1235 default "debug/s3c24xx.S" if DEBUG_S3C24XX_UART
1236 default "debug/s5pv210.S" if DEBUG_S5PV210_UART
1237 default "debug/sirf.S" if DEBUG_SIRFSOC_UART
1238 default "debug/sti.S" if DEBUG_STI_UART
1239 default "debug/tegra.S" if DEBUG_TEGRA_UART
1240 default "debug/ux500.S" if DEBUG_UX500_UART
1241 default "debug/vexpress.S" if DEBUG_VEXPRESS_UART0_DETECT
1242 default "debug/vf.S" if DEBUG_VF_UART
1243 default "debug/vt8500.S" if DEBUG_VT8500_UART0
1244 default "debug/zynq.S" if DEBUG_ZYNQ_UART0 || DEBUG_ZYNQ_UART1
1245 default "debug/bcm63xx.S" if DEBUG_UART_BCM63XX
1246 default "mach/debug-macro.S"
1248 # Compatibility options for PL01x
1249 config DEBUG_UART_PL01X
1250 def_bool ARCH_EP93XX || \
1251 ARCH_INTEGRATOR || \
1257 # Compatibility options for 8250
1258 config DEBUG_UART_8250
1259 def_bool ARCH_DOVE || ARCH_EBSA110 || \
1260 (FOOTBRIDGE && !DEBUG_DC21285_PORT) || \
1261 ARCH_GEMINI || ARCH_IOP13XX || ARCH_IOP32X || \
1262 ARCH_IOP33X || ARCH_IXP4XX || \
1263 ARCH_LPC32XX || ARCH_MV78XX0 || ARCH_ORION5X || ARCH_RPC
1265 # Compatibility options for BCM63xx
1266 config DEBUG_UART_BCM63XX
1267 def_bool ARCH_BCM_63XX
1269 config DEBUG_UART_PHYS
1270 hex "Physical base address of debug UART"
1271 default 0x01c20000 if DEBUG_DAVINCI_DMx_UART0
1272 default 0x01c28000 if DEBUG_SUNXI_UART0
1273 default 0x01c28400 if DEBUG_SUNXI_UART1
1274 default 0x01d0c000 if DEBUG_DAVINCI_DA8XX_UART1
1275 default 0x01d0d000 if DEBUG_DAVINCI_DA8XX_UART2
1276 default 0x01f02800 if DEBUG_SUNXI_R_UART
1277 default 0x02530c00 if DEBUG_KEYSTONE_UART0
1278 default 0x02531000 if DEBUG_KEYSTONE_UART1
1279 default 0x03010fe0 if ARCH_RPC
1280 default 0x07000000 if DEBUG_SUN9I_UART0
1281 default 0x10009000 if DEBUG_REALVIEW_STD_PORT || \
1282 DEBUG_VEXPRESS_UART0_CA9
1283 default 0x1010c000 if DEBUG_REALVIEW_PB1176_PORT
1284 default 0x10124000 if DEBUG_RK3X_UART0
1285 default 0x10126000 if DEBUG_RK3X_UART1
1286 default 0x101f1000 if ARCH_VERSATILE
1287 default 0x101fb000 if DEBUG_NOMADIK_UART
1288 default 0x11002000 if DEBUG_MT8127_UART0
1289 default 0x11006000 if DEBUG_MT6589_UART0
1290 default 0x11009000 if DEBUG_MT8135_UART3
1291 default 0x16000000 if ARCH_INTEGRATOR
1292 default 0x18000300 if DEBUG_BCM_5301X
1293 default 0x18010000 if DEBUG_SIRFATLAS7_UART0
1294 default 0x18020000 if DEBUG_SIRFATLAS7_UART1
1295 default 0x1c090000 if DEBUG_VEXPRESS_UART0_RS1
1296 default 0x20001000 if DEBUG_HIP01_UART
1297 default 0x20060000 if DEBUG_RK29_UART0
1298 default 0x20064000 if DEBUG_RK29_UART1 || DEBUG_RK3X_UART2
1299 default 0x20068000 if DEBUG_RK29_UART2 || DEBUG_RK3X_UART3
1300 default 0x20201000 if DEBUG_BCM2835
1301 default 0x3e000000 if DEBUG_BCM_KONA_UART
1302 default 0x4000e400 if DEBUG_LL_UART_EFM32
1303 default 0x40090000 if ARCH_LPC32XX
1304 default 0x40100000 if DEBUG_PXA_UART1
1305 default 0x42000000 if ARCH_GEMINI
1306 default 0x50000000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART0 || \
1307 DEBUG_S3C2410_UART0)
1308 default 0x50004000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART1 || \
1309 DEBUG_S3C2410_UART1)
1310 default 0x50008000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART2 || \
1311 DEBUG_S3C2410_UART2)
1312 default 0x78000000 if DEBUG_CNS3XXX
1313 default 0x7c0003f8 if FOOTBRIDGE
1314 default 0x78000000 if DEBUG_CNS3XXX
1315 default 0x80010000 if DEBUG_ASM9260_UART
1316 default 0x80070000 if DEBUG_IMX23_UART
1317 default 0x80074000 if DEBUG_IMX28_UART
1318 default 0x80230000 if DEBUG_PICOXCELL_UART
1319 default 0x808c0000 if ARCH_EP93XX
1320 default 0x90020000 if DEBUG_NSPIRE_CLASSIC_UART || DEBUG_NSPIRE_CX_UART
1321 default 0xa9a00000 if DEBUG_MSM_UART
1322 default 0xb0060000 if DEBUG_SIRFPRIMA2_UART1
1323 default 0xb0090000 if DEBUG_VEXPRESS_UART0_CRX
1324 default 0xc0013000 if DEBUG_U300_UART
1325 default 0xc8000000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN
1326 default 0xc8000003 if ARCH_IXP4XX && CPU_BIG_ENDIAN
1327 default 0xd0000000 if ARCH_SPEAR3XX || ARCH_SPEAR6XX
1328 default 0xd0012000 if DEBUG_MVEBU_UART0
1329 default 0xc81004c0 if DEBUG_MESON_UARTAO
1330 default 0xd4017000 if DEBUG_MMP_UART2
1331 default 0xd4018000 if DEBUG_MMP_UART3
1332 default 0xe0000000 if ARCH_SPEAR13XX
1333 default 0xe4007000 if DEBUG_HIP04_UART
1334 default 0xe6c40000 if DEBUG_RMOBILE_SCIFA0
1335 default 0xe6c50000 if DEBUG_RMOBILE_SCIFA1
1336 default 0xe6c80000 if DEBUG_RMOBILE_SCIFA4
1337 default 0xe6e58000 if DEBUG_RCAR_GEN2_SCIF2
1338 default 0xe6e60000 if DEBUG_RCAR_GEN2_SCIF0
1339 default 0xe8008000 if DEBUG_R7S72100_SCIF2
1340 default 0xf0000be0 if ARCH_EBSA110
1341 default 0xf040ab00 if DEBUG_BRCMSTB_UART
1342 default 0xf1012000 if DEBUG_MVEBU_UART0_ALTERNATE
1343 default 0xf1012100 if DEBUG_MVEBU_UART1_ALTERNATE
1344 default 0xf1012000 if ARCH_DOVE || ARCH_MV78XX0 || \
1346 default 0xf7fc9000 if DEBUG_BERLIN_UART
1347 default 0xf8b00000 if DEBUG_HIX5HD2_UART
1348 default 0xf991e000 if DEBUG_QCOM_UARTDM
1349 default 0xfcb00000 if DEBUG_HI3620_UART
1350 default 0xfe800000 if ARCH_IOP32X
1351 default 0xff690000 if DEBUG_RK32_UART2
1352 default 0xffc02000 if DEBUG_SOCFPGA_UART
1353 default 0xffd82340 if ARCH_IOP13XX
1354 default 0xffe40000 if DEBUG_RCAR_GEN1_SCIF0
1355 default 0xffe42000 if DEBUG_RCAR_GEN1_SCIF2
1356 default 0xfff36000 if DEBUG_HIGHBANK_UART
1357 default 0xfffe8600 if DEBUG_UART_BCM63XX
1358 default 0xfffff700 if ARCH_IOP33X
1359 depends on DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \
1360 DEBUG_LL_UART_EFM32 || \
1361 DEBUG_UART_8250 || DEBUG_UART_PL01X || DEBUG_MESON_UARTAO || \
1362 DEBUG_MSM_UART || DEBUG_QCOM_UARTDM || DEBUG_R7S72100_SCIF2 || \
1363 DEBUG_RCAR_GEN1_SCIF0 || DEBUG_RCAR_GEN1_SCIF2 || \
1364 DEBUG_RCAR_GEN2_SCIF0 || DEBUG_RCAR_GEN2_SCIF2 || \
1365 DEBUG_RMOBILE_SCIFA0 || DEBUG_RMOBILE_SCIFA1 || \
1366 DEBUG_RMOBILE_SCIFA4 || DEBUG_S3C24XX_UART || \
1367 DEBUG_UART_BCM63XX || DEBUG_ASM9260_UART || \
1370 config DEBUG_UART_VIRT
1371 hex "Virtual base address of debug UART"
1372 default 0xe0010fe0 if ARCH_RPC
1373 default 0xe1000000 if DEBUG_MSM_UART
1374 default 0xf0000be0 if ARCH_EBSA110
1375 default 0xf0010000 if DEBUG_ASM9260_UART
1376 default 0xf01fb000 if DEBUG_NOMADIK_UART
1377 default 0xf0201000 if DEBUG_BCM2835
1378 default 0xf1000300 if DEBUG_BCM_5301X
1379 default 0xf1002000 if DEBUG_MT8127_UART0
1380 default 0xf1006000 if DEBUG_MT6589_UART0
1381 default 0xf1009000 if DEBUG_MT8135_UART3
1382 default 0xf11f1000 if ARCH_VERSATILE
1383 default 0xf1600000 if ARCH_INTEGRATOR
1384 default 0xf1c28000 if DEBUG_SUNXI_UART0
1385 default 0xf1c28400 if DEBUG_SUNXI_UART1
1386 default 0xf1f02800 if DEBUG_SUNXI_R_UART
1387 default 0xf6200000 if DEBUG_PXA_UART1
1388 default 0xf4090000 if ARCH_LPC32XX
1389 default 0xf4200000 if ARCH_GEMINI
1390 default 0xf7000000 if DEBUG_SUN9I_UART0
1391 default 0xf7000000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART0 || \
1392 DEBUG_S3C2410_UART0)
1393 default 0xf7004000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART1 || \
1394 DEBUG_S3C2410_UART1)
1395 default 0xf7008000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART2 || \
1396 DEBUG_S3C2410_UART2)
1397 default 0xf7fc9000 if DEBUG_BERLIN_UART
1398 default 0xf8007000 if DEBUG_HIP04_UART
1399 default 0xf8009000 if DEBUG_VEXPRESS_UART0_CA9
1400 default 0xf8090000 if DEBUG_VEXPRESS_UART0_RS1
1401 default 0xfa71e000 if DEBUG_QCOM_UARTDM
1402 default 0xfb002000 if DEBUG_CNS3XXX
1403 default 0xfb009000 if DEBUG_REALVIEW_STD_PORT
1404 default 0xfb10c000 if DEBUG_REALVIEW_PB1176_PORT
1405 default 0xfc40ab00 if DEBUG_BRCMSTB_UART
1406 default 0xfcfe8600 if DEBUG_UART_BCM63XX
1407 default 0xfd000000 if ARCH_SPEAR3XX || ARCH_SPEAR6XX
1408 default 0xfd000000 if ARCH_SPEAR13XX
1409 default 0xfd012000 if ARCH_MV78XX0
1410 default 0xfde12000 if ARCH_DOVE
1411 default 0xfe012000 if ARCH_ORION5X
1412 default 0xf31004c0 if DEBUG_MESON_UARTAO
1413 default 0xfe017000 if DEBUG_MMP_UART2
1414 default 0xfe018000 if DEBUG_MMP_UART3
1415 default 0xfe100000 if DEBUG_IMX23_UART || DEBUG_IMX28_UART
1416 default 0xfe230000 if DEBUG_PICOXCELL_UART
1417 default 0xfe300000 if DEBUG_BCM_KONA_UART
1418 default 0xfe800000 if ARCH_IOP32X
1419 default 0xfeb00000 if DEBUG_HI3620_UART || DEBUG_HIX5HD2_UART
1420 default 0xfeb24000 if DEBUG_RK3X_UART0
1421 default 0xfeb26000 if DEBUG_RK3X_UART1
1422 default 0xfeb30c00 if DEBUG_KEYSTONE_UART0
1423 default 0xfeb31000 if DEBUG_KEYSTONE_UART1
1424 default 0xfec02000 if DEBUG_SOCFPGA_UART
1425 default 0xfec12000 if DEBUG_MVEBU_UART0 || DEBUG_MVEBU_UART0_ALTERNATE
1426 default 0xfec12100 if DEBUG_MVEBU_UART1_ALTERNATE
1427 default 0xfec10000 if DEBUG_SIRFATLAS7_UART0
1428 default 0xfec20000 if DEBUG_DAVINCI_DMx_UART0
1429 default 0xfec20000 if DEBUG_SIRFATLAS7_UART1
1430 default 0xfec60000 if DEBUG_SIRFPRIMA2_UART1
1431 default 0xfec90000 if DEBUG_RK32_UART2
1432 default 0xfed0c000 if DEBUG_DAVINCI_DA8XX_UART1
1433 default 0xfed0d000 if DEBUG_DAVINCI_DA8XX_UART2
1434 default 0xfed60000 if DEBUG_RK29_UART0
1435 default 0xfed64000 if DEBUG_RK29_UART1 || DEBUG_RK3X_UART2
1436 default 0xfed68000 if DEBUG_RK29_UART2 || DEBUG_RK3X_UART3
1437 default 0xfedc0000 if ARCH_EP93XX
1438 default 0xfee003f8 if FOOTBRIDGE
1439 default 0xfee20000 if DEBUG_NSPIRE_CLASSIC_UART || DEBUG_NSPIRE_CX_UART
1440 default 0xfee82340 if ARCH_IOP13XX
1441 default 0xfef00000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN
1442 default 0xfef00003 if ARCH_IXP4XX && CPU_BIG_ENDIAN
1443 default 0xfef36000 if DEBUG_HIGHBANK_UART
1444 default 0xfefff700 if ARCH_IOP33X
1445 default 0xff003000 if DEBUG_U300_UART
1446 default 0xffd01000 if DEBUG_HIP01_UART
1447 default DEBUG_UART_PHYS if !MMU
1448 depends on DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \
1449 DEBUG_UART_8250 || DEBUG_UART_PL01X || DEBUG_MESON_UARTAO || \
1450 DEBUG_MSM_UART || DEBUG_QCOM_UARTDM || DEBUG_S3C24XX_UART || \
1451 DEBUG_UART_BCM63XX || DEBUG_ASM9260_UART || DEBUG_SIRFSOC_UART
1453 config DEBUG_UART_8250_SHIFT
1454 int "Register offset shift for the 8250 debug UART"
1455 depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
1456 default 0 if FOOTBRIDGE || ARCH_IOP32X || DEBUG_BCM_5301X
1459 config DEBUG_UART_8250_WORD
1460 bool "Use 32-bit accesses for 8250 UART"
1461 depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
1462 depends on DEBUG_UART_8250_SHIFT >= 2
1463 default y if DEBUG_PICOXCELL_UART || DEBUG_SOCFPGA_UART || \
1465 DEBUG_DAVINCI_DMx_UART0 || DEBUG_DAVINCI_DA8XX_UART1 || \
1466 DEBUG_DAVINCI_DA8XX_UART2 || \
1467 DEBUG_BCM_KONA_UART || DEBUG_RK32_UART2 || \
1470 config DEBUG_UART_8250_FLOW_CONTROL
1471 bool "Enable flow control for 8250 UART"
1472 depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
1473 default y if ARCH_EBSA110 || FOOTBRIDGE || ARCH_GEMINI || ARCH_RPC
1475 config DEBUG_UNCOMPRESS
1477 depends on ARCH_MULTIPLATFORM || ARCH_MSM || PLAT_SAMSUNG
1478 default y if DEBUG_LL && !DEBUG_OMAP2PLUS_UART && \
1479 (!DEBUG_TEGRA_UART || !ZBOOT_ROM)
1481 This option influences the normal decompressor output for
1482 multiplatform kernels. Normally, multiplatform kernels disable
1483 decompressor output because it is not possible to know where to
1484 send the decompressor output.
1486 When this option is set, the selected DEBUG_LL output method
1487 will be re-used for normal decompressor output on multiplatform
1491 config UNCOMPRESS_INCLUDE
1493 default "debug/uncompress.h" if ARCH_MULTIPLATFORM || ARCH_MSM || \
1494 PLAT_SAMSUNG || ARCH_EFM32
1495 default "mach/uncompress.h"
1501 Say Y here if you want to have an early console using the
1502 kernel low-level debugging functions. Add earlyprintk to your
1503 kernel parameters to enable this console.
1505 config ARM_KPROBES_TEST
1506 tristate "Kprobes test module"
1507 depends on KPROBES && MODULES
1509 Perform tests of kprobes API and instruction set simulation.
1511 config PID_IN_CONTEXTIDR
1512 bool "Write the current PID to the CONTEXTIDR register"
1513 depends on CPU_COPY_V6
1515 Enabling this option causes the kernel to write the current PID to
1516 the PROCID field of the CONTEXTIDR register, at the expense of some
1517 additional instructions during context switch. Say Y here only if you
1518 are planning to use hardware trace tools with this kernel.
1520 config DEBUG_SET_MODULE_RONX
1521 bool "Set loadable kernel module data as NX and text as RO"
1524 This option helps catch unintended modifications to loadable
1525 kernel module's text and read-only data. It also prevents execution
1526 of module data. Such protection may interfere with run-time code
1527 patching and dynamic kernel tracing - and they might also protect
1528 against certain classes of kernel exploits.
1529 If in doubt, say "N".
1531 menuconfig CORESIGHT
1532 bool "CoreSight Tracing Support"
1535 This framework provides a kernel interface for the CoreSight debug
1536 and trace drivers to register themselves with. It's intended to build
1537 a topological view of the CoreSight components based on a DT
1538 specification and configure the right serie of components when a
1539 trace source gets enabled.
1542 config CORESIGHT_LINKS_AND_SINKS
1543 bool "CoreSight Link and Sink drivers"
1545 This enables support for CoreSight link and sink drivers that are
1546 responsible for transporting and collecting the trace data
1547 respectively. Link and sinks are dynamically aggregated with a trace
1548 entity at run time to form a complete trace path.
1550 config CORESIGHT_LINK_AND_SINK_TMC
1551 bool "Coresight generic TMC driver"
1552 depends on CORESIGHT_LINKS_AND_SINKS
1554 This enables support for the Trace Memory Controller driver. Depending
1555 on its configuration the device can act as a link (embedded trace router
1556 - ETR) or sink (embedded trace FIFO). The driver complies with the
1557 generic implementation of the component without special enhancement or
1560 config CORESIGHT_SINK_TPIU
1561 bool "Coresight generic TPIU driver"
1562 depends on CORESIGHT_LINKS_AND_SINKS
1564 This enables support for the Trace Port Interface Unit driver, responsible
1565 for bridging the gap between the on-chip coresight components and a trace
1566 port collection engine, typically connected to an external host for use
1567 case capturing more traces than the on-board coresight memory can handle.
1569 config CORESIGHT_SINK_ETBV10
1570 bool "Coresight ETBv1.0 driver"
1571 depends on CORESIGHT_LINKS_AND_SINKS
1573 This enables support for the Embedded Trace Buffer version 1.0 driver
1574 that complies with the generic implementation of the component without
1575 special enhancement or added features.
1577 config CORESIGHT_SOURCE_ETM3X
1578 bool "CoreSight Embedded Trace Macrocell 3.x driver"
1579 select CORESIGHT_LINKS_AND_SINKS
1581 This driver provides support for processor ETM3.x and PTM1.x modules,
1582 which allows tracing the instructions that a processor is executing
1583 This is primarily useful for instruction level tracing. Depending
1584 the ETM version data tracing may also be available.