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, 9rl, 9x5, 9n12"
119 select DEBUG_AT91_UART
121 depends on SOC_AT91RM9200 || SOC_AT91SAM9
123 config AT91_DEBUG_LL_DBGU1
124 bool "Kernel low-level debugging on 9263, 9g45 and sama5d3"
125 select DEBUG_AT91_UART
127 depends on SOC_AT91SAM9 || SOC_SAMA5
129 config AT91_DEBUG_LL_DBGU2
130 bool "Kernel low-level debugging on sama5d4"
131 select DEBUG_AT91_UART
136 bool "Kernel low-level debugging on BCM2835 PL011 UART"
137 depends on ARCH_BCM2835
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_ZYNQ_UART0
227 bool "Kernel low-level debugging on Xilinx Zynq using UART0"
230 Say Y here if you want the debug print routines to direct
231 their output to UART0 on the Zynq platform.
233 config DEBUG_ZYNQ_UART1
234 bool "Kernel low-level debugging on Xilinx Zynq using UART1"
237 Say Y here if you want the debug print routines to direct
238 their output to UART1 on the Zynq platform.
240 If you have a ZC702 board and want early boot messages to
241 appear on the USB serial adaptor, select this option.
243 config DEBUG_DC21285_PORT
244 bool "Kernel low-level debugging messages via footbridge serial port"
245 depends on FOOTBRIDGE
247 Say Y here if you want the debug print routines to direct
248 their output to the serial port in the DC21285 (Footbridge).
250 config DEBUG_DIGICOLOR_UA0
251 bool "Kernel low-level debugging messages via Digicolor UA0"
252 depends on ARCH_DIGICOLOR
254 Say Y here if you want the debug print routines to direct
255 their output to the UA0 serial port in the CX92755.
257 config DEBUG_FOOTBRIDGE_COM1
258 bool "Kernel low-level debugging messages via footbridge 8250 at PCI COM1"
259 depends on FOOTBRIDGE
261 Say Y here if you want the debug print routines to direct
262 their output to the 8250 at PCI COM1.
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_KEYSTONE_UART0
406 bool "Kernel low-level debugging on KEYSTONE2 using UART0"
407 depends on ARCH_KEYSTONE
408 select DEBUG_UART_8250
410 Say Y here if you want the debug print routines to direct
411 their output to UART0 serial port on KEYSTONE2 devices.
413 config DEBUG_KEYSTONE_UART1
414 bool "Kernel low-level debugging on KEYSTONE2 using UART1"
415 depends on ARCH_KEYSTONE
416 select DEBUG_UART_8250
418 Say Y here if you want the debug print routines to direct
419 their output to UART1 serial port on KEYSTONE2 devices.
421 config DEBUG_MESON_UARTAO
422 bool "Kernel low-level debugging via Meson6 UARTAO"
423 depends on ARCH_MESON
425 Say Y here if you want kernel low-lever debugging support
426 on Amlogic Meson6 based platforms on the UARTAO.
428 config DEBUG_MMP_UART2
429 bool "Kernel low-level debugging message via MMP UART2"
431 select DEBUG_UART_8250
433 Say Y here if you want kernel low-level debugging support
436 config DEBUG_MMP_UART3
437 bool "Kernel low-level debugging message via MMP UART3"
439 select DEBUG_UART_8250
441 Say Y here if you want kernel low-level debugging support
444 config DEBUG_MSM_UART
445 bool "Kernel low-level debugging messages via MSM UART"
448 Say Y here if you want the debug print routines to direct
449 their output to the serial port on MSM devices.
451 ARCH DEBUG_UART_PHYS DEBUG_UART_VIRT #
452 MSM7X00A, QSD8X50 0xa9a00000 0xe1000000 UART1
453 MSM7X00A, QSD8X50 0xa9b00000 0xe1000000 UART2
454 MSM7X00A, QSD8X50 0xa9c00000 0xe1000000 UART3
456 MSM7X30 0xaca00000 0xe1000000 UART1
457 MSM7X30 0xacb00000 0xe1000000 UART2
458 MSM7X30 0xacc00000 0xe1000000 UART3
460 Please adjust DEBUG_UART_PHYS and DEBUG_UART_BASE configuration
461 options based on your needs.
463 config DEBUG_QCOM_UARTDM
464 bool "Kernel low-level debugging messages via QCOM UARTDM"
467 Say Y here if you want the debug print routines to direct
468 their output to the serial port on Qualcomm devices.
470 ARCH DEBUG_UART_PHYS DEBUG_UART_VIRT
471 APQ8064 0x16640000 0xf0040000
472 APQ8084 0xf995e000 0xfa75e000
473 MSM8X60 0x19c40000 0xf0040000
474 MSM8960 0x16440000 0xf0040000
475 MSM8974 0xf991e000 0xfa71e000
477 Please adjust DEBUG_UART_PHYS and DEBUG_UART_BASE configuration
478 options based on your needs.
480 config DEBUG_MVEBU_UART0
481 bool "Kernel low-level debugging messages via MVEBU UART0 (old bootloaders)"
482 depends on ARCH_MVEBU
483 select DEBUG_UART_8250
485 Say Y here if you want kernel low-level debugging support
486 on MVEBU based platforms on UART0.
488 This option should be used with the old bootloaders
489 that left the internal registers mapped at
490 0xd0000000. As of today, this is the case on
491 platforms such as the Globalscale Mirabox or the
492 Plathome OpenBlocks AX3, when using the original
495 If the wrong DEBUG_MVEBU_UART* option is selected,
496 when u-boot hands over to the kernel, the system
497 silently crashes, with no serial output at all.
499 config DEBUG_MVEBU_UART0_ALTERNATE
500 bool "Kernel low-level debugging messages via MVEBU UART0 (new bootloaders)"
501 depends on ARCH_MVEBU
502 select DEBUG_UART_8250
504 Say Y here if you want kernel low-level debugging support
505 on MVEBU based platforms on UART0.
507 This option should be used with the new bootloaders
508 that remap the internal registers at 0xf1000000.
510 If the wrong DEBUG_MVEBU_UART* option is selected,
511 when u-boot hands over to the kernel, the system
512 silently crashes, with no serial output at all.
514 config DEBUG_MVEBU_UART1_ALTERNATE
515 bool "Kernel low-level debugging messages via MVEBU UART1 (new bootloaders)"
516 depends on ARCH_MVEBU
517 select DEBUG_UART_8250
519 Say Y here if you want kernel low-level debugging support
520 on MVEBU based platforms on UART1.
522 This option should be used with the new bootloaders
523 that remap the internal registers at 0xf1000000.
525 If the wrong DEBUG_MVEBU_UART* option is selected,
526 when u-boot hands over to the kernel, the system
527 silently crashes, with no serial output at all.
533 Say Y here if you want kernel low-level debugging support
534 on Vybrid based platforms.
536 config DEBUG_NOMADIK_UART
537 bool "Kernel low-level debugging messages via NOMADIK UART"
538 depends on ARCH_NOMADIK
539 select DEBUG_UART_PL01X
541 Say Y here if you want kernel low-level debugging support
542 on NOMADIK based platforms.
544 config DEBUG_NSPIRE_CLASSIC_UART
545 bool "Kernel low-level debugging via TI-NSPIRE 8250 UART"
546 depends on ARCH_NSPIRE
547 select DEBUG_UART_8250
549 Say Y here if you want kernel low-level debugging support
550 on TI-NSPIRE classic models.
552 config DEBUG_NSPIRE_CX_UART
553 bool "Kernel low-level debugging via TI-NSPIRE PL011 UART"
554 depends on ARCH_NSPIRE
555 select DEBUG_UART_PL01X
557 Say Y here if you want kernel low-level debugging support
558 on TI-NSPIRE CX models.
560 config DEBUG_OMAP2UART1
561 bool "OMAP2/3/4 UART1 (omap2/3 sdp boards and some omap3 boards)"
562 depends on ARCH_OMAP2PLUS
563 select DEBUG_OMAP2PLUS_UART
565 This covers at least h4, 2430sdp, 3430sdp, 3630sdp,
566 omap3 torpedo and 3530 lv som.
568 config DEBUG_OMAP2UART2
569 bool "Kernel low-level debugging messages via OMAP2/3/4 UART2"
570 depends on ARCH_OMAP2PLUS
571 select DEBUG_OMAP2PLUS_UART
573 config DEBUG_OMAP2UART3
574 bool "Kernel low-level debugging messages via OMAP2 UART3 (n8x0)"
575 depends on ARCH_OMAP2PLUS
576 select DEBUG_OMAP2PLUS_UART
578 config DEBUG_OMAP3UART3
579 bool "Kernel low-level debugging messages via OMAP3 UART3 (most omap3 boards)"
580 depends on ARCH_OMAP2PLUS
581 select DEBUG_OMAP2PLUS_UART
583 This covers at least cm_t3x, beagle, crane, devkit8000,
584 igep00x0, ldp, n900, n9(50), pandora, overo, touchbook,
587 config DEBUG_OMAP4UART3
588 bool "Kernel low-level debugging messages via OMAP4/5 UART3 (omap4 blaze, panda, omap5 sevm)"
589 depends on ARCH_OMAP2PLUS
590 select DEBUG_OMAP2PLUS_UART
592 config DEBUG_OMAP3UART4
593 bool "Kernel low-level debugging messages via OMAP36XX UART4"
594 depends on ARCH_OMAP2PLUS
595 select DEBUG_OMAP2PLUS_UART
597 config DEBUG_OMAP4UART4
598 bool "Kernel low-level debugging messages via OMAP4/5 UART4"
599 depends on ARCH_OMAP2PLUS
600 select DEBUG_OMAP2PLUS_UART
602 config DEBUG_TI81XXUART1
603 bool "Kernel low-level debugging messages via TI81XX UART1 (ti8148evm)"
604 depends on ARCH_OMAP2PLUS
605 select DEBUG_OMAP2PLUS_UART
607 config DEBUG_TI81XXUART2
608 bool "Kernel low-level debugging messages via TI81XX UART2"
609 depends on ARCH_OMAP2PLUS
610 select DEBUG_OMAP2PLUS_UART
612 config DEBUG_TI81XXUART3
613 bool "Kernel low-level debugging messages via TI81XX UART3 (ti8168evm)"
614 depends on ARCH_OMAP2PLUS
615 select DEBUG_OMAP2PLUS_UART
617 config DEBUG_AM33XXUART1
618 bool "Kernel low-level debugging messages via AM33XX UART1"
619 depends on ARCH_OMAP2PLUS
620 select DEBUG_OMAP2PLUS_UART
622 config DEBUG_ZOOM_UART
623 bool "Kernel low-level debugging messages via Zoom2/3 UART"
624 depends on ARCH_OMAP2PLUS
625 select DEBUG_OMAP2PLUS_UART
627 config DEBUG_PICOXCELL_UART
628 depends on ARCH_PICOXCELL
629 bool "Use PicoXcell UART for low-level debug"
630 select DEBUG_UART_8250
632 Say Y here if you want kernel low-level debugging support
633 on PicoXcell based platforms.
635 config DEBUG_PXA_UART1
637 bool "Use PXA UART1 for low-level debug"
638 select DEBUG_UART_8250
640 Say Y here if you want kernel low-level debugging support
643 config DEBUG_REALVIEW_STD_PORT
644 bool "RealView Default UART"
645 depends on ARCH_REALVIEW
646 select DEBUG_UART_PL01X
648 Say Y here if you want the debug print routines to direct
649 their output to the serial port on RealView EB, PB11MP, PBA8
652 config DEBUG_REALVIEW_PB1176_PORT
653 bool "RealView PB1176 UART"
654 depends on MACH_REALVIEW_PB1176
655 select DEBUG_UART_PL01X
657 Say Y here if you want the debug print routines to direct
658 their output to the standard serial port on the RealView
661 config DEBUG_RK29_UART0
662 bool "Kernel low-level debugging messages via Rockchip RK29 UART0"
663 depends on ARCH_ROCKCHIP
664 select DEBUG_UART_8250
666 Say Y here if you want kernel low-level debugging support
667 on Rockchip based platforms.
669 config DEBUG_RK29_UART1
670 bool "Kernel low-level debugging messages via Rockchip RK29 UART1"
671 depends on ARCH_ROCKCHIP
672 select DEBUG_UART_8250
674 Say Y here if you want kernel low-level debugging support
675 on Rockchip based platforms.
677 config DEBUG_RK29_UART2
678 bool "Kernel low-level debugging messages via Rockchip RK29 UART2"
679 depends on ARCH_ROCKCHIP
680 select DEBUG_UART_8250
682 Say Y here if you want kernel low-level debugging support
683 on Rockchip based platforms.
685 config DEBUG_RK3X_UART0
686 bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART0"
687 depends on ARCH_ROCKCHIP
688 select DEBUG_UART_8250
690 Say Y here if you want kernel low-level debugging support
691 on Rockchip based platforms.
693 config DEBUG_RK3X_UART1
694 bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART1"
695 depends on ARCH_ROCKCHIP
696 select DEBUG_UART_8250
698 Say Y here if you want kernel low-level debugging support
699 on Rockchip based platforms.
701 config DEBUG_RK3X_UART2
702 bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART2"
703 depends on ARCH_ROCKCHIP
704 select DEBUG_UART_8250
706 Say Y here if you want kernel low-level debugging support
707 on Rockchip based platforms.
709 config DEBUG_RK3X_UART3
710 bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART3"
711 depends on ARCH_ROCKCHIP
712 select DEBUG_UART_8250
714 Say Y here if you want kernel low-level debugging support
715 on Rockchip based platforms.
717 config DEBUG_RK32_UART2
718 bool "Kernel low-level debugging messages via Rockchip RK32 UART2"
719 depends on ARCH_ROCKCHIP
720 select DEBUG_UART_8250
722 Say Y here if you want kernel low-level debugging support
723 on Rockchip RK32xx based platforms.
725 config DEBUG_R7S72100_SCIF2
726 bool "Kernel low-level debugging messages via SCIF2 on R7S72100"
727 depends on ARCH_R7S72100
729 Say Y here if you want kernel low-level debugging support
730 via SCIF2 on Renesas RZ/A1H (R7S72100).
732 config DEBUG_RCAR_GEN1_SCIF0
733 bool "Kernel low-level debugging messages via SCIF0 on R8A7778"
734 depends on ARCH_R8A7778
736 Say Y here if you want kernel low-level debugging support
737 via SCIF0 on Renesas R-Car M1A (R8A7778).
739 config DEBUG_RCAR_GEN1_SCIF2
740 bool "Kernel low-level debugging messages via SCIF2 on R8A7779"
741 depends on ARCH_R8A7779
743 Say Y here if you want kernel low-level debugging support
744 via SCIF2 on Renesas R-Car H1 (R8A7779).
746 config DEBUG_RCAR_GEN2_SCIF0
747 bool "Kernel low-level debugging messages via SCIF0 on R8A7790/R8A7791/R8A7793)"
748 depends on ARCH_R8A7790 || ARCH_R8A7791 || ARCH_R8A7793
750 Say Y here if you want kernel low-level debugging support
751 via SCIF0 on Renesas R-Car H2 (R8A7790), M2-W (R8A7791), or
754 config DEBUG_RCAR_GEN2_SCIF2
755 bool "Kernel low-level debugging messages via SCIF2 on R8A7794"
756 depends on ARCH_R8A7794
758 Say Y here if you want kernel low-level debugging support
759 via SCIF2 on Renesas R-Car E2 (R8A7794).
761 config DEBUG_RMOBILE_SCIFA0
762 bool "Kernel low-level debugging messages via SCIFA0 on R8A73A4/SH7372"
763 depends on ARCH_R8A73A4 || ARCH_SH7372
765 Say Y here if you want kernel low-level debugging support
766 via SCIFA0 on Renesas R-Mobile APE6 (R8A73A4) or SH-Mobile
769 config DEBUG_RMOBILE_SCIFA1
770 bool "Kernel low-level debugging messages via SCIFA1 on R8A7740"
771 depends on ARCH_R8A7740
773 Say Y here if you want kernel low-level debugging support
774 via SCIFA1 on Renesas R-Mobile A1 (R8A7740).
776 config DEBUG_RMOBILE_SCIFA4
777 bool "Kernel low-level debugging messages via SCIFA4 on SH73A0"
778 depends on ARCH_SH73A0
780 Say Y here if you want kernel low-level debugging support
781 via SCIFA4 on Renesas SH-Mobile AG5 (SH73A0).
783 config DEBUG_S3C_UART0
784 depends on PLAT_SAMSUNG
785 select DEBUG_EXYNOS_UART if ARCH_EXYNOS
786 select DEBUG_S3C24XX_UART if ARCH_S3C24XX
787 select DEBUG_S5PV210_UART if ARCH_S5PV210
788 bool "Use Samsung S3C UART 0 for low-level debug"
790 Say Y here if you want the debug print routines to direct
791 their output to UART 0. The port must have been initialised
792 by the boot-loader before use.
794 config DEBUG_S3C_UART1
795 depends on PLAT_SAMSUNG
796 select DEBUG_EXYNOS_UART if ARCH_EXYNOS
797 select DEBUG_S3C24XX_UART if ARCH_S3C24XX
798 select DEBUG_S5PV210_UART if ARCH_S5PV210
799 bool "Use Samsung S3C UART 1 for low-level debug"
801 Say Y here if you want the debug print routines to direct
802 their output to UART 1. The port must have been initialised
803 by the boot-loader before use.
805 config DEBUG_S3C_UART2
806 depends on PLAT_SAMSUNG
807 select DEBUG_EXYNOS_UART if ARCH_EXYNOS
808 select DEBUG_S3C24XX_UART if ARCH_S3C24XX
809 select DEBUG_S5PV210_UART if ARCH_S5PV210
810 bool "Use Samsung S3C UART 2 for low-level debug"
812 Say Y here if you want the debug print routines to direct
813 their output to UART 2. The port must have been initialised
814 by the boot-loader before use.
816 config DEBUG_S3C_UART3
817 depends on PLAT_SAMSUNG && (ARCH_EXYNOS || ARCH_S5PV210)
818 select DEBUG_EXYNOS_UART if ARCH_EXYNOS
819 select DEBUG_S5PV210_UART if ARCH_S5PV210
820 bool "Use Samsung S3C UART 3 for low-level debug"
822 Say Y here if you want the debug print routines to direct
823 their output to UART 3. The port must have been initialised
824 by the boot-loader before use.
826 config DEBUG_S3C2410_UART0
827 depends on ARCH_S3C24XX
828 select DEBUG_S3C2410_UART
829 bool "Use S3C2410/S3C2412 UART 0 for low-level debug"
831 Say Y here if you want the debug print routines to direct
832 their output to UART 0. The port must have been initialised
833 by the boot-loader before use.
835 config DEBUG_S3C2410_UART1
836 depends on ARCH_S3C24XX
837 select DEBUG_S3C2410_UART
838 bool "Use S3C2410/S3C2412 UART 1 for low-level debug"
840 Say Y here if you want the debug print routines to direct
841 their output to UART 1. The port must have been initialised
842 by the boot-loader before use.
844 config DEBUG_S3C2410_UART2
845 depends on ARCH_S3C24XX
846 select DEBUG_S3C2410_UART
847 bool "Use S3C2410/S3C2412 UART 2 for low-level debug"
849 Say Y here if you want the debug print routines to direct
850 their output to UART 2. The port must have been initialised
851 by the boot-loader before use.
854 depends on ARCH_SA1100
855 bool "Use SA1100 UARTs for low-level debug"
857 Say Y here if you want kernel low-level debugging support
858 on SA-11x0 UART ports. The kernel will check for the first
859 enabled UART in a sequence 3-1-2.
861 config DEBUG_SOCFPGA_UART
862 depends on ARCH_SOCFPGA
863 bool "Use SOCFPGA UART for low-level debug"
864 select DEBUG_UART_8250
866 Say Y here if you want kernel low-level debugging support
867 on SOCFPGA based platforms.
869 config DEBUG_SUN9I_UART0
870 bool "Kernel low-level debugging messages via sun9i UART0"
871 depends on MACH_SUN9I
872 select DEBUG_UART_8250
874 Say Y here if you want kernel low-level debugging support
875 on Allwinner A80 based platforms on the UART0.
877 config DEBUG_SUNXI_UART0
878 bool "Kernel low-level debugging messages via sunXi UART0"
879 depends on ARCH_SUNXI
880 select DEBUG_UART_8250
882 Say Y here if you want kernel low-level debugging support
883 on Allwinner A1X based platforms on the UART0.
885 config DEBUG_SUNXI_UART1
886 bool "Kernel low-level debugging messages via sunXi UART1"
887 depends on ARCH_SUNXI
888 select DEBUG_UART_8250
890 Say Y here if you want kernel low-level debugging support
891 on Allwinner A1X based platforms on the UART1.
893 config DEBUG_SUNXI_R_UART
894 bool "Kernel low-level debugging messages via sunXi R_UART"
895 depends on MACH_SUN6I || MACH_SUN8I
896 select DEBUG_UART_8250
898 Say Y here if you want kernel low-level debugging support
899 on Allwinner A31/A23 based platforms on the R_UART.
901 config TEGRA_DEBUG_UART_AUTO_ODMDATA
902 bool "Kernel low-level debugging messages via Tegra UART via ODMDATA"
903 depends on ARCH_TEGRA
904 select DEBUG_TEGRA_UART
906 Automatically determines which UART to use for low-level
907 debug based on the ODMDATA value. This value is part of
908 the BCT, and is written to the boot memory device using
909 nvflash, or other flashing tool. When bits 19:18 are 3,
910 then bits 17:15 indicate which UART to use; 0/1/2/3/4
913 config TEGRA_DEBUG_UARTA
914 bool "Kernel low-level debugging messages via Tegra UART A"
915 depends on ARCH_TEGRA
916 select DEBUG_TEGRA_UART
918 Say Y here if you want kernel low-level debugging support
919 on Tegra based platforms.
921 config TEGRA_DEBUG_UARTB
922 bool "Kernel low-level debugging messages via Tegra UART B"
923 depends on ARCH_TEGRA
924 select DEBUG_TEGRA_UART
926 Say Y here if you want kernel low-level debugging support
927 on Tegra based platforms.
929 config TEGRA_DEBUG_UARTC
930 bool "Kernel low-level debugging messages via Tegra UART C"
931 depends on ARCH_TEGRA
932 select DEBUG_TEGRA_UART
934 Say Y here if you want kernel low-level debugging support
935 on Tegra based platforms.
937 config TEGRA_DEBUG_UARTD
938 bool "Kernel low-level debugging messages via Tegra UART D"
939 depends on ARCH_TEGRA
940 select DEBUG_TEGRA_UART
942 Say Y here if you want kernel low-level debugging support
943 on Tegra based platforms.
945 config TEGRA_DEBUG_UARTE
946 bool "Kernel low-level debugging messages via Tegra UART E"
947 depends on ARCH_TEGRA
948 select DEBUG_TEGRA_UART
950 Say Y here if you want kernel low-level debugging support
951 on Tegra based platforms.
953 config DEBUG_SIRFPRIMA2_UART1
954 bool "Kernel low-level debugging messages via SiRFprimaII UART1"
955 depends on ARCH_PRIMA2
956 select DEBUG_SIRFSOC_UART
958 Say Y here if you want the debug print routines to direct
959 their output to the uart1 port on SiRFprimaII devices.
961 config DEBUG_SIRFATLAS7_UART0
962 bool "Kernel low-level debugging messages via SiRFatlas7 UART0"
963 depends on ARCH_ATLAS7
964 select DEBUG_SIRFSOC_UART
966 Say Y here if you want the debug print routines to direct
967 their output to the uart0 port on SiRFATLAS7 devices.The uart0
968 is used on SiRFATLAS7 as a extra debug port.sometimes an extra
969 debug port can be very useful.
971 config DEBUG_SIRFATLAS7_UART1
972 bool "Kernel low-level debugging messages via SiRFatlas7 UART1"
973 depends on ARCH_ATLAS7
974 select DEBUG_SIRFSOC_UART
976 Say Y here if you want the debug print routines to direct
977 their output to the uart1 port on SiRFATLAS7 devices.
979 config STIH41X_DEBUG_ASC2
980 bool "Use StiH415/416 ASC2 UART for low-level debug"
982 select DEBUG_STI_UART
984 Say Y here if you want kernel low-level debugging support
985 on STiH415/416 based platforms like b2000, which has
986 default UART wired up to ASC2.
990 config STIH41X_DEBUG_SBC_ASC1
991 bool "Use StiH415/416 SBC ASC1 UART for low-level debug"
993 select DEBUG_STI_UART
995 Say Y here if you want kernel low-level debugging support
996 on STiH415/416 based platforms like b2020. which has
997 default UART wired up to SBC ASC1.
1001 config DEBUG_U300_UART
1002 bool "Kernel low-level debugging messages via U300 UART0"
1003 depends on ARCH_U300
1004 select DEBUG_UART_PL01X
1006 Say Y here if you want the debug print routines to direct
1007 their output to the uart port on U300 devices.
1009 config DEBUG_UX500_UART
1010 depends on ARCH_U8500
1011 bool "Use Ux500 UART for low-level debug"
1013 Say Y here if you want kernel low-level debugging support
1014 on Ux500 based platforms.
1016 config DEBUG_MT6589_UART0
1017 bool "Mediatek mt6589 UART0"
1018 depends on ARCH_MEDIATEK
1019 select DEBUG_UART_8250
1021 Say Y here if you want kernel low-level debugging support
1022 for Mediatek mt6589 based platforms on UART0.
1024 config DEBUG_MT8127_UART0
1025 bool "Mediatek mt8127/mt6592 UART0"
1026 depends on ARCH_MEDIATEK
1027 select DEBUG_UART_8250
1029 Say Y here if you want kernel low-level debugging support
1030 for Mediatek mt8127 based platforms on UART0.
1032 config DEBUG_MT8135_UART3
1033 bool "Mediatek mt8135 UART3"
1034 depends on ARCH_MEDIATEK
1035 select DEBUG_UART_8250
1037 Say Y here if you want kernel low-level debugging support
1038 for Mediatek mt8135 based platforms on UART3.
1040 config DEBUG_VEXPRESS_UART0_DETECT
1041 bool "Autodetect UART0 on Versatile Express Cortex-A core tiles"
1042 depends on ARCH_VEXPRESS && CPU_CP15_MMU
1044 This option enables a simple heuristic which tries to determine
1045 the motherboard's memory map variant (original or RS1) and then
1046 choose the relevant UART0 base address.
1048 Note that this will only work with standard A-class core tiles,
1049 and may fail with non-standard SMM or custom software models.
1051 config DEBUG_VEXPRESS_UART0_CA9
1052 bool "Use PL011 UART0 at 0x10009000 (V2P-CA9 core tile)"
1053 depends on ARCH_VEXPRESS
1054 select DEBUG_UART_PL01X
1056 This option selects UART0 at 0x10009000. Except for custom models,
1057 this applies only to the V2P-CA9 tile.
1059 config DEBUG_VEXPRESS_UART0_RS1
1060 bool "Use PL011 UART0 at 0x1c090000 (RS1 complaint tiles)"
1061 depends on ARCH_VEXPRESS
1062 select DEBUG_UART_PL01X
1064 This option selects UART0 at 0x1c090000. This applies to most
1065 of the tiles using the RS1 memory map, including all new A-class
1066 core tiles, FPGA-based SMMs and software models.
1068 config DEBUG_VEXPRESS_UART0_CRX
1069 bool "Use PL011 UART0 at 0xb0090000 (Cortex-R compliant tiles)"
1070 depends on ARCH_VEXPRESS && !MMU
1071 select DEBUG_UART_PL01X
1073 This option selects UART0 at 0xb0090000. This is appropriate for
1074 Cortex-R series tiles and SMMs, such as Cortex-R5 and Cortex-R7
1076 config DEBUG_VT8500_UART0
1077 bool "Use UART0 on VIA/Wondermedia SoCs"
1078 depends on ARCH_VT8500
1080 This option selects UART0 on VIA/Wondermedia System-on-a-chip
1081 devices, including VT8500, WM8505, WM8650 and WM8850.
1083 config DEBUG_LL_UART_NONE
1084 bool "No low-level debugging UART"
1085 depends on !ARCH_MULTIPLATFORM
1087 Say Y here if your platform doesn't provide a UART option
1088 above. This relies on your platform choosing the right UART
1089 definition internally in order for low-level debugging to
1093 bool "Kernel low-level debugging via EmbeddedICE DCC channel"
1095 Say Y here if you want the debug print routines to direct
1096 their output to the EmbeddedICE macrocell's DCC channel using
1097 co-processor 14. This is known to work on the ARM9 style ICE
1098 channel and on the XScale with the PEEDI.
1100 Note that the system will appear to hang during boot if there
1101 is nothing connected to read from the DCC.
1103 config DEBUG_SEMIHOSTING
1104 bool "Kernel low-level debug output via semihosting I/O"
1106 Semihosting enables code running on an ARM target to use
1107 the I/O facilities on a host debugger/emulator through a
1108 simple SVC call. The host debugger or emulator must have
1109 semihosting enabled for the special svc call to be trapped
1110 otherwise the kernel will crash.
1112 This is known to work with OpenOCD, as well as
1113 ARM's Fast Models, or any other controlling environment
1114 that implements semihosting.
1116 For more details about semihosting, please see
1117 chapter 8 of DUI0203I_rvct_developer_guide.pdf from ARM Ltd.
1119 config DEBUG_LL_UART_8250
1120 bool "Kernel low-level debugging via 8250 UART"
1122 Say Y here if you wish the debug print routes to direct
1123 their output to an 8250 UART. You can use this option
1124 to provide the parameters for the 8250 UART rather than
1125 selecting one of the platform specific options above if
1126 you know the parameters for the port.
1128 This option is preferred over the platform specific
1129 options; the platform specific options are deprecated
1130 and will be soon removed.
1132 config DEBUG_LL_UART_EFM32
1133 bool "Kernel low-level debugging via efm32 UART"
1134 depends on ARCH_EFM32
1136 Say Y here if you want the debug print routines to direct
1137 their output to an UART or USART port on efm32 based
1138 machines. Use the following addresses for DEBUG_UART_PHYS:
1146 config DEBUG_LL_UART_PL01X
1147 bool "Kernel low-level debugging via ARM Ltd PL01x Primecell UART"
1149 Say Y here if you wish the debug print routes to direct
1150 their output to a PL01x Primecell UART. You can use
1151 this option to provide the parameters for the UART
1152 rather than selecting one of the platform specific
1153 options above if you know the parameters for the port.
1155 This option is preferred over the platform specific
1156 options; the platform specific options are deprecated
1157 and will be soon removed.
1161 config DEBUG_AT91_UART
1163 depends on ARCH_AT91
1165 config DEBUG_EXYNOS_UART
1168 config DEBUG_S3C2410_UART
1170 select DEBUG_S3C24XX_UART
1172 config DEBUG_S3C24XX_UART
1175 config DEBUG_S5PV210_UART
1178 config DEBUG_OMAP2PLUS_UART
1180 depends on ARCH_OMAP2PLUS
1182 config DEBUG_IMX_UART_PORT
1183 int "i.MX Debug UART Port Selection" if DEBUG_IMX1_UART || \
1184 DEBUG_IMX25_UART || \
1185 DEBUG_IMX21_IMX27_UART || \
1186 DEBUG_IMX31_UART || \
1187 DEBUG_IMX35_UART || \
1188 DEBUG_IMX50_UART || \
1189 DEBUG_IMX51_UART || \
1190 DEBUG_IMX53_UART || \
1191 DEBUG_IMX6Q_UART || \
1192 DEBUG_IMX6SL_UART || \
1197 Choose UART port on which kernel low-level debug messages
1200 config DEBUG_VF_UART_PORT
1201 int "Vybrid Debug UART Port Selection" if DEBUG_VF_UART
1204 depends on SOC_VF610
1206 Choose UART port on which kernel low-level debug messages
1209 config DEBUG_TEGRA_UART
1211 depends on ARCH_TEGRA
1213 config DEBUG_STI_UART
1217 config DEBUG_SIRFSOC_UART
1219 depends on ARCH_SIRF
1221 config DEBUG_LL_INCLUDE
1223 default "debug/sa1100.S" if DEBUG_SA1100
1224 default "debug/8250.S" if DEBUG_LL_UART_8250 || DEBUG_UART_8250
1225 default "debug/at91.S" if DEBUG_AT91_UART
1226 default "debug/asm9260.S" if DEBUG_ASM9260_UART
1227 default "debug/clps711x.S" if DEBUG_CLPS711X_UART1 || DEBUG_CLPS711X_UART2
1228 default "debug/meson.S" if DEBUG_MESON_UARTAO
1229 default "debug/pl01x.S" if DEBUG_LL_UART_PL01X || DEBUG_UART_PL01X
1230 default "debug/exynos.S" if DEBUG_EXYNOS_UART
1231 default "debug/efm32.S" if DEBUG_LL_UART_EFM32
1232 default "debug/icedcc.S" if DEBUG_ICEDCC
1233 default "debug/imx.S" if DEBUG_IMX1_UART || \
1234 DEBUG_IMX25_UART || \
1235 DEBUG_IMX21_IMX27_UART || \
1236 DEBUG_IMX31_UART || \
1237 DEBUG_IMX35_UART || \
1238 DEBUG_IMX50_UART || \
1239 DEBUG_IMX51_UART || \
1240 DEBUG_IMX53_UART ||\
1241 DEBUG_IMX6Q_UART || \
1242 DEBUG_IMX6SL_UART || \
1244 default "debug/msm.S" if DEBUG_MSM_UART || DEBUG_QCOM_UARTDM
1245 default "debug/omap2plus.S" if DEBUG_OMAP2PLUS_UART
1246 default "debug/renesas-scif.S" if DEBUG_R7S72100_SCIF2
1247 default "debug/renesas-scif.S" if DEBUG_RCAR_GEN1_SCIF0
1248 default "debug/renesas-scif.S" if DEBUG_RCAR_GEN1_SCIF2
1249 default "debug/renesas-scif.S" if DEBUG_RCAR_GEN2_SCIF0
1250 default "debug/renesas-scif.S" if DEBUG_RCAR_GEN2_SCIF2
1251 default "debug/renesas-scif.S" if DEBUG_RMOBILE_SCIFA0
1252 default "debug/renesas-scif.S" if DEBUG_RMOBILE_SCIFA1
1253 default "debug/renesas-scif.S" if DEBUG_RMOBILE_SCIFA4
1254 default "debug/s3c24xx.S" if DEBUG_S3C24XX_UART
1255 default "debug/s5pv210.S" if DEBUG_S5PV210_UART
1256 default "debug/sirf.S" if DEBUG_SIRFSOC_UART
1257 default "debug/sti.S" if DEBUG_STI_UART
1258 default "debug/tegra.S" if DEBUG_TEGRA_UART
1259 default "debug/ux500.S" if DEBUG_UX500_UART
1260 default "debug/vexpress.S" if DEBUG_VEXPRESS_UART0_DETECT
1261 default "debug/vf.S" if DEBUG_VF_UART
1262 default "debug/vt8500.S" if DEBUG_VT8500_UART0
1263 default "debug/zynq.S" if DEBUG_ZYNQ_UART0 || DEBUG_ZYNQ_UART1
1264 default "debug/bcm63xx.S" if DEBUG_UART_BCM63XX
1265 default "debug/digicolor.S" if DEBUG_DIGICOLOR_UA0
1266 default "mach/debug-macro.S"
1268 # Compatibility options for PL01x
1269 config DEBUG_UART_PL01X
1270 def_bool ARCH_EP93XX || \
1271 ARCH_INTEGRATOR || \
1277 # Compatibility options for 8250
1278 config DEBUG_UART_8250
1279 def_bool ARCH_DOVE || ARCH_EBSA110 || \
1280 (FOOTBRIDGE && !DEBUG_DC21285_PORT) || \
1281 ARCH_GEMINI || ARCH_IOP13XX || ARCH_IOP32X || \
1282 ARCH_IOP33X || ARCH_IXP4XX || \
1283 ARCH_LPC32XX || ARCH_MV78XX0 || ARCH_ORION5X || ARCH_RPC
1285 # Compatibility options for BCM63xx
1286 config DEBUG_UART_BCM63XX
1287 def_bool ARCH_BCM_63XX
1289 config DEBUG_UART_PHYS
1290 hex "Physical base address of debug UART"
1291 default 0x01c20000 if DEBUG_DAVINCI_DMx_UART0
1292 default 0x01c28000 if DEBUG_SUNXI_UART0
1293 default 0x01c28400 if DEBUG_SUNXI_UART1
1294 default 0x01d0c000 if DEBUG_DAVINCI_DA8XX_UART1
1295 default 0x01d0d000 if DEBUG_DAVINCI_DA8XX_UART2
1296 default 0x01f02800 if DEBUG_SUNXI_R_UART
1297 default 0x02530c00 if DEBUG_KEYSTONE_UART0
1298 default 0x02531000 if DEBUG_KEYSTONE_UART1
1299 default 0x03010fe0 if ARCH_RPC
1300 default 0x07000000 if DEBUG_SUN9I_UART0
1301 default 0x10009000 if DEBUG_REALVIEW_STD_PORT || \
1302 DEBUG_VEXPRESS_UART0_CA9
1303 default 0x1010c000 if DEBUG_REALVIEW_PB1176_PORT
1304 default 0x10124000 if DEBUG_RK3X_UART0
1305 default 0x10126000 if DEBUG_RK3X_UART1
1306 default 0x101f1000 if ARCH_VERSATILE
1307 default 0x101fb000 if DEBUG_NOMADIK_UART
1308 default 0x11002000 if DEBUG_MT8127_UART0
1309 default 0x11006000 if DEBUG_MT6589_UART0
1310 default 0x11009000 if DEBUG_MT8135_UART3
1311 default 0x16000000 if ARCH_INTEGRATOR
1312 default 0x18000300 if DEBUG_BCM_5301X
1313 default 0x18010000 if DEBUG_SIRFATLAS7_UART0
1314 default 0x18020000 if DEBUG_SIRFATLAS7_UART1
1315 default 0x1c090000 if DEBUG_VEXPRESS_UART0_RS1
1316 default 0x20001000 if DEBUG_HIP01_UART
1317 default 0x20060000 if DEBUG_RK29_UART0
1318 default 0x20064000 if DEBUG_RK29_UART1 || DEBUG_RK3X_UART2
1319 default 0x20068000 if DEBUG_RK29_UART2 || DEBUG_RK3X_UART3
1320 default 0x20201000 if DEBUG_BCM2835
1321 default 0x3e000000 if DEBUG_BCM_KONA_UART
1322 default 0x4000e400 if DEBUG_LL_UART_EFM32
1323 default 0x40090000 if ARCH_LPC32XX
1324 default 0x40100000 if DEBUG_PXA_UART1
1325 default 0x42000000 if ARCH_GEMINI
1326 default 0x50000000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART0 || \
1327 DEBUG_S3C2410_UART0)
1328 default 0x50004000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART1 || \
1329 DEBUG_S3C2410_UART1)
1330 default 0x50008000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART2 || \
1331 DEBUG_S3C2410_UART2)
1332 default 0x78000000 if DEBUG_CNS3XXX
1333 default 0x7c0003f8 if FOOTBRIDGE
1334 default 0x78000000 if DEBUG_CNS3XXX
1335 default 0x80010000 if DEBUG_ASM9260_UART
1336 default 0x80070000 if DEBUG_IMX23_UART
1337 default 0x80074000 if DEBUG_IMX28_UART
1338 default 0x80230000 if DEBUG_PICOXCELL_UART
1339 default 0x808c0000 if ARCH_EP93XX
1340 default 0x90020000 if DEBUG_NSPIRE_CLASSIC_UART || DEBUG_NSPIRE_CX_UART
1341 default 0xa9a00000 if DEBUG_MSM_UART
1342 default 0xb0060000 if DEBUG_SIRFPRIMA2_UART1
1343 default 0xb0090000 if DEBUG_VEXPRESS_UART0_CRX
1344 default 0xc0013000 if DEBUG_U300_UART
1345 default 0xc8000000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN
1346 default 0xc8000003 if ARCH_IXP4XX && CPU_BIG_ENDIAN
1347 default 0xd0000000 if ARCH_SPEAR3XX || ARCH_SPEAR6XX
1348 default 0xd0012000 if DEBUG_MVEBU_UART0
1349 default 0xc81004c0 if DEBUG_MESON_UARTAO
1350 default 0xd4017000 if DEBUG_MMP_UART2
1351 default 0xd4018000 if DEBUG_MMP_UART3
1352 default 0xe0000000 if ARCH_SPEAR13XX
1353 default 0xe4007000 if DEBUG_HIP04_UART
1354 default 0xe6c40000 if DEBUG_RMOBILE_SCIFA0
1355 default 0xe6c50000 if DEBUG_RMOBILE_SCIFA1
1356 default 0xe6c80000 if DEBUG_RMOBILE_SCIFA4
1357 default 0xe6e58000 if DEBUG_RCAR_GEN2_SCIF2
1358 default 0xe6e60000 if DEBUG_RCAR_GEN2_SCIF0
1359 default 0xe8008000 if DEBUG_R7S72100_SCIF2
1360 default 0xf0000be0 if ARCH_EBSA110
1361 default 0xf040ab00 if DEBUG_BRCMSTB_UART
1362 default 0xf1012000 if DEBUG_MVEBU_UART0_ALTERNATE
1363 default 0xf1012100 if DEBUG_MVEBU_UART1_ALTERNATE
1364 default 0xf1012000 if ARCH_DOVE || ARCH_MV78XX0 || \
1366 default 0xf7fc9000 if DEBUG_BERLIN_UART
1367 default 0xf8b00000 if DEBUG_HIX5HD2_UART
1368 default 0xf991e000 if DEBUG_QCOM_UARTDM
1369 default 0xfcb00000 if DEBUG_HI3620_UART
1370 default 0xfe800000 if ARCH_IOP32X
1371 default 0xff690000 if DEBUG_RK32_UART2
1372 default 0xffc02000 if DEBUG_SOCFPGA_UART
1373 default 0xffd82340 if ARCH_IOP13XX
1374 default 0xffe40000 if DEBUG_RCAR_GEN1_SCIF0
1375 default 0xffe42000 if DEBUG_RCAR_GEN1_SCIF2
1376 default 0xfff36000 if DEBUG_HIGHBANK_UART
1377 default 0xfffe8600 if DEBUG_UART_BCM63XX
1378 default 0xfffff700 if ARCH_IOP33X
1379 depends on DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \
1380 DEBUG_LL_UART_EFM32 || \
1381 DEBUG_UART_8250 || DEBUG_UART_PL01X || DEBUG_MESON_UARTAO || \
1382 DEBUG_MSM_UART || DEBUG_QCOM_UARTDM || DEBUG_R7S72100_SCIF2 || \
1383 DEBUG_RCAR_GEN1_SCIF0 || DEBUG_RCAR_GEN1_SCIF2 || \
1384 DEBUG_RCAR_GEN2_SCIF0 || DEBUG_RCAR_GEN2_SCIF2 || \
1385 DEBUG_RMOBILE_SCIFA0 || DEBUG_RMOBILE_SCIFA1 || \
1386 DEBUG_RMOBILE_SCIFA4 || DEBUG_S3C24XX_UART || \
1387 DEBUG_UART_BCM63XX || DEBUG_ASM9260_UART || \
1388 DEBUG_SIRFSOC_UART || DEBUG_DIGICOLOR_UA0
1390 config DEBUG_UART_VIRT
1391 hex "Virtual base address of debug UART"
1392 default 0xe0010fe0 if ARCH_RPC
1393 default 0xe1000000 if DEBUG_MSM_UART
1394 default 0xf0000be0 if ARCH_EBSA110
1395 default 0xf0010000 if DEBUG_ASM9260_UART
1396 default 0xf01fb000 if DEBUG_NOMADIK_UART
1397 default 0xf0201000 if DEBUG_BCM2835
1398 default 0xf1000300 if DEBUG_BCM_5301X
1399 default 0xf1002000 if DEBUG_MT8127_UART0
1400 default 0xf1006000 if DEBUG_MT6589_UART0
1401 default 0xf1009000 if DEBUG_MT8135_UART3
1402 default 0xf11f1000 if ARCH_VERSATILE
1403 default 0xf1600000 if ARCH_INTEGRATOR
1404 default 0xf1c28000 if DEBUG_SUNXI_UART0
1405 default 0xf1c28400 if DEBUG_SUNXI_UART1
1406 default 0xf1f02800 if DEBUG_SUNXI_R_UART
1407 default 0xf6200000 if DEBUG_PXA_UART1
1408 default 0xf4090000 if ARCH_LPC32XX
1409 default 0xf4200000 if ARCH_GEMINI
1410 default 0xf7000000 if DEBUG_SUN9I_UART0
1411 default 0xf7000000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART0 || \
1412 DEBUG_S3C2410_UART0)
1413 default 0xf7004000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART1 || \
1414 DEBUG_S3C2410_UART1)
1415 default 0xf7008000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART2 || \
1416 DEBUG_S3C2410_UART2)
1417 default 0xf7fc9000 if DEBUG_BERLIN_UART
1418 default 0xf8007000 if DEBUG_HIP04_UART
1419 default 0xf8009000 if DEBUG_VEXPRESS_UART0_CA9
1420 default 0xf8090000 if DEBUG_VEXPRESS_UART0_RS1
1421 default 0xfa71e000 if DEBUG_QCOM_UARTDM
1422 default 0xfb002000 if DEBUG_CNS3XXX
1423 default 0xfb009000 if DEBUG_REALVIEW_STD_PORT
1424 default 0xfb10c000 if DEBUG_REALVIEW_PB1176_PORT
1425 default 0xfc40ab00 if DEBUG_BRCMSTB_UART
1426 default 0xfcfe8600 if DEBUG_UART_BCM63XX
1427 default 0xfd000000 if ARCH_SPEAR3XX || ARCH_SPEAR6XX
1428 default 0xfd000000 if ARCH_SPEAR13XX
1429 default 0xfd012000 if ARCH_MV78XX0
1430 default 0xfde12000 if ARCH_DOVE
1431 default 0xfe012000 if ARCH_ORION5X
1432 default 0xf31004c0 if DEBUG_MESON_UARTAO
1433 default 0xfe017000 if DEBUG_MMP_UART2
1434 default 0xfe018000 if DEBUG_MMP_UART3
1435 default 0xfe100000 if DEBUG_IMX23_UART || DEBUG_IMX28_UART
1436 default 0xfe230000 if DEBUG_PICOXCELL_UART
1437 default 0xfe300000 if DEBUG_BCM_KONA_UART
1438 default 0xfe800000 if ARCH_IOP32X
1439 default 0xfeb00000 if DEBUG_HI3620_UART || DEBUG_HIX5HD2_UART
1440 default 0xfeb24000 if DEBUG_RK3X_UART0
1441 default 0xfeb26000 if DEBUG_RK3X_UART1
1442 default 0xfeb30c00 if DEBUG_KEYSTONE_UART0
1443 default 0xfeb31000 if DEBUG_KEYSTONE_UART1
1444 default 0xfec02000 if DEBUG_SOCFPGA_UART
1445 default 0xfec12000 if DEBUG_MVEBU_UART0 || DEBUG_MVEBU_UART0_ALTERNATE
1446 default 0xfec12100 if DEBUG_MVEBU_UART1_ALTERNATE
1447 default 0xfec10000 if DEBUG_SIRFATLAS7_UART0
1448 default 0xfec20000 if DEBUG_DAVINCI_DMx_UART0
1449 default 0xfec20000 if DEBUG_SIRFATLAS7_UART1
1450 default 0xfec60000 if DEBUG_SIRFPRIMA2_UART1
1451 default 0xfec90000 if DEBUG_RK32_UART2
1452 default 0xfed0c000 if DEBUG_DAVINCI_DA8XX_UART1
1453 default 0xfed0d000 if DEBUG_DAVINCI_DA8XX_UART2
1454 default 0xfed60000 if DEBUG_RK29_UART0
1455 default 0xfed64000 if DEBUG_RK29_UART1 || DEBUG_RK3X_UART2
1456 default 0xfed68000 if DEBUG_RK29_UART2 || DEBUG_RK3X_UART3
1457 default 0xfedc0000 if ARCH_EP93XX
1458 default 0xfee003f8 if FOOTBRIDGE
1459 default 0xfee20000 if DEBUG_NSPIRE_CLASSIC_UART || DEBUG_NSPIRE_CX_UART
1460 default 0xfee82340 if ARCH_IOP13XX
1461 default 0xfef00000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN
1462 default 0xfef00003 if ARCH_IXP4XX && CPU_BIG_ENDIAN
1463 default 0xfef36000 if DEBUG_HIGHBANK_UART
1464 default 0xfefff700 if ARCH_IOP33X
1465 default 0xff003000 if DEBUG_U300_UART
1466 default 0xffd01000 if DEBUG_HIP01_UART
1467 default DEBUG_UART_PHYS if !MMU
1468 depends on DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \
1469 DEBUG_UART_8250 || DEBUG_UART_PL01X || DEBUG_MESON_UARTAO || \
1470 DEBUG_MSM_UART || DEBUG_QCOM_UARTDM || DEBUG_S3C24XX_UART || \
1471 DEBUG_UART_BCM63XX || DEBUG_ASM9260_UART || \
1472 DEBUG_SIRFSOC_UART || DEBUG_DIGICOLOR_UA0
1474 config DEBUG_UART_8250_SHIFT
1475 int "Register offset shift for the 8250 debug UART"
1476 depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
1477 default 0 if FOOTBRIDGE || ARCH_IOP32X || DEBUG_BCM_5301X
1480 config DEBUG_UART_8250_WORD
1481 bool "Use 32-bit accesses for 8250 UART"
1482 depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
1483 depends on DEBUG_UART_8250_SHIFT >= 2
1484 default y if DEBUG_PICOXCELL_UART || DEBUG_SOCFPGA_UART || \
1486 DEBUG_DAVINCI_DMx_UART0 || DEBUG_DAVINCI_DA8XX_UART1 || \
1487 DEBUG_DAVINCI_DA8XX_UART2 || \
1488 DEBUG_BCM_KONA_UART || DEBUG_RK32_UART2 || \
1491 config DEBUG_UART_8250_FLOW_CONTROL
1492 bool "Enable flow control for 8250 UART"
1493 depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
1494 default y if ARCH_EBSA110 || FOOTBRIDGE || ARCH_GEMINI || ARCH_RPC
1496 config DEBUG_UNCOMPRESS
1498 depends on ARCH_MULTIPLATFORM || ARCH_MSM || PLAT_SAMSUNG
1499 default y if DEBUG_LL && !DEBUG_OMAP2PLUS_UART && \
1500 (!DEBUG_TEGRA_UART || !ZBOOT_ROM)
1502 This option influences the normal decompressor output for
1503 multiplatform kernels. Normally, multiplatform kernels disable
1504 decompressor output because it is not possible to know where to
1505 send the decompressor output.
1507 When this option is set, the selected DEBUG_LL output method
1508 will be re-used for normal decompressor output on multiplatform
1512 config UNCOMPRESS_INCLUDE
1514 default "debug/uncompress.h" if ARCH_MULTIPLATFORM || ARCH_MSM || \
1515 PLAT_SAMSUNG || ARCH_EFM32
1516 default "mach/uncompress.h"
1522 Say Y here if you want to have an early console using the
1523 kernel low-level debugging functions. Add earlyprintk to your
1524 kernel parameters to enable this console.
1526 config ARM_KPROBES_TEST
1527 tristate "Kprobes test module"
1528 depends on KPROBES && MODULES
1530 Perform tests of kprobes API and instruction set simulation.
1532 config PID_IN_CONTEXTIDR
1533 bool "Write the current PID to the CONTEXTIDR register"
1534 depends on CPU_COPY_V6
1536 Enabling this option causes the kernel to write the current PID to
1537 the PROCID field of the CONTEXTIDR register, at the expense of some
1538 additional instructions during context switch. Say Y here only if you
1539 are planning to use hardware trace tools with this kernel.
1541 config DEBUG_SET_MODULE_RONX
1542 bool "Set loadable kernel module data as NX and text as RO"
1545 This option helps catch unintended modifications to loadable
1546 kernel module's text and read-only data. It also prevents execution
1547 of module data. Such protection may interfere with run-time code
1548 patching and dynamic kernel tracing - and they might also protect
1549 against certain classes of kernel exploits.
1550 If in doubt, say "N".
1552 menuconfig CORESIGHT
1553 bool "CoreSight Tracing Support"
1556 This framework provides a kernel interface for the CoreSight debug
1557 and trace drivers to register themselves with. It's intended to build
1558 a topological view of the CoreSight components based on a DT
1559 specification and configure the right serie of components when a
1560 trace source gets enabled.
1563 config CORESIGHT_LINKS_AND_SINKS
1564 bool "CoreSight Link and Sink drivers"
1566 This enables support for CoreSight link and sink drivers that are
1567 responsible for transporting and collecting the trace data
1568 respectively. Link and sinks are dynamically aggregated with a trace
1569 entity at run time to form a complete trace path.
1571 config CORESIGHT_LINK_AND_SINK_TMC
1572 bool "Coresight generic TMC driver"
1573 depends on CORESIGHT_LINKS_AND_SINKS
1575 This enables support for the Trace Memory Controller driver. Depending
1576 on its configuration the device can act as a link (embedded trace router
1577 - ETR) or sink (embedded trace FIFO). The driver complies with the
1578 generic implementation of the component without special enhancement or
1581 config CORESIGHT_SINK_TPIU
1582 bool "Coresight generic TPIU driver"
1583 depends on CORESIGHT_LINKS_AND_SINKS
1585 This enables support for the Trace Port Interface Unit driver, responsible
1586 for bridging the gap between the on-chip coresight components and a trace
1587 port collection engine, typically connected to an external host for use
1588 case capturing more traces than the on-board coresight memory can handle.
1590 config CORESIGHT_SINK_ETBV10
1591 bool "Coresight ETBv1.0 driver"
1592 depends on CORESIGHT_LINKS_AND_SINKS
1594 This enables support for the Embedded Trace Buffer version 1.0 driver
1595 that complies with the generic implementation of the component without
1596 special enhancement or added features.
1598 config CORESIGHT_SOURCE_ETM3X
1599 bool "CoreSight Embedded Trace Macrocell 3.x driver"
1600 select CORESIGHT_LINKS_AND_SINKS
1602 This driver provides support for processor ETM3.x and PTM1.x modules,
1603 which allows tracing the instructions that a processor is executing
1604 This is primarily useful for instruction level tracing. Depending
1605 the ETM version data tracing may also be available.