3 source "lib/Kconfig.debug"
6 bool "Export kernel pagetable layout to userspace via debugfs"
7 depends on DEBUG_KERNEL
11 Say Y here if you want to show the kernel pagetable layout in a
12 debugfs file. This information is only useful for kernel developers
13 who are working in architecture specific areas of the kernel.
14 It is probably not a good idea to enable this feature in a production
18 # RMK wants arm kernels compiled with frame pointers or stack unwinding.
19 # If you know what you are doing and are willing to live without stack
20 # traces, you can get a slightly smaller kernel by setting this option to
21 # n, but then RMK will have to kill you ;).
24 depends on !THUMB2_KERNEL
25 default y if !ARM_UNWIND || FUNCTION_GRAPH_TRACER
27 If you say N here, the resulting kernel will be slightly smaller and
28 faster. However, if neither FRAME_POINTER nor ARM_UNWIND are enabled,
29 when a problem occurs with the kernel, the information that is
30 reported is severely limited.
33 bool "Enable stack unwinding support (EXPERIMENTAL)"
37 This option enables stack unwinding support in the kernel
38 using the information automatically generated by the
39 compiler. The resulting kernel image is slightly bigger but
40 the performance is not affected. Currently, this feature
41 only works with EABI compilers. If unsure say Y.
45 depends on FUNCTION_TRACER && FRAME_POINTER
49 bool "Verbose user fault messages"
51 When a user program crashes due to an exception, the kernel can
52 print a brief message explaining what the problem was. This is
53 sometimes helpful for debugging but serves no purpose on a
54 production system. Most people should say N here.
56 In addition, you need to pass user_debug=N on the kernel command
57 line to enable this feature. N consists of the sum of:
59 1 - undefined instruction events
61 4 - invalid data aborts
65 # These options are only for real kernel hackers who want to get their hands dirty.
67 bool "Kernel low-level debugging functions (read help!)"
68 depends on DEBUG_KERNEL
70 Say Y here to include definitions of printascii, printch, printhex
71 in the kernel. This is helpful if you are debugging code that
72 executes before the console is initialized.
74 Note that selecting this option will limit the kernel to a single
75 UART definition, as specified below. Attempting to boot the kernel
76 image on a different platform *will not work*, so this option should
77 not be enabled for kernels that are intended to be portable.
80 prompt "Kernel low-level debugging port"
83 config DEBUG_ALPINE_UART0
84 bool "Kernel low-level debugging messages via Alpine UART0"
85 depends on ARCH_ALPINE
86 select DEBUG_UART_8250
88 Say Y here if you want kernel low-level debugging support
89 on Alpine based platforms.
91 config DEBUG_ASM9260_UART
92 bool "Kernel low-level debugging via asm9260 UART"
93 depends on MACH_ASM9260
95 Say Y here if you want the debug print routines to direct
96 their output to an UART or USART port on asm9260 based
99 DEBUG_UART_PHYS | DEBUG_UART_VIRT
101 0x80000000 | 0xf0000000 | UART0
102 0x80004000 | 0xf0004000 | UART1
103 0x80008000 | 0xf0008000 | UART2
104 0x8000c000 | 0xf000c000 | UART3
105 0x80010000 | 0xf0010000 | UART4
106 0x80014000 | 0xf0014000 | UART5
107 0x80018000 | 0xf0018000 | UART6
108 0x8001c000 | 0xf001c000 | UART7
109 0x80020000 | 0xf0020000 | UART8
110 0x80024000 | 0xf0024000 | UART9
112 config DEBUG_AT91_UART
113 bool "Kernel low-level debugging on Atmel SoCs"
116 Say Y here if you want the debug print routines to direct
117 their output to the serial port on atmel devices.
119 SOC DEBUG_UART_PHYS DEBUG_UART_VIRT PORT
120 rm9200, 9260/9g20, 0xfffff200 0xfefff200 DBGU
122 9263, 9g45, sama5d3 0xffffee00 0xfeffee00 DBGU
123 sama5d4 0xfc00c000 0xfb00c000 USART3
124 sama5d4 0xfc069000 0xfb069000 DBGU
125 sama5d2 0xf8020000 0xf7020000 UART1
127 Please adjust DEBUG_UART_PHYS configuration options based on
131 bool "Kernel low-level debugging on BCM2835 PL011 UART"
132 depends on ARCH_BCM2835 && ARCH_MULTI_V6
133 select DEBUG_UART_PL01X
136 bool "Kernel low-level debugging on BCM2836 PL011 UART"
137 depends on ARCH_BCM2835 && ARCH_MULTI_V7
138 select DEBUG_UART_PL01X
140 config DEBUG_BCM_5301X
141 bool "Kernel low-level debugging on BCM5301X UART1"
142 depends on ARCH_BCM_5301X
143 select DEBUG_UART_8250
145 config DEBUG_BCM_KONA_UART
146 bool "Kernel low-level debugging messages via BCM KONA UART"
147 depends on ARCH_BCM_MOBILE
148 select DEBUG_UART_8250
150 Say Y here if you want kernel low-level debugging support
151 on Broadcom SoC platforms.
152 This low level debug works for Broadcom
153 mobile SoCs in the Kona family of chips (e.g. bcm28155,
156 config DEBUG_BCM63XX_UART
157 bool "Kernel low-level debugging on BCM63XX UART"
158 depends on ARCH_BCM_63XX
160 config DEBUG_BERLIN_UART
161 bool "Marvell Berlin SoC Debug UART"
162 depends on ARCH_BERLIN
163 select DEBUG_UART_8250
165 Say Y here if you want kernel low-level debugging support
166 on Marvell Berlin SoC based platforms.
168 config DEBUG_BRCMSTB_UART
169 bool "Use BRCMSTB UART for low-level debug"
170 depends on ARCH_BRCMSTB
171 select DEBUG_UART_8250
173 Say Y here if you want the debug print routines to direct
174 their output to the first serial port on these devices.
176 If you have a Broadcom STB chip and would like early print
177 messages to appear over the UART, select this option.
179 config DEBUG_CLPS711X_UART1
180 bool "Kernel low-level debugging messages via UART1"
181 depends on ARCH_CLPS711X
183 Say Y here if you want the debug print routines to direct
184 their output to the first serial port on these devices.
186 config DEBUG_CLPS711X_UART2
187 bool "Kernel low-level debugging messages via UART2"
188 depends on ARCH_CLPS711X
190 Say Y here if you want the debug print routines to direct
191 their output to the second serial port on these devices.
194 bool "Kernel Kernel low-level debugging on Cavium Networks CNS3xxx"
195 depends on ARCH_CNS3XXX
196 select DEBUG_UART_8250
198 Say Y here if you want the debug print routines to direct
199 their output to the CNS3xxx UART0.
201 config DEBUG_DAVINCI_DA8XX_UART1
202 bool "Kernel low-level debugging on DaVinci DA8XX using UART1"
203 depends on ARCH_DAVINCI_DA8XX
204 select DEBUG_UART_8250
206 Say Y here if you want the debug print routines to direct
207 their output to UART1 serial port on DaVinci DA8XX devices.
209 config DEBUG_DAVINCI_DA8XX_UART2
210 bool "Kernel low-level debugging on DaVinci DA8XX using UART2"
211 depends on ARCH_DAVINCI_DA8XX
212 select DEBUG_UART_8250
214 Say Y here if you want the debug print routines to direct
215 their output to UART2 serial port on DaVinci DA8XX devices.
217 config DEBUG_DAVINCI_DMx_UART0
218 bool "Kernel low-level debugging on DaVinci DMx using UART0"
219 depends on ARCH_DAVINCI_DMx
220 select DEBUG_UART_8250
222 Say Y here if you want the debug print routines to direct
223 their output to UART0 serial port on DaVinci DMx devices.
225 config DEBUG_DC21285_PORT
226 bool "Kernel low-level debugging messages via footbridge serial port"
227 depends on FOOTBRIDGE
229 Say Y here if you want the debug print routines to direct
230 their output to the serial port in the DC21285 (Footbridge).
232 config DEBUG_DIGICOLOR_UA0
233 bool "Kernel low-level debugging messages via Digicolor UA0"
234 depends on ARCH_DIGICOLOR
236 Say Y here if you want the debug print routines to direct
237 their output to the UA0 serial port in the CX92755.
240 bool "Kernel low-level debugging messages via ep93xx UART"
241 depends on ARCH_EP93XX
242 select DEBUG_UART_PL01X
244 Say Y here if you want kernel low-level debugging support
245 on Cirrus Logic EP93xx based platforms.
247 config DEBUG_FOOTBRIDGE_COM1
248 bool "Kernel low-level debugging messages via footbridge 8250 at PCI COM1"
249 depends on FOOTBRIDGE
250 select DEBUG_UART_8250
252 Say Y here if you want the debug print routines to direct
253 their output to the 8250 at PCI COM1.
256 bool "Kernel low-level debugging messages via Cortina Systems Gemini UART"
257 depends on ARCH_GEMINI
258 select DEBUG_UART_8250
260 Say Y here if you want kernel low-level debugging support
261 on Cortina Gemini based platforms.
263 config DEBUG_HI3620_UART
264 bool "Hisilicon HI3620 Debug UART"
265 depends on ARCH_HI3xxx
266 select DEBUG_UART_PL01X
268 Say Y here if you want kernel low-level debugging support
271 config DEBUG_HIGHBANK_UART
272 bool "Kernel low-level debugging messages via Highbank UART"
273 depends on ARCH_HIGHBANK
274 select DEBUG_UART_PL01X
276 Say Y here if you want the debug print routines to direct
277 their output to the UART on Highbank based devices.
279 config DEBUG_HIP01_UART
280 bool "Hisilicon Hip01 Debug UART"
281 depends on ARCH_HIP01
282 select DEBUG_UART_8250
284 Say Y here if you want kernel low-level debugging support
287 config DEBUG_HIP04_UART
288 bool "Hisilicon HiP04 Debug UART"
289 depends on ARCH_HIP04
290 select DEBUG_UART_8250
292 Say Y here if you want kernel low-level debugging support
295 config DEBUG_HIX5HD2_UART
296 bool "Hisilicon Hix5hd2 Debug UART"
297 depends on ARCH_HIX5HD2
298 select DEBUG_UART_PL01X
300 Say Y here if you want kernel low-level debugging support
303 config DEBUG_IMX1_UART
304 bool "i.MX1 Debug UART"
307 Say Y here if you want kernel low-level debugging support
310 config DEBUG_IMX23_UART
311 bool "i.MX23 Debug UART"
313 select DEBUG_UART_PL01X
315 Say Y here if you want kernel low-level debugging support
318 config DEBUG_IMX25_UART
319 bool "i.MX25 Debug UART"
322 Say Y here if you want kernel low-level debugging support
325 config DEBUG_IMX21_IMX27_UART
326 bool "i.MX21 and i.MX27 Debug UART"
327 depends on SOC_IMX21 || SOC_IMX27
329 Say Y here if you want kernel low-level debugging support
332 config DEBUG_IMX28_UART
333 bool "i.MX28 Debug UART"
335 select DEBUG_UART_PL01X
337 Say Y here if you want kernel low-level debugging support
340 config DEBUG_IMX31_UART
341 bool "i.MX31 Debug UART"
344 Say Y here if you want kernel low-level debugging support
347 config DEBUG_IMX35_UART
348 bool "i.MX35 Debug UART"
351 Say Y here if you want kernel low-level debugging support
354 config DEBUG_IMX50_UART
355 bool "i.MX50 Debug UART"
358 Say Y here if you want kernel low-level debugging support
361 config DEBUG_IMX51_UART
362 bool "i.MX51 Debug UART"
365 Say Y here if you want kernel low-level debugging support
368 config DEBUG_IMX53_UART
369 bool "i.MX53 Debug UART"
372 Say Y here if you want kernel low-level debugging support
375 config DEBUG_IMX6Q_UART
376 bool "i.MX6Q/DL Debug UART"
379 Say Y here if you want kernel low-level debugging support
382 config DEBUG_IMX6SL_UART
383 bool "i.MX6SL Debug UART"
384 depends on SOC_IMX6SL
386 Say Y here if you want kernel low-level debugging support
389 config DEBUG_IMX6SX_UART
390 bool "i.MX6SX Debug UART"
391 depends on SOC_IMX6SX
393 Say Y here if you want kernel low-level debugging support
396 config DEBUG_IMX6UL_UART
397 bool "i.MX6UL Debug UART"
398 depends on SOC_IMX6UL
400 Say Y here if you want kernel low-level debugging support
403 config DEBUG_IMX7D_UART
404 bool "i.MX7D Debug UART"
407 Say Y here if you want kernel low-level debugging support
410 config DEBUG_INTEGRATOR
411 bool "Kernel low-level debugging messages via ARM Integrator UART"
412 depends on ARCH_INTEGRATOR
413 select DEBUG_UART_PL01X
415 Say Y here if you want kernel low-level debugging support
416 on ARM Integrator platforms.
418 config DEBUG_KEYSTONE_UART0
419 bool "Kernel low-level debugging on KEYSTONE2 using UART0"
420 depends on ARCH_KEYSTONE
421 select DEBUG_UART_8250
423 Say Y here if you want the debug print routines to direct
424 their output to UART0 serial port on KEYSTONE2 devices.
426 config DEBUG_KEYSTONE_UART1
427 bool "Kernel low-level debugging on KEYSTONE2 using UART1"
428 depends on ARCH_KEYSTONE
429 select DEBUG_UART_8250
431 Say Y here if you want the debug print routines to direct
432 their output to UART1 serial port on KEYSTONE2 devices.
434 config DEBUG_KS8695_UART
435 bool "KS8695 Debug UART"
436 depends on ARCH_KS8695
438 Say Y here if you want kernel low-level debugging support
441 config DEBUG_LPC18XX_UART0
442 bool "Kernel low-level debugging via LPC18xx/43xx UART0"
443 depends on ARCH_LPC18XX
444 select DEBUG_UART_8250
446 Say Y here if you want kernel low-level debugging support
447 on NXP LPC18xx/43xx UART0.
450 bool "Kernel low-level debugging messages via NXP LPC32xx UART"
451 depends on ARCH_LPC32XX
452 select DEBUG_UART_8250
454 Say Y here if you want kernel low-level debugging support
455 on NXP LPC32xx based platforms.
457 config DEBUG_MESON_UARTAO
458 bool "Kernel low-level debugging via Meson6 UARTAO"
459 depends on ARCH_MESON
461 Say Y here if you want kernel low-lever debugging support
462 on Amlogic Meson6 based platforms on the UARTAO.
464 config DEBUG_MMP_UART2
465 bool "Kernel low-level debugging message via MMP UART2"
467 select DEBUG_UART_8250
469 Say Y here if you want kernel low-level debugging support
472 config DEBUG_MMP_UART3
473 bool "Kernel low-level debugging message via MMP UART3"
475 select DEBUG_UART_8250
477 Say Y here if you want kernel low-level debugging support
480 config DEBUG_MVEBU_UART0
481 bool "Kernel low-level debugging messages via MVEBU UART0 (old bootloaders)"
482 depends on ARCH_MVEBU
483 depends on ARCH_MVEBU && CPU_V7
484 select DEBUG_UART_8250
486 Say Y here if you want kernel low-level debugging support
487 on MVEBU based platforms on UART0.
489 This option should be used with the old bootloaders
490 that left the internal registers mapped at
491 0xd0000000. As of today, this is the case on
492 platforms such as the Globalscale Mirabox or the
493 Plathome OpenBlocks AX3, when using the original
496 This option will not work on older Marvell platforms
497 (Kirkwood, Dove, MV78xx0, Orion5x), which should pick
498 the "new bootloader" variant.
500 If the wrong DEBUG_MVEBU_UART* option is selected,
501 when u-boot hands over to the kernel, the system
502 silently crashes, with no serial output at all.
504 config DEBUG_MVEBU_UART0_ALTERNATE
505 bool "Kernel low-level debugging messages via MVEBU UART0 (new bootloaders)"
506 depends on ARCH_MVEBU || ARCH_DOVE || ARCH_MV78XX0 || ARCH_ORION5X
507 select DEBUG_UART_8250
509 Say Y here if you want kernel low-level debugging support
510 on MVEBU based platforms on UART0. (Armada XP, Armada 3xx,
511 Kirkwood, Dove, MV78xx0, Orion5x).
514 This option should be used with the new bootloaders
515 that remap the internal registers at 0xf1000000.
517 If the wrong DEBUG_MVEBU_UART* option is selected,
518 when u-boot hands over to the kernel, the system
519 silently crashes, with no serial output at all.
521 config DEBUG_MVEBU_UART1_ALTERNATE
522 bool "Kernel low-level debugging messages via MVEBU UART1 (new bootloaders)"
523 depends on ARCH_MVEBU
524 select DEBUG_UART_8250
526 Say Y here if you want kernel low-level debugging support
527 on MVEBU based platforms on UART1. (Armada XP, Armada 3xx,
528 Kirkwood, Dove, MV78xx0, Orion5x).
530 This option should be used with the new bootloaders
531 that remap the internal registers at 0xf1000000.
532 All of the older (pre Armada XP/370) platforms also use
533 this address, regardless of the boot loader version.
535 If the wrong DEBUG_MVEBU_UART* option is selected,
536 when u-boot hands over to the kernel, the system
537 silently crashes, with no serial output at all.
539 config DEBUG_MT6589_UART0
540 bool "Mediatek mt6589 UART0"
541 depends on ARCH_MEDIATEK
542 select DEBUG_UART_8250
544 Say Y here if you want kernel low-level debugging support
545 for Mediatek mt6589 based platforms on UART0.
547 config DEBUG_MT8127_UART0
548 bool "Mediatek mt8127/mt6592 UART0"
549 depends on ARCH_MEDIATEK
550 select DEBUG_UART_8250
552 Say Y here if you want kernel low-level debugging support
553 for Mediatek mt8127 based platforms on UART0.
555 config DEBUG_MT8135_UART3
556 bool "Mediatek mt8135 UART3"
557 depends on ARCH_MEDIATEK
558 select DEBUG_UART_8250
560 Say Y here if you want kernel low-level debugging support
561 for Mediatek mt8135 based platforms on UART3.
563 config DEBUG_NETX_UART
564 bool "Kernel low-level debugging messages via NetX UART"
567 Say Y here if you want kernel low-level debugging support
568 on Hilscher NetX based platforms.
570 config DEBUG_NOMADIK_UART
571 bool "Kernel low-level debugging messages via NOMADIK UART"
572 depends on ARCH_NOMADIK
573 select DEBUG_UART_PL01X
575 Say Y here if you want kernel low-level debugging support
576 on NOMADIK based platforms.
578 config DEBUG_NSPIRE_CLASSIC_UART
579 bool "Kernel low-level debugging via TI-NSPIRE 8250 UART"
580 depends on ARCH_NSPIRE
581 select DEBUG_UART_8250
583 Say Y here if you want kernel low-level debugging support
584 on TI-NSPIRE classic models.
586 config DEBUG_NSPIRE_CX_UART
587 bool "Kernel low-level debugging via TI-NSPIRE PL011 UART"
588 depends on ARCH_NSPIRE
589 select DEBUG_UART_PL01X
591 Say Y here if you want kernel low-level debugging support
592 on TI-NSPIRE CX models.
594 config DEBUG_OMAP1UART1
595 bool "Kernel low-level debugging via OMAP1 UART1"
596 depends on ARCH_OMAP1
597 select DEBUG_UART_8250
599 Say Y here if you want kernel low-level debugging support
600 on OMAP1 based platforms (except OMAP730) on the UART1.
602 config DEBUG_OMAP1UART2
603 bool "Kernel low-level debugging via OMAP1 UART2"
604 depends on ARCH_OMAP1
605 select DEBUG_UART_8250
607 Say Y here if you want kernel low-level debugging support
608 on OMAP1 based platforms (except OMAP730) on the UART2.
610 config DEBUG_OMAP1UART3
611 bool "Kernel low-level debugging via OMAP1 UART3"
612 depends on ARCH_OMAP1
613 select DEBUG_UART_8250
615 Say Y here if you want kernel low-level debugging support
616 on OMAP1 based platforms (except OMAP730) on the UART3.
618 config DEBUG_OMAP2UART1
619 bool "OMAP2/3/4 UART1 (omap2/3 sdp boards and some omap3 boards)"
620 depends on ARCH_OMAP2PLUS
621 select DEBUG_OMAP2PLUS_UART
623 This covers at least h4, 2430sdp, 3430sdp, 3630sdp,
624 omap3 torpedo and 3530 lv som.
626 config DEBUG_OMAP2UART2
627 bool "Kernel low-level debugging messages via OMAP2/3/4 UART2"
628 depends on ARCH_OMAP2PLUS
629 select DEBUG_OMAP2PLUS_UART
631 config DEBUG_OMAP2UART3
632 bool "Kernel low-level debugging messages via OMAP2 UART3 (n8x0)"
633 depends on ARCH_OMAP2PLUS
634 select DEBUG_OMAP2PLUS_UART
636 config DEBUG_OMAP3UART3
637 bool "Kernel low-level debugging messages via OMAP3 UART3 (most omap3 boards)"
638 depends on ARCH_OMAP2PLUS
639 select DEBUG_OMAP2PLUS_UART
641 This covers at least cm_t3x, beagle, crane, devkit8000,
642 igep00x0, ldp, n900, n9(50), pandora, overo, touchbook,
645 config DEBUG_OMAP4UART3
646 bool "Kernel low-level debugging messages via OMAP4/5 UART3 (omap4 blaze, panda, omap5 sevm)"
647 depends on ARCH_OMAP2PLUS
648 select DEBUG_OMAP2PLUS_UART
650 config DEBUG_OMAP3UART4
651 bool "Kernel low-level debugging messages via OMAP36XX UART4"
652 depends on ARCH_OMAP2PLUS
653 select DEBUG_OMAP2PLUS_UART
655 config DEBUG_OMAP4UART4
656 bool "Kernel low-level debugging messages via OMAP4/5 UART4"
657 depends on ARCH_OMAP2PLUS
658 select DEBUG_OMAP2PLUS_UART
660 config DEBUG_OMAP7XXUART1
661 bool "Kernel low-level debugging via OMAP730 UART1"
662 depends on ARCH_OMAP730
663 select DEBUG_UART_8250
665 Say Y here if you want kernel low-level debugging support
666 on OMAP730 based platforms on the UART1.
668 config DEBUG_OMAP7XXUART2
669 bool "Kernel low-level debugging via OMAP730 UART2"
670 depends on ARCH_OMAP730
671 select DEBUG_UART_8250
673 Say Y here if you want kernel low-level debugging support
674 on OMAP730 based platforms on the UART2.
676 config DEBUG_OMAP7XXUART3
677 bool "Kernel low-level debugging via OMAP730 UART3"
678 depends on ARCH_OMAP730
679 select DEBUG_UART_8250
681 Say Y here if you want kernel low-level debugging support
682 on OMAP730 based platforms on the UART3.
684 config DEBUG_TI81XXUART1
685 bool "Kernel low-level debugging messages via TI81XX UART1 (ti8148evm)"
686 depends on ARCH_OMAP2PLUS
687 select DEBUG_OMAP2PLUS_UART
689 config DEBUG_TI81XXUART2
690 bool "Kernel low-level debugging messages via TI81XX UART2"
691 depends on ARCH_OMAP2PLUS
692 select DEBUG_OMAP2PLUS_UART
694 config DEBUG_TI81XXUART3
695 bool "Kernel low-level debugging messages via TI81XX UART3 (ti8168evm)"
696 depends on ARCH_OMAP2PLUS
697 select DEBUG_OMAP2PLUS_UART
699 config DEBUG_AM33XXUART1
700 bool "Kernel low-level debugging messages via AM33XX UART1"
701 depends on ARCH_OMAP2PLUS
702 select DEBUG_OMAP2PLUS_UART
704 config DEBUG_ZOOM_UART
705 bool "Kernel low-level debugging messages via Zoom2/3 UART"
706 depends on ARCH_OMAP2PLUS
707 select DEBUG_OMAP2PLUS_UART
709 config DEBUG_PICOXCELL_UART
710 depends on ARCH_PICOXCELL
711 bool "Use PicoXcell UART for low-level debug"
712 select DEBUG_UART_8250
714 Say Y here if you want kernel low-level debugging support
715 on PicoXcell based platforms.
717 config DEBUG_PXA_UART1
719 bool "Use PXA UART1 for low-level debug"
720 select DEBUG_UART_8250
722 Say Y here if you want kernel low-level debugging support
725 config DEBUG_QCOM_UARTDM
726 bool "Kernel low-level debugging messages via QCOM UARTDM"
729 Say Y here if you want the debug print routines to direct
730 their output to the serial port on Qualcomm devices.
732 ARCH DEBUG_UART_PHYS DEBUG_UART_VIRT
733 APQ8064 0x16640000 0xf0040000
734 APQ8084 0xf995e000 0xfa75e000
735 MSM8X60 0x19c40000 0xf0040000
736 MSM8960 0x16440000 0xf0040000
737 MSM8974 0xf991e000 0xfa71e000
739 Please adjust DEBUG_UART_PHYS and DEBUG_UART_BASE configuration
740 options based on your needs.
742 config DEBUG_REALVIEW_STD_PORT
743 bool "RealView Default UART"
744 depends on ARCH_REALVIEW
745 select DEBUG_UART_PL01X
747 Say Y here if you want the debug print routines to direct
748 their output to the serial port on RealView EB, PB11MP, PBA8
751 config DEBUG_REALVIEW_PB1176_PORT
752 bool "RealView PB1176 UART"
753 depends on MACH_REALVIEW_PB1176
754 select DEBUG_UART_PL01X
756 Say Y here if you want the debug print routines to direct
757 their output to the standard serial port on the RealView
760 config DEBUG_RK29_UART0
761 bool "Kernel low-level debugging messages via Rockchip RK29 UART0"
762 depends on ARCH_ROCKCHIP
763 select DEBUG_UART_8250
765 Say Y here if you want kernel low-level debugging support
766 on Rockchip based platforms.
768 config DEBUG_RK29_UART1
769 bool "Kernel low-level debugging messages via Rockchip RK29 UART1"
770 depends on ARCH_ROCKCHIP
771 select DEBUG_UART_8250
773 Say Y here if you want kernel low-level debugging support
774 on Rockchip based platforms.
776 config DEBUG_RK29_UART2
777 bool "Kernel low-level debugging messages via Rockchip RK29 UART2"
778 depends on ARCH_ROCKCHIP
779 select DEBUG_UART_8250
781 Say Y here if you want kernel low-level debugging support
782 on Rockchip based platforms.
784 config DEBUG_RK3X_UART0
785 bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART0"
786 depends on ARCH_ROCKCHIP
787 select DEBUG_UART_8250
789 Say Y here if you want kernel low-level debugging support
790 on Rockchip based platforms.
792 config DEBUG_RK3X_UART1
793 bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART1"
794 depends on ARCH_ROCKCHIP
795 select DEBUG_UART_8250
797 Say Y here if you want kernel low-level debugging support
798 on Rockchip based platforms.
800 config DEBUG_RK3X_UART2
801 bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART2"
802 depends on ARCH_ROCKCHIP
803 select DEBUG_UART_8250
805 Say Y here if you want kernel low-level debugging support
806 on Rockchip based platforms.
808 config DEBUG_RK3X_UART3
809 bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART3"
810 depends on ARCH_ROCKCHIP
811 select DEBUG_UART_8250
813 Say Y here if you want kernel low-level debugging support
814 on Rockchip based platforms.
816 config DEBUG_RK32_UART2
817 bool "Kernel low-level debugging messages via Rockchip RK32 UART2"
818 depends on ARCH_ROCKCHIP
819 select DEBUG_UART_8250
821 Say Y here if you want kernel low-level debugging support
822 on Rockchip RK32xx based platforms.
824 config DEBUG_R7S72100_SCIF2
825 bool "Kernel low-level debugging messages via SCIF2 on R7S72100"
826 depends on ARCH_R7S72100
828 Say Y here if you want kernel low-level debugging support
829 via SCIF2 on Renesas RZ/A1H (R7S72100).
831 config DEBUG_RCAR_GEN1_SCIF0
832 bool "Kernel low-level debugging messages via SCIF0 on R8A7778"
833 depends on ARCH_R8A7778
835 Say Y here if you want kernel low-level debugging support
836 via SCIF0 on Renesas R-Car M1A (R8A7778).
838 config DEBUG_RCAR_GEN1_SCIF2
839 bool "Kernel low-level debugging messages via SCIF2 on R8A7779"
840 depends on ARCH_R8A7779
842 Say Y here if you want kernel low-level debugging support
843 via SCIF2 on Renesas R-Car H1 (R8A7779).
845 config DEBUG_RCAR_GEN2_SCIF0
846 bool "Kernel low-level debugging messages via SCIF0 on R8A7790/R8A7791/R8A7793"
847 depends on ARCH_R8A7790 || ARCH_R8A7791 || ARCH_R8A7793
849 Say Y here if you want kernel low-level debugging support
850 via SCIF0 on Renesas R-Car H2 (R8A7790), M2-W (R8A7791), or
853 config DEBUG_RCAR_GEN2_SCIF2
854 bool "Kernel low-level debugging messages via SCIF2 on R8A7794"
855 depends on ARCH_R8A7794
857 Say Y here if you want kernel low-level debugging support
858 via SCIF2 on Renesas R-Car E2 (R8A7794).
860 config DEBUG_RMOBILE_SCIFA0
861 bool "Kernel low-level debugging messages via SCIFA0 on R8A73A4"
862 depends on ARCH_R8A73A4
864 Say Y here if you want kernel low-level debugging support
865 via SCIFA0 on Renesas R-Mobile APE6 (R8A73A4).
867 config DEBUG_RMOBILE_SCIFA1
868 bool "Kernel low-level debugging messages via SCIFA1 on R8A7740"
869 depends on ARCH_R8A7740
871 Say Y here if you want kernel low-level debugging support
872 via SCIFA1 on Renesas R-Mobile A1 (R8A7740).
874 config DEBUG_RMOBILE_SCIFA4
875 bool "Kernel low-level debugging messages via SCIFA4 on SH73A0"
876 depends on ARCH_SH73A0
878 Say Y here if you want kernel low-level debugging support
879 via SCIFA4 on Renesas SH-Mobile AG5 (SH73A0).
881 config DEBUG_S3C_UART0
882 depends on PLAT_SAMSUNG
883 select DEBUG_EXYNOS_UART if ARCH_EXYNOS
884 select DEBUG_S3C24XX_UART if ARCH_S3C24XX
885 select DEBUG_S3C64XX_UART if ARCH_S3C64XX
886 select DEBUG_S5PV210_UART if ARCH_S5PV210
887 bool "Use Samsung S3C UART 0 for low-level debug"
889 Say Y here if you want the debug print routines to direct
890 their output to UART 0. The port must have been initialised
891 by the boot-loader before use.
893 config DEBUG_S3C_UART1
894 depends on PLAT_SAMSUNG
895 select DEBUG_EXYNOS_UART if ARCH_EXYNOS
896 select DEBUG_S3C24XX_UART if ARCH_S3C24XX
897 select DEBUG_S3C64XX_UART if ARCH_S3C64XX
898 select DEBUG_S5PV210_UART if ARCH_S5PV210
899 bool "Use Samsung S3C UART 1 for low-level debug"
901 Say Y here if you want the debug print routines to direct
902 their output to UART 1. The port must have been initialised
903 by the boot-loader before use.
905 config DEBUG_S3C_UART2
906 depends on PLAT_SAMSUNG
907 select DEBUG_EXYNOS_UART if ARCH_EXYNOS
908 select DEBUG_S3C24XX_UART if ARCH_S3C24XX
909 select DEBUG_S3C64XX_UART if ARCH_S3C64XX
910 select DEBUG_S5PV210_UART if ARCH_S5PV210
911 bool "Use Samsung S3C UART 2 for low-level debug"
913 Say Y here if you want the debug print routines to direct
914 their output to UART 2. The port must have been initialised
915 by the boot-loader before use.
917 config DEBUG_S3C_UART3
918 depends on PLAT_SAMSUNG && (ARCH_EXYNOS || ARCH_S5PV210)
919 select DEBUG_EXYNOS_UART if ARCH_EXYNOS
920 select DEBUG_S3C64XX_UART if ARCH_S3C64XX
921 select DEBUG_S5PV210_UART if ARCH_S5PV210
922 bool "Use Samsung S3C UART 3 for low-level debug"
924 Say Y here if you want the debug print routines to direct
925 their output to UART 3. The port must have been initialised
926 by the boot-loader before use.
928 config DEBUG_S3C2410_UART0
929 depends on ARCH_S3C24XX
930 select DEBUG_S3C2410_UART
931 bool "Use S3C2410/S3C2412 UART 0 for low-level debug"
933 Say Y here if you want the debug print routines to direct
934 their output to UART 0. The port must have been initialised
935 by the boot-loader before use.
937 config DEBUG_S3C2410_UART1
938 depends on ARCH_S3C24XX
939 select DEBUG_S3C2410_UART
940 bool "Use S3C2410/S3C2412 UART 1 for low-level debug"
942 Say Y here if you want the debug print routines to direct
943 their output to UART 1. The port must have been initialised
944 by the boot-loader before use.
946 config DEBUG_S3C2410_UART2
947 depends on ARCH_S3C24XX
948 select DEBUG_S3C2410_UART
949 bool "Use S3C2410/S3C2412 UART 2 for low-level debug"
951 Say Y here if you want the debug print routines to direct
952 their output to UART 2. The port must have been initialised
953 by the boot-loader before use.
956 depends on ARCH_SA1100
957 bool "Use SA1100 UARTs for low-level debug"
959 Say Y here if you want kernel low-level debugging support
960 on SA-11x0 UART ports. The kernel will check for the first
961 enabled UART in a sequence 3-1-2.
963 config DEBUG_SOCFPGA_UART0
964 depends on ARCH_SOCFPGA
965 bool "Use SOCFPGA UART0 for low-level debug"
966 select DEBUG_UART_8250
968 Say Y here if you want kernel low-level debugging support
969 on SOCFPGA(Cyclone 5 and Arria 5) based platforms.
971 config DEBUG_SOCFPGA_UART1
972 depends on ARCH_SOCFPGA
973 bool "Use SOCFPGA UART1 for low-level debug"
974 select DEBUG_UART_8250
976 Say Y here if you want kernel low-level debugging support
977 on SOCFPGA(Arria 10) based platforms.
980 config DEBUG_SUN9I_UART0
981 bool "Kernel low-level debugging messages via sun9i UART0"
982 depends on MACH_SUN9I
983 select DEBUG_UART_8250
985 Say Y here if you want kernel low-level debugging support
986 on Allwinner A80 based platforms on the UART0.
988 config DEBUG_SUNXI_UART0
989 bool "Kernel low-level debugging messages via sunXi UART0"
990 depends on ARCH_SUNXI
991 select DEBUG_UART_8250
993 Say Y here if you want kernel low-level debugging support
994 on Allwinner A1X based platforms on the UART0.
996 config DEBUG_SUNXI_UART1
997 bool "Kernel low-level debugging messages via sunXi UART1"
998 depends on ARCH_SUNXI
999 select DEBUG_UART_8250
1001 Say Y here if you want kernel low-level debugging support
1002 on Allwinner A1X based platforms on the UART1.
1004 config DEBUG_SUNXI_R_UART
1005 bool "Kernel low-level debugging messages via sunXi R_UART"
1006 depends on MACH_SUN6I || MACH_SUN8I
1007 select DEBUG_UART_8250
1009 Say Y here if you want kernel low-level debugging support
1010 on Allwinner A31/A23 based platforms on the R_UART.
1012 config DEBUG_SIRFPRIMA2_UART1
1013 bool "Kernel low-level debugging messages via SiRFprimaII UART1"
1014 depends on ARCH_PRIMA2
1015 select DEBUG_SIRFSOC_UART
1017 Say Y here if you want the debug print routines to direct
1018 their output to the uart1 port on SiRFprimaII devices.
1020 config DEBUG_SIRFATLAS7_UART0
1021 bool "Kernel low-level debugging messages via SiRFatlas7 UART0"
1022 depends on ARCH_ATLAS7
1023 select DEBUG_SIRFSOC_UART
1025 Say Y here if you want the debug print routines to direct
1026 their output to the uart0 port on SiRFATLAS7 devices.The uart0
1027 is used on SiRFATLAS7 as a extra debug port.sometimes an extra
1028 debug port can be very useful.
1030 config DEBUG_SIRFATLAS7_UART1
1031 bool "Kernel low-level debugging messages via SiRFatlas7 UART1"
1032 depends on ARCH_ATLAS7
1033 select DEBUG_SIRFSOC_UART
1035 Say Y here if you want the debug print routines to direct
1036 their output to the uart1 port on SiRFATLAS7 devices.
1038 config DEBUG_SPEAR3XX
1039 bool "Kernel low-level debugging messages via ST SPEAr 3xx/6xx UART"
1040 depends on ARCH_SPEAR3XX || ARCH_SPEAR6XX
1041 select DEBUG_UART_PL01X
1043 Say Y here if you want kernel low-level debugging support
1044 on ST SPEAr based platforms.
1046 config DEBUG_SPEAR13XX
1047 bool "Kernel low-level debugging messages via ST SPEAr 13xx UART"
1048 depends on ARCH_SPEAR13XX
1049 select DEBUG_UART_PL01X
1051 Say Y here if you want kernel low-level debugging support
1052 on ST SPEAr13xx based platforms.
1054 config STIH41X_DEBUG_ASC2
1055 bool "Use StiH415/416 ASC2 UART for low-level debug"
1057 select DEBUG_STI_UART
1059 Say Y here if you want kernel low-level debugging support
1060 on STiH415/416 based platforms like b2000, which has
1061 default UART wired up to ASC2.
1065 config STIH41X_DEBUG_SBC_ASC1
1066 bool "Use StiH415/416 SBC ASC1 UART for low-level debug"
1068 select DEBUG_STI_UART
1070 Say Y here if you want kernel low-level debugging support
1071 on STiH415/416 based platforms like b2020. which has
1072 default UART wired up to SBC ASC1.
1076 config TEGRA_DEBUG_UART_AUTO_ODMDATA
1077 bool "Kernel low-level debugging messages via Tegra UART via ODMDATA"
1078 depends on ARCH_TEGRA
1079 select DEBUG_TEGRA_UART
1081 Automatically determines which UART to use for low-level
1082 debug based on the ODMDATA value. This value is part of
1083 the BCT, and is written to the boot memory device using
1084 nvflash, or other flashing tool. When bits 19:18 are 3,
1085 then bits 17:15 indicate which UART to use; 0/1/2/3/4
1088 config TEGRA_DEBUG_UARTA
1089 bool "Kernel low-level debugging messages via Tegra UART A"
1090 depends on ARCH_TEGRA
1091 select DEBUG_TEGRA_UART
1093 Say Y here if you want kernel low-level debugging support
1094 on Tegra based platforms.
1096 config TEGRA_DEBUG_UARTB
1097 bool "Kernel low-level debugging messages via Tegra UART B"
1098 depends on ARCH_TEGRA
1099 select DEBUG_TEGRA_UART
1101 Say Y here if you want kernel low-level debugging support
1102 on Tegra based platforms.
1104 config TEGRA_DEBUG_UARTC
1105 bool "Kernel low-level debugging messages via Tegra UART C"
1106 depends on ARCH_TEGRA
1107 select DEBUG_TEGRA_UART
1109 Say Y here if you want kernel low-level debugging support
1110 on Tegra based platforms.
1112 config TEGRA_DEBUG_UARTD
1113 bool "Kernel low-level debugging messages via Tegra UART D"
1114 depends on ARCH_TEGRA
1115 select DEBUG_TEGRA_UART
1117 Say Y here if you want kernel low-level debugging support
1118 on Tegra based platforms.
1120 config TEGRA_DEBUG_UARTE
1121 bool "Kernel low-level debugging messages via Tegra UART E"
1122 depends on ARCH_TEGRA
1123 select DEBUG_TEGRA_UART
1125 Say Y here if you want kernel low-level debugging support
1126 on Tegra based platforms.
1128 config DEBUG_U300_UART
1129 bool "Kernel low-level debugging messages via U300 UART0"
1130 depends on ARCH_U300
1131 select DEBUG_UART_PL01X
1133 Say Y here if you want the debug print routines to direct
1134 their output to the uart port on U300 devices.
1136 config DEBUG_UX500_UART
1137 depends on ARCH_U8500
1138 bool "Use Ux500 UART for low-level debug"
1140 Say Y here if you want kernel low-level debugging support
1141 on Ux500 based platforms.
1143 config DEBUG_VERSATILE
1144 bool "Kernel low-level debugging messages via ARM Versatile UART"
1145 depends on ARCH_VERSATILE
1146 select DEBUG_UART_PL01X
1148 Say Y here if you want kernel low-level debugging support
1149 on ARM Versatile platforms.
1151 config DEBUG_VEXPRESS_UART0_DETECT
1152 bool "Autodetect UART0 on Versatile Express Cortex-A core tiles"
1153 depends on ARCH_VEXPRESS && CPU_CP15_MMU
1155 This option enables a simple heuristic which tries to determine
1156 the motherboard's memory map variant (original or RS1) and then
1157 choose the relevant UART0 base address.
1159 Note that this will only work with standard A-class core tiles,
1160 and may fail with non-standard SMM or custom software models.
1162 config DEBUG_VEXPRESS_UART0_CA9
1163 bool "Use PL011 UART0 at 0x10009000 (V2P-CA9 core tile)"
1164 depends on ARCH_VEXPRESS
1165 select DEBUG_UART_PL01X
1167 This option selects UART0 at 0x10009000. Except for custom models,
1168 this applies only to the V2P-CA9 tile.
1170 config DEBUG_VEXPRESS_UART0_RS1
1171 bool "Use PL011 UART0 at 0x1c090000 (RS1 complaint tiles)"
1172 depends on ARCH_VEXPRESS
1173 select DEBUG_UART_PL01X
1175 This option selects UART0 at 0x1c090000. This applies to most
1176 of the tiles using the RS1 memory map, including all new A-class
1177 core tiles, FPGA-based SMMs and software models.
1179 config DEBUG_VEXPRESS_UART0_CRX
1180 bool "Use PL011 UART0 at 0xb0090000 (Cortex-R compliant tiles)"
1181 depends on ARCH_VEXPRESS && !MMU
1182 select DEBUG_UART_PL01X
1184 This option selects UART0 at 0xb0090000. This is appropriate for
1185 Cortex-R series tiles and SMMs, such as Cortex-R5 and Cortex-R7
1187 config DEBUG_VF_UART
1189 depends on SOC_VF610
1191 Say Y here if you want kernel low-level debugging support
1192 on Vybrid based platforms.
1194 config DEBUG_VT8500_UART0
1195 bool "Use UART0 on VIA/Wondermedia SoCs"
1196 depends on ARCH_VT8500
1198 This option selects UART0 on VIA/Wondermedia System-on-a-chip
1199 devices, including VT8500, WM8505, WM8650 and WM8850.
1202 bool "Use ZTE ZX UART"
1203 select DEBUG_UART_PL01X
1206 Say Y here if you are enabling ZTE ZX296702 SOC and need
1209 This option is preferred over the platform specific
1210 options; the platform specific options are deprecated
1211 and will be soon removed.
1213 config DEBUG_ZYNQ_UART0
1214 bool "Kernel low-level debugging on Xilinx Zynq using UART0"
1215 depends on ARCH_ZYNQ
1217 Say Y here if you want the debug print routines to direct
1218 their output to UART0 on the Zynq platform.
1220 config DEBUG_ZYNQ_UART1
1221 bool "Kernel low-level debugging on Xilinx Zynq using UART1"
1222 depends on ARCH_ZYNQ
1224 Say Y here if you want the debug print routines to direct
1225 their output to UART1 on the Zynq platform.
1227 If you have a ZC702 board and want early boot messages to
1228 appear on the USB serial adaptor, select this option.
1231 bool "Kernel low-level debugging via EmbeddedICE DCC channel"
1233 Say Y here if you want the debug print routines to direct
1234 their output to the EmbeddedICE macrocell's DCC channel using
1235 co-processor 14. This is known to work on the ARM9 style ICE
1236 channel and on the XScale with the PEEDI.
1238 Note that the system will appear to hang during boot if there
1239 is nothing connected to read from the DCC.
1241 config DEBUG_SEMIHOSTING
1242 bool "Kernel low-level debug output via semihosting I/O"
1244 Semihosting enables code running on an ARM target to use
1245 the I/O facilities on a host debugger/emulator through a
1246 simple SVC call. The host debugger or emulator must have
1247 semihosting enabled for the special svc call to be trapped
1248 otherwise the kernel will crash.
1250 This is known to work with OpenOCD, as well as
1251 ARM's Fast Models, or any other controlling environment
1252 that implements semihosting.
1254 For more details about semihosting, please see
1255 chapter 8 of DUI0203I_rvct_developer_guide.pdf from ARM Ltd.
1257 config DEBUG_LL_UART_8250
1258 bool "Kernel low-level debugging via 8250 UART"
1260 Say Y here if you wish the debug print routes to direct
1261 their output to an 8250 UART. You can use this option
1262 to provide the parameters for the 8250 UART rather than
1263 selecting one of the platform specific options above if
1264 you know the parameters for the port.
1266 This option is preferred over the platform specific
1267 options; the platform specific options are deprecated
1268 and will be soon removed.
1270 config DEBUG_LL_UART_EFM32
1271 bool "Kernel low-level debugging via efm32 UART"
1272 depends on ARCH_EFM32
1274 Say Y here if you want the debug print routines to direct
1275 their output to an UART or USART port on efm32 based
1276 machines. Use the following addresses for DEBUG_UART_PHYS:
1284 config DEBUG_LL_UART_PL01X
1285 bool "Kernel low-level debugging via ARM Ltd PL01x Primecell UART"
1287 Say Y here if you wish the debug print routes to direct
1288 their output to a PL01x Primecell UART. You can use
1289 this option to provide the parameters for the UART
1290 rather than selecting one of the platform specific
1291 options above if you know the parameters for the port.
1293 This option is preferred over the platform specific
1294 options; the platform specific options are deprecated
1295 and will be soon removed.
1299 config DEBUG_EXYNOS_UART
1302 config DEBUG_S3C2410_UART
1304 select DEBUG_S3C24XX_UART
1306 config DEBUG_S3C24XX_UART
1309 config DEBUG_S3C64XX_UART
1312 config DEBUG_S5PV210_UART
1315 config DEBUG_OMAP2PLUS_UART
1317 depends on ARCH_OMAP2PLUS
1319 config DEBUG_IMX_UART_PORT
1320 int "i.MX Debug UART Port Selection" if DEBUG_IMX1_UART || \
1321 DEBUG_IMX25_UART || \
1322 DEBUG_IMX21_IMX27_UART || \
1323 DEBUG_IMX31_UART || \
1324 DEBUG_IMX35_UART || \
1325 DEBUG_IMX50_UART || \
1326 DEBUG_IMX51_UART || \
1327 DEBUG_IMX53_UART || \
1328 DEBUG_IMX6Q_UART || \
1329 DEBUG_IMX6SL_UART || \
1330 DEBUG_IMX6SX_UART || \
1331 DEBUG_IMX6UL_UART || \
1336 Choose UART port on which kernel low-level debug messages
1339 config DEBUG_VF_UART_PORT
1340 int "Vybrid Debug UART Port Selection" if DEBUG_VF_UART
1343 depends on SOC_VF610
1345 Choose UART port on which kernel low-level debug messages
1348 config DEBUG_TEGRA_UART
1350 depends on ARCH_TEGRA
1352 config DEBUG_STI_UART
1356 config DEBUG_SIRFSOC_UART
1358 depends on ARCH_SIRF
1360 config DEBUG_LL_INCLUDE
1362 default "debug/sa1100.S" if DEBUG_SA1100
1363 default "debug/palmchip.S" if DEBUG_UART_8250_PALMCHIP
1364 default "debug/8250.S" if DEBUG_LL_UART_8250 || DEBUG_UART_8250
1365 default "debug/at91.S" if DEBUG_AT91_UART
1366 default "debug/asm9260.S" if DEBUG_ASM9260_UART
1367 default "debug/clps711x.S" if DEBUG_CLPS711X_UART1 || DEBUG_CLPS711X_UART2
1368 default "debug/dc21285.S" if DEBUG_DC21285_PORT
1369 default "debug/meson.S" if DEBUG_MESON_UARTAO
1370 default "debug/pl01x.S" if DEBUG_LL_UART_PL01X || DEBUG_UART_PL01X
1371 default "debug/exynos.S" if DEBUG_EXYNOS_UART
1372 default "debug/efm32.S" if DEBUG_LL_UART_EFM32
1373 default "debug/icedcc.S" if DEBUG_ICEDCC
1374 default "debug/imx.S" if DEBUG_IMX1_UART || \
1375 DEBUG_IMX25_UART || \
1376 DEBUG_IMX21_IMX27_UART || \
1377 DEBUG_IMX31_UART || \
1378 DEBUG_IMX35_UART || \
1379 DEBUG_IMX50_UART || \
1380 DEBUG_IMX51_UART || \
1381 DEBUG_IMX53_UART ||\
1382 DEBUG_IMX6Q_UART || \
1383 DEBUG_IMX6SL_UART || \
1384 DEBUG_IMX6SX_UART || \
1385 DEBUG_IMX6UL_UART || \
1387 default "debug/ks8695.S" if DEBUG_KS8695_UART
1388 default "debug/msm.S" if DEBUG_QCOM_UARTDM
1389 default "debug/netx.S" if DEBUG_NETX_UART
1390 default "debug/omap2plus.S" if DEBUG_OMAP2PLUS_UART
1391 default "debug/renesas-scif.S" if DEBUG_R7S72100_SCIF2
1392 default "debug/renesas-scif.S" if DEBUG_RCAR_GEN1_SCIF0
1393 default "debug/renesas-scif.S" if DEBUG_RCAR_GEN1_SCIF2
1394 default "debug/renesas-scif.S" if DEBUG_RCAR_GEN2_SCIF0
1395 default "debug/renesas-scif.S" if DEBUG_RCAR_GEN2_SCIF2
1396 default "debug/renesas-scif.S" if DEBUG_RMOBILE_SCIFA0
1397 default "debug/renesas-scif.S" if DEBUG_RMOBILE_SCIFA1
1398 default "debug/renesas-scif.S" if DEBUG_RMOBILE_SCIFA4
1399 default "debug/s3c24xx.S" if DEBUG_S3C24XX_UART || DEBUG_S3C64XX_UART
1400 default "debug/s5pv210.S" if DEBUG_S5PV210_UART
1401 default "debug/sirf.S" if DEBUG_SIRFSOC_UART
1402 default "debug/sti.S" if DEBUG_STI_UART
1403 default "debug/tegra.S" if DEBUG_TEGRA_UART
1404 default "debug/ux500.S" if DEBUG_UX500_UART
1405 default "debug/vexpress.S" if DEBUG_VEXPRESS_UART0_DETECT
1406 default "debug/vf.S" if DEBUG_VF_UART
1407 default "debug/vt8500.S" if DEBUG_VT8500_UART0
1408 default "debug/zynq.S" if DEBUG_ZYNQ_UART0 || DEBUG_ZYNQ_UART1
1409 default "debug/bcm63xx.S" if DEBUG_BCM63XX_UART
1410 default "debug/digicolor.S" if DEBUG_DIGICOLOR_UA0
1411 default "mach/debug-macro.S"
1413 # Compatibility options for PL01x
1414 config DEBUG_UART_PL01X
1417 # Compatibility options for 8250
1418 config DEBUG_UART_8250
1419 def_bool ARCH_EBSA110 || \
1420 ARCH_IOP13XX || ARCH_IOP32X || ARCH_IOP33X || ARCH_IXP4XX || \
1423 config DEBUG_UART_PHYS
1424 hex "Physical base address of debug UART"
1425 default 0x00100a00 if DEBUG_NETX_UART
1426 default 0x01c20000 if DEBUG_DAVINCI_DMx_UART0
1427 default 0x01c28000 if DEBUG_SUNXI_UART0
1428 default 0x01c28400 if DEBUG_SUNXI_UART1
1429 default 0x01d0c000 if DEBUG_DAVINCI_DA8XX_UART1
1430 default 0x01d0d000 if DEBUG_DAVINCI_DA8XX_UART2
1431 default 0x01f02800 if DEBUG_SUNXI_R_UART
1432 default 0x02530c00 if DEBUG_KEYSTONE_UART0
1433 default 0x02531000 if DEBUG_KEYSTONE_UART1
1434 default 0x03010fe0 if ARCH_RPC
1435 default 0x07000000 if DEBUG_SUN9I_UART0
1436 default 0x09405000 if DEBUG_ZTE_ZX
1437 default 0x10009000 if DEBUG_REALVIEW_STD_PORT || \
1438 DEBUG_VEXPRESS_UART0_CA9
1439 default 0x1010c000 if DEBUG_REALVIEW_PB1176_PORT
1440 default 0x10124000 if DEBUG_RK3X_UART0
1441 default 0x10126000 if DEBUG_RK3X_UART1
1442 default 0x101f1000 if DEBUG_VERSATILE
1443 default 0x101fb000 if DEBUG_NOMADIK_UART
1444 default 0x11002000 if DEBUG_MT8127_UART0
1445 default 0x11006000 if DEBUG_MT6589_UART0
1446 default 0x11009000 if DEBUG_MT8135_UART3
1447 default 0x16000000 if DEBUG_INTEGRATOR
1448 default 0x18000300 if DEBUG_BCM_5301X
1449 default 0x18010000 if DEBUG_SIRFATLAS7_UART0
1450 default 0x18020000 if DEBUG_SIRFATLAS7_UART1
1451 default 0x1c090000 if DEBUG_VEXPRESS_UART0_RS1
1452 default 0x20001000 if DEBUG_HIP01_UART
1453 default 0x20060000 if DEBUG_RK29_UART0
1454 default 0x20064000 if DEBUG_RK29_UART1 || DEBUG_RK3X_UART2
1455 default 0x20068000 if DEBUG_RK29_UART2 || DEBUG_RK3X_UART3
1456 default 0x20201000 if DEBUG_BCM2835
1457 default 0x3f201000 if DEBUG_BCM2836
1458 default 0x3e000000 if DEBUG_BCM_KONA_UART
1459 default 0x4000e400 if DEBUG_LL_UART_EFM32
1460 default 0x40081000 if DEBUG_LPC18XX_UART0
1461 default 0x40090000 if DEBUG_LPC32XX
1462 default 0x40100000 if DEBUG_PXA_UART1
1463 default 0x42000000 if DEBUG_GEMINI
1464 default 0x50000000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART0 || \
1465 DEBUG_S3C2410_UART0)
1466 default 0x50004000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART1 || \
1467 DEBUG_S3C2410_UART1)
1468 default 0x50008000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART2 || \
1469 DEBUG_S3C2410_UART2)
1470 default 0x78000000 if DEBUG_CNS3XXX
1471 default 0x7c0003f8 if DEBUG_FOOTBRIDGE_COM1
1472 default 0x7f005000 if DEBUG_S3C64XX_UART && DEBUG_S3C_UART0
1473 default 0x7f005400 if DEBUG_S3C64XX_UART && DEBUG_S3C_UART1
1474 default 0x7f005800 if DEBUG_S3C64XX_UART && DEBUG_S3C_UART2
1475 default 0x7f005c00 if DEBUG_S3C64XX_UART && DEBUG_S3C_UART3
1476 default 0x80010000 if DEBUG_ASM9260_UART
1477 default 0x80070000 if DEBUG_IMX23_UART
1478 default 0x80074000 if DEBUG_IMX28_UART
1479 default 0x80230000 if DEBUG_PICOXCELL_UART
1480 default 0x808c0000 if DEBUG_EP93XX || ARCH_EP93XX
1481 default 0x90020000 if DEBUG_NSPIRE_CLASSIC_UART || DEBUG_NSPIRE_CX_UART
1482 default 0xb0060000 if DEBUG_SIRFPRIMA2_UART1
1483 default 0xb0090000 if DEBUG_VEXPRESS_UART0_CRX
1484 default 0xc0013000 if DEBUG_U300_UART
1485 default 0xc8000000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN
1486 default 0xc8000003 if ARCH_IXP4XX && CPU_BIG_ENDIAN
1487 default 0xd0000000 if DEBUG_SPEAR3XX
1488 default 0xd0012000 if DEBUG_MVEBU_UART0
1489 default 0xc81004c0 if DEBUG_MESON_UARTAO
1490 default 0xd4017000 if DEBUG_MMP_UART2
1491 default 0xd4018000 if DEBUG_MMP_UART3
1492 default 0xe0000000 if DEBUG_SPEAR13XX
1493 default 0xe4007000 if DEBUG_HIP04_UART
1494 default 0xe6c40000 if DEBUG_RMOBILE_SCIFA0
1495 default 0xe6c50000 if DEBUG_RMOBILE_SCIFA1
1496 default 0xe6c80000 if DEBUG_RMOBILE_SCIFA4
1497 default 0xe6e58000 if DEBUG_RCAR_GEN2_SCIF2
1498 default 0xe6e60000 if DEBUG_RCAR_GEN2_SCIF0
1499 default 0xe8008000 if DEBUG_R7S72100_SCIF2
1500 default 0xf0000be0 if ARCH_EBSA110
1501 default 0xf040ab00 if DEBUG_BRCMSTB_UART
1502 default 0xf1012000 if DEBUG_MVEBU_UART0_ALTERNATE
1503 default 0xf1012100 if DEBUG_MVEBU_UART1_ALTERNATE
1504 default 0xf7fc9000 if DEBUG_BERLIN_UART
1505 default 0xf8b00000 if DEBUG_HIX5HD2_UART
1506 default 0xf991e000 if DEBUG_QCOM_UARTDM
1507 default 0xfcb00000 if DEBUG_HI3620_UART
1508 default 0xfd883000 if DEBUG_ALPINE_UART0
1509 default 0xfe800000 if ARCH_IOP32X
1510 default 0xff690000 if DEBUG_RK32_UART2
1511 default 0xffc02000 if DEBUG_SOCFPGA_UART0
1512 default 0xffc02100 if DEBUG_SOCFPGA_UART1
1513 default 0xffd82340 if ARCH_IOP13XX
1514 default 0xffe40000 if DEBUG_RCAR_GEN1_SCIF0
1515 default 0xffe42000 if DEBUG_RCAR_GEN1_SCIF2
1516 default 0xfff36000 if DEBUG_HIGHBANK_UART
1517 default 0xfffb0000 if DEBUG_OMAP1UART1 || DEBUG_OMAP7XXUART1
1518 default 0xfffb0800 if DEBUG_OMAP1UART2 || DEBUG_OMAP7XXUART2
1519 default 0xfffb9800 if DEBUG_OMAP1UART3 || DEBUG_OMAP7XXUART3
1520 default 0xfffe8600 if DEBUG_BCM63XX_UART
1521 default 0xfffff700 if ARCH_IOP33X
1522 depends on ARCH_EP93XX || \
1523 DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \
1524 DEBUG_LL_UART_EFM32 || \
1525 DEBUG_UART_8250 || DEBUG_UART_PL01X || DEBUG_MESON_UARTAO || \
1526 DEBUG_NETX_UART || \
1527 DEBUG_QCOM_UARTDM || DEBUG_R7S72100_SCIF2 || \
1528 DEBUG_RCAR_GEN1_SCIF0 || DEBUG_RCAR_GEN1_SCIF2 || \
1529 DEBUG_RCAR_GEN2_SCIF0 || DEBUG_RCAR_GEN2_SCIF2 || \
1530 DEBUG_RMOBILE_SCIFA0 || DEBUG_RMOBILE_SCIFA1 || \
1531 DEBUG_RMOBILE_SCIFA4 || DEBUG_S3C24XX_UART || \
1532 DEBUG_S3C64XX_UART || \
1533 DEBUG_BCM63XX_UART || DEBUG_ASM9260_UART || \
1534 DEBUG_SIRFSOC_UART || DEBUG_DIGICOLOR_UA0 || \
1537 config DEBUG_UART_VIRT
1538 hex "Virtual base address of debug UART"
1539 default 0xe0000a00 if DEBUG_NETX_UART
1540 default 0xe0010fe0 if ARCH_RPC
1541 default 0xf0000be0 if ARCH_EBSA110
1542 default 0xf0010000 if DEBUG_ASM9260_UART
1543 default 0xf01fb000 if DEBUG_NOMADIK_UART
1544 default 0xf0201000 if DEBUG_BCM2835 || DEBUG_BCM2836
1545 default 0xf1000300 if DEBUG_BCM_5301X
1546 default 0xf1002000 if DEBUG_MT8127_UART0
1547 default 0xf1006000 if DEBUG_MT6589_UART0
1548 default 0xf1009000 if DEBUG_MT8135_UART3
1549 default 0xf11f1000 if DEBUG_VERSATILE
1550 default 0xf1600000 if DEBUG_INTEGRATOR
1551 default 0xf1c28000 if DEBUG_SUNXI_UART0
1552 default 0xf1c28400 if DEBUG_SUNXI_UART1
1553 default 0xf1f02800 if DEBUG_SUNXI_R_UART
1554 default 0xf31004c0 if DEBUG_MESON_UARTAO
1555 default 0xf4090000 if DEBUG_LPC32XX
1556 default 0xf4200000 if DEBUG_GEMINI
1557 default 0xf6200000 if DEBUG_PXA_UART1
1558 default 0xf7000000 if DEBUG_SUN9I_UART0
1559 default 0xf7000000 if DEBUG_S3C64XX_UART && DEBUG_S3C_UART0
1560 default 0xf7000000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART0 || \
1561 DEBUG_S3C2410_UART0)
1562 default 0xf7000400 if DEBUG_S3C64XX_UART && DEBUG_S3C_UART1
1563 default 0xf7000800 if DEBUG_S3C64XX_UART && DEBUG_S3C_UART2
1564 default 0xf7000c00 if DEBUG_S3C64XX_UART && DEBUG_S3C_UART3
1565 default 0xf7004000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART1 || \
1566 DEBUG_S3C2410_UART1)
1567 default 0xf7008000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART2 || \
1568 DEBUG_S3C2410_UART2)
1569 default 0xf7fc9000 if DEBUG_BERLIN_UART
1570 default 0xf8007000 if DEBUG_HIP04_UART
1571 default 0xf8009000 if DEBUG_VEXPRESS_UART0_CA9
1572 default 0xf8090000 if DEBUG_VEXPRESS_UART0_RS1
1573 default 0xfa71e000 if DEBUG_QCOM_UARTDM
1574 default 0xfb002000 if DEBUG_CNS3XXX
1575 default 0xfb009000 if DEBUG_REALVIEW_STD_PORT
1576 default 0xfb10c000 if DEBUG_REALVIEW_PB1176_PORT
1577 default 0xfc40ab00 if DEBUG_BRCMSTB_UART
1578 default 0xfc705000 if DEBUG_ZTE_ZX
1579 default 0xfcfe8600 if DEBUG_BCM63XX_UART
1580 default 0xfd000000 if DEBUG_SPEAR3XX || DEBUG_SPEAR13XX
1581 default 0xfd012000 if DEBUG_MVEBU_UART0_ALTERNATE && ARCH_MV78XX0
1582 default 0xfd883000 if DEBUG_ALPINE_UART0
1583 default 0xfde12000 if DEBUG_MVEBU_UART0_ALTERNATE && ARCH_DOVE
1584 default 0xfe012000 if DEBUG_MVEBU_UART0_ALTERNATE && ARCH_ORION5X
1585 default 0xfe017000 if DEBUG_MMP_UART2
1586 default 0xfe018000 if DEBUG_MMP_UART3
1587 default 0xfe100000 if DEBUG_IMX23_UART || DEBUG_IMX28_UART
1588 default 0xfe230000 if DEBUG_PICOXCELL_UART
1589 default 0xfe300000 if DEBUG_BCM_KONA_UART
1590 default 0xfe800000 if ARCH_IOP32X
1591 default 0xfeb00000 if DEBUG_HI3620_UART || DEBUG_HIX5HD2_UART
1592 default 0xfeb24000 if DEBUG_RK3X_UART0
1593 default 0xfeb26000 if DEBUG_RK3X_UART1
1594 default 0xfeb30c00 if DEBUG_KEYSTONE_UART0
1595 default 0xfeb31000 if DEBUG_KEYSTONE_UART1
1596 default 0xfec02000 if DEBUG_SOCFPGA_UART0
1597 default 0xfec02100 if DEBUG_SOCFPGA_UART1
1598 default 0xfec12000 if (DEBUG_MVEBU_UART0 || DEBUG_MVEBU_UART0_ALTERNATE) && ARCH_MVEBU
1599 default 0xfec12100 if DEBUG_MVEBU_UART1_ALTERNATE
1600 default 0xfec10000 if DEBUG_SIRFATLAS7_UART0
1601 default 0xfec20000 if DEBUG_DAVINCI_DMx_UART0
1602 default 0xfec20000 if DEBUG_SIRFATLAS7_UART1
1603 default 0xfec60000 if DEBUG_SIRFPRIMA2_UART1
1604 default 0xfec90000 if DEBUG_RK32_UART2
1605 default 0xfed0c000 if DEBUG_DAVINCI_DA8XX_UART1
1606 default 0xfed0d000 if DEBUG_DAVINCI_DA8XX_UART2
1607 default 0xfed60000 if DEBUG_RK29_UART0
1608 default 0xfed64000 if DEBUG_RK29_UART1 || DEBUG_RK3X_UART2
1609 default 0xfed68000 if DEBUG_RK29_UART2 || DEBUG_RK3X_UART3
1610 default 0xfedc0000 if DEBUG_EP93XX
1611 default 0xfee003f8 if DEBUG_FOOTBRIDGE_COM1
1612 default 0xfee20000 if DEBUG_NSPIRE_CLASSIC_UART || DEBUG_NSPIRE_CX_UART
1613 default 0xfee82340 if ARCH_IOP13XX
1614 default 0xfef00000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN
1615 default 0xfef00003 if ARCH_IXP4XX && CPU_BIG_ENDIAN
1616 default 0xfef36000 if DEBUG_HIGHBANK_UART
1617 default 0xfefb0000 if DEBUG_OMAP1UART1 || DEBUG_OMAP7XXUART1
1618 default 0xfefb0800 if DEBUG_OMAP1UART2 || DEBUG_OMAP7XXUART2
1619 default 0xfefb9800 if DEBUG_OMAP1UART3 || DEBUG_OMAP7XXUART3
1620 default 0xfefff700 if ARCH_IOP33X
1621 default 0xff003000 if DEBUG_U300_UART
1622 default 0xffd01000 if DEBUG_HIP01_UART
1623 default DEBUG_UART_PHYS if !MMU
1624 depends on DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \
1625 DEBUG_UART_8250 || DEBUG_UART_PL01X || DEBUG_MESON_UARTAO || \
1626 DEBUG_NETX_UART || \
1627 DEBUG_QCOM_UARTDM || DEBUG_S3C24XX_UART || \
1628 DEBUG_S3C64XX_UART || \
1629 DEBUG_BCM63XX_UART || DEBUG_ASM9260_UART || \
1630 DEBUG_SIRFSOC_UART || DEBUG_DIGICOLOR_UA0
1632 config DEBUG_UART_8250_SHIFT
1633 int "Register offset shift for the 8250 debug UART"
1634 depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
1635 default 0 if DEBUG_FOOTBRIDGE_COM1 || ARCH_IOP32X || DEBUG_BCM_5301X || \
1636 DEBUG_OMAP7XXUART1 || DEBUG_OMAP7XXUART2 || DEBUG_OMAP7XXUART3
1639 config DEBUG_UART_8250_WORD
1640 bool "Use 32-bit accesses for 8250 UART"
1641 depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
1642 depends on DEBUG_UART_8250_SHIFT >= 2
1643 default y if DEBUG_PICOXCELL_UART || \
1644 DEBUG_SOCFPGA_UART0 || DEBUG_SOCFPGA_UART1 || \
1645 DEBUG_KEYSTONE_UART0 || DEBUG_KEYSTONE_UART1 || \
1646 DEBUG_ALPINE_UART0 || \
1647 DEBUG_DAVINCI_DMx_UART0 || DEBUG_DAVINCI_DA8XX_UART1 || \
1648 DEBUG_DAVINCI_DA8XX_UART2 || \
1649 DEBUG_BCM_KONA_UART || DEBUG_RK32_UART2 || \
1652 config DEBUG_UART_8250_PALMCHIP
1653 bool "8250 UART is Palmchip BK-310x"
1654 depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
1656 Palmchip provides a UART implementation compatible with 16550
1657 except for having a different register layout. Say Y here if
1658 the debug UART is of this type.
1660 config DEBUG_UART_8250_FLOW_CONTROL
1661 bool "Enable flow control for 8250 UART"
1662 depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
1663 default y if ARCH_EBSA110 || DEBUG_FOOTBRIDGE_COM1 || DEBUG_GEMINI || ARCH_RPC
1665 config DEBUG_UNCOMPRESS
1667 depends on ARCH_MULTIPLATFORM || PLAT_SAMSUNG || ARM_SINGLE_ARMV7M
1668 default y if DEBUG_LL && !DEBUG_OMAP2PLUS_UART && \
1669 (!DEBUG_TEGRA_UART || !ZBOOT_ROM)
1671 This option influences the normal decompressor output for
1672 multiplatform kernels. Normally, multiplatform kernels disable
1673 decompressor output because it is not possible to know where to
1674 send the decompressor output.
1676 When this option is set, the selected DEBUG_LL output method
1677 will be re-used for normal decompressor output on multiplatform
1681 config UNCOMPRESS_INCLUDE
1683 default "debug/uncompress.h" if ARCH_MULTIPLATFORM || ARCH_MSM || \
1684 PLAT_SAMSUNG || ARM_SINGLE_ARMV7M
1685 default "mach/uncompress.h"
1691 Say Y here if you want to have an early console using the
1692 kernel low-level debugging functions. Add earlyprintk to your
1693 kernel parameters to enable this console.
1695 config ARM_KPROBES_TEST
1696 tristate "Kprobes test module"
1697 depends on KPROBES && MODULES
1699 Perform tests of kprobes API and instruction set simulation.
1701 config PID_IN_CONTEXTIDR
1702 bool "Write the current PID to the CONTEXTIDR register"
1703 depends on CPU_COPY_V6
1705 Enabling this option causes the kernel to write the current PID to
1706 the PROCID field of the CONTEXTIDR register, at the expense of some
1707 additional instructions during context switch. Say Y here only if you
1708 are planning to use hardware trace tools with this kernel.
1710 config DEBUG_SET_MODULE_RONX
1711 bool "Set loadable kernel module data as NX and text as RO"
1712 depends on MODULES && MMU
1714 This option helps catch unintended modifications to loadable
1715 kernel module's text and read-only data. It also prevents execution
1716 of module data. Such protection may interfere with run-time code
1717 patching and dynamic kernel tracing - and they might also protect
1718 against certain classes of kernel exploits.
1719 If in doubt, say "N".
1721 source "drivers/hwtracing/coresight/Kconfig"