0001 # SPDX-License-Identifier: GPL-2.0
0002
0003 config ARM_PTDUMP_CORE
0004 def_bool n
0005
0006 config ARM_PTDUMP_DEBUGFS
0007 bool "Export kernel pagetable layout to userspace via debugfs"
0008 depends on DEBUG_KERNEL
0009 depends on MMU
0010 select ARM_PTDUMP_CORE
0011 select DEBUG_FS
0012 help
0013 Say Y here if you want to show the kernel pagetable layout in a
0014 debugfs file. This information is only useful for kernel developers
0015 who are working in architecture specific areas of the kernel.
0016 It is probably not a good idea to enable this feature in a production
0017 kernel.
0018 If in doubt, say "N"
0019
0020 config DEBUG_WX
0021 bool "Warn on W+X mappings at boot"
0022 depends on MMU
0023 select ARM_PTDUMP_CORE
0024 help
0025 Generate a warning if any W+X mappings are found at boot.
0026
0027 This is useful for discovering cases where the kernel is leaving
0028 W+X mappings after applying NX, as such mappings are a security risk.
0029
0030 Look for a message in dmesg output like this:
0031
0032 arm/mm: Checked W+X mappings: passed, no W+X pages found.
0033
0034 or like this, if the check failed:
0035
0036 arm/mm: Checked W+X mappings: FAILED, <N> W+X pages found.
0037
0038 Note that even if the check fails, your kernel is possibly
0039 still fine, as W+X mappings are not a security hole in
0040 themselves, what they do is that they make the exploitation
0041 of other unfixed kernel bugs easier.
0042
0043 There is no runtime or memory usage effect of this option
0044 once the kernel has booted up - it's a one time check.
0045
0046 If in doubt, say "Y".
0047
0048 choice
0049 prompt "Choose kernel unwinder"
0050 default UNWINDER_ARM if AEABI
0051 default UNWINDER_FRAME_POINTER if !AEABI
0052 help
0053 This determines which method will be used for unwinding kernel stack
0054 traces for panics, oopses, bugs, warnings, perf, /proc/<pid>/stack,
0055 livepatch, lockdep, and more.
0056
0057 config UNWINDER_FRAME_POINTER
0058 bool "Frame pointer unwinder"
0059 depends on !THUMB2_KERNEL
0060 select ARCH_WANT_FRAME_POINTERS
0061 select FRAME_POINTER
0062 help
0063 This option enables the frame pointer unwinder for unwinding
0064 kernel stack traces.
0065
0066 config UNWINDER_ARM
0067 bool "ARM EABI stack unwinder"
0068 depends on AEABI
0069 select ARM_UNWIND
0070 help
0071 This option enables stack unwinding support in the kernel
0072 using the information automatically generated by the
0073 compiler. The resulting kernel image is slightly bigger but
0074 the performance is not affected. Currently, this feature
0075 only works with EABI compilers.
0076
0077 endchoice
0078
0079 config ARM_UNWIND
0080 bool
0081
0082 config BACKTRACE_VERBOSE
0083 bool "Verbose backtrace"
0084 depends on EXPERT
0085 help
0086 When the kernel produces a warning or oops, the kernel prints a
0087 trace of the call chain. This option controls whether we include
0088 the numeric addresses or only include the symbolic information.
0089
0090 In most cases, say N here, unless you are intending to debug the
0091 kernel and have access to the kernel binary image.
0092
0093 config FRAME_POINTER
0094 bool
0095
0096 config DEBUG_USER
0097 bool "Verbose user fault messages"
0098 help
0099 When a user program crashes due to an exception, the kernel can
0100 print a brief message explaining what the problem was. This is
0101 sometimes helpful for debugging but serves no purpose on a
0102 production system. Most people should say N here.
0103
0104 In addition, you need to pass user_debug=N on the kernel command
0105 line to enable this feature. N consists of the sum of:
0106
0107 1 - undefined instruction events
0108 2 - system calls
0109 4 - invalid data aborts
0110 8 - SIGSEGV faults
0111 16 - SIGBUS faults
0112
0113 # These options are only for real kernel hackers who want to get their hands dirty.
0114 config DEBUG_LL
0115 bool "Kernel low-level debugging functions (read help!)"
0116 depends on DEBUG_KERNEL
0117 help
0118 Say Y here to include definitions of printascii, printch, printhex
0119 in the kernel. This is helpful if you are debugging code that
0120 executes before the console is initialized.
0121
0122 Note that selecting this option will limit the kernel to a single
0123 UART definition, as specified below. Attempting to boot the kernel
0124 image on a different platform *will not work*, so this option should
0125 not be enabled for kernels that are intended to be portable.
0126
0127 choice
0128 prompt "Kernel low-level debugging port"
0129 depends on DEBUG_LL
0130
0131 config DEBUG_ALPINE_UART0
0132 bool "Kernel low-level debugging messages via Alpine UART0"
0133 depends on ARCH_ALPINE
0134 select DEBUG_UART_8250
0135 help
0136 Say Y here if you want kernel low-level debugging support
0137 on Alpine based platforms.
0138
0139 config DEBUG_ASM9260_UART
0140 bool "Kernel low-level debugging via asm9260 UART"
0141 depends on MACH_ASM9260
0142 help
0143 Say Y here if you want the debug print routines to direct
0144 their output to an UART or USART port on asm9260 based
0145 machines.
0146
0147 DEBUG_UART_PHYS | DEBUG_UART_VIRT
0148
0149 0x80000000 | 0xf0000000 | UART0
0150 0x80004000 | 0xf0004000 | UART1
0151 0x80008000 | 0xf0008000 | UART2
0152 0x8000c000 | 0xf000c000 | UART3
0153 0x80010000 | 0xf0010000 | UART4
0154 0x80014000 | 0xf0014000 | UART5
0155 0x80018000 | 0xf0018000 | UART6
0156 0x8001c000 | 0xf001c000 | UART7
0157 0x80020000 | 0xf0020000 | UART8
0158 0x80024000 | 0xf0024000 | UART9
0159
0160 config DEBUG_AT91_RM9200_DBGU
0161 bool "Kernel low-level debugging on AT91RM9200, AT91SAM9, SAM9X60 DBGU"
0162 select DEBUG_AT91_UART
0163 depends on SOC_AT91RM9200 || SOC_AT91SAM9 || SOC_SAM9X60
0164 help
0165 Say Y here if you want kernel low-level debugging support
0166 on the DBGU port of:
0167 at91rm9200, at91sam9260, at91sam9g20, at91sam9261,
0168 at91sam9g10, at91sam9n12, at91sam9rl64, at91sam9x5, sam9x60
0169
0170 config DEBUG_AT91_SAM9263_DBGU
0171 bool "Kernel low-level debugging on AT91SAM{9263,9G45,A5D3} DBGU"
0172 select DEBUG_AT91_UART
0173 depends on SOC_AT91SAM9 || SOC_SAMA5D3
0174 help
0175 Say Y here if you want kernel low-level debugging support
0176 on the DBGU port of:
0177 at91sam9263, at91sam9g45, at91sam9m10,
0178 sama5d3
0179
0180 config DEBUG_AT91_SAMA5D2_UART1
0181 bool "Kernel low-level debugging on SAMA5D2 UART1"
0182 select DEBUG_AT91_UART
0183 depends on SOC_SAMA5D2
0184 help
0185 Say Y here if you want kernel low-level debugging support
0186 on the UART1 port of sama5d2.
0187
0188 config DEBUG_AT91_SAMA5D4_USART3
0189 bool "Kernel low-level debugging on SAMA5D4 USART3"
0190 select DEBUG_AT91_UART
0191 depends on SOC_SAMA5D4
0192 help
0193 Say Y here if you want kernel low-level debugging support
0194 on the USART3 port of sama5d4.
0195
0196 config DEBUG_AT91_SAMV7_USART1
0197 bool "Kernel low-level debugging via SAMV7 USART1"
0198 select DEBUG_AT91_UART
0199 depends on SOC_SAMV7
0200 help
0201 Say Y here if you want the debug print routines to direct
0202 their output to the USART1 port on SAMV7 based
0203 machines.
0204
0205 config DEBUG_AT91_SAMA7G5_FLEXCOM3
0206 bool "Kernel low-level debugging on SAMA7G5 FLEXCOM3"
0207 select DEBUG_AT91_UART
0208 depends on SOC_SAMA7G5
0209 help
0210 Say Y here if you want kernel low-level debugging support
0211 on the FLEXCOM3 port of SAMA7G5.
0212
0213 config DEBUG_AT91_LAN966_FLEXCOM
0214 bool "Kernel low-level debugging on LAN966 FLEXCOM USART"
0215 select DEBUG_AT91_UART
0216 depends on SOC_LAN966
0217 help
0218 Say Y here if you want kernel low-level debugging support
0219 on the FLEXCOM port of LAN966.
0220
0221 DEBUG_UART_PHYS | DEBUG_UART_VIRT
0222
0223 0xe0040200 | 0xfd040200 | FLEXCOM0
0224 0xe0044200 | 0xfd044200 | FLEXCOM1
0225 0xe0060200 | 0xfd060200 | FLEXCOM2
0226 0xe0064200 | 0xfd064200 | FLEXCOM3
0227 0xe0070200 | 0xfd070200 | FLEXCOM4
0228
0229 By default, enabling FLEXCOM3 port. Based on requirement, use
0230 DEBUG_UART_PHYS and DEBUG_UART_VIRT configurations from above
0231 table.
0232
0233 config DEBUG_BCM2835
0234 bool "Kernel low-level debugging on BCM2835 PL011 UART"
0235 depends on ARCH_BCM2835 && ARCH_MULTI_V6
0236 select DEBUG_UART_PL01X
0237
0238 config DEBUG_BCM2836
0239 bool "Kernel low-level debugging on BCM2836 PL011 UART"
0240 depends on ARCH_BCM2835 && ARCH_MULTI_V7
0241 select DEBUG_UART_PL01X
0242
0243 config DEBUG_BCM_5301X
0244 bool "Kernel low-level debugging on BCM5301X/NSP UART1"
0245 depends on ARCH_BCM_5301X || ARCH_BCM_NSP
0246 select DEBUG_UART_8250
0247
0248 config DEBUG_BCM_HR2
0249 bool "Kernel low-level debugging on Hurricane 2 UART2"
0250 depends on ARCH_BCM_HR2
0251 select DEBUG_UART_8250
0252
0253 config DEBUG_BCM_IPROC_UART3
0254 bool "Kernel low-level debugging on BCM IPROC UART3"
0255 depends on ARCH_BCM_CYGNUS
0256 select DEBUG_UART_8250
0257 help
0258 Say Y here if you want the debug print routines to direct
0259 their output to the third serial port on these devices.
0260
0261 config DEBUG_BCM_KONA_UART
0262 bool "Kernel low-level debugging messages via BCM KONA UART"
0263 depends on ARCH_BCM_MOBILE
0264 select DEBUG_UART_8250
0265 help
0266 Say Y here if you want kernel low-level debugging support
0267 on Broadcom SoC platforms.
0268 This low level debug works for Broadcom
0269 mobile SoCs in the Kona family of chips (e.g. bcm28155,
0270 bcm11351, etc...)
0271
0272 config DEBUG_BCM63XX_UART
0273 bool "Kernel low-level debugging on BCM63XX UART"
0274 depends on ARCH_BCMBCA
0275
0276 config DEBUG_BERLIN_UART
0277 bool "Marvell Berlin SoC Debug UART"
0278 depends on ARCH_BERLIN
0279 select DEBUG_UART_8250
0280 help
0281 Say Y here if you want kernel low-level debugging support
0282 on Marvell Berlin SoC based platforms.
0283
0284 config DEBUG_BRCMSTB_UART
0285 bool "Use BRCMSTB UART for low-level debug"
0286 depends on ARCH_BRCMSTB
0287 help
0288 Say Y here if you want the debug print routines to direct
0289 their output to the first serial port on these devices. The
0290 UART physical and virtual address is automatically provided
0291 based on the chip identification register value.
0292
0293 If you have a Broadcom STB chip and would like early print
0294 messages to appear over the UART, select this option.
0295
0296 config DEBUG_CLPS711X_UART1
0297 bool "Kernel low-level debugging messages via UART1"
0298 depends on ARCH_CLPS711X
0299 help
0300 Say Y here if you want the debug print routines to direct
0301 their output to the first serial port on these devices.
0302
0303 config DEBUG_CLPS711X_UART2
0304 bool "Kernel low-level debugging messages via UART2"
0305 depends on ARCH_CLPS711X
0306 help
0307 Say Y here if you want the debug print routines to direct
0308 their output to the second serial port on these devices.
0309
0310 config DEBUG_CNS3XXX
0311 bool "Kernel Kernel low-level debugging on Cavium Networks CNS3xxx"
0312 depends on ARCH_CNS3XXX
0313 select DEBUG_UART_8250
0314 help
0315 Say Y here if you want the debug print routines to direct
0316 their output to the CNS3xxx UART0.
0317
0318 config DEBUG_DAVINCI_DA8XX_UART1
0319 bool "Kernel low-level debugging on DaVinci DA8XX using UART1"
0320 depends on ARCH_DAVINCI_DA8XX
0321 select DEBUG_UART_8250
0322 help
0323 Say Y here if you want the debug print routines to direct
0324 their output to UART1 serial port on DaVinci DA8XX devices.
0325
0326 config DEBUG_DAVINCI_DA8XX_UART2
0327 bool "Kernel low-level debugging on DaVinci DA8XX using UART2"
0328 depends on ARCH_DAVINCI_DA8XX
0329 select DEBUG_UART_8250
0330 help
0331 Say Y here if you want the debug print routines to direct
0332 their output to UART2 serial port on DaVinci DA8XX devices.
0333
0334 config DEBUG_DAVINCI_DMx_UART0
0335 bool "Kernel low-level debugging on DaVinci DMx using UART0"
0336 depends on ARCH_DAVINCI_DMx
0337 select DEBUG_UART_8250
0338 help
0339 Say Y here if you want the debug print routines to direct
0340 their output to UART0 serial port on DaVinci DMx devices.
0341
0342 config DEBUG_DC21285_PORT
0343 bool "Kernel low-level debugging messages via footbridge serial port"
0344 depends on FOOTBRIDGE
0345 help
0346 Say Y here if you want the debug print routines to direct
0347 their output to the serial port in the DC21285 (Footbridge).
0348
0349 config DEBUG_DIGICOLOR_UA0
0350 bool "Kernel low-level debugging messages via Digicolor UA0"
0351 depends on ARCH_DIGICOLOR
0352 help
0353 Say Y here if you want the debug print routines to direct
0354 their output to the UA0 serial port in the CX92755.
0355
0356 config DEBUG_EP93XX
0357 bool "Kernel low-level debugging messages via ep93xx UART"
0358 depends on ARCH_EP93XX
0359 select DEBUG_UART_PL01X
0360 help
0361 Say Y here if you want kernel low-level debugging support
0362 on Cirrus Logic EP93xx based platforms.
0363
0364 config DEBUG_FOOTBRIDGE_COM1
0365 bool "Kernel low-level debugging messages via footbridge 8250 at PCI COM1"
0366 depends on FOOTBRIDGE
0367 select DEBUG_UART_8250
0368 help
0369 Say Y here if you want the debug print routines to direct
0370 their output to the 8250 at PCI COM1.
0371
0372 config DEBUG_GEMINI
0373 bool "Kernel low-level debugging messages via Cortina Systems Gemini UART"
0374 depends on ARCH_GEMINI
0375 select DEBUG_UART_8250
0376 help
0377 Say Y here if you want kernel low-level debugging support
0378 on Cortina Gemini based platforms.
0379
0380 config DEBUG_HI3620_UART
0381 bool "Hisilicon HI3620 Debug UART"
0382 depends on ARCH_HI3xxx
0383 select DEBUG_UART_PL01X
0384 help
0385 Say Y here if you want kernel low-level debugging support
0386 on HI3620 UART.
0387
0388 config DEBUG_HIGHBANK_UART
0389 bool "Kernel low-level debugging messages via Highbank UART"
0390 depends on ARCH_HIGHBANK
0391 select DEBUG_UART_PL01X
0392 help
0393 Say Y here if you want the debug print routines to direct
0394 their output to the UART on Highbank based devices.
0395
0396 config DEBUG_HIP01_UART
0397 bool "Hisilicon Hip01 Debug UART"
0398 depends on ARCH_HIP01
0399 select DEBUG_UART_8250
0400 help
0401 Say Y here if you want kernel low-level debugging support
0402 on HIP01 UART.
0403
0404 config DEBUG_HIP04_UART
0405 bool "Hisilicon HiP04 Debug UART"
0406 depends on ARCH_HIP04
0407 select DEBUG_UART_8250
0408 help
0409 Say Y here if you want kernel low-level debugging support
0410 on HIP04 UART.
0411
0412 config DEBUG_HIX5HD2_UART
0413 bool "Hisilicon Hix5hd2 Debug UART"
0414 depends on ARCH_HIX5HD2
0415 select DEBUG_UART_PL01X
0416 help
0417 Say Y here if you want kernel low-level debugging support
0418 on Hix5hd2 UART.
0419
0420 config DEBUG_IMX1_UART
0421 bool "i.MX1 Debug UART"
0422 depends on SOC_IMX1
0423 help
0424 Say Y here if you want kernel low-level debugging support
0425 on i.MX1.
0426
0427 config DEBUG_IMX23_UART
0428 bool "i.MX23 Debug UART"
0429 depends on SOC_IMX23
0430 select DEBUG_UART_PL01X
0431 help
0432 Say Y here if you want kernel low-level debugging support
0433 on i.MX23.
0434
0435 config DEBUG_IMX25_UART
0436 bool "i.MX25 Debug UART"
0437 depends on SOC_IMX25
0438 help
0439 Say Y here if you want kernel low-level debugging support
0440 on i.MX25.
0441
0442 config DEBUG_IMX27_UART
0443 bool "i.MX27 Debug UART"
0444 depends on SOC_IMX27
0445 help
0446 Say Y here if you want kernel low-level debugging support
0447 on i.MX27.
0448
0449 config DEBUG_IMX28_UART
0450 bool "i.MX28 Debug UART"
0451 depends on SOC_IMX28
0452 select DEBUG_UART_PL01X
0453 help
0454 Say Y here if you want kernel low-level debugging support
0455 on i.MX28.
0456
0457 config DEBUG_IMX31_UART
0458 bool "i.MX31 Debug UART"
0459 depends on SOC_IMX31
0460 help
0461 Say Y here if you want kernel low-level debugging support
0462 on i.MX31.
0463
0464 config DEBUG_IMX35_UART
0465 bool "i.MX35 Debug UART"
0466 depends on SOC_IMX35
0467 help
0468 Say Y here if you want kernel low-level debugging support
0469 on i.MX35.
0470
0471 config DEBUG_IMX50_UART
0472 bool "i.MX50 Debug UART"
0473 depends on SOC_IMX50
0474 help
0475 Say Y here if you want kernel low-level debugging support
0476 on i.MX50.
0477
0478 config DEBUG_IMX51_UART
0479 bool "i.MX51 Debug UART"
0480 depends on SOC_IMX51
0481 help
0482 Say Y here if you want kernel low-level debugging support
0483 on i.MX51.
0484
0485 config DEBUG_IMX53_UART
0486 bool "i.MX53 Debug UART"
0487 depends on SOC_IMX53
0488 help
0489 Say Y here if you want kernel low-level debugging support
0490 on i.MX53.
0491
0492 config DEBUG_IMX6Q_UART
0493 bool "i.MX6Q/DL Debug UART"
0494 depends on SOC_IMX6Q
0495 help
0496 Say Y here if you want kernel low-level debugging support
0497 on i.MX6Q/DL.
0498
0499 config DEBUG_IMX6SL_UART
0500 bool "i.MX6SL Debug UART"
0501 depends on SOC_IMX6SL
0502 help
0503 Say Y here if you want kernel low-level debugging support
0504 on i.MX6SL.
0505
0506 config DEBUG_IMX6SX_UART
0507 bool "i.MX6SX Debug UART"
0508 depends on SOC_IMX6SX
0509 help
0510 Say Y here if you want kernel low-level debugging support
0511 on i.MX6SX.
0512
0513 config DEBUG_IMX6UL_UART
0514 bool "i.MX6UL Debug UART"
0515 depends on SOC_IMX6UL
0516 help
0517 Say Y here if you want kernel low-level debugging support
0518 on i.MX6UL.
0519
0520 config DEBUG_IMX7D_UART
0521 bool "i.MX7D Debug UART"
0522 depends on SOC_IMX7D
0523 help
0524 Say Y here if you want kernel low-level debugging support
0525 on i.MX7D.
0526
0527 config DEBUG_INTEGRATOR
0528 bool "Kernel low-level debugging messages via ARM Integrator UART"
0529 depends on ARCH_INTEGRATOR
0530 select DEBUG_UART_PL01X
0531 help
0532 Say Y here if you want kernel low-level debugging support
0533 on ARM Integrator platforms.
0534
0535 config DEBUG_KEYSTONE_UART0
0536 bool "Kernel low-level debugging on KEYSTONE2 using UART0"
0537 depends on ARCH_KEYSTONE
0538 select DEBUG_UART_8250
0539 help
0540 Say Y here if you want the debug print routines to direct
0541 their output to UART0 serial port on KEYSTONE2 devices.
0542
0543 config DEBUG_KEYSTONE_UART1
0544 bool "Kernel low-level debugging on KEYSTONE2 using UART1"
0545 depends on ARCH_KEYSTONE
0546 select DEBUG_UART_8250
0547 help
0548 Say Y here if you want the debug print routines to direct
0549 their output to UART1 serial port on KEYSTONE2 devices.
0550
0551 config DEBUG_LPC18XX_UART0
0552 bool "Kernel low-level debugging via LPC18xx/43xx UART0"
0553 depends on ARCH_LPC18XX
0554 select DEBUG_UART_8250
0555 help
0556 Say Y here if you want kernel low-level debugging support
0557 on NXP LPC18xx/43xx UART0.
0558
0559 config DEBUG_LPC32XX
0560 bool "Kernel low-level debugging messages via NXP LPC32xx UART"
0561 depends on ARCH_LPC32XX
0562 select DEBUG_UART_8250
0563 help
0564 Say Y here if you want kernel low-level debugging support
0565 on NXP LPC32xx based platforms.
0566
0567 config DEBUG_MESON_UARTAO
0568 bool "Kernel low-level debugging via Meson6 UARTAO"
0569 depends on ARCH_MESON
0570 help
0571 Say Y here if you want kernel low-lever debugging support
0572 on Amlogic Meson6 based platforms on the UARTAO.
0573
0574 config DEBUG_MMP_UART2
0575 bool "Kernel low-level debugging message via MMP UART2"
0576 depends on ARCH_MMP
0577 select DEBUG_UART_8250
0578 help
0579 Say Y here if you want kernel low-level debugging support
0580 on MMP UART2.
0581
0582 config DEBUG_MMP_UART3
0583 bool "Kernel low-level debugging message via MMP UART3"
0584 depends on ARCH_MMP
0585 select DEBUG_UART_8250
0586 help
0587 Say Y here if you want kernel low-level debugging support
0588 on MMP UART3.
0589
0590 config DEBUG_MVEBU_UART0
0591 bool "Kernel low-level debugging messages via MVEBU UART0 (old bootloaders)"
0592 depends on ARCH_MVEBU
0593 depends on ARCH_MVEBU && CPU_V7
0594 select DEBUG_UART_8250
0595 help
0596 Say Y here if you want kernel low-level debugging support
0597 on MVEBU based platforms on UART0.
0598
0599 This option should be used with the old bootloaders
0600 that left the internal registers mapped at
0601 0xd0000000. As of today, this is the case on
0602 platforms such as the Globalscale Mirabox or the
0603 Plathome OpenBlocks AX3, when using the original
0604 bootloader.
0605
0606 This option will not work on older Marvell platforms
0607 (Kirkwood, Dove, MV78xx0, Orion5x), which should pick
0608 the "new bootloader" variant.
0609
0610 If the wrong DEBUG_MVEBU_UART* option is selected,
0611 when u-boot hands over to the kernel, the system
0612 silently crashes, with no serial output at all.
0613
0614 config DEBUG_MVEBU_UART0_ALTERNATE
0615 bool "Kernel low-level debugging messages via MVEBU UART0 (new bootloaders)"
0616 depends on ARCH_MVEBU || ARCH_DOVE || ARCH_MV78XX0 || ARCH_ORION5X
0617 select DEBUG_UART_8250
0618 help
0619 Say Y here if you want kernel low-level debugging support
0620 on MVEBU based platforms on UART0. (Armada XP, Armada 3xx,
0621 Kirkwood, Dove, MV78xx0, Orion5x).
0622
0623
0624 This option should be used with the new bootloaders
0625 that remap the internal registers at 0xf1000000.
0626
0627 If the wrong DEBUG_MVEBU_UART* option is selected,
0628 when u-boot hands over to the kernel, the system
0629 silently crashes, with no serial output at all.
0630
0631 config DEBUG_MVEBU_UART1_ALTERNATE
0632 bool "Kernel low-level debugging messages via MVEBU UART1 (new bootloaders)"
0633 depends on ARCH_MVEBU
0634 select DEBUG_UART_8250
0635 help
0636 Say Y here if you want kernel low-level debugging support
0637 on MVEBU based platforms on UART1. (Armada XP, Armada 3xx,
0638 Kirkwood, Dove, MV78xx0, Orion5x).
0639
0640 This option should be used with the new bootloaders
0641 that remap the internal registers at 0xf1000000.
0642 All of the older (pre Armada XP/370) platforms also use
0643 this address, regardless of the boot loader version.
0644
0645 If the wrong DEBUG_MVEBU_UART* option is selected,
0646 when u-boot hands over to the kernel, the system
0647 silently crashes, with no serial output at all.
0648
0649 config DEBUG_MSTARV7_PMUART
0650 bool "Kernel low-level debugging messages via MSTARV7 PM UART"
0651 depends on ARCH_MSTARV7
0652 select DEBUG_UART_8250
0653 help
0654 Say Y here if you want kernel low-level debugging support
0655 for MSTAR ARMv7-based platforms on PM UART.
0656
0657 config DEBUG_MT6589_UART0
0658 bool "Mediatek mt6589 UART0"
0659 depends on ARCH_MEDIATEK
0660 select DEBUG_UART_8250
0661 help
0662 Say Y here if you want kernel low-level debugging support
0663 for Mediatek mt6589 based platforms on UART0.
0664
0665 config DEBUG_MT8127_UART0
0666 bool "Mediatek mt8127/mt6592 UART0"
0667 depends on ARCH_MEDIATEK
0668 select DEBUG_UART_8250
0669 help
0670 Say Y here if you want kernel low-level debugging support
0671 for Mediatek mt8127 based platforms on UART0.
0672
0673 config DEBUG_MT8135_UART3
0674 bool "Mediatek mt8135 UART3"
0675 depends on ARCH_MEDIATEK
0676 select DEBUG_UART_8250
0677 help
0678 Say Y here if you want kernel low-level debugging support
0679 for Mediatek mt8135 based platforms on UART3.
0680
0681 config DEBUG_NOMADIK_UART
0682 bool "Kernel low-level debugging messages via NOMADIK UART"
0683 depends on ARCH_NOMADIK
0684 select DEBUG_UART_PL01X
0685 help
0686 Say Y here if you want kernel low-level debugging support
0687 on NOMADIK based platforms.
0688
0689 config DEBUG_NSPIRE_CLASSIC_UART
0690 bool "Kernel low-level debugging via TI-NSPIRE 8250 UART"
0691 depends on ARCH_NSPIRE
0692 select DEBUG_UART_8250
0693 help
0694 Say Y here if you want kernel low-level debugging support
0695 on TI-NSPIRE classic models.
0696
0697 config DEBUG_NSPIRE_CX_UART
0698 bool "Kernel low-level debugging via TI-NSPIRE PL011 UART"
0699 depends on ARCH_NSPIRE
0700 select DEBUG_UART_PL01X
0701 help
0702 Say Y here if you want kernel low-level debugging support
0703 on TI-NSPIRE CX models.
0704
0705 config DEBUG_OMAP1UART1
0706 bool "Kernel low-level debugging via OMAP1 UART1"
0707 depends on ARCH_OMAP1
0708 select DEBUG_UART_8250
0709 help
0710 Say Y here if you want kernel low-level debugging support
0711 on OMAP1 based platforms (except OMAP730) on the UART1.
0712
0713 config DEBUG_OMAP1UART2
0714 bool "Kernel low-level debugging via OMAP1 UART2"
0715 depends on ARCH_OMAP1
0716 select DEBUG_UART_8250
0717 help
0718 Say Y here if you want kernel low-level debugging support
0719 on OMAP1 based platforms (except OMAP730) on the UART2.
0720
0721 config DEBUG_OMAP1UART3
0722 bool "Kernel low-level debugging via OMAP1 UART3"
0723 depends on ARCH_OMAP1
0724 select DEBUG_UART_8250
0725 help
0726 Say Y here if you want kernel low-level debugging support
0727 on OMAP1 based platforms (except OMAP730) on the UART3.
0728
0729 config DEBUG_OMAP2UART1
0730 bool "OMAP2/3/4 UART1 (omap2/3 sdp boards and some omap3 boards)"
0731 depends on ARCH_OMAP2PLUS
0732 select DEBUG_UART_8250
0733 help
0734 This covers at least h4, 2430sdp, 3430sdp, 3630sdp,
0735 omap3 torpedo and 3530 lv som.
0736
0737 config DEBUG_OMAP2UART2
0738 bool "Kernel low-level debugging messages via OMAP2/3/4 UART2"
0739 depends on ARCH_OMAP2PLUS
0740 select DEBUG_UART_8250
0741
0742 config DEBUG_OMAP2UART3
0743 bool "Kernel low-level debugging messages via OMAP2 UART3 (n8x0)"
0744 depends on ARCH_OMAP2PLUS
0745 select DEBUG_UART_8250
0746
0747 config DEBUG_OMAP3UART3
0748 bool "Kernel low-level debugging messages via OMAP3 UART3 (most omap3 boards)"
0749 depends on ARCH_OMAP2PLUS
0750 select DEBUG_UART_8250
0751 help
0752 This covers at least cm_t3x, beagle, crane, devkit8000,
0753 igep00x0, ldp, n900, n9(50), pandora, overo, touchbook,
0754 and 3517evm.
0755
0756 config DEBUG_OMAP4UART3
0757 bool "Kernel low-level debugging messages via OMAP4/5 UART3 (omap4 blaze, panda, omap5 sevm)"
0758 depends on ARCH_OMAP2PLUS
0759 select DEBUG_UART_8250
0760
0761 config DEBUG_OMAP3UART4
0762 bool "Kernel low-level debugging messages via OMAP36XX UART4"
0763 depends on ARCH_OMAP2PLUS
0764 select DEBUG_UART_8250
0765
0766 config DEBUG_OMAP4UART4
0767 bool "Kernel low-level debugging messages via OMAP4/5 UART4"
0768 depends on ARCH_OMAP2PLUS
0769 select DEBUG_UART_8250
0770
0771 config DEBUG_OMAP7XXUART1
0772 bool "Kernel low-level debugging via OMAP730 UART1"
0773 depends on ARCH_OMAP730
0774 select DEBUG_UART_8250
0775 help
0776 Say Y here if you want kernel low-level debugging support
0777 on OMAP730 based platforms on the UART1.
0778
0779 config DEBUG_OMAP7XXUART2
0780 bool "Kernel low-level debugging via OMAP730 UART2"
0781 depends on ARCH_OMAP730
0782 select DEBUG_UART_8250
0783 help
0784 Say Y here if you want kernel low-level debugging support
0785 on OMAP730 based platforms on the UART2.
0786
0787 config DEBUG_OMAP7XXUART3
0788 bool "Kernel low-level debugging via OMAP730 UART3"
0789 depends on ARCH_OMAP730
0790 select DEBUG_UART_8250
0791 help
0792 Say Y here if you want kernel low-level debugging support
0793 on OMAP730 based platforms on the UART3.
0794
0795 config DEBUG_TI81XXUART1
0796 bool "Kernel low-level debugging messages via TI81XX UART1 (ti8148evm)"
0797 depends on ARCH_OMAP2PLUS
0798 select DEBUG_UART_8250
0799
0800 config DEBUG_TI81XXUART2
0801 bool "Kernel low-level debugging messages via TI81XX UART2"
0802 depends on ARCH_OMAP2PLUS
0803 select DEBUG_UART_8250
0804
0805 config DEBUG_TI81XXUART3
0806 bool "Kernel low-level debugging messages via TI81XX UART3 (ti8168evm)"
0807 depends on ARCH_OMAP2PLUS
0808 select DEBUG_UART_8250
0809
0810 config DEBUG_AM33XXUART1
0811 bool "Kernel low-level debugging messages via AM33XX UART1"
0812 depends on ARCH_OMAP2PLUS
0813 select DEBUG_UART_8250
0814
0815 config DEBUG_ZOOM_UART
0816 bool "Kernel low-level debugging messages via Zoom2/3 UART"
0817 depends on ARCH_OMAP2PLUS
0818 select DEBUG_OMAP2PLUS_UART
0819
0820 config DEBUG_PXA_UART1
0821 depends on ARCH_PXA
0822 bool "Use PXA UART1 for low-level debug"
0823 select DEBUG_UART_8250
0824 help
0825 Say Y here if you want kernel low-level debugging support
0826 on PXA UART1.
0827
0828 config DEBUG_QCOM_UARTDM
0829 bool "Kernel low-level debugging messages via QCOM UARTDM"
0830 depends on ARCH_QCOM
0831 help
0832 Say Y here if you want the debug print routines to direct
0833 their output to the serial port on Qualcomm devices.
0834
0835 ARCH DEBUG_UART_PHYS DEBUG_UART_VIRT
0836 APQ8064 0x16640000 0xf0040000
0837 APQ8084 0xf995e000 0xfa75e000
0838 IPQ4019 0x078af000 0xf78af000
0839 MSM8X60 0x19c40000 0xf0040000
0840 MSM8960 0x16440000 0xf0040000
0841 MSM8974 0xf991e000 0xfa71e000
0842
0843 Please adjust DEBUG_UART_PHYS and DEBUG_UART_BASE configuration
0844 options based on your needs.
0845
0846 config DEBUG_REALVIEW_STD_PORT
0847 bool "RealView Default UART"
0848 depends on ARCH_REALVIEW
0849 select DEBUG_UART_PL01X
0850 help
0851 Say Y here if you want the debug print routines to direct
0852 their output to the serial port on RealView EB, PB11MP, PBA8
0853 and PBX platforms.
0854
0855 config DEBUG_REALVIEW_PB1176_PORT
0856 bool "RealView PB1176 UART"
0857 depends on MACH_REALVIEW_PB1176
0858 select DEBUG_UART_PL01X
0859 help
0860 Say Y here if you want the debug print routines to direct
0861 their output to the standard serial port on the RealView
0862 PB1176 platform.
0863
0864 config DEBUG_RV1108_UART0
0865 bool "Kernel low-level debugging messages via Rockchip RV1108 UART0"
0866 depends on ARCH_ROCKCHIP
0867 select DEBUG_UART_8250
0868 help
0869 Say Y here if you want kernel low-level debugging support
0870 on Rockchip RV1108 based platforms.
0871
0872 config DEBUG_RV1108_UART1
0873 bool "Kernel low-level debugging messages via Rockchip RV1108 UART1"
0874 depends on ARCH_ROCKCHIP
0875 select DEBUG_UART_8250
0876 help
0877 Say Y here if you want kernel low-level debugging support
0878 on Rockchip RV1108 based platforms.
0879
0880 config DEBUG_RV1108_UART2
0881 bool "Kernel low-level debugging messages via Rockchip RV1108 UART2"
0882 depends on ARCH_ROCKCHIP
0883 select DEBUG_UART_8250
0884 help
0885 Say Y here if you want kernel low-level debugging support
0886 on Rockchip RV1108 based platforms.
0887
0888 config DEBUG_RK29_UART0
0889 bool "Kernel low-level debugging messages via Rockchip RK29 UART0"
0890 depends on ARCH_ROCKCHIP
0891 select DEBUG_UART_8250
0892 help
0893 Say Y here if you want kernel low-level debugging support
0894 on Rockchip based platforms.
0895
0896 config DEBUG_RK29_UART1
0897 bool "Kernel low-level debugging messages via Rockchip RK29 UART1"
0898 depends on ARCH_ROCKCHIP
0899 select DEBUG_UART_8250
0900 help
0901 Say Y here if you want kernel low-level debugging support
0902 on Rockchip based platforms.
0903
0904 config DEBUG_RK29_UART2
0905 bool "Kernel low-level debugging messages via Rockchip RK29 UART2"
0906 depends on ARCH_ROCKCHIP
0907 select DEBUG_UART_8250
0908 help
0909 Say Y here if you want kernel low-level debugging support
0910 on Rockchip based platforms.
0911
0912 config DEBUG_RK3X_UART0
0913 bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART0"
0914 depends on ARCH_ROCKCHIP
0915 select DEBUG_UART_8250
0916 help
0917 Say Y here if you want kernel low-level debugging support
0918 on Rockchip based platforms.
0919
0920 config DEBUG_RK3X_UART1
0921 bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART1"
0922 depends on ARCH_ROCKCHIP
0923 select DEBUG_UART_8250
0924 help
0925 Say Y here if you want kernel low-level debugging support
0926 on Rockchip based platforms.
0927
0928 config DEBUG_RK3X_UART2
0929 bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART2"
0930 depends on ARCH_ROCKCHIP
0931 select DEBUG_UART_8250
0932 help
0933 Say Y here if you want kernel low-level debugging support
0934 on Rockchip based platforms.
0935
0936 config DEBUG_RK3X_UART3
0937 bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART3"
0938 depends on ARCH_ROCKCHIP
0939 select DEBUG_UART_8250
0940 help
0941 Say Y here if you want kernel low-level debugging support
0942 on Rockchip based platforms.
0943
0944 config DEBUG_RK32_UART2
0945 bool "Kernel low-level debugging messages via Rockchip RK32 UART2"
0946 depends on ARCH_ROCKCHIP
0947 select DEBUG_UART_8250
0948 help
0949 Say Y here if you want kernel low-level debugging support
0950 on Rockchip RK32xx based platforms.
0951
0952 config DEBUG_R7S72100_SCIF2
0953 bool "Kernel low-level debugging messages via SCIF2 on R7S72100"
0954 depends on ARCH_R7S72100
0955 help
0956 Say Y here if you want kernel low-level debugging support
0957 via SCIF2 on Renesas RZ/A1H (R7S72100).
0958
0959 config DEBUG_R7S9210_SCIF2
0960 bool "Kernel low-level debugging messages via SCIF2 on R7S9210"
0961 depends on ARCH_R7S9210
0962 help
0963 Say Y here if you want kernel low-level debugging support
0964 via SCIF2 on Renesas RZ/A2M (R7S9210).
0965
0966 config DEBUG_R7S9210_SCIF4
0967 bool "Kernel low-level debugging messages via SCIF4 on R7S9210"
0968 depends on ARCH_R7S9210
0969 help
0970 Say Y here if you want kernel low-level debugging support
0971 via SCIF4 on Renesas RZ/A2M (R7S9210).
0972
0973 config DEBUG_RCAR_GEN1_SCIF0
0974 bool "Kernel low-level debugging messages via SCIF0 on R8A7778"
0975 depends on ARCH_R8A7778
0976 help
0977 Say Y here if you want kernel low-level debugging support
0978 via SCIF0 on Renesas R-Car M1A (R8A7778).
0979
0980 config DEBUG_RCAR_GEN1_SCIF2
0981 bool "Kernel low-level debugging messages via SCIF2 on R8A7779"
0982 depends on ARCH_R8A7779
0983 help
0984 Say Y here if you want kernel low-level debugging support
0985 via SCIF2 on Renesas R-Car H1 (R8A7779).
0986
0987 config DEBUG_RCAR_GEN2_SCIF0
0988 bool "Kernel low-level debugging messages via SCIF0 on R-Car Gen2 and RZ/G1"
0989 depends on ARCH_R8A7743 || ARCH_R8A7744 || ARCH_R8A7790 || \
0990 ARCH_R8A7791 || ARCH_R8A7792 || ARCH_R8A7793
0991 help
0992 Say Y here if you want kernel low-level debugging support
0993 via SCIF0 on Renesas RZ/G1M (R8A7743), RZ/G1N (R8A7744),
0994 R-Car H2 (R8A7790), M2-W (R8A7791), V2H (R8A7792), or
0995 M2-N (R8A7793).
0996
0997 config DEBUG_RCAR_GEN2_SCIF1
0998 bool "Kernel low-level debugging messages via SCIF1 on R8A77470"
0999 depends on ARCH_R8A77470
1000 help
1001 Say Y here if you want kernel low-level debugging support
1002 via SCIF1 on Renesas RZ/G1C (R8A77470).
1003
1004 config DEBUG_RCAR_GEN2_SCIF2
1005 bool "Kernel low-level debugging messages via SCIF2 on R8A7794"
1006 depends on ARCH_R8A7794
1007 help
1008 Say Y here if you want kernel low-level debugging support
1009 via SCIF2 on Renesas R-Car E2 (R8A7794).
1010
1011 config DEBUG_RCAR_GEN2_SCIF4
1012 bool "Kernel low-level debugging messages via SCIF4 on R8A7745"
1013 depends on ARCH_R8A7745
1014 help
1015 Say Y here if you want kernel low-level debugging support
1016 via SCIF4 on Renesas RZ/G1E (R8A7745).
1017
1018 config DEBUG_RCAR_GEN2_SCIFA2
1019 bool "Kernel low-level debugging messages via SCIFA2 on R8A7742"
1020 depends on ARCH_R8A7742
1021 help
1022 Say Y here if you want kernel low-level debugging support
1023 via SCIFA2 on Renesas RZ/G1H (R8A7742).
1024
1025 config DEBUG_RMOBILE_SCIFA0
1026 bool "Kernel low-level debugging messages via SCIFA0 on R8A73A4"
1027 depends on ARCH_R8A73A4
1028 help
1029 Say Y here if you want kernel low-level debugging support
1030 via SCIFA0 on Renesas R-Mobile APE6 (R8A73A4).
1031
1032 config DEBUG_RMOBILE_SCIFA1
1033 bool "Kernel low-level debugging messages via SCIFA1 on R8A7740"
1034 depends on ARCH_R8A7740
1035 help
1036 Say Y here if you want kernel low-level debugging support
1037 via SCIFA1 on Renesas R-Mobile A1 (R8A7740).
1038
1039 config DEBUG_RMOBILE_SCIFA4
1040 bool "Kernel low-level debugging messages via SCIFA4 on SH73A0"
1041 depends on ARCH_SH73A0
1042 help
1043 Say Y here if you want kernel low-level debugging support
1044 via SCIFA4 on Renesas SH-Mobile AG5 (SH73A0).
1045
1046 config DEBUG_S3C_UART0
1047 depends on PLAT_SAMSUNG || ARCH_S5PV210 || ARCH_EXYNOS
1048 select DEBUG_EXYNOS_UART if ARCH_EXYNOS
1049 select DEBUG_S3C24XX_UART if ARCH_S3C24XX
1050 select DEBUG_S3C64XX_UART if ARCH_S3C64XX
1051 select DEBUG_S5PV210_UART if ARCH_S5PV210
1052 bool "Use Samsung S3C UART 0 for low-level debug"
1053 help
1054 Say Y here if you want the debug print routines to direct
1055 their output to UART 0. The port must have been initialised
1056 by the boot-loader before use.
1057
1058 config DEBUG_S3C_UART1
1059 depends on PLAT_SAMSUNG || ARCH_S5PV210 || ARCH_EXYNOS
1060 select DEBUG_EXYNOS_UART if ARCH_EXYNOS
1061 select DEBUG_S3C24XX_UART if ARCH_S3C24XX
1062 select DEBUG_S3C64XX_UART if ARCH_S3C64XX
1063 select DEBUG_S5PV210_UART if ARCH_S5PV210
1064 bool "Use Samsung S3C UART 1 for low-level debug"
1065 help
1066 Say Y here if you want the debug print routines to direct
1067 their output to UART 1. The port must have been initialised
1068 by the boot-loader before use.
1069
1070 config DEBUG_S3C_UART2
1071 depends on PLAT_SAMSUNG || ARCH_S5PV210 || ARCH_EXYNOS
1072 select DEBUG_EXYNOS_UART if ARCH_EXYNOS
1073 select DEBUG_S3C24XX_UART if ARCH_S3C24XX
1074 select DEBUG_S3C64XX_UART if ARCH_S3C64XX
1075 select DEBUG_S5PV210_UART if ARCH_S5PV210
1076 bool "Use Samsung S3C UART 2 for low-level debug"
1077 help
1078 Say Y here if you want the debug print routines to direct
1079 their output to UART 2. The port must have been initialised
1080 by the boot-loader before use.
1081
1082 config DEBUG_S3C_UART3
1083 depends on ARCH_EXYNOS || ARCH_S5PV210
1084 select DEBUG_EXYNOS_UART if ARCH_EXYNOS
1085 select DEBUG_S3C64XX_UART if ARCH_S3C64XX
1086 select DEBUG_S5PV210_UART if ARCH_S5PV210
1087 bool "Use Samsung S3C UART 3 for low-level debug"
1088 help
1089 Say Y here if you want the debug print routines to direct
1090 their output to UART 3. The port must have been initialised
1091 by the boot-loader before use.
1092
1093 config DEBUG_S3C2410_UART0
1094 depends on ARCH_S3C24XX
1095 select DEBUG_S3C2410_UART
1096 bool "Use S3C2410/S3C2412 UART 0 for low-level debug"
1097 help
1098 Say Y here if you want the debug print routines to direct
1099 their output to UART 0. The port must have been initialised
1100 by the boot-loader before use.
1101
1102 config DEBUG_S3C2410_UART1
1103 depends on ARCH_S3C24XX
1104 select DEBUG_S3C2410_UART
1105 bool "Use S3C2410/S3C2412 UART 1 for low-level debug"
1106 help
1107 Say Y here if you want the debug print routines to direct
1108 their output to UART 1. The port must have been initialised
1109 by the boot-loader before use.
1110
1111 config DEBUG_S3C2410_UART2
1112 depends on ARCH_S3C24XX
1113 select DEBUG_S3C2410_UART
1114 bool "Use S3C2410/S3C2412 UART 2 for low-level debug"
1115 help
1116 Say Y here if you want the debug print routines to direct
1117 their output to UART 2. The port must have been initialised
1118 by the boot-loader before use.
1119
1120 config DEBUG_SA1100
1121 depends on ARCH_SA1100
1122 bool "Use SA1100 UARTs for low-level debug"
1123 help
1124 Say Y here if you want kernel low-level debugging support
1125 on SA-11x0 UART ports. The kernel will check for the first
1126 enabled UART in a sequence 3-1-2.
1127
1128 config DEBUG_SD5203_UART
1129 bool "Hisilicon SD5203 Debug UART"
1130 depends on ARCH_SD5203
1131 select DEBUG_UART_8250
1132 help
1133 Say Y here if you want kernel low-level debugging support
1134 on SD5203 UART.
1135
1136 config DEBUG_SOCFPGA_UART0
1137 depends on ARCH_INTEL_SOCFPGA
1138 bool "Use SOCFPGA UART0 for low-level debug"
1139 select DEBUG_UART_8250
1140 help
1141 Say Y here if you want kernel low-level debugging support
1142 on SOCFPGA(Cyclone 5 and Arria 5) based platforms.
1143
1144 config DEBUG_SOCFPGA_ARRIA10_UART1
1145 depends on ARCH_INTEL_SOCFPGA
1146 bool "Use SOCFPGA Arria10 UART1 for low-level debug"
1147 select DEBUG_UART_8250
1148 help
1149 Say Y here if you want kernel low-level debugging support
1150 on SOCFPGA(Arria 10) based platforms.
1151
1152 config DEBUG_SOCFPGA_CYCLONE5_UART1
1153 depends on ARCH_INTEL_SOCFPGA
1154 bool "Use SOCFPGA Cyclone 5 UART1 for low-level debug"
1155 select DEBUG_UART_8250
1156 help
1157 Say Y here if you want kernel low-level debugging support
1158 on SOCFPGA(Cyclone 5 and Arria 5) based platforms.
1159
1160 config DEBUG_SUN9I_UART0
1161 bool "Kernel low-level debugging messages via sun9i UART0"
1162 depends on MACH_SUN9I
1163 select DEBUG_UART_8250
1164 help
1165 Say Y here if you want kernel low-level debugging support
1166 on Allwinner A80 based platforms on the UART0.
1167
1168 config DEBUG_SUNXI_UART0
1169 bool "Kernel low-level debugging messages via sunXi UART0"
1170 depends on ARCH_SUNXI
1171 select DEBUG_UART_8250
1172 help
1173 Say Y here if you want kernel low-level debugging support
1174 on Allwinner A1X based platforms on the UART0.
1175
1176 config DEBUG_SUNXI_UART1
1177 bool "Kernel low-level debugging messages via sunXi UART1"
1178 depends on ARCH_SUNXI
1179 select DEBUG_UART_8250
1180 help
1181 Say Y here if you want kernel low-level debugging support
1182 on Allwinner A1X based platforms on the UART1.
1183
1184 config DEBUG_SUNXI_R_UART
1185 bool "Kernel low-level debugging messages via sunXi R_UART"
1186 depends on MACH_SUN6I || MACH_SUN8I
1187 select DEBUG_UART_8250
1188 help
1189 Say Y here if you want kernel low-level debugging support
1190 on Allwinner A31/A23 based platforms on the R_UART.
1191
1192 config DEBUG_SPEAR3XX
1193 bool "Kernel low-level debugging messages via ST SPEAr 3xx/6xx UART"
1194 depends on ARCH_SPEAR3XX || ARCH_SPEAR6XX
1195 select DEBUG_UART_PL01X
1196 help
1197 Say Y here if you want kernel low-level debugging support
1198 on ST SPEAr based platforms.
1199
1200 config DEBUG_SPEAR13XX
1201 bool "Kernel low-level debugging messages via ST SPEAr 13xx UART"
1202 depends on ARCH_SPEAR13XX
1203 select DEBUG_UART_PL01X
1204 help
1205 Say Y here if you want kernel low-level debugging support
1206 on ST SPEAr13xx based platforms.
1207
1208 config DEBUG_STIH41X_ASC2
1209 bool "Use StiH415/416 ASC2 UART for low-level debug"
1210 depends on ARCH_STI
1211 help
1212 Say Y here if you want kernel low-level debugging support
1213 on STiH415/416 based platforms like b2000, which has
1214 default UART wired up to ASC2.
1215
1216 If unsure, say N.
1217
1218 config DEBUG_STIH41X_SBC_ASC1
1219 bool "Use StiH415/416 SBC ASC1 UART for low-level debug"
1220 depends on ARCH_STI
1221 help
1222 Say Y here if you want kernel low-level debugging support
1223 on STiH415/416 based platforms like b2020. which has
1224 default UART wired up to SBC ASC1.
1225
1226 If unsure, say N.
1227
1228 config DEBUG_STIH418_SBC_ASC0
1229 bool "Use StiH418 SBC ASC0 UART for low-level debug"
1230 depends on ARCH_STI
1231 help
1232 Say Y here if you want kernel low-level debugging support
1233 on STiH418 based platforms which has default UART wired
1234 up to SBC ASC0.
1235
1236 If unsure, say N.
1237
1238 config STM32F4_DEBUG_UART
1239 bool "Use STM32F4 UART for low-level debug"
1240 depends on MACH_STM32F429 || MACH_STM32F469
1241 select DEBUG_STM32_UART
1242 help
1243 Say Y here if you want kernel low-level debugging support
1244 on STM32F4 based platforms, which default UART is wired on
1245 USART1, but another UART instance can be selected by modifying
1246 CONFIG_DEBUG_UART_PHYS.
1247
1248 If unsure, say N.
1249
1250 config STM32F7_DEBUG_UART
1251 bool "Use STM32F7 UART for low-level debug"
1252 depends on MACH_STM32F746 || MACH_STM32F769
1253 select DEBUG_STM32_UART
1254 help
1255 Say Y here if you want kernel low-level debugging support
1256 on STM32F7 based platforms, which default UART is wired on
1257 USART1, but another UART instance can be selected by modifying
1258 CONFIG_DEBUG_UART_PHYS.
1259
1260 If unsure, say N.
1261
1262 config STM32H7_DEBUG_UART
1263 bool "Use STM32H7 UART for low-level debug"
1264 depends on MACH_STM32H743
1265 select DEBUG_STM32_UART
1266 help
1267 Say Y here if you want kernel low-level debugging support
1268 on STM32H7 based platforms, which default UART is wired on
1269 USART1, but another UART instance can be selected by modifying
1270 CONFIG_DEBUG_UART_PHYS.
1271
1272 If unsure, say N.
1273
1274 config STM32MP1_DEBUG_UART
1275 bool "Use STM32MP1 UART for low-level debug"
1276 depends on MACH_STM32MP157
1277 select DEBUG_STM32_UART
1278 help
1279 Say Y here if you want kernel low-level debugging support
1280 on STM32MP1 based platforms, wich default UART is wired on
1281 UART4, but another UART instance can be selected by modifying
1282 CONFIG_DEBUG_UART_PHYS and CONFIG_DEBUG_UART_VIRT.
1283
1284 If unsure, say N.
1285
1286 config TEGRA_DEBUG_UART_AUTO_ODMDATA
1287 bool "Kernel low-level debugging messages via Tegra UART via ODMDATA"
1288 depends on ARCH_TEGRA
1289 select DEBUG_TEGRA_UART
1290 help
1291 Automatically determines which UART to use for low-level
1292 debug based on the ODMDATA value. This value is part of
1293 the BCT, and is written to the boot memory device using
1294 nvflash, or other flashing tool. When bits 19:18 are 3,
1295 then bits 17:15 indicate which UART to use; 0/1/2/3/4
1296 are UART A/B/C/D/E.
1297
1298 config TEGRA_DEBUG_UARTA
1299 bool "Kernel low-level debugging messages via Tegra UART A"
1300 depends on ARCH_TEGRA
1301 select DEBUG_TEGRA_UART
1302 help
1303 Say Y here if you want kernel low-level debugging support
1304 on Tegra based platforms.
1305
1306 config TEGRA_DEBUG_UARTB
1307 bool "Kernel low-level debugging messages via Tegra UART B"
1308 depends on ARCH_TEGRA
1309 select DEBUG_TEGRA_UART
1310 help
1311 Say Y here if you want kernel low-level debugging support
1312 on Tegra based platforms.
1313
1314 config TEGRA_DEBUG_UARTC
1315 bool "Kernel low-level debugging messages via Tegra UART C"
1316 depends on ARCH_TEGRA
1317 select DEBUG_TEGRA_UART
1318 help
1319 Say Y here if you want kernel low-level debugging support
1320 on Tegra based platforms.
1321
1322 config TEGRA_DEBUG_UARTD
1323 bool "Kernel low-level debugging messages via Tegra UART D"
1324 depends on ARCH_TEGRA
1325 select DEBUG_TEGRA_UART
1326 help
1327 Say Y here if you want kernel low-level debugging support
1328 on Tegra based platforms.
1329
1330 config TEGRA_DEBUG_UARTE
1331 bool "Kernel low-level debugging messages via Tegra UART E"
1332 depends on ARCH_TEGRA
1333 select DEBUG_TEGRA_UART
1334 help
1335 Say Y here if you want kernel low-level debugging support
1336 on Tegra based platforms.
1337
1338 config DEBUG_UX500_UART
1339 depends on ARCH_U8500
1340 bool "Use Ux500 UART for low-level debug"
1341 help
1342 Say Y here if you want kernel low-level debugging support
1343 on Ux500 based platforms.
1344
1345 config DEBUG_VERSATILE
1346 bool "Kernel low-level debugging messages via ARM Versatile UART"
1347 depends on ARCH_VERSATILE
1348 select DEBUG_UART_PL01X
1349 help
1350 Say Y here if you want kernel low-level debugging support
1351 on ARM Versatile platforms.
1352
1353 config DEBUG_VEXPRESS_UART0_DETECT
1354 bool "Autodetect UART0 on Versatile Express Cortex-A core tiles"
1355 depends on ARCH_VEXPRESS && CPU_CP15_MMU
1356 help
1357 This option enables a simple heuristic which tries to determine
1358 the motherboard's memory map variant (original or RS1) and then
1359 choose the relevant UART0 base address.
1360
1361 Note that this will only work with standard A-class core tiles,
1362 and may fail with non-standard SMM or custom software models.
1363
1364 config DEBUG_VEXPRESS_UART0_CA9
1365 bool "Use PL011 UART0 at 0x10009000 (V2P-CA9 core tile)"
1366 depends on ARCH_VEXPRESS
1367 select DEBUG_UART_PL01X
1368 help
1369 This option selects UART0 at 0x10009000. Except for custom models,
1370 this applies only to the V2P-CA9 tile.
1371
1372 config DEBUG_VEXPRESS_UART0_RS1
1373 bool "Use PL011 UART0 at 0x1c090000 (RS1 complaint tiles)"
1374 depends on ARCH_VEXPRESS
1375 select DEBUG_UART_PL01X
1376 help
1377 This option selects UART0 at 0x1c090000. This applies to most
1378 of the tiles using the RS1 memory map, including all new A-class
1379 core tiles, FPGA-based SMMs and software models.
1380
1381 config DEBUG_VEXPRESS_UART0_CRX
1382 bool "Use PL011 UART0 at 0xb0090000 (Cortex-R compliant tiles)"
1383 depends on ARCH_VEXPRESS && !MMU
1384 select DEBUG_UART_PL01X
1385 help
1386 This option selects UART0 at 0xb0090000. This is appropriate for
1387 Cortex-R series tiles and SMMs, such as Cortex-R5 and Cortex-R7
1388
1389 config DEBUG_VF_UART
1390 bool "Vybrid UART"
1391 depends on SOC_VF610
1392 help
1393 Say Y here if you want kernel low-level debugging support
1394 on Vybrid based platforms.
1395
1396 config DEBUG_VT8500_UART0
1397 bool "Use UART0 on VIA/Wondermedia SoCs"
1398 depends on ARCH_VT8500
1399 help
1400 This option selects UART0 on VIA/Wondermedia System-on-a-chip
1401 devices, including VT8500, WM8505, WM8650 and WM8850.
1402
1403 config DEBUG_ZYNQ_UART0
1404 bool "Kernel low-level debugging on Xilinx Zynq using UART0"
1405 depends on ARCH_ZYNQ
1406 help
1407 Say Y here if you want the debug print routines to direct
1408 their output to UART0 on the Zynq platform.
1409
1410 config DEBUG_ZYNQ_UART1
1411 bool "Kernel low-level debugging on Xilinx Zynq using UART1"
1412 depends on ARCH_ZYNQ
1413 help
1414 Say Y here if you want the debug print routines to direct
1415 their output to UART1 on the Zynq platform.
1416
1417 If you have a ZC702 board and want early boot messages to
1418 appear on the USB serial adaptor, select this option.
1419
1420 config DEBUG_ICEDCC
1421 bool "Kernel low-level debugging via EmbeddedICE DCC channel"
1422 help
1423 Say Y here if you want the debug print routines to direct
1424 their output to the EmbeddedICE macrocell's DCC channel using
1425 co-processor 14. This is known to work on the ARM9 style ICE
1426 channel and on the XScale with the PEEDI.
1427
1428 Note that the system will appear to hang during boot if there
1429 is nothing connected to read from the DCC.
1430
1431 config DEBUG_SEMIHOSTING
1432 bool "Kernel low-level debug output via semihosting I/O"
1433 help
1434 Semihosting enables code running on an ARM target to use
1435 the I/O facilities on a host debugger/emulator through a
1436 simple SVC call. The host debugger or emulator must have
1437 semihosting enabled for the special svc call to be trapped
1438 otherwise the kernel will crash.
1439
1440 This is known to work with OpenOCD, as well as
1441 ARM's Fast Models, or any other controlling environment
1442 that implements semihosting.
1443
1444 For more details about semihosting, please see
1445 chapter 8 of DUI0203I_rvct_developer_guide.pdf from ARM Ltd.
1446
1447 config DEBUG_LL_UART_8250
1448 bool "Kernel low-level debugging via 8250 UART"
1449 help
1450 Say Y here if you wish the debug print routes to direct
1451 their output to an 8250 UART. You can use this option
1452 to provide the parameters for the 8250 UART rather than
1453 selecting one of the platform specific options above if
1454 you know the parameters for the port.
1455
1456 This option is preferred over the platform specific
1457 options; the platform specific options are deprecated
1458 and will be soon removed.
1459
1460 config DEBUG_LL_UART_PL01X
1461 bool "Kernel low-level debugging via ARM Ltd PL01x Primecell UART"
1462 help
1463 Say Y here if you wish the debug print routes to direct
1464 their output to a PL01x Primecell UART. You can use
1465 this option to provide the parameters for the UART
1466 rather than selecting one of the platform specific
1467 options above if you know the parameters for the port.
1468
1469 This option is preferred over the platform specific
1470 options; the platform specific options are deprecated
1471 and will be soon removed.
1472
1473 endchoice
1474
1475 config DEBUG_AT91_UART
1476 bool
1477 depends on ARCH_AT91
1478
1479 config DEBUG_EXYNOS_UART
1480 bool
1481
1482 config DEBUG_S3C2410_UART
1483 bool
1484 select DEBUG_S3C24XX_UART
1485
1486 config DEBUG_S3C24XX_UART
1487 bool
1488
1489 config DEBUG_S3C64XX_UART
1490 bool
1491
1492 config DEBUG_S5PV210_UART
1493 bool
1494
1495 config DEBUG_S3C_UART
1496 depends on DEBUG_S3C2410_UART || DEBUG_S3C24XX_UART || \
1497 DEBUG_S3C64XX_UART || DEBUG_S5PV210_UART || \
1498 DEBUG_EXYNOS_UART
1499 int
1500 default "0" if DEBUG_S3C_UART0
1501 default "1" if DEBUG_S3C_UART1
1502 default "2" if DEBUG_S3C_UART2
1503 default "3" if DEBUG_S3C_UART3
1504
1505 config DEBUG_OMAP2PLUS_UART
1506 bool
1507 depends on ARCH_OMAP2PLUS
1508
1509 config DEBUG_IMX_UART_PORT
1510 int "i.MX Debug UART Port Selection"
1511 depends on DEBUG_IMX1_UART || \
1512 DEBUG_IMX25_UART || \
1513 DEBUG_IMX27_UART || \
1514 DEBUG_IMX31_UART || \
1515 DEBUG_IMX35_UART || \
1516 DEBUG_IMX50_UART || \
1517 DEBUG_IMX51_UART || \
1518 DEBUG_IMX53_UART || \
1519 DEBUG_IMX6Q_UART || \
1520 DEBUG_IMX6SL_UART || \
1521 DEBUG_IMX6SX_UART || \
1522 DEBUG_IMX6UL_UART || \
1523 DEBUG_IMX7D_UART
1524 default 1
1525 help
1526 Choose UART port on which kernel low-level debug messages
1527 should be output.
1528
1529 config DEBUG_VF_UART_PORT
1530 int "Vybrid Debug UART Port Selection" if DEBUG_VF_UART
1531 default 1
1532 range 0 3
1533 depends on SOC_VF610
1534 help
1535 Choose UART port on which kernel low-level debug messages
1536 should be output.
1537
1538 config DEBUG_TEGRA_UART
1539 bool
1540 depends on ARCH_TEGRA
1541
1542 config DEBUG_STM32_UART
1543 bool
1544 depends on ARCH_STM32
1545
1546 config DEBUG_UART_FLOW_CONTROL
1547 bool "Enable flow control (CTS) for the debug UART"
1548 depends on DEBUG_LL
1549 default y if DEBUG_FOOTBRIDGE_COM1 || DEBUG_GEMINI || ARCH_RPC
1550 help
1551 Some UART ports are connected to terminals that will use modem
1552 control signals to indicate whether they are ready to receive text.
1553 In practice this means that the terminal is asserting the special
1554 control signal CTS (Clear To Send). If your debug UART supports
1555 this and your debug terminal will require it, enable this option.
1556
1557 config DEBUG_LL_INCLUDE
1558 string
1559 default "debug/sa1100.S" if DEBUG_SA1100
1560 default "debug/palmchip.S" if DEBUG_UART_8250_PALMCHIP
1561 default "debug/8250.S" if DEBUG_LL_UART_8250 || DEBUG_UART_8250
1562 default "debug/at91.S" if DEBUG_AT91_UART
1563 default "debug/asm9260.S" if DEBUG_ASM9260_UART
1564 default "debug/clps711x.S" if DEBUG_CLPS711X_UART1 || DEBUG_CLPS711X_UART2
1565 default "debug/dc21285.S" if DEBUG_DC21285_PORT
1566 default "debug/meson.S" if DEBUG_MESON_UARTAO
1567 default "debug/pl01x.S" if DEBUG_LL_UART_PL01X || DEBUG_UART_PL01X
1568 default "debug/exynos.S" if DEBUG_EXYNOS_UART
1569 default "debug/icedcc.S" if DEBUG_ICEDCC
1570 default "debug/imx.S" if DEBUG_IMX1_UART || \
1571 DEBUG_IMX25_UART || \
1572 DEBUG_IMX27_UART || \
1573 DEBUG_IMX31_UART || \
1574 DEBUG_IMX35_UART || \
1575 DEBUG_IMX50_UART || \
1576 DEBUG_IMX51_UART || \
1577 DEBUG_IMX53_UART || \
1578 DEBUG_IMX6Q_UART || \
1579 DEBUG_IMX6SL_UART || \
1580 DEBUG_IMX6SX_UART || \
1581 DEBUG_IMX6UL_UART || \
1582 DEBUG_IMX7D_UART
1583 default "debug/msm.S" if DEBUG_QCOM_UARTDM
1584 default "debug/omap2plus.S" if DEBUG_OMAP2PLUS_UART
1585 default "debug/renesas-scif.S" if DEBUG_R7S72100_SCIF2
1586 default "debug/renesas-scif.S" if DEBUG_R7S9210_SCIF2
1587 default "debug/renesas-scif.S" if DEBUG_R7S9210_SCIF4
1588 default "debug/renesas-scif.S" if DEBUG_RCAR_GEN1_SCIF0
1589 default "debug/renesas-scif.S" if DEBUG_RCAR_GEN1_SCIF2
1590 default "debug/renesas-scif.S" if DEBUG_RCAR_GEN2_SCIF0
1591 default "debug/renesas-scif.S" if DEBUG_RCAR_GEN2_SCIF1
1592 default "debug/renesas-scif.S" if DEBUG_RCAR_GEN2_SCIF2
1593 default "debug/renesas-scif.S" if DEBUG_RCAR_GEN2_SCIF4
1594 default "debug/renesas-scif.S" if DEBUG_RCAR_GEN2_SCIFA2
1595 default "debug/renesas-scif.S" if DEBUG_RMOBILE_SCIFA0
1596 default "debug/renesas-scif.S" if DEBUG_RMOBILE_SCIFA1
1597 default "debug/renesas-scif.S" if DEBUG_RMOBILE_SCIFA4
1598 default "debug/s3c24xx.S" if DEBUG_S3C24XX_UART || DEBUG_S3C64XX_UART
1599 default "debug/s5pv210.S" if DEBUG_S5PV210_UART
1600 default "debug/sti.S" if DEBUG_STIH41X_ASC2
1601 default "debug/sti.S" if DEBUG_STIH41X_SBC_ASC1
1602 default "debug/sti.S" if DEBUG_STIH418_SBC_ASC0
1603 default "debug/stm32.S" if DEBUG_STM32_UART
1604 default "debug/tegra.S" if DEBUG_TEGRA_UART
1605 default "debug/ux500.S" if DEBUG_UX500_UART
1606 default "debug/vexpress.S" if DEBUG_VEXPRESS_UART0_DETECT
1607 default "debug/vf.S" if DEBUG_VF_UART
1608 default "debug/vt8500.S" if DEBUG_VT8500_UART0
1609 default "debug/zynq.S" if DEBUG_ZYNQ_UART0 || DEBUG_ZYNQ_UART1
1610 default "debug/bcm63xx.S" if DEBUG_BCM63XX_UART
1611 default "debug/digicolor.S" if DEBUG_DIGICOLOR_UA0
1612 default "debug/brcmstb.S" if DEBUG_BRCMSTB_UART
1613 default "mach/debug-macro.S"
1614
1615 # Compatibility options for PL01x
1616 config DEBUG_UART_PL01X
1617 bool
1618
1619 # Compatibility options for 8250
1620 config DEBUG_UART_8250
1621 def_bool ARCH_IOP32X || ARCH_IXP4XX || ARCH_RPC
1622
1623 config DEBUG_UART_PHYS
1624 hex "Physical base address of debug UART"
1625 default 0x01c20000 if DEBUG_DAVINCI_DMx_UART0
1626 default 0x01c28000 if DEBUG_SUNXI_UART0
1627 default 0x01c28400 if DEBUG_SUNXI_UART1
1628 default 0x01d0c000 if DEBUG_DAVINCI_DA8XX_UART1
1629 default 0x01d0d000 if DEBUG_DAVINCI_DA8XX_UART2
1630 default 0x01f02800 if DEBUG_SUNXI_R_UART
1631 default 0x02530c00 if DEBUG_KEYSTONE_UART0
1632 default 0x02531000 if DEBUG_KEYSTONE_UART1
1633 default 0x03010fe0 if ARCH_RPC
1634 default 0x07000000 if DEBUG_SUN9I_UART0
1635 default 0x09530000 if DEBUG_STIH418_SBC_ASC0
1636 default 0x10009000 if DEBUG_REALVIEW_STD_PORT || \
1637 DEBUG_VEXPRESS_UART0_CA9
1638 default 0x1010c000 if DEBUG_REALVIEW_PB1176_PORT
1639 default 0x10124000 if DEBUG_RK3X_UART0
1640 default 0x10126000 if DEBUG_RK3X_UART1
1641 default 0x101f1000 if DEBUG_VERSATILE
1642 default 0x101fb000 if DEBUG_NOMADIK_UART
1643 default 0x10210000 if DEBUG_RV1108_UART2
1644 default 0x10220000 if DEBUG_RV1108_UART1
1645 default 0x10230000 if DEBUG_RV1108_UART0
1646 default 0x11002000 if DEBUG_MT8127_UART0
1647 default 0x11006000 if DEBUG_MT6589_UART0
1648 default 0x11009000 if DEBUG_MT8135_UART3
1649 default 0x16000000 if DEBUG_INTEGRATOR
1650 default 0x1600d000 if DEBUG_SD5203_UART
1651 default 0x18000300 if DEBUG_BCM_5301X
1652 default 0x18000400 if DEBUG_BCM_HR2
1653 default 0x18023000 if DEBUG_BCM_IPROC_UART3
1654 default 0x1c090000 if DEBUG_VEXPRESS_UART0_RS1
1655 default 0x1f221000 if DEBUG_MSTARV7_PMUART
1656 default 0x20001000 if DEBUG_HIP01_UART
1657 default 0x20060000 if DEBUG_RK29_UART0
1658 default 0x20064000 if DEBUG_RK29_UART1 || DEBUG_RK3X_UART2
1659 default 0x20068000 if DEBUG_RK29_UART2 || DEBUG_RK3X_UART3
1660 default 0x20201000 if DEBUG_BCM2835
1661 default 0x3e000000 if DEBUG_BCM_KONA_UART
1662 default 0x3f201000 if DEBUG_BCM2836
1663 default 0x40010000 if STM32MP1_DEBUG_UART
1664 default 0x40011000 if STM32F4_DEBUG_UART || STM32F7_DEBUG_UART || \
1665 STM32H7_DEBUG_UART
1666 default 0x40028000 if DEBUG_AT91_SAMV7_USART1
1667 default 0x40081000 if DEBUG_LPC18XX_UART0
1668 default 0x40090000 if DEBUG_LPC32XX
1669 default 0x40100000 if DEBUG_PXA_UART1
1670 default 0x42000000 if DEBUG_GEMINI
1671 default 0x44e09000 if DEBUG_AM33XXUART1
1672 default 0x48020000 if DEBUG_OMAP4UART3 || DEBUG_TI81XXUART1
1673 default 0x48022000 if DEBUG_TI81XXUART2
1674 default 0x48024000 if DEBUG_TI81XXUART3
1675 default 0x4806a000 if DEBUG_OMAP2UART1 || DEBUG_OMAP3UART1 || \
1676 DEBUG_OMAP4UART1 || DEBUG_OMAP5UART1
1677 default 0x4806c000 if DEBUG_OMAP2UART2 || DEBUG_OMAP3UART2 || \
1678 DEBUG_OMAP4UART2 || DEBUG_OMAP5UART2
1679 default 0x4806e000 if DEBUG_OMAP2UART3 || DEBUG_OMAP4UART4
1680 default 0x49020000 if DEBUG_OMAP3UART3
1681 default 0x49042000 if DEBUG_OMAP3UART4
1682 default 0x50000000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART0 || \
1683 DEBUG_S3C2410_UART0)
1684 default 0x50004000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART1 || \
1685 DEBUG_S3C2410_UART1)
1686 default 0x50008000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART2 || \
1687 DEBUG_S3C2410_UART2)
1688 default 0x78000000 if DEBUG_CNS3XXX
1689 default 0x7c0003f8 if DEBUG_FOOTBRIDGE_COM1
1690 default 0x7f005000 if DEBUG_S3C64XX_UART && DEBUG_S3C_UART0
1691 default 0x7f005400 if DEBUG_S3C64XX_UART && DEBUG_S3C_UART1
1692 default 0x7f005800 if DEBUG_S3C64XX_UART && DEBUG_S3C_UART2
1693 default 0x7f005c00 if DEBUG_S3C64XX_UART && DEBUG_S3C_UART3
1694 default 0x80010000 if DEBUG_ASM9260_UART
1695 default 0x80070000 if DEBUG_IMX23_UART
1696 default 0x80074000 if DEBUG_IMX28_UART
1697 default 0x808c0000 if DEBUG_EP93XX || ARCH_EP93XX
1698 default 0x90020000 if DEBUG_NSPIRE_CLASSIC_UART || DEBUG_NSPIRE_CX_UART
1699 default 0xb0090000 if DEBUG_VEXPRESS_UART0_CRX
1700 default 0xc8000000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN
1701 default 0xc8000003 if ARCH_IXP4XX && CPU_BIG_ENDIAN
1702 default 0xd0000000 if DEBUG_SPEAR3XX
1703 default 0xd0012000 if DEBUG_MVEBU_UART0
1704 default 0xc81004c0 if DEBUG_MESON_UARTAO
1705 default 0xd4017000 if DEBUG_MMP_UART2
1706 default 0xd4018000 if DEBUG_MMP_UART3
1707 default 0xe0000000 if DEBUG_SPEAR13XX
1708 default 0xe0064200 if DEBUG_AT91_LAN966_FLEXCOM
1709 default 0xe1824200 if DEBUG_AT91_SAMA7G5_FLEXCOM3
1710 default 0xe4007000 if DEBUG_HIP04_UART
1711 default 0xe6c40000 if DEBUG_RMOBILE_SCIFA0
1712 default 0xe6c50000 if DEBUG_RMOBILE_SCIFA1
1713 default 0xe6c60000 if DEBUG_RCAR_GEN2_SCIFA2
1714 default 0xe6c80000 if DEBUG_RMOBILE_SCIFA4
1715 default 0xe6e58000 if DEBUG_RCAR_GEN2_SCIF2
1716 default 0xe6e60000 if DEBUG_RCAR_GEN2_SCIF0
1717 default 0xe6e68000 if DEBUG_RCAR_GEN2_SCIF1
1718 default 0xe6ee0000 if DEBUG_RCAR_GEN2_SCIF4
1719 default 0xe8008000 if DEBUG_R7S72100_SCIF2 || DEBUG_R7S9210_SCIF2
1720 default 0xe8009000 if DEBUG_R7S9210_SCIF4
1721 default 0xf0000000 if DEBUG_DIGICOLOR_UA0
1722 default 0xf1012000 if DEBUG_MVEBU_UART0_ALTERNATE
1723 default 0xf1012100 if DEBUG_MVEBU_UART1_ALTERNATE
1724 default 0xf7fc9000 if DEBUG_BERLIN_UART
1725 default 0xf8020000 if DEBUG_AT91_SAMA5D2_UART1
1726 default 0xf8b00000 if DEBUG_HIX5HD2_UART
1727 default 0xf991e000 if DEBUG_QCOM_UARTDM
1728 default 0xfc00c000 if DEBUG_AT91_SAMA5D4_USART3
1729 default 0xfcb00000 if DEBUG_HI3620_UART
1730 default 0xfd883000 if DEBUG_ALPINE_UART0
1731 default 0xfe531000 if DEBUG_STIH41X_SBC_ASC1
1732 default 0xfe800000 if ARCH_IOP32X
1733 default 0xfed32000 if DEBUG_STIH41X_ASC2
1734 default 0xff690000 if DEBUG_RK32_UART2
1735 default 0xffc02000 if DEBUG_SOCFPGA_UART0
1736 default 0xffc02100 if DEBUG_SOCFPGA_ARRIA10_UART1
1737 default 0xffc03000 if DEBUG_SOCFPGA_CYCLONE5_UART1
1738 default 0xffe40000 if DEBUG_RCAR_GEN1_SCIF0
1739 default 0xffe42000 if DEBUG_RCAR_GEN1_SCIF2
1740 default 0xfff36000 if DEBUG_HIGHBANK_UART
1741 default 0xfffb0000 if DEBUG_OMAP1UART1 || DEBUG_OMAP7XXUART1
1742 default 0xfffb0800 if DEBUG_OMAP1UART2 || DEBUG_OMAP7XXUART2
1743 default 0xfffb9800 if DEBUG_OMAP1UART3 || DEBUG_OMAP7XXUART3
1744 default 0xfffe8600 if DEBUG_BCM63XX_UART
1745 default 0xffffee00 if DEBUG_AT91_SAM9263_DBGU
1746 default 0xfffff200 if DEBUG_AT91_RM9200_DBGU
1747 depends on ARCH_EP93XX || \
1748 DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \
1749 DEBUG_UART_8250 || DEBUG_UART_PL01X || DEBUG_MESON_UARTAO || \
1750 DEBUG_QCOM_UARTDM || DEBUG_R7S72100_SCIF2 || \
1751 DEBUG_R7S9210_SCIF2 || DEBUG_R7S9210_SCIF4 || \
1752 DEBUG_RCAR_GEN1_SCIF0 || DEBUG_RCAR_GEN1_SCIF2 || \
1753 DEBUG_RCAR_GEN2_SCIF0 || DEBUG_RCAR_GEN2_SCIF1 || \
1754 DEBUG_RCAR_GEN2_SCIF2 || DEBUG_RCAR_GEN2_SCIF4 || \
1755 DEBUG_RCAR_GEN2_SCIFA2 || \
1756 DEBUG_RMOBILE_SCIFA0 || DEBUG_RMOBILE_SCIFA1 || \
1757 DEBUG_RMOBILE_SCIFA4 || DEBUG_S3C24XX_UART || \
1758 DEBUG_S3C64XX_UART || \
1759 DEBUG_BCM63XX_UART || DEBUG_ASM9260_UART || \
1760 DEBUG_DIGICOLOR_UA0 || \
1761 DEBUG_AT91_UART || DEBUG_STM32_UART || \
1762 DEBUG_STIH41X_ASC2 || DEBUG_STIH41X_SBC_ASC1 || \
1763 DEBUG_STIH418_SBC_ASC0
1764
1765 config DEBUG_UART_VIRT
1766 hex "Virtual base address of debug UART"
1767 default 0xc881f000 if DEBUG_RV1108_UART2
1768 default 0xc8821000 if DEBUG_RV1108_UART1
1769 default 0xc8912000 if DEBUG_RV1108_UART0
1770 default 0xe0010fe0 if ARCH_RPC
1771 default 0xe0824200 if DEBUG_AT91_SAMA7G5_FLEXCOM3
1772 default 0xf0010000 if DEBUG_ASM9260_UART
1773 default 0xf0100000 if DEBUG_DIGICOLOR_UA0
1774 default 0xf01fb000 if DEBUG_NOMADIK_UART
1775 default 0xf0201000 if DEBUG_BCM2835 || DEBUG_BCM2836
1776 default 0xf0221000 if DEBUG_MSTARV7_PMUART
1777 default 0xf1000300 if DEBUG_BCM_5301X
1778 default 0xf1000400 if DEBUG_BCM_HR2
1779 default 0xf1002000 if DEBUG_MT8127_UART0
1780 default 0xf1006000 if DEBUG_MT6589_UART0
1781 default 0xf1009000 if DEBUG_MT8135_UART3
1782 default 0xf1023000 if DEBUG_BCM_IPROC_UART3
1783 default 0xf11f1000 if DEBUG_VERSATILE
1784 default 0xf1600000 if DEBUG_INTEGRATOR
1785 default 0xf1c28000 if DEBUG_SUNXI_UART0
1786 default 0xf1c28400 if DEBUG_SUNXI_UART1
1787 default 0xf1f02800 if DEBUG_SUNXI_R_UART
1788 default 0xf31004c0 if DEBUG_MESON_UARTAO
1789 default 0xf4090000 if DEBUG_LPC32XX
1790 default 0xf4200000 if DEBUG_GEMINI
1791 default 0xf6200000 if DEBUG_PXA_UART1
1792 default 0xf7000000 if DEBUG_SUN9I_UART0
1793 default 0xf7000000 if DEBUG_S3C64XX_UART && DEBUG_S3C_UART0
1794 default 0xf7000000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART0 || \
1795 DEBUG_S3C2410_UART0)
1796 default 0xf7000400 if DEBUG_S3C64XX_UART && DEBUG_S3C_UART1
1797 default 0xf7000800 if DEBUG_S3C64XX_UART && DEBUG_S3C_UART2
1798 default 0xf7000c00 if DEBUG_S3C64XX_UART && DEBUG_S3C_UART3
1799 default 0xf7004000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART1 || \
1800 DEBUG_S3C2410_UART1)
1801 default 0xf7008000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART2 || \
1802 DEBUG_S3C2410_UART2)
1803 default 0xf7020000 if DEBUG_AT91_SAMA5D2_UART1
1804 default 0xf7fc9000 if DEBUG_BERLIN_UART
1805 default 0xf8007000 if DEBUG_HIP04_UART
1806 default 0xf8009000 if DEBUG_VEXPRESS_UART0_CA9
1807 default 0xf8090000 if DEBUG_VEXPRESS_UART0_RS1
1808 default 0xf8ffee00 if DEBUG_AT91_SAM9263_DBGU
1809 default 0xf8fff200 if DEBUG_AT91_RM9200_DBGU
1810 default 0xf9530000 if DEBUG_STIH418_SBC_ASC0
1811 default 0xf9e09000 if DEBUG_AM33XXUART1
1812 default 0xfa020000 if DEBUG_OMAP4UART3 || DEBUG_TI81XXUART1
1813 default 0xfa022000 if DEBUG_TI81XXUART2
1814 default 0xfa024000 if DEBUG_TI81XXUART3
1815 default 0xfa06a000 if DEBUG_OMAP2UART1 || DEBUG_OMAP3UART1 || \
1816 DEBUG_OMAP4UART1 || DEBUG_OMAP5UART1
1817 default 0xfa06c000 if DEBUG_OMAP2UART2 || DEBUG_OMAP3UART2 || \
1818 DEBUG_OMAP4UART2 || DEBUG_OMAP5UART2
1819 default 0xfa06e000 if DEBUG_OMAP2UART3 || DEBUG_OMAP4UART4
1820 default 0xfa71e000 if DEBUG_QCOM_UARTDM
1821 default 0xfb002000 if DEBUG_CNS3XXX
1822 default 0xfb009000 if DEBUG_REALVIEW_STD_PORT
1823 default 0xfb00c000 if DEBUG_AT91_SAMA5D4_USART3
1824 default 0xfb020000 if DEBUG_OMAP3UART3
1825 default 0xfb042000 if DEBUG_OMAP3UART4
1826 default 0xfb10c000 if DEBUG_REALVIEW_PB1176_PORT
1827 default 0xfcfe8600 if DEBUG_BCM63XX_UART
1828 default 0xfd000000 if DEBUG_SPEAR3XX || DEBUG_SPEAR13XX
1829 default 0xfd064200 if DEBUG_AT91_LAN966_FLEXCOM
1830 default 0xfd531000 if DEBUG_STIH41X_SBC_ASC1
1831 default 0xfd883000 if DEBUG_ALPINE_UART0
1832 default 0xfdd32000 if DEBUG_STIH41X_ASC2
1833 default 0xfe010000 if STM32MP1_DEBUG_UART
1834 default 0xfe017000 if DEBUG_MMP_UART2
1835 default 0xfe018000 if DEBUG_MMP_UART3
1836 default 0xfe100000 if DEBUG_IMX23_UART || DEBUG_IMX28_UART
1837 default 0xfe300000 if DEBUG_BCM_KONA_UART
1838 default 0xfe800000 if ARCH_IOP32X
1839 default 0xfeb00000 if DEBUG_HI3620_UART || DEBUG_HIX5HD2_UART
1840 default 0xfeb24000 if DEBUG_RK3X_UART0
1841 default 0xfeb26000 if DEBUG_RK3X_UART1
1842 default 0xfeb30c00 if DEBUG_KEYSTONE_UART0
1843 default 0xfeb31000 if DEBUG_KEYSTONE_UART1
1844 default 0xfec02000 if DEBUG_SOCFPGA_UART0
1845 default 0xfec02100 if DEBUG_SOCFPGA_ARRIA10_UART1
1846 default 0xfec03000 if DEBUG_SOCFPGA_CYCLONE5_UART1
1847 default 0xfec12000 if DEBUG_MVEBU_UART0 || DEBUG_MVEBU_UART0_ALTERNATE
1848 default 0xfec12100 if DEBUG_MVEBU_UART1_ALTERNATE
1849 default 0xfec20000 if DEBUG_DAVINCI_DMx_UART0
1850 default 0xfec90000 if DEBUG_RK32_UART2
1851 default 0xfed0c000 if DEBUG_DAVINCI_DA8XX_UART1
1852 default 0xfed0d000 if DEBUG_DAVINCI_DA8XX_UART2 || DEBUG_SD5203_UART
1853 default 0xfed60000 if DEBUG_RK29_UART0
1854 default 0xfed64000 if DEBUG_RK29_UART1 || DEBUG_RK3X_UART2
1855 default 0xfed68000 if DEBUG_RK29_UART2 || DEBUG_RK3X_UART3
1856 default 0xfedc0000 if DEBUG_EP93XX
1857 default 0xfee003f8 if DEBUG_FOOTBRIDGE_COM1
1858 default 0xfee20000 if DEBUG_NSPIRE_CLASSIC_UART || DEBUG_NSPIRE_CX_UART
1859 default 0xfec00000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN
1860 default 0xfec00003 if ARCH_IXP4XX && CPU_BIG_ENDIAN
1861 default 0xfef36000 if DEBUG_HIGHBANK_UART
1862 default 0xff0b0000 if DEBUG_OMAP1UART1 || DEBUG_OMAP7XXUART1
1863 default 0xff0b0800 if DEBUG_OMAP1UART2 || DEBUG_OMAP7XXUART2
1864 default 0xff0b9800 if DEBUG_OMAP1UART3 || DEBUG_OMAP7XXUART3
1865 default 0xffd01000 if DEBUG_HIP01_UART
1866 default DEBUG_UART_PHYS if !MMU
1867 depends on DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \
1868 DEBUG_UART_8250 || DEBUG_UART_PL01X || DEBUG_MESON_UARTAO || \
1869 DEBUG_QCOM_UARTDM || DEBUG_S3C24XX_UART || \
1870 DEBUG_S3C64XX_UART || \
1871 DEBUG_BCM63XX_UART || DEBUG_ASM9260_UART || \
1872 DEBUG_DIGICOLOR_UA0 || \
1873 DEBUG_AT91_UART || DEBUG_STM32_UART || \
1874 DEBUG_STIH41X_ASC2 || DEBUG_STIH41X_SBC_ASC1 || \
1875 DEBUG_STIH418_SBC_ASC0
1876
1877 config DEBUG_UART_8250_SHIFT
1878 int "Register offset shift for the 8250 debug UART"
1879 depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
1880 default 0 if DEBUG_FOOTBRIDGE_COM1 || ARCH_IOP32X || DEBUG_BCM_5301X || \
1881 DEBUG_BCM_HR2 || DEBUG_OMAP7XXUART1 || DEBUG_OMAP7XXUART2 || \
1882 DEBUG_OMAP7XXUART3
1883 default 3 if DEBUG_MSTARV7_PMUART
1884 default 2
1885
1886 config DEBUG_UART_8250_WORD
1887 bool "Use 32-bit accesses for 8250 UART"
1888 depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
1889 depends on DEBUG_UART_8250_SHIFT >= 2
1890 default y if DEBUG_SOCFPGA_UART0 || DEBUG_SOCFPGA_ARRIA10_UART1 || \
1891 DEBUG_SOCFPGA_CYCLONE5_UART1 || DEBUG_KEYSTONE_UART0 || \
1892 DEBUG_KEYSTONE_UART1 || DEBUG_ALPINE_UART0 || \
1893 DEBUG_DAVINCI_DMx_UART0 || DEBUG_DAVINCI_DA8XX_UART1 || \
1894 DEBUG_DAVINCI_DA8XX_UART2 || DEBUG_BCM_IPROC_UART3 || \
1895 DEBUG_BCM_KONA_UART || DEBUG_RK32_UART2
1896
1897 config DEBUG_UART_8250_PALMCHIP
1898 bool "8250 UART is Palmchip BK-310x"
1899 depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
1900 help
1901 Palmchip provides a UART implementation compatible with 16550
1902 except for having a different register layout. Say Y here if
1903 the debug UART is of this type.
1904
1905 config DEBUG_UNCOMPRESS
1906 bool "Enable decompressor debugging via DEBUG_LL output"
1907 depends on ARCH_MULTIPLATFORM || PLAT_SAMSUNG || ARM_SINGLE_ARMV7M
1908 depends on DEBUG_LL && !DEBUG_OMAP2PLUS_UART && \
1909 (!DEBUG_TEGRA_UART || !ZBOOT_ROM) && \
1910 !DEBUG_BRCMSTB_UART && !DEBUG_SEMIHOSTING
1911 help
1912 This option influences the normal decompressor output for
1913 multiplatform kernels. Normally, multiplatform kernels disable
1914 decompressor output because it is not possible to know where to
1915 send the decompressor output.
1916
1917 When this option is set, the selected DEBUG_LL output method
1918 will be re-used for normal decompressor output on multiplatform
1919 kernels.
1920
1921
1922 config UNCOMPRESS_INCLUDE
1923 string
1924 default "debug/uncompress.h" if ARCH_MULTIPLATFORM || ARCH_MSM || \
1925 PLAT_SAMSUNG || ARM_SINGLE_ARMV7M
1926 default "mach/uncompress.h"
1927
1928 config EARLY_PRINTK
1929 bool "Early printk"
1930 depends on DEBUG_LL
1931 help
1932 Say Y here if you want to have an early console using the
1933 kernel low-level debugging functions. Add earlyprintk to your
1934 kernel parameters to enable this console.
1935
1936 config ARM_KPROBES_TEST
1937 tristate "Kprobes test module"
1938 depends on KPROBES && MODULES
1939 help
1940 Perform tests of kprobes API and instruction set simulation.
1941
1942 config PID_IN_CONTEXTIDR
1943 bool "Write the current PID to the CONTEXTIDR register"
1944 depends on CPU_COPY_V6
1945 help
1946 Enabling this option causes the kernel to write the current PID to
1947 the PROCID field of the CONTEXTIDR register, at the expense of some
1948 additional instructions during context switch. Say Y here only if you
1949 are planning to use hardware trace tools with this kernel.
1950
1951 source "drivers/hwtracing/coresight/Kconfig"