xref: /kernel/linux/linux-6.6/arch/arm/Kconfig.debug (revision 62306a36)
162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ci
362306a36Sopenharmony_ciconfig ARM_PTDUMP_CORE
462306a36Sopenharmony_ci	def_bool n
562306a36Sopenharmony_ci
662306a36Sopenharmony_ciconfig ARM_PTDUMP_DEBUGFS
762306a36Sopenharmony_ci	bool "Export kernel pagetable layout to userspace via debugfs"
862306a36Sopenharmony_ci	depends on DEBUG_KERNEL
962306a36Sopenharmony_ci	depends on MMU
1062306a36Sopenharmony_ci	select ARM_PTDUMP_CORE
1162306a36Sopenharmony_ci	select DEBUG_FS
1262306a36Sopenharmony_ci	help
1362306a36Sopenharmony_ci	  Say Y here if you want to show the kernel pagetable layout in a
1462306a36Sopenharmony_ci	  debugfs file. This information is only useful for kernel developers
1562306a36Sopenharmony_ci	  who are working in architecture specific areas of the kernel.
1662306a36Sopenharmony_ci	  It is probably not a good idea to enable this feature in a production
1762306a36Sopenharmony_ci	  kernel.
1862306a36Sopenharmony_ci	  If in doubt, say "N"
1962306a36Sopenharmony_ci
2062306a36Sopenharmony_ciconfig DEBUG_WX
2162306a36Sopenharmony_ci	bool "Warn on W+X mappings at boot"
2262306a36Sopenharmony_ci	depends on MMU
2362306a36Sopenharmony_ci	select ARM_PTDUMP_CORE
2462306a36Sopenharmony_ci	help
2562306a36Sopenharmony_ci		Generate a warning if any W+X mappings are found at boot.
2662306a36Sopenharmony_ci
2762306a36Sopenharmony_ci		This is useful for discovering cases where the kernel is leaving
2862306a36Sopenharmony_ci		W+X mappings after applying NX, as such mappings are a security risk.
2962306a36Sopenharmony_ci
3062306a36Sopenharmony_ci		Look for a message in dmesg output like this:
3162306a36Sopenharmony_ci
3262306a36Sopenharmony_ci			arm/mm: Checked W+X mappings: passed, no W+X pages found.
3362306a36Sopenharmony_ci
3462306a36Sopenharmony_ci		or like this, if the check failed:
3562306a36Sopenharmony_ci
3662306a36Sopenharmony_ci			arm/mm: Checked W+X mappings: FAILED, <N> W+X pages found.
3762306a36Sopenharmony_ci
3862306a36Sopenharmony_ci		Note that even if the check fails, your kernel is possibly
3962306a36Sopenharmony_ci		still fine, as W+X mappings are not a security hole in
4062306a36Sopenharmony_ci		themselves, what they do is that they make the exploitation
4162306a36Sopenharmony_ci		of other unfixed kernel bugs easier.
4262306a36Sopenharmony_ci
4362306a36Sopenharmony_ci		There is no runtime or memory usage effect of this option
4462306a36Sopenharmony_ci		once the kernel has booted up - it's a one time check.
4562306a36Sopenharmony_ci
4662306a36Sopenharmony_ci		If in doubt, say "Y".
4762306a36Sopenharmony_ci
4862306a36Sopenharmony_cichoice
4962306a36Sopenharmony_ci	prompt "Choose kernel unwinder"
5062306a36Sopenharmony_ci	default UNWINDER_ARM if AEABI
5162306a36Sopenharmony_ci	default UNWINDER_FRAME_POINTER if !AEABI
5262306a36Sopenharmony_ci	help
5362306a36Sopenharmony_ci	  This determines which method will be used for unwinding kernel stack
5462306a36Sopenharmony_ci	  traces for panics, oopses, bugs, warnings, perf, /proc/<pid>/stack,
5562306a36Sopenharmony_ci	  livepatch, lockdep, and more.
5662306a36Sopenharmony_ci
5762306a36Sopenharmony_ciconfig UNWINDER_FRAME_POINTER
5862306a36Sopenharmony_ci	bool "Frame pointer unwinder"
5962306a36Sopenharmony_ci	depends on !THUMB2_KERNEL
6062306a36Sopenharmony_ci	select ARCH_WANT_FRAME_POINTERS
6162306a36Sopenharmony_ci	select FRAME_POINTER
6262306a36Sopenharmony_ci	help
6362306a36Sopenharmony_ci	  This option enables the frame pointer unwinder for unwinding
6462306a36Sopenharmony_ci	  kernel stack traces.
6562306a36Sopenharmony_ci
6662306a36Sopenharmony_ciconfig UNWINDER_ARM
6762306a36Sopenharmony_ci	bool "ARM EABI stack unwinder"
6862306a36Sopenharmony_ci	depends on AEABI
6962306a36Sopenharmony_ci	select ARM_UNWIND
7062306a36Sopenharmony_ci	help
7162306a36Sopenharmony_ci	  This option enables stack unwinding support in the kernel
7262306a36Sopenharmony_ci	  using the information automatically generated by the
7362306a36Sopenharmony_ci	  compiler. The resulting kernel image is slightly bigger but
7462306a36Sopenharmony_ci	  the performance is not affected. Currently, this feature
7562306a36Sopenharmony_ci	  only works with EABI compilers.
7662306a36Sopenharmony_ci
7762306a36Sopenharmony_ciendchoice
7862306a36Sopenharmony_ci
7962306a36Sopenharmony_ciconfig ARM_UNWIND
8062306a36Sopenharmony_ci	bool
8162306a36Sopenharmony_ci
8262306a36Sopenharmony_ciconfig BACKTRACE_VERBOSE
8362306a36Sopenharmony_ci	bool "Verbose backtrace"
8462306a36Sopenharmony_ci	depends on EXPERT
8562306a36Sopenharmony_ci	help
8662306a36Sopenharmony_ci	  When the kernel produces a warning or oops, the kernel prints a
8762306a36Sopenharmony_ci	  trace of the call chain. This option controls whether we include
8862306a36Sopenharmony_ci	  the numeric addresses or only include the symbolic information.
8962306a36Sopenharmony_ci
9062306a36Sopenharmony_ci	  In most cases, say N here, unless you are intending to debug the
9162306a36Sopenharmony_ci	  kernel and have access to the kernel binary image.
9262306a36Sopenharmony_ci
9362306a36Sopenharmony_ciconfig FRAME_POINTER
9462306a36Sopenharmony_ci	bool
9562306a36Sopenharmony_ci
9662306a36Sopenharmony_ciconfig DEBUG_USER
9762306a36Sopenharmony_ci	bool "Verbose user fault messages"
9862306a36Sopenharmony_ci	help
9962306a36Sopenharmony_ci	  When a user program crashes due to an exception, the kernel can
10062306a36Sopenharmony_ci	  print a brief message explaining what the problem was. This is
10162306a36Sopenharmony_ci	  sometimes helpful for debugging but serves no purpose on a
10262306a36Sopenharmony_ci	  production system. Most people should say N here.
10362306a36Sopenharmony_ci
10462306a36Sopenharmony_ci	  In addition, you need to pass user_debug=N on the kernel command
10562306a36Sopenharmony_ci	  line to enable this feature.  N consists of the sum of:
10662306a36Sopenharmony_ci
10762306a36Sopenharmony_ci	      1 - undefined instruction events
10862306a36Sopenharmony_ci	      2 - system calls
10962306a36Sopenharmony_ci	      4 - invalid data aborts
11062306a36Sopenharmony_ci	      8 - SIGSEGV faults
11162306a36Sopenharmony_ci	     16 - SIGBUS faults
11262306a36Sopenharmony_ci
11362306a36Sopenharmony_ci# These options are only for real kernel hackers who want to get their hands dirty.
11462306a36Sopenharmony_ciconfig DEBUG_LL
11562306a36Sopenharmony_ci	bool "Kernel low-level debugging functions (read help!)"
11662306a36Sopenharmony_ci	depends on DEBUG_KERNEL
11762306a36Sopenharmony_ci	help
11862306a36Sopenharmony_ci	  Say Y here to include definitions of printascii, printch, printhex
11962306a36Sopenharmony_ci	  in the kernel.  This is helpful if you are debugging code that
12062306a36Sopenharmony_ci	  executes before the console is initialized.
12162306a36Sopenharmony_ci
12262306a36Sopenharmony_ci	  Note that selecting this option will limit the kernel to a single
12362306a36Sopenharmony_ci	  UART definition, as specified below. Attempting to boot the kernel
12462306a36Sopenharmony_ci	  image on a different platform *will not work*, so this option should
12562306a36Sopenharmony_ci	  not be enabled for kernels that are intended to be portable.
12662306a36Sopenharmony_ci
12762306a36Sopenharmony_cichoice
12862306a36Sopenharmony_ci	prompt "Kernel low-level debugging port"
12962306a36Sopenharmony_ci	depends on DEBUG_LL
13062306a36Sopenharmony_ci
13162306a36Sopenharmony_ci	config DEBUG_ALPINE_UART0
13262306a36Sopenharmony_ci		bool "Kernel low-level debugging messages via Alpine UART0"
13362306a36Sopenharmony_ci		depends on ARCH_ALPINE
13462306a36Sopenharmony_ci		select DEBUG_UART_8250
13562306a36Sopenharmony_ci		help
13662306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
13762306a36Sopenharmony_ci		  on Alpine based platforms.
13862306a36Sopenharmony_ci
13962306a36Sopenharmony_ci	config DEBUG_ASM9260_UART
14062306a36Sopenharmony_ci		bool "Kernel low-level debugging via asm9260 UART"
14162306a36Sopenharmony_ci		depends on MACH_ASM9260
14262306a36Sopenharmony_ci		help
14362306a36Sopenharmony_ci		  Say Y here if you want the debug print routines to direct
14462306a36Sopenharmony_ci		  their output to an UART or USART port on asm9260 based
14562306a36Sopenharmony_ci		  machines.
14662306a36Sopenharmony_ci
14762306a36Sopenharmony_ci		    DEBUG_UART_PHYS | DEBUG_UART_VIRT
14862306a36Sopenharmony_ci
14962306a36Sopenharmony_ci		    0x80000000      | 0xf0000000     | UART0
15062306a36Sopenharmony_ci		    0x80004000      | 0xf0004000     | UART1
15162306a36Sopenharmony_ci		    0x80008000      | 0xf0008000     | UART2
15262306a36Sopenharmony_ci		    0x8000c000      | 0xf000c000     | UART3
15362306a36Sopenharmony_ci		    0x80010000      | 0xf0010000     | UART4
15462306a36Sopenharmony_ci		    0x80014000      | 0xf0014000     | UART5
15562306a36Sopenharmony_ci		    0x80018000      | 0xf0018000     | UART6
15662306a36Sopenharmony_ci		    0x8001c000      | 0xf001c000     | UART7
15762306a36Sopenharmony_ci		    0x80020000      | 0xf0020000     | UART8
15862306a36Sopenharmony_ci		    0x80024000      | 0xf0024000     | UART9
15962306a36Sopenharmony_ci
16062306a36Sopenharmony_ci	config DEBUG_AT91_RM9200_DBGU
16162306a36Sopenharmony_ci		bool "Kernel low-level debugging on AT91RM9200, AT91SAM9, SAM9X60 DBGU"
16262306a36Sopenharmony_ci		select DEBUG_AT91_UART
16362306a36Sopenharmony_ci		depends on SOC_AT91RM9200 || SOC_AT91SAM9 || SOC_SAM9X60
16462306a36Sopenharmony_ci		help
16562306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
16662306a36Sopenharmony_ci		  on the DBGU port of:
16762306a36Sopenharmony_ci		    at91rm9200, at91sam9260, at91sam9g20, at91sam9261,
16862306a36Sopenharmony_ci		    at91sam9g10, at91sam9n12, at91sam9rl64, at91sam9x5, sam9x60
16962306a36Sopenharmony_ci
17062306a36Sopenharmony_ci	config DEBUG_AT91_SAM9263_DBGU
17162306a36Sopenharmony_ci		bool "Kernel low-level debugging on AT91SAM{9263,9G45,A5D3} DBGU"
17262306a36Sopenharmony_ci		select DEBUG_AT91_UART
17362306a36Sopenharmony_ci		depends on SOC_AT91SAM9 || SOC_SAMA5D3
17462306a36Sopenharmony_ci		help
17562306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
17662306a36Sopenharmony_ci		  on the DBGU port of:
17762306a36Sopenharmony_ci		    at91sam9263, at91sam9g45, at91sam9m10,
17862306a36Sopenharmony_ci		    sama5d3
17962306a36Sopenharmony_ci
18062306a36Sopenharmony_ci	config DEBUG_AT91_SAMA5D2_UART1
18162306a36Sopenharmony_ci		bool "Kernel low-level debugging on SAMA5D2 UART1"
18262306a36Sopenharmony_ci		select DEBUG_AT91_UART
18362306a36Sopenharmony_ci		depends on SOC_SAMA5D2
18462306a36Sopenharmony_ci		help
18562306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
18662306a36Sopenharmony_ci		  on the UART1 port of sama5d2.
18762306a36Sopenharmony_ci
18862306a36Sopenharmony_ci	config DEBUG_AT91_SAMA5D4_USART3
18962306a36Sopenharmony_ci		bool "Kernel low-level debugging on SAMA5D4 USART3"
19062306a36Sopenharmony_ci		select DEBUG_AT91_UART
19162306a36Sopenharmony_ci		depends on SOC_SAMA5D4
19262306a36Sopenharmony_ci		help
19362306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
19462306a36Sopenharmony_ci		  on the USART3 port of sama5d4.
19562306a36Sopenharmony_ci
19662306a36Sopenharmony_ci	config DEBUG_AT91_SAMV7_USART1
19762306a36Sopenharmony_ci		bool "Kernel low-level debugging via SAMV7 USART1"
19862306a36Sopenharmony_ci		select DEBUG_AT91_UART
19962306a36Sopenharmony_ci		depends on SOC_SAMV7
20062306a36Sopenharmony_ci		help
20162306a36Sopenharmony_ci		  Say Y here if you want the debug print routines to direct
20262306a36Sopenharmony_ci		  their output to the USART1 port on SAMV7 based
20362306a36Sopenharmony_ci		  machines.
20462306a36Sopenharmony_ci
20562306a36Sopenharmony_ci	config DEBUG_AT91_SAMA7G5_FLEXCOM3
20662306a36Sopenharmony_ci		bool "Kernel low-level debugging on SAMA7G5 FLEXCOM3"
20762306a36Sopenharmony_ci		select DEBUG_AT91_UART
20862306a36Sopenharmony_ci		depends on SOC_SAMA7G5
20962306a36Sopenharmony_ci		help
21062306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
21162306a36Sopenharmony_ci		  on the FLEXCOM3 port of SAMA7G5.
21262306a36Sopenharmony_ci
21362306a36Sopenharmony_ci	config DEBUG_AT91_LAN966_FLEXCOM
21462306a36Sopenharmony_ci		bool "Kernel low-level debugging on LAN966 FLEXCOM USART"
21562306a36Sopenharmony_ci		select DEBUG_AT91_UART
21662306a36Sopenharmony_ci		depends on SOC_LAN966
21762306a36Sopenharmony_ci		help
21862306a36Sopenharmony_ci		Say Y here if you want kernel low-level debugging support
21962306a36Sopenharmony_ci		on the FLEXCOM port of LAN966.
22062306a36Sopenharmony_ci
22162306a36Sopenharmony_ci		DEBUG_UART_PHYS | DEBUG_UART_VIRT
22262306a36Sopenharmony_ci
22362306a36Sopenharmony_ci		0xe0040200      | 0xfd040200     | FLEXCOM0
22462306a36Sopenharmony_ci		0xe0044200      | 0xfd044200     | FLEXCOM1
22562306a36Sopenharmony_ci		0xe0060200      | 0xfd060200     | FLEXCOM2
22662306a36Sopenharmony_ci		0xe0064200      | 0xfd064200     | FLEXCOM3
22762306a36Sopenharmony_ci		0xe0070200      | 0xfd070200     | FLEXCOM4
22862306a36Sopenharmony_ci
22962306a36Sopenharmony_ci		By default, enabling FLEXCOM3 port. Based on requirement, use
23062306a36Sopenharmony_ci		DEBUG_UART_PHYS and DEBUG_UART_VIRT configurations from above
23162306a36Sopenharmony_ci		table.
23262306a36Sopenharmony_ci
23362306a36Sopenharmony_ci	config DEBUG_BCM2835
23462306a36Sopenharmony_ci		bool "Kernel low-level debugging on BCM2835 PL011 UART"
23562306a36Sopenharmony_ci		depends on ARCH_BCM2835 && ARCH_MULTI_V6
23662306a36Sopenharmony_ci		select DEBUG_UART_PL01X
23762306a36Sopenharmony_ci
23862306a36Sopenharmony_ci	config DEBUG_BCM2836
23962306a36Sopenharmony_ci		bool "Kernel low-level debugging on BCM2836 PL011 UART"
24062306a36Sopenharmony_ci		depends on ARCH_BCM2835 && ARCH_MULTI_V7
24162306a36Sopenharmony_ci		select DEBUG_UART_PL01X
24262306a36Sopenharmony_ci
24362306a36Sopenharmony_ci	config DEBUG_BCM_5301X
24462306a36Sopenharmony_ci		bool "Kernel low-level debugging on BCM5301X/NSP UART1"
24562306a36Sopenharmony_ci		depends on ARCH_BCM_5301X || ARCH_BCM_NSP
24662306a36Sopenharmony_ci		select DEBUG_UART_8250
24762306a36Sopenharmony_ci
24862306a36Sopenharmony_ci	config DEBUG_BCM_HR2
24962306a36Sopenharmony_ci		bool "Kernel low-level debugging on Hurricane 2 UART2"
25062306a36Sopenharmony_ci		depends on ARCH_BCM_HR2
25162306a36Sopenharmony_ci		select DEBUG_UART_8250
25262306a36Sopenharmony_ci
25362306a36Sopenharmony_ci	config DEBUG_BCM_IPROC_UART3
25462306a36Sopenharmony_ci		bool "Kernel low-level debugging on BCM IPROC UART3"
25562306a36Sopenharmony_ci		depends on ARCH_BCM_CYGNUS
25662306a36Sopenharmony_ci		select DEBUG_UART_8250
25762306a36Sopenharmony_ci		help
25862306a36Sopenharmony_ci		  Say Y here if you want the debug print routines to direct
25962306a36Sopenharmony_ci		  their output to the third serial port on these devices.
26062306a36Sopenharmony_ci
26162306a36Sopenharmony_ci	config DEBUG_BCM_KONA_UART
26262306a36Sopenharmony_ci		bool "Kernel low-level debugging messages via BCM KONA UART"
26362306a36Sopenharmony_ci		depends on ARCH_BCM_MOBILE
26462306a36Sopenharmony_ci		select DEBUG_UART_8250
26562306a36Sopenharmony_ci		help
26662306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
26762306a36Sopenharmony_ci		  on Broadcom SoC platforms.
26862306a36Sopenharmony_ci		  This low level debug works for Broadcom
26962306a36Sopenharmony_ci		  mobile SoCs in the Kona family of chips (e.g. bcm28155,
27062306a36Sopenharmony_ci		  bcm11351, etc...)
27162306a36Sopenharmony_ci
27262306a36Sopenharmony_ci	config DEBUG_BCM63XX_UART
27362306a36Sopenharmony_ci		bool "Kernel low-level debugging on BCM63XX UART"
27462306a36Sopenharmony_ci		depends on ARCH_BCMBCA
27562306a36Sopenharmony_ci
27662306a36Sopenharmony_ci	config DEBUG_BERLIN_UART
27762306a36Sopenharmony_ci		bool "Marvell Berlin SoC Debug UART"
27862306a36Sopenharmony_ci		depends on ARCH_BERLIN
27962306a36Sopenharmony_ci		select DEBUG_UART_8250
28062306a36Sopenharmony_ci		help
28162306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
28262306a36Sopenharmony_ci		  on Marvell Berlin SoC based platforms.
28362306a36Sopenharmony_ci
28462306a36Sopenharmony_ci	config DEBUG_BRCMSTB_UART
28562306a36Sopenharmony_ci		bool "Use BRCMSTB UART for low-level debug"
28662306a36Sopenharmony_ci		depends on ARCH_BRCMSTB
28762306a36Sopenharmony_ci		help
28862306a36Sopenharmony_ci		  Say Y here if you want the debug print routines to direct
28962306a36Sopenharmony_ci		  their output to the first serial port on these devices. The
29062306a36Sopenharmony_ci		  UART physical and virtual address is automatically provided
29162306a36Sopenharmony_ci		  based on the chip identification register value.
29262306a36Sopenharmony_ci
29362306a36Sopenharmony_ci		  If you have a Broadcom STB chip and would like early print
29462306a36Sopenharmony_ci		  messages to appear over the UART, select this option.
29562306a36Sopenharmony_ci
29662306a36Sopenharmony_ci	config DEBUG_CLPS711X_UART1
29762306a36Sopenharmony_ci		bool "Kernel low-level debugging messages via UART1"
29862306a36Sopenharmony_ci		depends on ARCH_CLPS711X
29962306a36Sopenharmony_ci		help
30062306a36Sopenharmony_ci		  Say Y here if you want the debug print routines to direct
30162306a36Sopenharmony_ci		  their output to the first serial port on these devices.
30262306a36Sopenharmony_ci
30362306a36Sopenharmony_ci	config DEBUG_CLPS711X_UART2
30462306a36Sopenharmony_ci		bool "Kernel low-level debugging messages via UART2"
30562306a36Sopenharmony_ci		depends on ARCH_CLPS711X
30662306a36Sopenharmony_ci		help
30762306a36Sopenharmony_ci		  Say Y here if you want the debug print routines to direct
30862306a36Sopenharmony_ci		  their output to the second serial port on these devices.
30962306a36Sopenharmony_ci
31062306a36Sopenharmony_ci	config DEBUG_DAVINCI_DA8XX_UART1
31162306a36Sopenharmony_ci		bool "Kernel low-level debugging on DaVinci DA8XX using UART1"
31262306a36Sopenharmony_ci		depends on ARCH_DAVINCI_DA8XX
31362306a36Sopenharmony_ci		select DEBUG_UART_8250
31462306a36Sopenharmony_ci		help
31562306a36Sopenharmony_ci		  Say Y here if you want the debug print routines to direct
31662306a36Sopenharmony_ci		  their output to UART1 serial port on DaVinci DA8XX devices.
31762306a36Sopenharmony_ci
31862306a36Sopenharmony_ci	config DEBUG_DAVINCI_DA8XX_UART2
31962306a36Sopenharmony_ci		bool "Kernel low-level debugging on DaVinci DA8XX using UART2"
32062306a36Sopenharmony_ci		depends on ARCH_DAVINCI_DA8XX
32162306a36Sopenharmony_ci		select DEBUG_UART_8250
32262306a36Sopenharmony_ci		help
32362306a36Sopenharmony_ci		  Say Y here if you want the debug print routines to direct
32462306a36Sopenharmony_ci		  their output to UART2 serial port on DaVinci DA8XX devices.
32562306a36Sopenharmony_ci
32662306a36Sopenharmony_ci	config DEBUG_DC21285_PORT
32762306a36Sopenharmony_ci		bool "Kernel low-level debugging messages via footbridge serial port"
32862306a36Sopenharmony_ci		depends on FOOTBRIDGE
32962306a36Sopenharmony_ci		help
33062306a36Sopenharmony_ci		  Say Y here if you want the debug print routines to direct
33162306a36Sopenharmony_ci		  their output to the serial port in the DC21285 (Footbridge).
33262306a36Sopenharmony_ci
33362306a36Sopenharmony_ci	config DEBUG_DIGICOLOR_UA0
33462306a36Sopenharmony_ci		bool "Kernel low-level debugging messages via Digicolor UA0"
33562306a36Sopenharmony_ci		depends on ARCH_DIGICOLOR
33662306a36Sopenharmony_ci		help
33762306a36Sopenharmony_ci		  Say Y here if you want the debug print routines to direct
33862306a36Sopenharmony_ci		  their output to the UA0 serial port in the CX92755.
33962306a36Sopenharmony_ci
34062306a36Sopenharmony_ci	config DEBUG_EP93XX
34162306a36Sopenharmony_ci		bool "Kernel low-level debugging messages via ep93xx UART"
34262306a36Sopenharmony_ci		depends on ARCH_EP93XX
34362306a36Sopenharmony_ci		select DEBUG_UART_PL01X
34462306a36Sopenharmony_ci		help
34562306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
34662306a36Sopenharmony_ci		  on Cirrus Logic EP93xx based platforms.
34762306a36Sopenharmony_ci
34862306a36Sopenharmony_ci	config DEBUG_FOOTBRIDGE_COM1
34962306a36Sopenharmony_ci		bool "Kernel low-level debugging messages via footbridge 8250 at PCI COM1"
35062306a36Sopenharmony_ci		depends on FOOTBRIDGE
35162306a36Sopenharmony_ci		select DEBUG_UART_8250
35262306a36Sopenharmony_ci		help
35362306a36Sopenharmony_ci		  Say Y here if you want the debug print routines to direct
35462306a36Sopenharmony_ci		  their output to the 8250 at PCI COM1.
35562306a36Sopenharmony_ci
35662306a36Sopenharmony_ci	config DEBUG_GEMINI
35762306a36Sopenharmony_ci		bool "Kernel low-level debugging messages via Cortina Systems Gemini UART"
35862306a36Sopenharmony_ci		depends on ARCH_GEMINI
35962306a36Sopenharmony_ci		select DEBUG_UART_8250
36062306a36Sopenharmony_ci		help
36162306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
36262306a36Sopenharmony_ci		  on Cortina Gemini based platforms.
36362306a36Sopenharmony_ci
36462306a36Sopenharmony_ci	config DEBUG_HI3620_UART
36562306a36Sopenharmony_ci		bool "Hisilicon HI3620 Debug UART"
36662306a36Sopenharmony_ci		depends on ARCH_HI3xxx
36762306a36Sopenharmony_ci		select DEBUG_UART_PL01X
36862306a36Sopenharmony_ci		help
36962306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
37062306a36Sopenharmony_ci		  on HI3620 UART.
37162306a36Sopenharmony_ci
37262306a36Sopenharmony_ci	config DEBUG_HIGHBANK_UART
37362306a36Sopenharmony_ci		bool "Kernel low-level debugging messages via Highbank UART"
37462306a36Sopenharmony_ci		depends on ARCH_HIGHBANK
37562306a36Sopenharmony_ci		select DEBUG_UART_PL01X
37662306a36Sopenharmony_ci		help
37762306a36Sopenharmony_ci		  Say Y here if you want the debug print routines to direct
37862306a36Sopenharmony_ci		  their output to the UART on Highbank based devices.
37962306a36Sopenharmony_ci
38062306a36Sopenharmony_ci	config DEBUG_HIP01_UART
38162306a36Sopenharmony_ci		bool "Hisilicon Hip01 Debug UART"
38262306a36Sopenharmony_ci		depends on ARCH_HIP01
38362306a36Sopenharmony_ci		select DEBUG_UART_8250
38462306a36Sopenharmony_ci		help
38562306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
38662306a36Sopenharmony_ci		  on HIP01 UART.
38762306a36Sopenharmony_ci
38862306a36Sopenharmony_ci	config DEBUG_HIP04_UART
38962306a36Sopenharmony_ci		bool "Hisilicon HiP04 Debug UART"
39062306a36Sopenharmony_ci		depends on ARCH_HIP04
39162306a36Sopenharmony_ci		select DEBUG_UART_8250
39262306a36Sopenharmony_ci		help
39362306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
39462306a36Sopenharmony_ci		  on HIP04 UART.
39562306a36Sopenharmony_ci
39662306a36Sopenharmony_ci	config DEBUG_HIX5HD2_UART
39762306a36Sopenharmony_ci		bool "Hisilicon Hix5hd2 Debug UART"
39862306a36Sopenharmony_ci		depends on ARCH_HIX5HD2
39962306a36Sopenharmony_ci		select DEBUG_UART_PL01X
40062306a36Sopenharmony_ci		help
40162306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
40262306a36Sopenharmony_ci		  on Hix5hd2 UART.
40362306a36Sopenharmony_ci
40462306a36Sopenharmony_ci	config DEBUG_IMX1_UART
40562306a36Sopenharmony_ci		bool "i.MX1 Debug UART"
40662306a36Sopenharmony_ci		depends on SOC_IMX1
40762306a36Sopenharmony_ci		help
40862306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
40962306a36Sopenharmony_ci		  on i.MX1.
41062306a36Sopenharmony_ci
41162306a36Sopenharmony_ci	config DEBUG_IMX23_UART
41262306a36Sopenharmony_ci		bool "i.MX23 Debug UART"
41362306a36Sopenharmony_ci		depends on SOC_IMX23
41462306a36Sopenharmony_ci		select DEBUG_UART_PL01X
41562306a36Sopenharmony_ci		help
41662306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
41762306a36Sopenharmony_ci		  on i.MX23.
41862306a36Sopenharmony_ci
41962306a36Sopenharmony_ci	config DEBUG_IMX25_UART
42062306a36Sopenharmony_ci		bool "i.MX25 Debug UART"
42162306a36Sopenharmony_ci		depends on SOC_IMX25
42262306a36Sopenharmony_ci		help
42362306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
42462306a36Sopenharmony_ci		  on i.MX25.
42562306a36Sopenharmony_ci
42662306a36Sopenharmony_ci	config DEBUG_IMX27_UART
42762306a36Sopenharmony_ci		bool "i.MX27 Debug UART"
42862306a36Sopenharmony_ci		depends on SOC_IMX27
42962306a36Sopenharmony_ci		help
43062306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
43162306a36Sopenharmony_ci		  on i.MX27.
43262306a36Sopenharmony_ci
43362306a36Sopenharmony_ci	config DEBUG_IMX28_UART
43462306a36Sopenharmony_ci		bool "i.MX28 Debug UART"
43562306a36Sopenharmony_ci		depends on SOC_IMX28
43662306a36Sopenharmony_ci		select DEBUG_UART_PL01X
43762306a36Sopenharmony_ci		help
43862306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
43962306a36Sopenharmony_ci		  on i.MX28.
44062306a36Sopenharmony_ci
44162306a36Sopenharmony_ci	config DEBUG_IMX31_UART
44262306a36Sopenharmony_ci		bool "i.MX31 Debug UART"
44362306a36Sopenharmony_ci		depends on SOC_IMX31
44462306a36Sopenharmony_ci		help
44562306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
44662306a36Sopenharmony_ci		  on i.MX31.
44762306a36Sopenharmony_ci
44862306a36Sopenharmony_ci	config DEBUG_IMX35_UART
44962306a36Sopenharmony_ci		bool "i.MX35 Debug UART"
45062306a36Sopenharmony_ci		depends on SOC_IMX35
45162306a36Sopenharmony_ci		help
45262306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
45362306a36Sopenharmony_ci		  on i.MX35.
45462306a36Sopenharmony_ci
45562306a36Sopenharmony_ci	config DEBUG_IMX50_UART
45662306a36Sopenharmony_ci		bool "i.MX50 Debug UART"
45762306a36Sopenharmony_ci		depends on SOC_IMX50
45862306a36Sopenharmony_ci		help
45962306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
46062306a36Sopenharmony_ci		  on i.MX50.
46162306a36Sopenharmony_ci
46262306a36Sopenharmony_ci	config DEBUG_IMX51_UART
46362306a36Sopenharmony_ci		bool "i.MX51 Debug UART"
46462306a36Sopenharmony_ci		depends on SOC_IMX51
46562306a36Sopenharmony_ci		help
46662306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
46762306a36Sopenharmony_ci		  on i.MX51.
46862306a36Sopenharmony_ci
46962306a36Sopenharmony_ci	config DEBUG_IMX53_UART
47062306a36Sopenharmony_ci		bool "i.MX53 Debug UART"
47162306a36Sopenharmony_ci		depends on SOC_IMX53
47262306a36Sopenharmony_ci		help
47362306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
47462306a36Sopenharmony_ci		  on i.MX53.
47562306a36Sopenharmony_ci
47662306a36Sopenharmony_ci	config DEBUG_IMX6Q_UART
47762306a36Sopenharmony_ci		bool "i.MX6Q/DL Debug UART"
47862306a36Sopenharmony_ci		depends on SOC_IMX6Q
47962306a36Sopenharmony_ci		help
48062306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
48162306a36Sopenharmony_ci		  on i.MX6Q/DL.
48262306a36Sopenharmony_ci
48362306a36Sopenharmony_ci	config DEBUG_IMX6SL_UART
48462306a36Sopenharmony_ci		bool "i.MX6SL Debug UART"
48562306a36Sopenharmony_ci		depends on SOC_IMX6SL
48662306a36Sopenharmony_ci		help
48762306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
48862306a36Sopenharmony_ci		  on i.MX6SL.
48962306a36Sopenharmony_ci
49062306a36Sopenharmony_ci	config DEBUG_IMX6SX_UART
49162306a36Sopenharmony_ci		bool "i.MX6SX Debug UART"
49262306a36Sopenharmony_ci		depends on SOC_IMX6SX
49362306a36Sopenharmony_ci		help
49462306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
49562306a36Sopenharmony_ci		  on i.MX6SX.
49662306a36Sopenharmony_ci
49762306a36Sopenharmony_ci	config DEBUG_IMX6UL_UART
49862306a36Sopenharmony_ci		bool "i.MX6UL Debug UART"
49962306a36Sopenharmony_ci		depends on SOC_IMX6UL
50062306a36Sopenharmony_ci		help
50162306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
50262306a36Sopenharmony_ci		  on i.MX6UL.
50362306a36Sopenharmony_ci
50462306a36Sopenharmony_ci	config DEBUG_IMX7D_UART
50562306a36Sopenharmony_ci		bool "i.MX7D Debug UART"
50662306a36Sopenharmony_ci		depends on SOC_IMX7D
50762306a36Sopenharmony_ci		help
50862306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
50962306a36Sopenharmony_ci		  on i.MX7D.
51062306a36Sopenharmony_ci
51162306a36Sopenharmony_ci	config DEBUG_INTEGRATOR
51262306a36Sopenharmony_ci		bool "Kernel low-level debugging messages via ARM Integrator UART"
51362306a36Sopenharmony_ci		depends on ARCH_INTEGRATOR
51462306a36Sopenharmony_ci		select DEBUG_UART_PL01X
51562306a36Sopenharmony_ci		help
51662306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
51762306a36Sopenharmony_ci		  on ARM Integrator platforms.
51862306a36Sopenharmony_ci
51962306a36Sopenharmony_ci	config DEBUG_KEYSTONE_UART0
52062306a36Sopenharmony_ci		bool "Kernel low-level debugging on KEYSTONE2 using UART0"
52162306a36Sopenharmony_ci		depends on ARCH_KEYSTONE
52262306a36Sopenharmony_ci		select DEBUG_UART_8250
52362306a36Sopenharmony_ci		help
52462306a36Sopenharmony_ci		  Say Y here if you want the debug print routines to direct
52562306a36Sopenharmony_ci		  their output to UART0 serial port on KEYSTONE2 devices.
52662306a36Sopenharmony_ci
52762306a36Sopenharmony_ci	config DEBUG_KEYSTONE_UART1
52862306a36Sopenharmony_ci		bool "Kernel low-level debugging on KEYSTONE2 using UART1"
52962306a36Sopenharmony_ci		depends on ARCH_KEYSTONE
53062306a36Sopenharmony_ci		select DEBUG_UART_8250
53162306a36Sopenharmony_ci		help
53262306a36Sopenharmony_ci		  Say Y here if you want the debug print routines to direct
53362306a36Sopenharmony_ci		  their output to UART1 serial port on KEYSTONE2 devices.
53462306a36Sopenharmony_ci
53562306a36Sopenharmony_ci	config DEBUG_LPC18XX_UART0
53662306a36Sopenharmony_ci		bool "Kernel low-level debugging via LPC18xx/43xx UART0"
53762306a36Sopenharmony_ci		depends on ARCH_LPC18XX
53862306a36Sopenharmony_ci		select DEBUG_UART_8250
53962306a36Sopenharmony_ci		help
54062306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
54162306a36Sopenharmony_ci		  on NXP LPC18xx/43xx UART0.
54262306a36Sopenharmony_ci
54362306a36Sopenharmony_ci	config DEBUG_LPC32XX
54462306a36Sopenharmony_ci		bool "Kernel low-level debugging messages via NXP LPC32xx UART"
54562306a36Sopenharmony_ci		depends on ARCH_LPC32XX
54662306a36Sopenharmony_ci		select DEBUG_UART_8250
54762306a36Sopenharmony_ci		help
54862306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
54962306a36Sopenharmony_ci		  on NXP LPC32xx based platforms.
55062306a36Sopenharmony_ci
55162306a36Sopenharmony_ci	config DEBUG_MESON_UARTAO
55262306a36Sopenharmony_ci		bool "Kernel low-level debugging via Meson6 UARTAO"
55362306a36Sopenharmony_ci		depends on ARCH_MESON
55462306a36Sopenharmony_ci		help
55562306a36Sopenharmony_ci		  Say Y here if you want kernel low-lever debugging support
55662306a36Sopenharmony_ci		  on Amlogic Meson6 based platforms on the UARTAO.
55762306a36Sopenharmony_ci
55862306a36Sopenharmony_ci	config DEBUG_MMP_UART2
55962306a36Sopenharmony_ci		bool "Kernel low-level debugging message via MMP UART2"
56062306a36Sopenharmony_ci		depends on ARCH_MMP
56162306a36Sopenharmony_ci		select DEBUG_UART_8250
56262306a36Sopenharmony_ci		help
56362306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
56462306a36Sopenharmony_ci		  on MMP UART2.
56562306a36Sopenharmony_ci
56662306a36Sopenharmony_ci	config DEBUG_MMP_UART3
56762306a36Sopenharmony_ci		bool "Kernel low-level debugging message via MMP UART3"
56862306a36Sopenharmony_ci		depends on ARCH_MMP
56962306a36Sopenharmony_ci		select DEBUG_UART_8250
57062306a36Sopenharmony_ci		help
57162306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
57262306a36Sopenharmony_ci		  on MMP UART3.
57362306a36Sopenharmony_ci
57462306a36Sopenharmony_ci	config DEBUG_MVEBU_UART0
57562306a36Sopenharmony_ci		bool "Kernel low-level debugging messages via MVEBU UART0 (old bootloaders)"
57662306a36Sopenharmony_ci		depends on ARCH_MVEBU
57762306a36Sopenharmony_ci		depends on ARCH_MVEBU && CPU_V7
57862306a36Sopenharmony_ci		select DEBUG_UART_8250
57962306a36Sopenharmony_ci		help
58062306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
58162306a36Sopenharmony_ci		  on MVEBU based platforms on UART0.
58262306a36Sopenharmony_ci
58362306a36Sopenharmony_ci		  This option should be used with the old bootloaders
58462306a36Sopenharmony_ci		  that left the internal registers mapped at
58562306a36Sopenharmony_ci		  0xd0000000. As of today, this is the case on
58662306a36Sopenharmony_ci		  platforms such as the Globalscale Mirabox or the
58762306a36Sopenharmony_ci		  Plathome OpenBlocks AX3, when using the original
58862306a36Sopenharmony_ci		  bootloader.
58962306a36Sopenharmony_ci
59062306a36Sopenharmony_ci		  This option will not work on older Marvell platforms
59162306a36Sopenharmony_ci		  (Kirkwood, Dove, MV78xx0, Orion5x), which should pick
59262306a36Sopenharmony_ci		  the "new bootloader" variant.
59362306a36Sopenharmony_ci
59462306a36Sopenharmony_ci		  If the wrong DEBUG_MVEBU_UART* option is selected,
59562306a36Sopenharmony_ci		  when u-boot hands over to the kernel, the system
59662306a36Sopenharmony_ci		  silently crashes, with no serial output at all.
59762306a36Sopenharmony_ci
59862306a36Sopenharmony_ci	config DEBUG_MVEBU_UART0_ALTERNATE
59962306a36Sopenharmony_ci		bool "Kernel low-level debugging messages via MVEBU UART0 (new bootloaders)"
60062306a36Sopenharmony_ci		depends on ARCH_MVEBU || ARCH_DOVE || ARCH_MV78XX0 || ARCH_ORION5X
60162306a36Sopenharmony_ci		select DEBUG_UART_8250
60262306a36Sopenharmony_ci		help
60362306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
60462306a36Sopenharmony_ci		  on MVEBU based platforms on UART0. (Armada XP, Armada 3xx,
60562306a36Sopenharmony_ci		  Kirkwood, Dove, MV78xx0, Orion5x).
60662306a36Sopenharmony_ci
60762306a36Sopenharmony_ci
60862306a36Sopenharmony_ci		  This option should be used with the new bootloaders
60962306a36Sopenharmony_ci		  that remap the internal registers at 0xf1000000.
61062306a36Sopenharmony_ci
61162306a36Sopenharmony_ci		  If the wrong DEBUG_MVEBU_UART* option is selected,
61262306a36Sopenharmony_ci		  when u-boot hands over to the kernel, the system
61362306a36Sopenharmony_ci		  silently crashes, with no serial output at all.
61462306a36Sopenharmony_ci
61562306a36Sopenharmony_ci	config DEBUG_MVEBU_UART1_ALTERNATE
61662306a36Sopenharmony_ci		bool "Kernel low-level debugging messages via MVEBU UART1 (new bootloaders)"
61762306a36Sopenharmony_ci		depends on ARCH_MVEBU
61862306a36Sopenharmony_ci		select DEBUG_UART_8250
61962306a36Sopenharmony_ci		help
62062306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
62162306a36Sopenharmony_ci		  on MVEBU based platforms on UART1. (Armada XP, Armada 3xx,
62262306a36Sopenharmony_ci		  Kirkwood, Dove, MV78xx0, Orion5x).
62362306a36Sopenharmony_ci
62462306a36Sopenharmony_ci		  This option should be used with the new bootloaders
62562306a36Sopenharmony_ci		  that remap the internal registers at 0xf1000000.
62662306a36Sopenharmony_ci		  All of the older (pre Armada XP/370) platforms also use
62762306a36Sopenharmony_ci		  this address, regardless of the boot loader version.
62862306a36Sopenharmony_ci
62962306a36Sopenharmony_ci		  If the wrong DEBUG_MVEBU_UART* option is selected,
63062306a36Sopenharmony_ci		  when u-boot hands over to the kernel, the system
63162306a36Sopenharmony_ci		  silently crashes, with no serial output at all.
63262306a36Sopenharmony_ci
63362306a36Sopenharmony_ci	config DEBUG_MSTARV7_PMUART
63462306a36Sopenharmony_ci		bool "Kernel low-level debugging messages via MSTARV7 PM UART"
63562306a36Sopenharmony_ci		depends on ARCH_MSTARV7
63662306a36Sopenharmony_ci		select DEBUG_UART_8250
63762306a36Sopenharmony_ci		help
63862306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
63962306a36Sopenharmony_ci		  for MSTAR ARMv7-based platforms on PM UART.
64062306a36Sopenharmony_ci
64162306a36Sopenharmony_ci	config DEBUG_MT6589_UART0
64262306a36Sopenharmony_ci		bool "Mediatek mt6589 UART0"
64362306a36Sopenharmony_ci		depends on ARCH_MEDIATEK
64462306a36Sopenharmony_ci		select DEBUG_UART_8250
64562306a36Sopenharmony_ci		help
64662306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
64762306a36Sopenharmony_ci		  for Mediatek mt6589 based platforms on UART0.
64862306a36Sopenharmony_ci
64962306a36Sopenharmony_ci	config DEBUG_MT8127_UART0
65062306a36Sopenharmony_ci		bool "Mediatek mt8127/mt6592 UART0"
65162306a36Sopenharmony_ci		depends on ARCH_MEDIATEK
65262306a36Sopenharmony_ci		select DEBUG_UART_8250
65362306a36Sopenharmony_ci		help
65462306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
65562306a36Sopenharmony_ci		  for Mediatek mt8127 based platforms on UART0.
65662306a36Sopenharmony_ci
65762306a36Sopenharmony_ci	config DEBUG_MT8135_UART3
65862306a36Sopenharmony_ci		bool "Mediatek mt8135 UART3"
65962306a36Sopenharmony_ci		depends on ARCH_MEDIATEK
66062306a36Sopenharmony_ci		select DEBUG_UART_8250
66162306a36Sopenharmony_ci		help
66262306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
66362306a36Sopenharmony_ci		  for Mediatek mt8135 based platforms on UART3.
66462306a36Sopenharmony_ci
66562306a36Sopenharmony_ci	config DEBUG_NOMADIK_UART
66662306a36Sopenharmony_ci		bool "Kernel low-level debugging messages via NOMADIK UART"
66762306a36Sopenharmony_ci		depends on ARCH_NOMADIK
66862306a36Sopenharmony_ci		select DEBUG_UART_PL01X
66962306a36Sopenharmony_ci		help
67062306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
67162306a36Sopenharmony_ci		  on NOMADIK based platforms.
67262306a36Sopenharmony_ci
67362306a36Sopenharmony_ci	config DEBUG_NSPIRE_CLASSIC_UART
67462306a36Sopenharmony_ci		bool "Kernel low-level debugging via TI-NSPIRE 8250 UART"
67562306a36Sopenharmony_ci		depends on ARCH_NSPIRE
67662306a36Sopenharmony_ci		select DEBUG_UART_8250
67762306a36Sopenharmony_ci		help
67862306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
67962306a36Sopenharmony_ci		  on TI-NSPIRE classic models.
68062306a36Sopenharmony_ci
68162306a36Sopenharmony_ci	config DEBUG_NSPIRE_CX_UART
68262306a36Sopenharmony_ci		bool "Kernel low-level debugging via TI-NSPIRE PL011 UART"
68362306a36Sopenharmony_ci		depends on ARCH_NSPIRE
68462306a36Sopenharmony_ci		select DEBUG_UART_PL01X
68562306a36Sopenharmony_ci		help
68662306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
68762306a36Sopenharmony_ci		  on TI-NSPIRE CX models.
68862306a36Sopenharmony_ci
68962306a36Sopenharmony_ci	config DEBUG_OMAP1UART1
69062306a36Sopenharmony_ci		bool "Kernel low-level debugging via OMAP1 UART1"
69162306a36Sopenharmony_ci		depends on ARCH_OMAP1
69262306a36Sopenharmony_ci		select DEBUG_UART_8250
69362306a36Sopenharmony_ci		help
69462306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
69562306a36Sopenharmony_ci		  on OMAP1 based platforms (except OMAP730) on the UART1.
69662306a36Sopenharmony_ci
69762306a36Sopenharmony_ci	config DEBUG_OMAP1UART2
69862306a36Sopenharmony_ci		bool "Kernel low-level debugging via OMAP1 UART2"
69962306a36Sopenharmony_ci		depends on ARCH_OMAP1
70062306a36Sopenharmony_ci		select DEBUG_UART_8250
70162306a36Sopenharmony_ci		help
70262306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
70362306a36Sopenharmony_ci		  on OMAP1 based platforms (except OMAP730) on the UART2.
70462306a36Sopenharmony_ci
70562306a36Sopenharmony_ci	config DEBUG_OMAP1UART3
70662306a36Sopenharmony_ci		bool "Kernel low-level debugging via OMAP1 UART3"
70762306a36Sopenharmony_ci		depends on ARCH_OMAP1
70862306a36Sopenharmony_ci		select DEBUG_UART_8250
70962306a36Sopenharmony_ci		help
71062306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
71162306a36Sopenharmony_ci		  on OMAP1 based platforms (except OMAP730) on the UART3.
71262306a36Sopenharmony_ci
71362306a36Sopenharmony_ci	config DEBUG_OMAP2UART1
71462306a36Sopenharmony_ci		bool "OMAP2/3/4 UART1 (omap2/3 sdp boards and some omap3 boards)"
71562306a36Sopenharmony_ci		depends on ARCH_OMAP2PLUS
71662306a36Sopenharmony_ci		select DEBUG_UART_8250
71762306a36Sopenharmony_ci		help
71862306a36Sopenharmony_ci		  This covers at least h4, 2430sdp, 3430sdp, 3630sdp,
71962306a36Sopenharmony_ci		  omap3 torpedo and 3530 lv som.
72062306a36Sopenharmony_ci
72162306a36Sopenharmony_ci	config DEBUG_OMAP2UART2
72262306a36Sopenharmony_ci		bool "Kernel low-level debugging messages via OMAP2/3/4 UART2"
72362306a36Sopenharmony_ci		depends on ARCH_OMAP2PLUS
72462306a36Sopenharmony_ci		select DEBUG_UART_8250
72562306a36Sopenharmony_ci
72662306a36Sopenharmony_ci	config DEBUG_OMAP2UART3
72762306a36Sopenharmony_ci		bool "Kernel low-level debugging messages via OMAP2 UART3 (n8x0)"
72862306a36Sopenharmony_ci		depends on ARCH_OMAP2PLUS
72962306a36Sopenharmony_ci		select DEBUG_UART_8250
73062306a36Sopenharmony_ci
73162306a36Sopenharmony_ci	config DEBUG_OMAP3UART3
73262306a36Sopenharmony_ci		bool "Kernel low-level debugging messages via OMAP3 UART3 (most omap3 boards)"
73362306a36Sopenharmony_ci		depends on ARCH_OMAP2PLUS
73462306a36Sopenharmony_ci		select DEBUG_UART_8250
73562306a36Sopenharmony_ci		help
73662306a36Sopenharmony_ci		  This covers at least cm_t3x, beagle, crane, devkit8000,
73762306a36Sopenharmony_ci		  igep00x0, ldp, n900, n9(50), pandora, overo, touchbook,
73862306a36Sopenharmony_ci		  and 3517evm.
73962306a36Sopenharmony_ci
74062306a36Sopenharmony_ci	config DEBUG_OMAP4UART3
74162306a36Sopenharmony_ci		bool "Kernel low-level debugging messages via OMAP4/5 UART3 (omap4 blaze, panda, omap5 sevm)"
74262306a36Sopenharmony_ci		depends on ARCH_OMAP2PLUS
74362306a36Sopenharmony_ci		select DEBUG_UART_8250
74462306a36Sopenharmony_ci
74562306a36Sopenharmony_ci	config DEBUG_OMAP3UART4
74662306a36Sopenharmony_ci		bool "Kernel low-level debugging messages via OMAP36XX UART4"
74762306a36Sopenharmony_ci		depends on ARCH_OMAP2PLUS
74862306a36Sopenharmony_ci		select DEBUG_UART_8250
74962306a36Sopenharmony_ci
75062306a36Sopenharmony_ci	config DEBUG_OMAP4UART4
75162306a36Sopenharmony_ci		bool "Kernel low-level debugging messages via OMAP4/5 UART4"
75262306a36Sopenharmony_ci		depends on ARCH_OMAP2PLUS
75362306a36Sopenharmony_ci		select DEBUG_UART_8250
75462306a36Sopenharmony_ci
75562306a36Sopenharmony_ci	config DEBUG_TI81XXUART1
75662306a36Sopenharmony_ci		bool "Kernel low-level debugging messages via TI81XX UART1 (ti8148evm)"
75762306a36Sopenharmony_ci		depends on ARCH_OMAP2PLUS
75862306a36Sopenharmony_ci		select DEBUG_UART_8250
75962306a36Sopenharmony_ci
76062306a36Sopenharmony_ci	config DEBUG_TI81XXUART2
76162306a36Sopenharmony_ci		bool "Kernel low-level debugging messages via TI81XX UART2"
76262306a36Sopenharmony_ci		depends on ARCH_OMAP2PLUS
76362306a36Sopenharmony_ci		select DEBUG_UART_8250
76462306a36Sopenharmony_ci
76562306a36Sopenharmony_ci	config DEBUG_TI81XXUART3
76662306a36Sopenharmony_ci		bool "Kernel low-level debugging messages via TI81XX UART3 (ti8168evm)"
76762306a36Sopenharmony_ci		depends on ARCH_OMAP2PLUS
76862306a36Sopenharmony_ci		select DEBUG_UART_8250
76962306a36Sopenharmony_ci
77062306a36Sopenharmony_ci	config DEBUG_AM33XXUART1
77162306a36Sopenharmony_ci		bool "Kernel low-level debugging messages via AM33XX UART1"
77262306a36Sopenharmony_ci		depends on ARCH_OMAP2PLUS
77362306a36Sopenharmony_ci		select DEBUG_UART_8250
77462306a36Sopenharmony_ci
77562306a36Sopenharmony_ci	config DEBUG_ZOOM_UART
77662306a36Sopenharmony_ci		bool "Kernel low-level debugging messages via Zoom2/3 UART"
77762306a36Sopenharmony_ci		depends on ARCH_OMAP2PLUS
77862306a36Sopenharmony_ci		select DEBUG_OMAP2PLUS_UART
77962306a36Sopenharmony_ci
78062306a36Sopenharmony_ci	config DEBUG_PXA_UART1
78162306a36Sopenharmony_ci		depends on ARCH_PXA
78262306a36Sopenharmony_ci		bool "Use PXA UART1 for low-level debug"
78362306a36Sopenharmony_ci		select DEBUG_UART_8250
78462306a36Sopenharmony_ci		help
78562306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
78662306a36Sopenharmony_ci		  on PXA UART1.
78762306a36Sopenharmony_ci
78862306a36Sopenharmony_ci	config DEBUG_QCOM_UARTDM
78962306a36Sopenharmony_ci		bool "Kernel low-level debugging messages via QCOM UARTDM"
79062306a36Sopenharmony_ci		depends on ARCH_QCOM
79162306a36Sopenharmony_ci		help
79262306a36Sopenharmony_ci		  Say Y here if you want the debug print routines to direct
79362306a36Sopenharmony_ci		  their output to the serial port on Qualcomm devices.
79462306a36Sopenharmony_ci
79562306a36Sopenharmony_ci		  ARCH      DEBUG_UART_PHYS   DEBUG_UART_VIRT
79662306a36Sopenharmony_ci		  APQ8064   0x16640000        0xf0040000
79762306a36Sopenharmony_ci		  APQ8084   0xf995e000        0xfa75e000
79862306a36Sopenharmony_ci		  IPQ4019   0x078af000        0xf78af000
79962306a36Sopenharmony_ci		  MSM8X60   0x19c40000        0xf0040000
80062306a36Sopenharmony_ci		  MSM8960   0x16440000        0xf0040000
80162306a36Sopenharmony_ci		  MSM8974   0xf991e000        0xfa71e000
80262306a36Sopenharmony_ci
80362306a36Sopenharmony_ci		  Please adjust DEBUG_UART_PHYS and DEBUG_UART_BASE configuration
80462306a36Sopenharmony_ci		  options based on your needs.
80562306a36Sopenharmony_ci
80662306a36Sopenharmony_ci	config DEBUG_REALVIEW_STD_PORT
80762306a36Sopenharmony_ci		bool "RealView Default UART"
80862306a36Sopenharmony_ci		depends on ARCH_REALVIEW
80962306a36Sopenharmony_ci		select DEBUG_UART_PL01X
81062306a36Sopenharmony_ci		help
81162306a36Sopenharmony_ci		  Say Y here if you want the debug print routines to direct
81262306a36Sopenharmony_ci		  their output to the serial port on RealView EB, PB11MP, PBA8
81362306a36Sopenharmony_ci		  and PBX platforms.
81462306a36Sopenharmony_ci
81562306a36Sopenharmony_ci	config DEBUG_REALVIEW_PB1176_PORT
81662306a36Sopenharmony_ci		bool "RealView PB1176 UART"
81762306a36Sopenharmony_ci		depends on MACH_REALVIEW_PB1176
81862306a36Sopenharmony_ci		select DEBUG_UART_PL01X
81962306a36Sopenharmony_ci		help
82062306a36Sopenharmony_ci		  Say Y here if you want the debug print routines to direct
82162306a36Sopenharmony_ci		  their output to the standard serial port on the RealView
82262306a36Sopenharmony_ci		  PB1176 platform.
82362306a36Sopenharmony_ci
82462306a36Sopenharmony_ci	config DEBUG_RV1108_UART0
82562306a36Sopenharmony_ci		bool "Kernel low-level debugging messages via Rockchip RV1108 UART0"
82662306a36Sopenharmony_ci		depends on ARCH_ROCKCHIP
82762306a36Sopenharmony_ci		select DEBUG_UART_8250
82862306a36Sopenharmony_ci		help
82962306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
83062306a36Sopenharmony_ci                  on Rockchip RV1108 based platforms.
83162306a36Sopenharmony_ci
83262306a36Sopenharmony_ci	config DEBUG_RV1108_UART1
83362306a36Sopenharmony_ci		bool "Kernel low-level debugging messages via Rockchip RV1108 UART1"
83462306a36Sopenharmony_ci		depends on ARCH_ROCKCHIP
83562306a36Sopenharmony_ci		select DEBUG_UART_8250
83662306a36Sopenharmony_ci		help
83762306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
83862306a36Sopenharmony_ci		  on Rockchip RV1108 based platforms.
83962306a36Sopenharmony_ci
84062306a36Sopenharmony_ci	config DEBUG_RV1108_UART2
84162306a36Sopenharmony_ci		bool "Kernel low-level debugging messages via Rockchip RV1108 UART2"
84262306a36Sopenharmony_ci		depends on ARCH_ROCKCHIP
84362306a36Sopenharmony_ci		select DEBUG_UART_8250
84462306a36Sopenharmony_ci		help
84562306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
84662306a36Sopenharmony_ci		  on Rockchip RV1108 based platforms.
84762306a36Sopenharmony_ci
84862306a36Sopenharmony_ci	config DEBUG_RK29_UART0
84962306a36Sopenharmony_ci		bool "Kernel low-level debugging messages via Rockchip RK29 UART0"
85062306a36Sopenharmony_ci		depends on ARCH_ROCKCHIP
85162306a36Sopenharmony_ci		select DEBUG_UART_8250
85262306a36Sopenharmony_ci		help
85362306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
85462306a36Sopenharmony_ci		  on Rockchip based platforms.
85562306a36Sopenharmony_ci
85662306a36Sopenharmony_ci	config DEBUG_RK29_UART1
85762306a36Sopenharmony_ci		bool "Kernel low-level debugging messages via Rockchip RK29 UART1"
85862306a36Sopenharmony_ci		depends on ARCH_ROCKCHIP
85962306a36Sopenharmony_ci		select DEBUG_UART_8250
86062306a36Sopenharmony_ci		help
86162306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
86262306a36Sopenharmony_ci		  on Rockchip based platforms.
86362306a36Sopenharmony_ci
86462306a36Sopenharmony_ci	config DEBUG_RK29_UART2
86562306a36Sopenharmony_ci		bool "Kernel low-level debugging messages via Rockchip RK29 UART2"
86662306a36Sopenharmony_ci		depends on ARCH_ROCKCHIP
86762306a36Sopenharmony_ci		select DEBUG_UART_8250
86862306a36Sopenharmony_ci		help
86962306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
87062306a36Sopenharmony_ci		  on Rockchip based platforms.
87162306a36Sopenharmony_ci
87262306a36Sopenharmony_ci	config DEBUG_RK3X_UART0
87362306a36Sopenharmony_ci		bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART0"
87462306a36Sopenharmony_ci		depends on ARCH_ROCKCHIP
87562306a36Sopenharmony_ci		select DEBUG_UART_8250
87662306a36Sopenharmony_ci		help
87762306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
87862306a36Sopenharmony_ci		  on Rockchip based platforms.
87962306a36Sopenharmony_ci
88062306a36Sopenharmony_ci	config DEBUG_RK3X_UART1
88162306a36Sopenharmony_ci		bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART1"
88262306a36Sopenharmony_ci		depends on ARCH_ROCKCHIP
88362306a36Sopenharmony_ci		select DEBUG_UART_8250
88462306a36Sopenharmony_ci		help
88562306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
88662306a36Sopenharmony_ci		  on Rockchip based platforms.
88762306a36Sopenharmony_ci
88862306a36Sopenharmony_ci	config DEBUG_RK3X_UART2
88962306a36Sopenharmony_ci		bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART2"
89062306a36Sopenharmony_ci		depends on ARCH_ROCKCHIP
89162306a36Sopenharmony_ci		select DEBUG_UART_8250
89262306a36Sopenharmony_ci		help
89362306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
89462306a36Sopenharmony_ci		  on Rockchip based platforms.
89562306a36Sopenharmony_ci
89662306a36Sopenharmony_ci	config DEBUG_RK3X_UART3
89762306a36Sopenharmony_ci		bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART3"
89862306a36Sopenharmony_ci		depends on ARCH_ROCKCHIP
89962306a36Sopenharmony_ci		select DEBUG_UART_8250
90062306a36Sopenharmony_ci		help
90162306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
90262306a36Sopenharmony_ci		  on Rockchip based platforms.
90362306a36Sopenharmony_ci
90462306a36Sopenharmony_ci	config DEBUG_RK32_UART2
90562306a36Sopenharmony_ci		bool "Kernel low-level debugging messages via Rockchip RK32 UART2"
90662306a36Sopenharmony_ci		depends on ARCH_ROCKCHIP
90762306a36Sopenharmony_ci		select DEBUG_UART_8250
90862306a36Sopenharmony_ci		help
90962306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
91062306a36Sopenharmony_ci		  on Rockchip RK32xx based platforms.
91162306a36Sopenharmony_ci
91262306a36Sopenharmony_ci	config DEBUG_R7S72100_SCIF2
91362306a36Sopenharmony_ci		bool "Kernel low-level debugging messages via SCIF2 on R7S72100"
91462306a36Sopenharmony_ci		depends on ARCH_R7S72100
91562306a36Sopenharmony_ci		help
91662306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
91762306a36Sopenharmony_ci		  via SCIF2 on Renesas RZ/A1H (R7S72100).
91862306a36Sopenharmony_ci
91962306a36Sopenharmony_ci	config DEBUG_R7S9210_SCIF2
92062306a36Sopenharmony_ci		bool "Kernel low-level debugging messages via SCIF2 on R7S9210"
92162306a36Sopenharmony_ci		depends on ARCH_R7S9210
92262306a36Sopenharmony_ci		help
92362306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
92462306a36Sopenharmony_ci		  via SCIF2 on Renesas RZ/A2M (R7S9210).
92562306a36Sopenharmony_ci
92662306a36Sopenharmony_ci	config DEBUG_R7S9210_SCIF4
92762306a36Sopenharmony_ci		bool "Kernel low-level debugging messages via SCIF4 on R7S9210"
92862306a36Sopenharmony_ci		depends on ARCH_R7S9210
92962306a36Sopenharmony_ci		help
93062306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
93162306a36Sopenharmony_ci		  via SCIF4 on Renesas RZ/A2M (R7S9210).
93262306a36Sopenharmony_ci
93362306a36Sopenharmony_ci	config DEBUG_RCAR_GEN1_SCIF0
93462306a36Sopenharmony_ci		bool "Kernel low-level debugging messages via SCIF0 on R8A7778"
93562306a36Sopenharmony_ci		depends on ARCH_R8A7778
93662306a36Sopenharmony_ci		help
93762306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
93862306a36Sopenharmony_ci		  via SCIF0 on Renesas R-Car M1A (R8A7778).
93962306a36Sopenharmony_ci
94062306a36Sopenharmony_ci	config DEBUG_RCAR_GEN1_SCIF2
94162306a36Sopenharmony_ci		bool "Kernel low-level debugging messages via SCIF2 on R8A7779"
94262306a36Sopenharmony_ci		depends on ARCH_R8A7779
94362306a36Sopenharmony_ci		help
94462306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
94562306a36Sopenharmony_ci		  via SCIF2 on Renesas R-Car H1 (R8A7779).
94662306a36Sopenharmony_ci
94762306a36Sopenharmony_ci	config DEBUG_RCAR_GEN2_SCIF0
94862306a36Sopenharmony_ci		bool "Kernel low-level debugging messages via SCIF0 on R-Car Gen2 and RZ/G1"
94962306a36Sopenharmony_ci		depends on ARCH_R8A7743 || ARCH_R8A7744 || ARCH_R8A7790 || \
95062306a36Sopenharmony_ci			ARCH_R8A7791 || ARCH_R8A7792 || ARCH_R8A7793
95162306a36Sopenharmony_ci		help
95262306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
95362306a36Sopenharmony_ci		  via SCIF0 on Renesas RZ/G1M (R8A7743), RZ/G1N (R8A7744),
95462306a36Sopenharmony_ci		  R-Car H2 (R8A7790), M2-W (R8A7791), V2H (R8A7792), or
95562306a36Sopenharmony_ci		  M2-N (R8A7793).
95662306a36Sopenharmony_ci
95762306a36Sopenharmony_ci	config DEBUG_RCAR_GEN2_SCIF1
95862306a36Sopenharmony_ci		bool "Kernel low-level debugging messages via SCIF1 on R8A77470"
95962306a36Sopenharmony_ci		depends on ARCH_R8A77470
96062306a36Sopenharmony_ci		help
96162306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
96262306a36Sopenharmony_ci		  via SCIF1 on Renesas RZ/G1C (R8A77470).
96362306a36Sopenharmony_ci
96462306a36Sopenharmony_ci	config DEBUG_RCAR_GEN2_SCIF2
96562306a36Sopenharmony_ci		bool "Kernel low-level debugging messages via SCIF2 on R8A7794"
96662306a36Sopenharmony_ci		depends on ARCH_R8A7794
96762306a36Sopenharmony_ci		help
96862306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
96962306a36Sopenharmony_ci		  via SCIF2 on Renesas R-Car E2 (R8A7794).
97062306a36Sopenharmony_ci
97162306a36Sopenharmony_ci	config DEBUG_RCAR_GEN2_SCIF4
97262306a36Sopenharmony_ci		bool "Kernel low-level debugging messages via SCIF4 on R8A7745"
97362306a36Sopenharmony_ci		depends on ARCH_R8A7745
97462306a36Sopenharmony_ci		help
97562306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
97662306a36Sopenharmony_ci		  via SCIF4 on Renesas RZ/G1E (R8A7745).
97762306a36Sopenharmony_ci
97862306a36Sopenharmony_ci	config DEBUG_RCAR_GEN2_SCIFA2
97962306a36Sopenharmony_ci		bool "Kernel low-level debugging messages via SCIFA2 on R8A7742"
98062306a36Sopenharmony_ci		depends on ARCH_R8A7742
98162306a36Sopenharmony_ci		help
98262306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
98362306a36Sopenharmony_ci		  via SCIFA2 on Renesas RZ/G1H (R8A7742).
98462306a36Sopenharmony_ci
98562306a36Sopenharmony_ci	config DEBUG_RMOBILE_SCIFA0
98662306a36Sopenharmony_ci		bool "Kernel low-level debugging messages via SCIFA0 on R8A73A4"
98762306a36Sopenharmony_ci		depends on ARCH_R8A73A4
98862306a36Sopenharmony_ci		help
98962306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
99062306a36Sopenharmony_ci		  via SCIFA0 on Renesas R-Mobile APE6 (R8A73A4).
99162306a36Sopenharmony_ci
99262306a36Sopenharmony_ci	config DEBUG_RMOBILE_SCIFA1
99362306a36Sopenharmony_ci		bool "Kernel low-level debugging messages via SCIFA1 on R8A7740"
99462306a36Sopenharmony_ci		depends on ARCH_R8A7740
99562306a36Sopenharmony_ci		help
99662306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
99762306a36Sopenharmony_ci		  via SCIFA1 on Renesas R-Mobile A1 (R8A7740).
99862306a36Sopenharmony_ci
99962306a36Sopenharmony_ci	config DEBUG_RMOBILE_SCIFA4
100062306a36Sopenharmony_ci		bool "Kernel low-level debugging messages via SCIFA4 on SH73A0"
100162306a36Sopenharmony_ci		depends on ARCH_SH73A0
100262306a36Sopenharmony_ci		help
100362306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
100462306a36Sopenharmony_ci		  via SCIFA4 on Renesas SH-Mobile AG5 (SH73A0).
100562306a36Sopenharmony_ci
100662306a36Sopenharmony_ci	config DEBUG_S3C_UART0
100762306a36Sopenharmony_ci		depends on PLAT_SAMSUNG || ARCH_S5PV210 || ARCH_EXYNOS
100862306a36Sopenharmony_ci		select DEBUG_EXYNOS_UART if ARCH_EXYNOS
100962306a36Sopenharmony_ci		select DEBUG_S3C64XX_UART if ARCH_S3C64XX
101062306a36Sopenharmony_ci		select DEBUG_S5PV210_UART if ARCH_S5PV210
101162306a36Sopenharmony_ci		bool "Use Samsung S3C UART 0 for low-level debug"
101262306a36Sopenharmony_ci		help
101362306a36Sopenharmony_ci		  Say Y here if you want the debug print routines to direct
101462306a36Sopenharmony_ci		  their output to UART 0. The port must have been initialised
101562306a36Sopenharmony_ci		  by the boot-loader before use.
101662306a36Sopenharmony_ci
101762306a36Sopenharmony_ci	config DEBUG_S3C_UART1
101862306a36Sopenharmony_ci		depends on PLAT_SAMSUNG || ARCH_S5PV210 || ARCH_EXYNOS
101962306a36Sopenharmony_ci		select DEBUG_EXYNOS_UART if ARCH_EXYNOS
102062306a36Sopenharmony_ci		select DEBUG_S3C64XX_UART if ARCH_S3C64XX
102162306a36Sopenharmony_ci		select DEBUG_S5PV210_UART if ARCH_S5PV210
102262306a36Sopenharmony_ci		bool "Use Samsung S3C UART 1 for low-level debug"
102362306a36Sopenharmony_ci		help
102462306a36Sopenharmony_ci		  Say Y here if you want the debug print routines to direct
102562306a36Sopenharmony_ci		  their output to UART 1. The port must have been initialised
102662306a36Sopenharmony_ci		  by the boot-loader before use.
102762306a36Sopenharmony_ci
102862306a36Sopenharmony_ci	config DEBUG_S3C_UART2
102962306a36Sopenharmony_ci		depends on PLAT_SAMSUNG || ARCH_S5PV210 || ARCH_EXYNOS
103062306a36Sopenharmony_ci		select DEBUG_EXYNOS_UART if ARCH_EXYNOS
103162306a36Sopenharmony_ci		select DEBUG_S3C64XX_UART if ARCH_S3C64XX
103262306a36Sopenharmony_ci		select DEBUG_S5PV210_UART if ARCH_S5PV210
103362306a36Sopenharmony_ci		bool "Use Samsung S3C UART 2 for low-level debug"
103462306a36Sopenharmony_ci		help
103562306a36Sopenharmony_ci		  Say Y here if you want the debug print routines to direct
103662306a36Sopenharmony_ci		  their output to UART 2. The port must have been initialised
103762306a36Sopenharmony_ci		  by the boot-loader before use.
103862306a36Sopenharmony_ci
103962306a36Sopenharmony_ci	config DEBUG_S3C_UART3
104062306a36Sopenharmony_ci		depends on ARCH_EXYNOS || ARCH_S5PV210
104162306a36Sopenharmony_ci		select DEBUG_EXYNOS_UART if ARCH_EXYNOS
104262306a36Sopenharmony_ci		select DEBUG_S3C64XX_UART if ARCH_S3C64XX
104362306a36Sopenharmony_ci		select DEBUG_S5PV210_UART if ARCH_S5PV210
104462306a36Sopenharmony_ci		bool "Use Samsung S3C UART 3 for low-level debug"
104562306a36Sopenharmony_ci		help
104662306a36Sopenharmony_ci		  Say Y here if you want the debug print routines to direct
104762306a36Sopenharmony_ci		  their output to UART 3. The port must have been initialised
104862306a36Sopenharmony_ci		  by the boot-loader before use.
104962306a36Sopenharmony_ci
105062306a36Sopenharmony_ci	config DEBUG_SA1100
105162306a36Sopenharmony_ci		depends on ARCH_SA1100
105262306a36Sopenharmony_ci		bool "Use SA1100 UARTs for low-level debug"
105362306a36Sopenharmony_ci		help
105462306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
105562306a36Sopenharmony_ci		  on SA-11x0 UART ports. The kernel will check for the first
105662306a36Sopenharmony_ci		  enabled UART in a sequence 3-1-2.
105762306a36Sopenharmony_ci
105862306a36Sopenharmony_ci	config DEBUG_SD5203_UART
105962306a36Sopenharmony_ci		bool "Hisilicon SD5203 Debug UART"
106062306a36Sopenharmony_ci		depends on ARCH_SD5203
106162306a36Sopenharmony_ci		select DEBUG_UART_8250
106262306a36Sopenharmony_ci		help
106362306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
106462306a36Sopenharmony_ci		  on SD5203 UART.
106562306a36Sopenharmony_ci
106662306a36Sopenharmony_ci	config DEBUG_SOCFPGA_UART0
106762306a36Sopenharmony_ci		depends on ARCH_INTEL_SOCFPGA
106862306a36Sopenharmony_ci		bool "Use SOCFPGA UART0 for low-level debug"
106962306a36Sopenharmony_ci		select DEBUG_UART_8250
107062306a36Sopenharmony_ci		help
107162306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
107262306a36Sopenharmony_ci		  on SOCFPGA(Cyclone 5 and Arria 5) based platforms.
107362306a36Sopenharmony_ci
107462306a36Sopenharmony_ci	config DEBUG_SOCFPGA_ARRIA10_UART1
107562306a36Sopenharmony_ci		depends on ARCH_INTEL_SOCFPGA
107662306a36Sopenharmony_ci		bool "Use SOCFPGA Arria10 UART1 for low-level debug"
107762306a36Sopenharmony_ci		select DEBUG_UART_8250
107862306a36Sopenharmony_ci		help
107962306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
108062306a36Sopenharmony_ci		  on SOCFPGA(Arria 10) based platforms.
108162306a36Sopenharmony_ci
108262306a36Sopenharmony_ci	config DEBUG_SOCFPGA_CYCLONE5_UART1
108362306a36Sopenharmony_ci		depends on ARCH_INTEL_SOCFPGA
108462306a36Sopenharmony_ci		bool "Use SOCFPGA Cyclone 5 UART1 for low-level debug"
108562306a36Sopenharmony_ci		select DEBUG_UART_8250
108662306a36Sopenharmony_ci		help
108762306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
108862306a36Sopenharmony_ci		  on SOCFPGA(Cyclone 5 and Arria 5) based platforms.
108962306a36Sopenharmony_ci
109062306a36Sopenharmony_ci	config DEBUG_SUN9I_UART0
109162306a36Sopenharmony_ci		bool "Kernel low-level debugging messages via sun9i UART0"
109262306a36Sopenharmony_ci		depends on MACH_SUN9I
109362306a36Sopenharmony_ci		select DEBUG_UART_8250
109462306a36Sopenharmony_ci		help
109562306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
109662306a36Sopenharmony_ci		  on Allwinner A80 based platforms on the UART0.
109762306a36Sopenharmony_ci
109862306a36Sopenharmony_ci	config DEBUG_SUNXI_UART0
109962306a36Sopenharmony_ci		bool "Kernel low-level debugging messages via sunXi UART0"
110062306a36Sopenharmony_ci		depends on ARCH_SUNXI
110162306a36Sopenharmony_ci		select DEBUG_UART_8250
110262306a36Sopenharmony_ci		help
110362306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
110462306a36Sopenharmony_ci		  on Allwinner A1X based platforms on the UART0.
110562306a36Sopenharmony_ci
110662306a36Sopenharmony_ci	config DEBUG_SUNXI_UART1
110762306a36Sopenharmony_ci		bool "Kernel low-level debugging messages via sunXi UART1"
110862306a36Sopenharmony_ci		depends on ARCH_SUNXI
110962306a36Sopenharmony_ci		select DEBUG_UART_8250
111062306a36Sopenharmony_ci		help
111162306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
111262306a36Sopenharmony_ci		  on Allwinner A1X based platforms on the UART1.
111362306a36Sopenharmony_ci
111462306a36Sopenharmony_ci	config DEBUG_SUNXI_R_UART
111562306a36Sopenharmony_ci		bool "Kernel low-level debugging messages via sunXi R_UART"
111662306a36Sopenharmony_ci		depends on MACH_SUN6I || MACH_SUN8I
111762306a36Sopenharmony_ci		select DEBUG_UART_8250
111862306a36Sopenharmony_ci		help
111962306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
112062306a36Sopenharmony_ci		  on Allwinner A31/A23 based platforms on the R_UART.
112162306a36Sopenharmony_ci
112262306a36Sopenharmony_ci	config DEBUG_SPEAR3XX
112362306a36Sopenharmony_ci		bool "Kernel low-level debugging messages via ST SPEAr 3xx/6xx UART"
112462306a36Sopenharmony_ci		depends on ARCH_SPEAR3XX || ARCH_SPEAR6XX
112562306a36Sopenharmony_ci		select DEBUG_UART_PL01X
112662306a36Sopenharmony_ci		help
112762306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
112862306a36Sopenharmony_ci		  on ST SPEAr based platforms.
112962306a36Sopenharmony_ci
113062306a36Sopenharmony_ci	config DEBUG_SPEAR13XX
113162306a36Sopenharmony_ci		bool "Kernel low-level debugging messages via ST SPEAr 13xx UART"
113262306a36Sopenharmony_ci		depends on ARCH_SPEAR13XX
113362306a36Sopenharmony_ci		select DEBUG_UART_PL01X
113462306a36Sopenharmony_ci		help
113562306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
113662306a36Sopenharmony_ci		  on ST SPEAr13xx based platforms.
113762306a36Sopenharmony_ci
113862306a36Sopenharmony_ci	config DEBUG_STIH41X_ASC2
113962306a36Sopenharmony_ci		bool "Use StiH415/416 ASC2 UART for low-level debug"
114062306a36Sopenharmony_ci		depends on ARCH_STI
114162306a36Sopenharmony_ci		help
114262306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
114362306a36Sopenharmony_ci		  on STiH415/416 based platforms like b2000, which has
114462306a36Sopenharmony_ci		  default UART wired up to ASC2.
114562306a36Sopenharmony_ci
114662306a36Sopenharmony_ci		  If unsure, say N.
114762306a36Sopenharmony_ci
114862306a36Sopenharmony_ci	config DEBUG_STIH41X_SBC_ASC1
114962306a36Sopenharmony_ci		bool "Use StiH415/416 SBC ASC1 UART for low-level debug"
115062306a36Sopenharmony_ci		depends on ARCH_STI
115162306a36Sopenharmony_ci		help
115262306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
115362306a36Sopenharmony_ci		  on STiH415/416 based platforms like b2020. which has
115462306a36Sopenharmony_ci		  default UART wired up to SBC ASC1.
115562306a36Sopenharmony_ci
115662306a36Sopenharmony_ci		  If unsure, say N.
115762306a36Sopenharmony_ci
115862306a36Sopenharmony_ci	config DEBUG_STIH418_SBC_ASC0
115962306a36Sopenharmony_ci		bool "Use StiH418 SBC ASC0 UART for low-level debug"
116062306a36Sopenharmony_ci		depends on ARCH_STI
116162306a36Sopenharmony_ci		help
116262306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
116362306a36Sopenharmony_ci		  on STiH418 based platforms which has default UART wired
116462306a36Sopenharmony_ci		  up to SBC ASC0.
116562306a36Sopenharmony_ci
116662306a36Sopenharmony_ci		  If unsure, say N.
116762306a36Sopenharmony_ci
116862306a36Sopenharmony_ci	config STM32F4_DEBUG_UART
116962306a36Sopenharmony_ci		bool "Use STM32F4 UART for low-level debug"
117062306a36Sopenharmony_ci		depends on MACH_STM32F429 || MACH_STM32F469
117162306a36Sopenharmony_ci		select DEBUG_STM32_UART
117262306a36Sopenharmony_ci		help
117362306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
117462306a36Sopenharmony_ci		  on STM32F4 based platforms, which default UART is wired on
117562306a36Sopenharmony_ci		  USART1, but another UART instance can be selected by modifying
117662306a36Sopenharmony_ci		  CONFIG_DEBUG_UART_PHYS.
117762306a36Sopenharmony_ci
117862306a36Sopenharmony_ci		  If unsure, say N.
117962306a36Sopenharmony_ci
118062306a36Sopenharmony_ci	config STM32F7_DEBUG_UART
118162306a36Sopenharmony_ci		bool "Use STM32F7 UART for low-level debug"
118262306a36Sopenharmony_ci		depends on MACH_STM32F746 || MACH_STM32F769
118362306a36Sopenharmony_ci		select DEBUG_STM32_UART
118462306a36Sopenharmony_ci		help
118562306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
118662306a36Sopenharmony_ci		  on STM32F7 based platforms, which default UART is wired on
118762306a36Sopenharmony_ci		  USART1, but another UART instance can be selected by modifying
118862306a36Sopenharmony_ci		  CONFIG_DEBUG_UART_PHYS.
118962306a36Sopenharmony_ci
119062306a36Sopenharmony_ci		  If unsure, say N.
119162306a36Sopenharmony_ci
119262306a36Sopenharmony_ci	config STM32H7_DEBUG_UART
119362306a36Sopenharmony_ci		bool "Use STM32H7 UART for low-level debug"
119462306a36Sopenharmony_ci		depends on MACH_STM32H743
119562306a36Sopenharmony_ci		select DEBUG_STM32_UART
119662306a36Sopenharmony_ci		help
119762306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
119862306a36Sopenharmony_ci		  on STM32H7 based platforms, which default UART is wired on
119962306a36Sopenharmony_ci		  USART1, but another UART instance can be selected by modifying
120062306a36Sopenharmony_ci		  CONFIG_DEBUG_UART_PHYS.
120162306a36Sopenharmony_ci
120262306a36Sopenharmony_ci		  If unsure, say N.
120362306a36Sopenharmony_ci
120462306a36Sopenharmony_ci	config STM32MP1_DEBUG_UART
120562306a36Sopenharmony_ci		bool "Use STM32MP1 UART for low-level debug"
120662306a36Sopenharmony_ci		depends on MACH_STM32MP157
120762306a36Sopenharmony_ci		select DEBUG_STM32_UART
120862306a36Sopenharmony_ci		help
120962306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support on
121062306a36Sopenharmony_ci		  STM32MP1-based platforms, where the default UART is wired to
121162306a36Sopenharmony_ci		  UART4, but another UART instance can be selected by modifying
121262306a36Sopenharmony_ci		  CONFIG_DEBUG_UART_PHYS and CONFIG_DEBUG_UART_VIRT.
121362306a36Sopenharmony_ci
121462306a36Sopenharmony_ci		  If unsure, say N.
121562306a36Sopenharmony_ci
121662306a36Sopenharmony_ci	config TEGRA_DEBUG_UART_AUTO_ODMDATA
121762306a36Sopenharmony_ci		bool "Kernel low-level debugging messages via Tegra UART via ODMDATA"
121862306a36Sopenharmony_ci		depends on ARCH_TEGRA
121962306a36Sopenharmony_ci		select DEBUG_TEGRA_UART
122062306a36Sopenharmony_ci		help
122162306a36Sopenharmony_ci		  Automatically determines which UART to use for low-level
122262306a36Sopenharmony_ci		  debug based on the ODMDATA value. This value is part of
122362306a36Sopenharmony_ci		  the BCT, and is written to the boot memory device using
122462306a36Sopenharmony_ci		  nvflash, or other flashing tool.  When bits 19:18 are 3,
122562306a36Sopenharmony_ci		  then bits 17:15 indicate which UART to use; 0/1/2/3/4
122662306a36Sopenharmony_ci		  are UART A/B/C/D/E.
122762306a36Sopenharmony_ci
122862306a36Sopenharmony_ci	config TEGRA_DEBUG_UARTA
122962306a36Sopenharmony_ci		bool "Kernel low-level debugging messages via Tegra UART A"
123062306a36Sopenharmony_ci		depends on ARCH_TEGRA
123162306a36Sopenharmony_ci		select DEBUG_TEGRA_UART
123262306a36Sopenharmony_ci		help
123362306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
123462306a36Sopenharmony_ci		  on Tegra based platforms.
123562306a36Sopenharmony_ci
123662306a36Sopenharmony_ci	config TEGRA_DEBUG_UARTB
123762306a36Sopenharmony_ci		bool "Kernel low-level debugging messages via Tegra UART B"
123862306a36Sopenharmony_ci		depends on ARCH_TEGRA
123962306a36Sopenharmony_ci		select DEBUG_TEGRA_UART
124062306a36Sopenharmony_ci		help
124162306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
124262306a36Sopenharmony_ci		  on Tegra based platforms.
124362306a36Sopenharmony_ci
124462306a36Sopenharmony_ci	config TEGRA_DEBUG_UARTC
124562306a36Sopenharmony_ci		bool "Kernel low-level debugging messages via Tegra UART C"
124662306a36Sopenharmony_ci		depends on ARCH_TEGRA
124762306a36Sopenharmony_ci		select DEBUG_TEGRA_UART
124862306a36Sopenharmony_ci		help
124962306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
125062306a36Sopenharmony_ci		  on Tegra based platforms.
125162306a36Sopenharmony_ci
125262306a36Sopenharmony_ci	config TEGRA_DEBUG_UARTD
125362306a36Sopenharmony_ci		bool "Kernel low-level debugging messages via Tegra UART D"
125462306a36Sopenharmony_ci		depends on ARCH_TEGRA
125562306a36Sopenharmony_ci		select DEBUG_TEGRA_UART
125662306a36Sopenharmony_ci		help
125762306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
125862306a36Sopenharmony_ci		  on Tegra based platforms.
125962306a36Sopenharmony_ci
126062306a36Sopenharmony_ci	config TEGRA_DEBUG_UARTE
126162306a36Sopenharmony_ci		bool "Kernel low-level debugging messages via Tegra UART E"
126262306a36Sopenharmony_ci		depends on ARCH_TEGRA
126362306a36Sopenharmony_ci		select DEBUG_TEGRA_UART
126462306a36Sopenharmony_ci		help
126562306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
126662306a36Sopenharmony_ci		  on Tegra based platforms.
126762306a36Sopenharmony_ci
126862306a36Sopenharmony_ci	config DEBUG_UX500_UART
126962306a36Sopenharmony_ci		depends on ARCH_U8500
127062306a36Sopenharmony_ci		bool "Use Ux500 UART for low-level debug"
127162306a36Sopenharmony_ci		help
127262306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
127362306a36Sopenharmony_ci		  on Ux500 based platforms.
127462306a36Sopenharmony_ci
127562306a36Sopenharmony_ci	config DEBUG_VERSATILE
127662306a36Sopenharmony_ci		bool "Kernel low-level debugging messages via ARM Versatile UART"
127762306a36Sopenharmony_ci		depends on ARCH_VERSATILE
127862306a36Sopenharmony_ci		select DEBUG_UART_PL01X
127962306a36Sopenharmony_ci		help
128062306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
128162306a36Sopenharmony_ci		  on ARM Versatile platforms.
128262306a36Sopenharmony_ci
128362306a36Sopenharmony_ci	config DEBUG_VEXPRESS_UART0_DETECT
128462306a36Sopenharmony_ci		bool "Autodetect UART0 on Versatile Express Cortex-A core tiles"
128562306a36Sopenharmony_ci		depends on ARCH_VEXPRESS && CPU_CP15_MMU
128662306a36Sopenharmony_ci		help
128762306a36Sopenharmony_ci		  This option enables a simple heuristic which tries to determine
128862306a36Sopenharmony_ci		  the motherboard's memory map variant (original or RS1) and then
128962306a36Sopenharmony_ci		  choose the relevant UART0 base address.
129062306a36Sopenharmony_ci
129162306a36Sopenharmony_ci		  Note that this will only work with standard A-class core tiles,
129262306a36Sopenharmony_ci		  and may fail with non-standard SMM or custom software models.
129362306a36Sopenharmony_ci
129462306a36Sopenharmony_ci	config DEBUG_VEXPRESS_UART0_CA9
129562306a36Sopenharmony_ci		bool "Use PL011 UART0 at 0x10009000 (V2P-CA9 core tile)"
129662306a36Sopenharmony_ci		depends on ARCH_VEXPRESS
129762306a36Sopenharmony_ci		select DEBUG_UART_PL01X
129862306a36Sopenharmony_ci		help
129962306a36Sopenharmony_ci		  This option selects UART0 at 0x10009000. Except for custom models,
130062306a36Sopenharmony_ci		  this applies only to the V2P-CA9 tile.
130162306a36Sopenharmony_ci
130262306a36Sopenharmony_ci	config DEBUG_VEXPRESS_UART0_RS1
130362306a36Sopenharmony_ci		bool "Use PL011 UART0 at 0x1c090000 (RS1 complaint tiles)"
130462306a36Sopenharmony_ci		depends on ARCH_VEXPRESS
130562306a36Sopenharmony_ci		select DEBUG_UART_PL01X
130662306a36Sopenharmony_ci		help
130762306a36Sopenharmony_ci		  This option selects UART0 at 0x1c090000. This applies to most
130862306a36Sopenharmony_ci		  of the tiles using the RS1 memory map, including all new A-class
130962306a36Sopenharmony_ci		  core tiles, FPGA-based SMMs and software models.
131062306a36Sopenharmony_ci
131162306a36Sopenharmony_ci	config DEBUG_VEXPRESS_UART0_CRX
131262306a36Sopenharmony_ci		bool "Use PL011 UART0 at 0xb0090000 (Cortex-R compliant tiles)"
131362306a36Sopenharmony_ci		depends on ARCH_VEXPRESS && !MMU
131462306a36Sopenharmony_ci		select DEBUG_UART_PL01X
131562306a36Sopenharmony_ci		help
131662306a36Sopenharmony_ci		  This option selects UART0 at 0xb0090000. This is appropriate for
131762306a36Sopenharmony_ci		  Cortex-R series tiles and SMMs, such as Cortex-R5 and Cortex-R7
131862306a36Sopenharmony_ci
131962306a36Sopenharmony_ci	config DEBUG_VF_UART
132062306a36Sopenharmony_ci		bool "Vybrid UART"
132162306a36Sopenharmony_ci		depends on SOC_VF610
132262306a36Sopenharmony_ci		help
132362306a36Sopenharmony_ci		  Say Y here if you want kernel low-level debugging support
132462306a36Sopenharmony_ci		  on Vybrid based platforms.
132562306a36Sopenharmony_ci
132662306a36Sopenharmony_ci	config DEBUG_VT8500_UART0
132762306a36Sopenharmony_ci		bool "Use UART0 on VIA/Wondermedia SoCs"
132862306a36Sopenharmony_ci		depends on ARCH_VT8500
132962306a36Sopenharmony_ci		help
133062306a36Sopenharmony_ci		  This option selects UART0 on VIA/Wondermedia System-on-a-chip
133162306a36Sopenharmony_ci		  devices, including VT8500, WM8505, WM8650 and WM8850.
133262306a36Sopenharmony_ci
133362306a36Sopenharmony_ci	config DEBUG_ZYNQ_UART0
133462306a36Sopenharmony_ci		bool "Kernel low-level debugging on Xilinx Zynq using UART0"
133562306a36Sopenharmony_ci		depends on ARCH_ZYNQ
133662306a36Sopenharmony_ci		help
133762306a36Sopenharmony_ci		  Say Y here if you want the debug print routines to direct
133862306a36Sopenharmony_ci		  their output to UART0 on the Zynq platform.
133962306a36Sopenharmony_ci
134062306a36Sopenharmony_ci	config DEBUG_ZYNQ_UART1
134162306a36Sopenharmony_ci		bool "Kernel low-level debugging on Xilinx Zynq using UART1"
134262306a36Sopenharmony_ci		depends on ARCH_ZYNQ
134362306a36Sopenharmony_ci		help
134462306a36Sopenharmony_ci		  Say Y here if you want the debug print routines to direct
134562306a36Sopenharmony_ci		  their output to UART1 on the Zynq platform.
134662306a36Sopenharmony_ci
134762306a36Sopenharmony_ci		  If you have a ZC702 board and want early boot messages to
134862306a36Sopenharmony_ci		  appear on the USB serial adaptor, select this option.
134962306a36Sopenharmony_ci
135062306a36Sopenharmony_ci	config DEBUG_ICEDCC
135162306a36Sopenharmony_ci		bool "Kernel low-level debugging via EmbeddedICE DCC channel"
135262306a36Sopenharmony_ci		help
135362306a36Sopenharmony_ci		  Say Y here if you want the debug print routines to direct
135462306a36Sopenharmony_ci		  their output to the EmbeddedICE macrocell's DCC channel using
135562306a36Sopenharmony_ci		  co-processor 14. This is known to work on the ARM9 style ICE
135662306a36Sopenharmony_ci		  channel and on the XScale with the PEEDI.
135762306a36Sopenharmony_ci
135862306a36Sopenharmony_ci		  Note that the system will appear to hang during boot if there
135962306a36Sopenharmony_ci		  is nothing connected to read from the DCC.
136062306a36Sopenharmony_ci
136162306a36Sopenharmony_ci	config DEBUG_SEMIHOSTING
136262306a36Sopenharmony_ci		bool "Kernel low-level debug output via semihosting I/O"
136362306a36Sopenharmony_ci		help
136462306a36Sopenharmony_ci		  Semihosting enables code running on an ARM target to use
136562306a36Sopenharmony_ci		  the I/O facilities on a host debugger/emulator through a
136662306a36Sopenharmony_ci		  simple SVC call. The host debugger or emulator must have
136762306a36Sopenharmony_ci		  semihosting enabled for the special svc call to be trapped
136862306a36Sopenharmony_ci		  otherwise the kernel will crash.
136962306a36Sopenharmony_ci
137062306a36Sopenharmony_ci		  This is known to work with OpenOCD, as well as
137162306a36Sopenharmony_ci		  ARM's Fast Models, or any other controlling environment
137262306a36Sopenharmony_ci		  that implements semihosting.
137362306a36Sopenharmony_ci
137462306a36Sopenharmony_ci		  For more details about semihosting, please see
137562306a36Sopenharmony_ci		  chapter 8 of DUI0203I_rvct_developer_guide.pdf from ARM Ltd.
137662306a36Sopenharmony_ci
137762306a36Sopenharmony_ci	config DEBUG_LL_UART_8250
137862306a36Sopenharmony_ci		bool "Kernel low-level debugging via 8250 UART"
137962306a36Sopenharmony_ci		help
138062306a36Sopenharmony_ci		  Say Y here if you wish the debug print routes to direct
138162306a36Sopenharmony_ci		  their output to an 8250 UART.  You can use this option
138262306a36Sopenharmony_ci		  to provide the parameters for the 8250 UART rather than
138362306a36Sopenharmony_ci		  selecting one of the platform specific options above if
138462306a36Sopenharmony_ci		  you know the parameters for the port.
138562306a36Sopenharmony_ci
138662306a36Sopenharmony_ci		  This option is preferred over the platform specific
138762306a36Sopenharmony_ci		  options; the platform specific options are deprecated
138862306a36Sopenharmony_ci		  and will be soon removed.
138962306a36Sopenharmony_ci
139062306a36Sopenharmony_ci	config DEBUG_LL_UART_PL01X
139162306a36Sopenharmony_ci		bool "Kernel low-level debugging via ARM Ltd PL01x Primecell UART"
139262306a36Sopenharmony_ci		help
139362306a36Sopenharmony_ci		  Say Y here if you wish the debug print routes to direct
139462306a36Sopenharmony_ci		  their output to a PL01x Primecell UART.  You can use
139562306a36Sopenharmony_ci		  this option to provide the parameters for the UART
139662306a36Sopenharmony_ci		  rather than selecting one of the platform specific
139762306a36Sopenharmony_ci		  options above if you know the parameters for the port.
139862306a36Sopenharmony_ci
139962306a36Sopenharmony_ci		  This option is preferred over the platform specific
140062306a36Sopenharmony_ci		  options; the platform specific options are deprecated
140162306a36Sopenharmony_ci		  and will be soon removed.
140262306a36Sopenharmony_ci
140362306a36Sopenharmony_ciendchoice
140462306a36Sopenharmony_ci
140562306a36Sopenharmony_ciconfig DEBUG_AT91_UART
140662306a36Sopenharmony_ci	bool
140762306a36Sopenharmony_ci	depends on ARCH_AT91
140862306a36Sopenharmony_ci
140962306a36Sopenharmony_ciconfig DEBUG_EXYNOS_UART
141062306a36Sopenharmony_ci	bool
141162306a36Sopenharmony_ci
141262306a36Sopenharmony_ciconfig DEBUG_S3C64XX_UART
141362306a36Sopenharmony_ci	bool
141462306a36Sopenharmony_ci
141562306a36Sopenharmony_ciconfig DEBUG_S5PV210_UART
141662306a36Sopenharmony_ci	bool
141762306a36Sopenharmony_ci
141862306a36Sopenharmony_ciconfig DEBUG_S3C_UART
141962306a36Sopenharmony_ci	depends on DEBUG_S3C64XX_UART ||  DEBUG_S5PV210_UART || \
142062306a36Sopenharmony_ci		   DEBUG_EXYNOS_UART
142162306a36Sopenharmony_ci	int
142262306a36Sopenharmony_ci	default "0" if DEBUG_S3C_UART0
142362306a36Sopenharmony_ci	default "1" if DEBUG_S3C_UART1
142462306a36Sopenharmony_ci	default "2" if DEBUG_S3C_UART2
142562306a36Sopenharmony_ci	default "3" if DEBUG_S3C_UART3
142662306a36Sopenharmony_ci
142762306a36Sopenharmony_ciconfig DEBUG_OMAP2PLUS_UART
142862306a36Sopenharmony_ci	bool
142962306a36Sopenharmony_ci	depends on ARCH_OMAP2PLUS
143062306a36Sopenharmony_ci
143162306a36Sopenharmony_ciconfig DEBUG_IMX_UART_PORT
143262306a36Sopenharmony_ci	int "i.MX Debug UART Port Selection"
143362306a36Sopenharmony_ci	depends on DEBUG_IMX1_UART || \
143462306a36Sopenharmony_ci		   DEBUG_IMX25_UART || \
143562306a36Sopenharmony_ci		   DEBUG_IMX27_UART || \
143662306a36Sopenharmony_ci		   DEBUG_IMX31_UART || \
143762306a36Sopenharmony_ci		   DEBUG_IMX35_UART || \
143862306a36Sopenharmony_ci		   DEBUG_IMX50_UART || \
143962306a36Sopenharmony_ci		   DEBUG_IMX51_UART || \
144062306a36Sopenharmony_ci		   DEBUG_IMX53_UART || \
144162306a36Sopenharmony_ci		   DEBUG_IMX6Q_UART || \
144262306a36Sopenharmony_ci		   DEBUG_IMX6SL_UART || \
144362306a36Sopenharmony_ci		   DEBUG_IMX6SX_UART || \
144462306a36Sopenharmony_ci		   DEBUG_IMX6UL_UART || \
144562306a36Sopenharmony_ci		   DEBUG_IMX7D_UART
144662306a36Sopenharmony_ci	default 1
144762306a36Sopenharmony_ci	help
144862306a36Sopenharmony_ci	  Choose UART port on which kernel low-level debug messages
144962306a36Sopenharmony_ci	  should be output.
145062306a36Sopenharmony_ci
145162306a36Sopenharmony_ciconfig DEBUG_VF_UART_PORT
145262306a36Sopenharmony_ci	int "Vybrid Debug UART Port Selection" if DEBUG_VF_UART
145362306a36Sopenharmony_ci	default 1
145462306a36Sopenharmony_ci	range 0 3
145562306a36Sopenharmony_ci	depends on SOC_VF610
145662306a36Sopenharmony_ci	help
145762306a36Sopenharmony_ci	  Choose UART port on which kernel low-level debug messages
145862306a36Sopenharmony_ci	  should be output.
145962306a36Sopenharmony_ci
146062306a36Sopenharmony_ciconfig DEBUG_TEGRA_UART
146162306a36Sopenharmony_ci	bool
146262306a36Sopenharmony_ci	depends on ARCH_TEGRA
146362306a36Sopenharmony_ci
146462306a36Sopenharmony_ciconfig DEBUG_STM32_UART
146562306a36Sopenharmony_ci	bool
146662306a36Sopenharmony_ci	depends on ARCH_STM32
146762306a36Sopenharmony_ci
146862306a36Sopenharmony_ciconfig DEBUG_UART_FLOW_CONTROL
146962306a36Sopenharmony_ci	bool "Enable flow control (CTS) for the debug UART"
147062306a36Sopenharmony_ci	depends on DEBUG_LL
147162306a36Sopenharmony_ci	default y if DEBUG_FOOTBRIDGE_COM1 || DEBUG_GEMINI || ARCH_RPC
147262306a36Sopenharmony_ci	help
147362306a36Sopenharmony_ci	  Some UART ports are connected to terminals that will use modem
147462306a36Sopenharmony_ci	  control signals to indicate whether they are ready to receive text.
147562306a36Sopenharmony_ci	  In practice this means that the terminal is asserting the special
147662306a36Sopenharmony_ci	  control signal CTS (Clear To Send). If your debug UART supports
147762306a36Sopenharmony_ci	  this and your debug terminal will require it, enable this option.
147862306a36Sopenharmony_ci
147962306a36Sopenharmony_ciconfig DEBUG_LL_INCLUDE
148062306a36Sopenharmony_ci	string
148162306a36Sopenharmony_ci	default "debug/sa1100.S" if DEBUG_SA1100
148262306a36Sopenharmony_ci	default "debug/palmchip.S" if DEBUG_UART_8250_PALMCHIP
148362306a36Sopenharmony_ci	default "debug/8250.S" if DEBUG_LL_UART_8250 || DEBUG_UART_8250
148462306a36Sopenharmony_ci	default "debug/at91.S" if DEBUG_AT91_UART
148562306a36Sopenharmony_ci	default "debug/asm9260.S" if DEBUG_ASM9260_UART
148662306a36Sopenharmony_ci	default "debug/clps711x.S" if DEBUG_CLPS711X_UART1 || DEBUG_CLPS711X_UART2
148762306a36Sopenharmony_ci	default "debug/dc21285.S" if DEBUG_DC21285_PORT
148862306a36Sopenharmony_ci	default "debug/meson.S" if DEBUG_MESON_UARTAO
148962306a36Sopenharmony_ci	default "debug/pl01x.S" if DEBUG_LL_UART_PL01X || DEBUG_UART_PL01X
149062306a36Sopenharmony_ci	default "debug/exynos.S" if DEBUG_EXYNOS_UART
149162306a36Sopenharmony_ci	default "debug/icedcc.S" if DEBUG_ICEDCC
149262306a36Sopenharmony_ci	default "debug/imx.S" if DEBUG_IMX1_UART || \
149362306a36Sopenharmony_ci				 DEBUG_IMX25_UART || \
149462306a36Sopenharmony_ci				 DEBUG_IMX27_UART || \
149562306a36Sopenharmony_ci				 DEBUG_IMX31_UART || \
149662306a36Sopenharmony_ci				 DEBUG_IMX35_UART || \
149762306a36Sopenharmony_ci				 DEBUG_IMX50_UART || \
149862306a36Sopenharmony_ci				 DEBUG_IMX51_UART || \
149962306a36Sopenharmony_ci				 DEBUG_IMX53_UART || \
150062306a36Sopenharmony_ci				 DEBUG_IMX6Q_UART || \
150162306a36Sopenharmony_ci				 DEBUG_IMX6SL_UART || \
150262306a36Sopenharmony_ci				 DEBUG_IMX6SX_UART || \
150362306a36Sopenharmony_ci				 DEBUG_IMX6UL_UART || \
150462306a36Sopenharmony_ci				 DEBUG_IMX7D_UART
150562306a36Sopenharmony_ci	default "debug/msm.S" if DEBUG_QCOM_UARTDM
150662306a36Sopenharmony_ci	default "debug/omap2plus.S" if DEBUG_OMAP2PLUS_UART
150762306a36Sopenharmony_ci	default "debug/renesas-scif.S" if DEBUG_R7S72100_SCIF2
150862306a36Sopenharmony_ci	default "debug/renesas-scif.S" if DEBUG_R7S9210_SCIF2
150962306a36Sopenharmony_ci	default "debug/renesas-scif.S" if DEBUG_R7S9210_SCIF4
151062306a36Sopenharmony_ci	default "debug/renesas-scif.S" if DEBUG_RCAR_GEN1_SCIF0
151162306a36Sopenharmony_ci	default "debug/renesas-scif.S" if DEBUG_RCAR_GEN1_SCIF2
151262306a36Sopenharmony_ci	default "debug/renesas-scif.S" if DEBUG_RCAR_GEN2_SCIF0
151362306a36Sopenharmony_ci	default "debug/renesas-scif.S" if DEBUG_RCAR_GEN2_SCIF1
151462306a36Sopenharmony_ci	default "debug/renesas-scif.S" if DEBUG_RCAR_GEN2_SCIF2
151562306a36Sopenharmony_ci	default "debug/renesas-scif.S" if DEBUG_RCAR_GEN2_SCIF4
151662306a36Sopenharmony_ci	default "debug/renesas-scif.S" if DEBUG_RCAR_GEN2_SCIFA2
151762306a36Sopenharmony_ci	default "debug/renesas-scif.S" if DEBUG_RMOBILE_SCIFA0
151862306a36Sopenharmony_ci	default "debug/renesas-scif.S" if DEBUG_RMOBILE_SCIFA1
151962306a36Sopenharmony_ci	default "debug/renesas-scif.S" if DEBUG_RMOBILE_SCIFA4
152062306a36Sopenharmony_ci	default "debug/s3c24xx.S" if DEBUG_S3C64XX_UART
152162306a36Sopenharmony_ci	default "debug/s5pv210.S" if DEBUG_S5PV210_UART
152262306a36Sopenharmony_ci	default "debug/sti.S" if DEBUG_STIH41X_ASC2
152362306a36Sopenharmony_ci	default "debug/sti.S" if DEBUG_STIH41X_SBC_ASC1
152462306a36Sopenharmony_ci	default "debug/sti.S" if DEBUG_STIH418_SBC_ASC0
152562306a36Sopenharmony_ci	default "debug/stm32.S" if DEBUG_STM32_UART
152662306a36Sopenharmony_ci	default "debug/tegra.S" if DEBUG_TEGRA_UART
152762306a36Sopenharmony_ci	default "debug/ux500.S" if DEBUG_UX500_UART
152862306a36Sopenharmony_ci	default "debug/vexpress.S" if DEBUG_VEXPRESS_UART0_DETECT
152962306a36Sopenharmony_ci	default "debug/vf.S" if DEBUG_VF_UART
153062306a36Sopenharmony_ci	default "debug/vt8500.S" if DEBUG_VT8500_UART0
153162306a36Sopenharmony_ci	default "debug/zynq.S" if DEBUG_ZYNQ_UART0 || DEBUG_ZYNQ_UART1
153262306a36Sopenharmony_ci	default "debug/bcm63xx.S" if DEBUG_BCM63XX_UART
153362306a36Sopenharmony_ci	default "debug/digicolor.S" if DEBUG_DIGICOLOR_UA0
153462306a36Sopenharmony_ci	default "debug/brcmstb.S" if DEBUG_BRCMSTB_UART
153562306a36Sopenharmony_ci	default "mach/debug-macro.S"
153662306a36Sopenharmony_ci
153762306a36Sopenharmony_ci# Compatibility options for PL01x
153862306a36Sopenharmony_ciconfig DEBUG_UART_PL01X
153962306a36Sopenharmony_ci	bool
154062306a36Sopenharmony_ci
154162306a36Sopenharmony_ci# Compatibility options for 8250
154262306a36Sopenharmony_ciconfig DEBUG_UART_8250
154362306a36Sopenharmony_ci	def_bool ARCH_IXP4XX || ARCH_RPC
154462306a36Sopenharmony_ci
154562306a36Sopenharmony_ciconfig DEBUG_UART_PHYS
154662306a36Sopenharmony_ci	hex "Physical base address of debug UART"
154762306a36Sopenharmony_ci	default 0x01c28000 if DEBUG_SUNXI_UART0
154862306a36Sopenharmony_ci	default 0x01c28400 if DEBUG_SUNXI_UART1
154962306a36Sopenharmony_ci	default 0x01d0c000 if DEBUG_DAVINCI_DA8XX_UART1
155062306a36Sopenharmony_ci	default 0x01d0d000 if DEBUG_DAVINCI_DA8XX_UART2
155162306a36Sopenharmony_ci	default 0x01f02800 if DEBUG_SUNXI_R_UART
155262306a36Sopenharmony_ci	default 0x02530c00 if DEBUG_KEYSTONE_UART0
155362306a36Sopenharmony_ci	default 0x02531000 if DEBUG_KEYSTONE_UART1
155462306a36Sopenharmony_ci	default 0x03010fe0 if ARCH_RPC
155562306a36Sopenharmony_ci	default 0x07000000 if DEBUG_SUN9I_UART0
155662306a36Sopenharmony_ci	default 0x09530000 if DEBUG_STIH418_SBC_ASC0
155762306a36Sopenharmony_ci	default 0x10009000 if DEBUG_REALVIEW_STD_PORT || \
155862306a36Sopenharmony_ci				DEBUG_VEXPRESS_UART0_CA9
155962306a36Sopenharmony_ci	default 0x1010c000 if DEBUG_REALVIEW_PB1176_PORT
156062306a36Sopenharmony_ci	default 0x10124000 if DEBUG_RK3X_UART0
156162306a36Sopenharmony_ci	default 0x10126000 if DEBUG_RK3X_UART1
156262306a36Sopenharmony_ci	default 0x101f1000 if DEBUG_VERSATILE
156362306a36Sopenharmony_ci	default 0x101fb000 if DEBUG_NOMADIK_UART
156462306a36Sopenharmony_ci	default 0x10210000 if DEBUG_RV1108_UART2
156562306a36Sopenharmony_ci	default 0x10220000 if DEBUG_RV1108_UART1
156662306a36Sopenharmony_ci	default 0x10230000 if DEBUG_RV1108_UART0
156762306a36Sopenharmony_ci	default 0x11002000 if DEBUG_MT8127_UART0
156862306a36Sopenharmony_ci	default 0x11006000 if DEBUG_MT6589_UART0
156962306a36Sopenharmony_ci	default 0x11009000 if DEBUG_MT8135_UART3
157062306a36Sopenharmony_ci	default 0x16000000 if DEBUG_INTEGRATOR
157162306a36Sopenharmony_ci	default 0x1600d000 if DEBUG_SD5203_UART
157262306a36Sopenharmony_ci	default 0x18000300 if DEBUG_BCM_5301X
157362306a36Sopenharmony_ci	default 0x18000400 if DEBUG_BCM_HR2
157462306a36Sopenharmony_ci	default 0x18023000 if DEBUG_BCM_IPROC_UART3
157562306a36Sopenharmony_ci	default 0x1c090000 if DEBUG_VEXPRESS_UART0_RS1
157662306a36Sopenharmony_ci	default 0x1f221000 if DEBUG_MSTARV7_PMUART
157762306a36Sopenharmony_ci	default 0x20001000 if DEBUG_HIP01_UART
157862306a36Sopenharmony_ci	default 0x20060000 if DEBUG_RK29_UART0
157962306a36Sopenharmony_ci	default 0x20064000 if DEBUG_RK29_UART1 || DEBUG_RK3X_UART2
158062306a36Sopenharmony_ci	default 0x20068000 if DEBUG_RK29_UART2 || DEBUG_RK3X_UART3
158162306a36Sopenharmony_ci	default 0x20201000 if DEBUG_BCM2835
158262306a36Sopenharmony_ci	default 0x3e000000 if DEBUG_BCM_KONA_UART
158362306a36Sopenharmony_ci	default 0x3f201000 if DEBUG_BCM2836
158462306a36Sopenharmony_ci	default 0x40010000 if STM32MP1_DEBUG_UART
158562306a36Sopenharmony_ci	default 0x40011000 if STM32F4_DEBUG_UART || STM32F7_DEBUG_UART || \
158662306a36Sopenharmony_ci				STM32H7_DEBUG_UART
158762306a36Sopenharmony_ci	default 0x40028000 if DEBUG_AT91_SAMV7_USART1
158862306a36Sopenharmony_ci	default 0x40081000 if DEBUG_LPC18XX_UART0
158962306a36Sopenharmony_ci	default 0x40090000 if DEBUG_LPC32XX
159062306a36Sopenharmony_ci	default 0x40100000 if DEBUG_PXA_UART1
159162306a36Sopenharmony_ci	default 0x42000000 if DEBUG_GEMINI
159262306a36Sopenharmony_ci	default 0x44e09000 if DEBUG_AM33XXUART1
159362306a36Sopenharmony_ci	default 0x48020000 if DEBUG_OMAP4UART3 || DEBUG_TI81XXUART1
159462306a36Sopenharmony_ci	default 0x48022000 if DEBUG_TI81XXUART2
159562306a36Sopenharmony_ci	default 0x48024000 if DEBUG_TI81XXUART3
159662306a36Sopenharmony_ci	default 0x4806a000 if DEBUG_OMAP2UART1 || DEBUG_OMAP3UART1 || \
159762306a36Sopenharmony_ci				DEBUG_OMAP4UART1 || DEBUG_OMAP5UART1
159862306a36Sopenharmony_ci	default 0x4806c000 if DEBUG_OMAP2UART2 || DEBUG_OMAP3UART2 || \
159962306a36Sopenharmony_ci				DEBUG_OMAP4UART2 || DEBUG_OMAP5UART2
160062306a36Sopenharmony_ci	default 0x4806e000 if DEBUG_OMAP2UART3 || DEBUG_OMAP4UART4
160162306a36Sopenharmony_ci	default 0x49020000 if DEBUG_OMAP3UART3
160262306a36Sopenharmony_ci	default 0x49042000 if DEBUG_OMAP3UART4
160362306a36Sopenharmony_ci	default 0x7c0003f8 if DEBUG_FOOTBRIDGE_COM1
160462306a36Sopenharmony_ci	default 0x7f005000 if DEBUG_S3C64XX_UART && DEBUG_S3C_UART0
160562306a36Sopenharmony_ci	default 0x7f005400 if DEBUG_S3C64XX_UART && DEBUG_S3C_UART1
160662306a36Sopenharmony_ci	default 0x7f005800 if DEBUG_S3C64XX_UART && DEBUG_S3C_UART2
160762306a36Sopenharmony_ci	default 0x7f005c00 if DEBUG_S3C64XX_UART && DEBUG_S3C_UART3
160862306a36Sopenharmony_ci	default 0x80010000 if DEBUG_ASM9260_UART
160962306a36Sopenharmony_ci	default 0x80070000 if DEBUG_IMX23_UART
161062306a36Sopenharmony_ci	default 0x80074000 if DEBUG_IMX28_UART
161162306a36Sopenharmony_ci	default 0x808c0000 if DEBUG_EP93XX || ARCH_EP93XX
161262306a36Sopenharmony_ci	default 0x90020000 if DEBUG_NSPIRE_CLASSIC_UART || DEBUG_NSPIRE_CX_UART
161362306a36Sopenharmony_ci	default 0xb0090000 if DEBUG_VEXPRESS_UART0_CRX
161462306a36Sopenharmony_ci	default 0xc8000000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN
161562306a36Sopenharmony_ci	default 0xc8000003 if ARCH_IXP4XX && CPU_BIG_ENDIAN
161662306a36Sopenharmony_ci	default 0xd0000000 if DEBUG_SPEAR3XX
161762306a36Sopenharmony_ci	default 0xd0012000 if DEBUG_MVEBU_UART0
161862306a36Sopenharmony_ci	default 0xc81004c0 if DEBUG_MESON_UARTAO
161962306a36Sopenharmony_ci	default 0xd4017000 if DEBUG_MMP_UART2
162062306a36Sopenharmony_ci	default 0xd4018000 if DEBUG_MMP_UART3
162162306a36Sopenharmony_ci	default 0xe0000000 if DEBUG_SPEAR13XX
162262306a36Sopenharmony_ci	default 0xe0064200 if DEBUG_AT91_LAN966_FLEXCOM
162362306a36Sopenharmony_ci	default 0xe1824200 if DEBUG_AT91_SAMA7G5_FLEXCOM3
162462306a36Sopenharmony_ci	default 0xe4007000 if DEBUG_HIP04_UART
162562306a36Sopenharmony_ci	default 0xe6c40000 if DEBUG_RMOBILE_SCIFA0
162662306a36Sopenharmony_ci	default 0xe6c50000 if DEBUG_RMOBILE_SCIFA1
162762306a36Sopenharmony_ci	default 0xe6c60000 if DEBUG_RCAR_GEN2_SCIFA2
162862306a36Sopenharmony_ci	default 0xe6c80000 if DEBUG_RMOBILE_SCIFA4
162962306a36Sopenharmony_ci	default 0xe6e58000 if DEBUG_RCAR_GEN2_SCIF2
163062306a36Sopenharmony_ci	default 0xe6e60000 if DEBUG_RCAR_GEN2_SCIF0
163162306a36Sopenharmony_ci	default 0xe6e68000 if DEBUG_RCAR_GEN2_SCIF1
163262306a36Sopenharmony_ci	default 0xe6ee0000 if DEBUG_RCAR_GEN2_SCIF4
163362306a36Sopenharmony_ci	default 0xe8008000 if DEBUG_R7S72100_SCIF2 || DEBUG_R7S9210_SCIF2
163462306a36Sopenharmony_ci	default 0xe8009000 if DEBUG_R7S9210_SCIF4
163562306a36Sopenharmony_ci	default 0xf0000000 if DEBUG_DIGICOLOR_UA0
163662306a36Sopenharmony_ci	default 0xf1012000 if DEBUG_MVEBU_UART0_ALTERNATE
163762306a36Sopenharmony_ci	default 0xf1012100 if DEBUG_MVEBU_UART1_ALTERNATE
163862306a36Sopenharmony_ci	default 0xf7fc9000 if DEBUG_BERLIN_UART
163962306a36Sopenharmony_ci	default 0xf8020000 if DEBUG_AT91_SAMA5D2_UART1
164062306a36Sopenharmony_ci	default 0xf8b00000 if DEBUG_HIX5HD2_UART
164162306a36Sopenharmony_ci	default 0xf991e000 if DEBUG_QCOM_UARTDM
164262306a36Sopenharmony_ci	default 0xfc00c000 if DEBUG_AT91_SAMA5D4_USART3
164362306a36Sopenharmony_ci	default 0xfcb00000 if DEBUG_HI3620_UART
164462306a36Sopenharmony_ci	default 0xfd883000 if DEBUG_ALPINE_UART0
164562306a36Sopenharmony_ci	default 0xfe531000 if DEBUG_STIH41X_SBC_ASC1
164662306a36Sopenharmony_ci	default 0xfed32000 if DEBUG_STIH41X_ASC2
164762306a36Sopenharmony_ci	default 0xff690000 if DEBUG_RK32_UART2
164862306a36Sopenharmony_ci	default 0xffc02000 if DEBUG_SOCFPGA_UART0
164962306a36Sopenharmony_ci	default 0xffc02100 if DEBUG_SOCFPGA_ARRIA10_UART1
165062306a36Sopenharmony_ci	default 0xffc03000 if DEBUG_SOCFPGA_CYCLONE5_UART1
165162306a36Sopenharmony_ci	default 0xffe40000 if DEBUG_RCAR_GEN1_SCIF0
165262306a36Sopenharmony_ci	default 0xffe42000 if DEBUG_RCAR_GEN1_SCIF2
165362306a36Sopenharmony_ci	default 0xfff36000 if DEBUG_HIGHBANK_UART
165462306a36Sopenharmony_ci	default 0xfffb0000 if DEBUG_OMAP1UART1
165562306a36Sopenharmony_ci	default 0xfffb0800 if DEBUG_OMAP1UART2
165662306a36Sopenharmony_ci	default 0xfffb9800 if DEBUG_OMAP1UART3
165762306a36Sopenharmony_ci	default 0xfffe8600 if DEBUG_BCM63XX_UART
165862306a36Sopenharmony_ci	default 0xffffee00 if DEBUG_AT91_SAM9263_DBGU
165962306a36Sopenharmony_ci	default 0xfffff200 if DEBUG_AT91_RM9200_DBGU
166062306a36Sopenharmony_ci	depends on ARCH_EP93XX || \
166162306a36Sopenharmony_ci	        DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \
166262306a36Sopenharmony_ci		DEBUG_UART_8250 || DEBUG_UART_PL01X || DEBUG_MESON_UARTAO || \
166362306a36Sopenharmony_ci		DEBUG_QCOM_UARTDM || DEBUG_R7S72100_SCIF2 || \
166462306a36Sopenharmony_ci		DEBUG_R7S9210_SCIF2 || DEBUG_R7S9210_SCIF4 || \
166562306a36Sopenharmony_ci		DEBUG_RCAR_GEN1_SCIF0 || DEBUG_RCAR_GEN1_SCIF2 || \
166662306a36Sopenharmony_ci		DEBUG_RCAR_GEN2_SCIF0 || DEBUG_RCAR_GEN2_SCIF1 || \
166762306a36Sopenharmony_ci		DEBUG_RCAR_GEN2_SCIF2 || DEBUG_RCAR_GEN2_SCIF4 || \
166862306a36Sopenharmony_ci		DEBUG_RCAR_GEN2_SCIFA2 || \
166962306a36Sopenharmony_ci		DEBUG_RMOBILE_SCIFA0 || DEBUG_RMOBILE_SCIFA1 || \
167062306a36Sopenharmony_ci		DEBUG_RMOBILE_SCIFA4 || \
167162306a36Sopenharmony_ci		DEBUG_S3C64XX_UART || \
167262306a36Sopenharmony_ci		DEBUG_BCM63XX_UART || DEBUG_ASM9260_UART || \
167362306a36Sopenharmony_ci		DEBUG_DIGICOLOR_UA0 || \
167462306a36Sopenharmony_ci		DEBUG_AT91_UART || DEBUG_STM32_UART || \
167562306a36Sopenharmony_ci		DEBUG_STIH41X_ASC2 || DEBUG_STIH41X_SBC_ASC1 || \
167662306a36Sopenharmony_ci		DEBUG_STIH418_SBC_ASC0
167762306a36Sopenharmony_ci
167862306a36Sopenharmony_ciconfig DEBUG_UART_VIRT
167962306a36Sopenharmony_ci	hex "Virtual base address of debug UART"
168062306a36Sopenharmony_ci	default 0xc881f000 if DEBUG_RV1108_UART2
168162306a36Sopenharmony_ci	default 0xc8821000 if DEBUG_RV1108_UART1
168262306a36Sopenharmony_ci	default 0xc8912000 if DEBUG_RV1108_UART0
168362306a36Sopenharmony_ci	default 0xe0010fe0 if ARCH_RPC
168462306a36Sopenharmony_ci	default 0xe0824200 if DEBUG_AT91_SAMA7G5_FLEXCOM3
168562306a36Sopenharmony_ci	default 0xf0010000 if DEBUG_ASM9260_UART
168662306a36Sopenharmony_ci	default 0xf0100000 if DEBUG_DIGICOLOR_UA0
168762306a36Sopenharmony_ci	default 0xf01fb000 if DEBUG_NOMADIK_UART
168862306a36Sopenharmony_ci	default 0xf0201000 if DEBUG_BCM2835 || DEBUG_BCM2836
168962306a36Sopenharmony_ci	default 0xf0221000 if DEBUG_MSTARV7_PMUART
169062306a36Sopenharmony_ci	default 0xf1000300 if DEBUG_BCM_5301X
169162306a36Sopenharmony_ci	default 0xf1000400 if DEBUG_BCM_HR2
169262306a36Sopenharmony_ci	default 0xf1002000 if DEBUG_MT8127_UART0
169362306a36Sopenharmony_ci	default 0xf1006000 if DEBUG_MT6589_UART0
169462306a36Sopenharmony_ci	default 0xf1009000 if DEBUG_MT8135_UART3
169562306a36Sopenharmony_ci	default 0xf1023000 if DEBUG_BCM_IPROC_UART3
169662306a36Sopenharmony_ci	default 0xf11f1000 if DEBUG_VERSATILE
169762306a36Sopenharmony_ci	default 0xf1600000 if DEBUG_INTEGRATOR
169862306a36Sopenharmony_ci	default 0xf1c28000 if DEBUG_SUNXI_UART0
169962306a36Sopenharmony_ci	default 0xf1c28400 if DEBUG_SUNXI_UART1
170062306a36Sopenharmony_ci	default 0xf1f02800 if DEBUG_SUNXI_R_UART
170162306a36Sopenharmony_ci	default 0xf31004c0 if DEBUG_MESON_UARTAO
170262306a36Sopenharmony_ci	default 0xf4090000 if DEBUG_LPC32XX
170362306a36Sopenharmony_ci	default 0xf4200000 if DEBUG_GEMINI
170462306a36Sopenharmony_ci	default 0xf6200000 if DEBUG_PXA_UART1
170562306a36Sopenharmony_ci	default 0xf7000000 if DEBUG_SUN9I_UART0
170662306a36Sopenharmony_ci	default 0xf7000000 if DEBUG_S3C64XX_UART && DEBUG_S3C_UART0
170762306a36Sopenharmony_ci	default 0xf7000400 if DEBUG_S3C64XX_UART && DEBUG_S3C_UART1
170862306a36Sopenharmony_ci	default 0xf7000800 if DEBUG_S3C64XX_UART && DEBUG_S3C_UART2
170962306a36Sopenharmony_ci	default 0xf7000c00 if DEBUG_S3C64XX_UART && DEBUG_S3C_UART3
171062306a36Sopenharmony_ci	default 0xf7020000 if DEBUG_AT91_SAMA5D2_UART1
171162306a36Sopenharmony_ci	default 0xf7fc9000 if DEBUG_BERLIN_UART
171262306a36Sopenharmony_ci	default 0xf8007000 if DEBUG_HIP04_UART
171362306a36Sopenharmony_ci	default 0xf8009000 if DEBUG_VEXPRESS_UART0_CA9
171462306a36Sopenharmony_ci	default 0xf8090000 if DEBUG_VEXPRESS_UART0_RS1
171562306a36Sopenharmony_ci	default 0xf8ffee00 if DEBUG_AT91_SAM9263_DBGU
171662306a36Sopenharmony_ci	default 0xf8fff200 if DEBUG_AT91_RM9200_DBGU
171762306a36Sopenharmony_ci	default 0xf9530000 if DEBUG_STIH418_SBC_ASC0
171862306a36Sopenharmony_ci	default 0xf9e09000 if DEBUG_AM33XXUART1
171962306a36Sopenharmony_ci	default 0xfa020000 if DEBUG_OMAP4UART3 || DEBUG_TI81XXUART1
172062306a36Sopenharmony_ci	default 0xfa022000 if DEBUG_TI81XXUART2
172162306a36Sopenharmony_ci	default 0xfa024000 if DEBUG_TI81XXUART3
172262306a36Sopenharmony_ci	default 0xfa06a000 if DEBUG_OMAP2UART1 || DEBUG_OMAP3UART1 || \
172362306a36Sopenharmony_ci				DEBUG_OMAP4UART1 || DEBUG_OMAP5UART1
172462306a36Sopenharmony_ci	default 0xfa06c000 if DEBUG_OMAP2UART2 || DEBUG_OMAP3UART2 || \
172562306a36Sopenharmony_ci				DEBUG_OMAP4UART2 || DEBUG_OMAP5UART2
172662306a36Sopenharmony_ci	default 0xfa06e000 if DEBUG_OMAP2UART3 || DEBUG_OMAP4UART4
172762306a36Sopenharmony_ci	default 0xfa71e000 if DEBUG_QCOM_UARTDM
172862306a36Sopenharmony_ci	default 0xfb009000 if DEBUG_REALVIEW_STD_PORT
172962306a36Sopenharmony_ci	default 0xfb00c000 if DEBUG_AT91_SAMA5D4_USART3
173062306a36Sopenharmony_ci	default 0xfb020000 if DEBUG_OMAP3UART3
173162306a36Sopenharmony_ci	default 0xfb042000 if DEBUG_OMAP3UART4
173262306a36Sopenharmony_ci	default 0xfb10c000 if DEBUG_REALVIEW_PB1176_PORT
173362306a36Sopenharmony_ci	default 0xfcfe8600 if DEBUG_BCM63XX_UART
173462306a36Sopenharmony_ci	default 0xfd000000 if DEBUG_SPEAR3XX || DEBUG_SPEAR13XX
173562306a36Sopenharmony_ci	default 0xfd064200 if DEBUG_AT91_LAN966_FLEXCOM
173662306a36Sopenharmony_ci	default 0xfd531000 if DEBUG_STIH41X_SBC_ASC1
173762306a36Sopenharmony_ci	default 0xfd883000 if DEBUG_ALPINE_UART0
173862306a36Sopenharmony_ci	default 0xfdd32000 if DEBUG_STIH41X_ASC2
173962306a36Sopenharmony_ci	default 0xfe010000 if STM32MP1_DEBUG_UART
174062306a36Sopenharmony_ci	default 0xfe017000 if DEBUG_MMP_UART2
174162306a36Sopenharmony_ci	default 0xfe018000 if DEBUG_MMP_UART3
174262306a36Sopenharmony_ci	default 0xfe100000 if DEBUG_IMX23_UART || DEBUG_IMX28_UART
174362306a36Sopenharmony_ci	default 0xfe300000 if DEBUG_BCM_KONA_UART
174462306a36Sopenharmony_ci	default 0xfeb00000 if DEBUG_HI3620_UART || DEBUG_HIX5HD2_UART
174562306a36Sopenharmony_ci	default 0xfeb24000 if DEBUG_RK3X_UART0
174662306a36Sopenharmony_ci	default 0xfeb26000 if DEBUG_RK3X_UART1
174762306a36Sopenharmony_ci	default 0xfeb30c00 if DEBUG_KEYSTONE_UART0
174862306a36Sopenharmony_ci	default 0xfeb31000 if DEBUG_KEYSTONE_UART1
174962306a36Sopenharmony_ci	default 0xfec02000 if DEBUG_SOCFPGA_UART0
175062306a36Sopenharmony_ci	default 0xfec02100 if DEBUG_SOCFPGA_ARRIA10_UART1
175162306a36Sopenharmony_ci	default 0xfec03000 if DEBUG_SOCFPGA_CYCLONE5_UART1
175262306a36Sopenharmony_ci	default 0xfec12000 if DEBUG_MVEBU_UART0 || DEBUG_MVEBU_UART0_ALTERNATE
175362306a36Sopenharmony_ci	default 0xfec12100 if DEBUG_MVEBU_UART1_ALTERNATE
175462306a36Sopenharmony_ci	default 0xfec90000 if DEBUG_RK32_UART2
175562306a36Sopenharmony_ci	default 0xfed0c000 if DEBUG_DAVINCI_DA8XX_UART1
175662306a36Sopenharmony_ci	default 0xfed0d000 if DEBUG_DAVINCI_DA8XX_UART2 || DEBUG_SD5203_UART
175762306a36Sopenharmony_ci	default 0xfed60000 if DEBUG_RK29_UART0
175862306a36Sopenharmony_ci	default 0xfed64000 if DEBUG_RK29_UART1 || DEBUG_RK3X_UART2
175962306a36Sopenharmony_ci	default 0xfed68000 if DEBUG_RK29_UART2 || DEBUG_RK3X_UART3
176062306a36Sopenharmony_ci	default 0xfedc0000 if DEBUG_EP93XX
176162306a36Sopenharmony_ci	default 0xfee003f8 if DEBUG_FOOTBRIDGE_COM1
176262306a36Sopenharmony_ci	default 0xfee20000 if DEBUG_NSPIRE_CLASSIC_UART || DEBUG_NSPIRE_CX_UART
176362306a36Sopenharmony_ci	default 0xfec00000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN
176462306a36Sopenharmony_ci	default 0xfec00003 if ARCH_IXP4XX && CPU_BIG_ENDIAN
176562306a36Sopenharmony_ci	default 0xfef36000 if DEBUG_HIGHBANK_UART
176662306a36Sopenharmony_ci	default 0xff0b0000 if DEBUG_OMAP1UART1
176762306a36Sopenharmony_ci	default 0xff0b0800 if DEBUG_OMAP1UART2
176862306a36Sopenharmony_ci	default 0xff0b9800 if DEBUG_OMAP1UART3
176962306a36Sopenharmony_ci	default 0xffd01000 if DEBUG_HIP01_UART
177062306a36Sopenharmony_ci	default DEBUG_UART_PHYS if !MMU
177162306a36Sopenharmony_ci	depends on DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \
177262306a36Sopenharmony_ci		DEBUG_UART_8250 || DEBUG_UART_PL01X || DEBUG_MESON_UARTAO || \
177362306a36Sopenharmony_ci		DEBUG_QCOM_UARTDM || \
177462306a36Sopenharmony_ci		DEBUG_S3C64XX_UART || \
177562306a36Sopenharmony_ci		DEBUG_BCM63XX_UART || DEBUG_ASM9260_UART || \
177662306a36Sopenharmony_ci		DEBUG_DIGICOLOR_UA0 || \
177762306a36Sopenharmony_ci		DEBUG_AT91_UART || DEBUG_STM32_UART || \
177862306a36Sopenharmony_ci		DEBUG_STIH41X_ASC2 || DEBUG_STIH41X_SBC_ASC1 || \
177962306a36Sopenharmony_ci		DEBUG_STIH418_SBC_ASC0
178062306a36Sopenharmony_ci
178162306a36Sopenharmony_ciconfig DEBUG_UART_8250_SHIFT
178262306a36Sopenharmony_ci	int "Register offset shift for the 8250 debug UART"
178362306a36Sopenharmony_ci	depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
178462306a36Sopenharmony_ci	default 0 if DEBUG_FOOTBRIDGE_COM1 || DEBUG_BCM_5301X || \
178562306a36Sopenharmony_ci		DEBUG_BCM_HR2
178662306a36Sopenharmony_ci	default 3 if DEBUG_MSTARV7_PMUART
178762306a36Sopenharmony_ci	default 2
178862306a36Sopenharmony_ci
178962306a36Sopenharmony_ciconfig DEBUG_UART_8250_WORD
179062306a36Sopenharmony_ci	bool "Use 32-bit accesses for 8250 UART"
179162306a36Sopenharmony_ci	depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
179262306a36Sopenharmony_ci	depends on DEBUG_UART_8250_SHIFT >= 2
179362306a36Sopenharmony_ci	default y if DEBUG_SOCFPGA_UART0 || DEBUG_SOCFPGA_ARRIA10_UART1 || \
179462306a36Sopenharmony_ci		DEBUG_SOCFPGA_CYCLONE5_UART1 || DEBUG_KEYSTONE_UART0 || \
179562306a36Sopenharmony_ci		DEBUG_KEYSTONE_UART1 || DEBUG_ALPINE_UART0 || \
179662306a36Sopenharmony_ci		DEBUG_DAVINCI_DA8XX_UART1 || DEBUG_DAVINCI_DA8XX_UART2 || \
179762306a36Sopenharmony_ci		DEBUG_BCM_IPROC_UART3 || DEBUG_BCM_KONA_UART || \
179862306a36Sopenharmony_ci		DEBUG_RK32_UART2
179962306a36Sopenharmony_ci
180062306a36Sopenharmony_ciconfig DEBUG_UART_8250_PALMCHIP
180162306a36Sopenharmony_ci	bool "8250 UART is Palmchip BK-310x"
180262306a36Sopenharmony_ci	depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
180362306a36Sopenharmony_ci	help
180462306a36Sopenharmony_ci	  Palmchip provides a UART implementation compatible with 16550
180562306a36Sopenharmony_ci	  except for having a different register layout.  Say Y here if
180662306a36Sopenharmony_ci	  the debug UART is of this type.
180762306a36Sopenharmony_ci
180862306a36Sopenharmony_ciconfig DEBUG_UNCOMPRESS
180962306a36Sopenharmony_ci	bool "Enable decompressor debugging via DEBUG_LL output"
181062306a36Sopenharmony_ci	depends on !ARCH_MULTIPLATFORM
181162306a36Sopenharmony_ci	depends on !(ARCH_FOOTBRIDGE || ARCH_RPC || ARCH_SA1100)
181262306a36Sopenharmony_ci	depends on DEBUG_LL && !DEBUG_OMAP2PLUS_UART && \
181362306a36Sopenharmony_ci		     (!DEBUG_TEGRA_UART || !ZBOOT_ROM) && \
181462306a36Sopenharmony_ci		     !DEBUG_BRCMSTB_UART && !DEBUG_SEMIHOSTING
181562306a36Sopenharmony_ci	help
181662306a36Sopenharmony_ci	  This option influences the normal decompressor output for
181762306a36Sopenharmony_ci	  multiplatform kernels.  Normally, multiplatform kernels disable
181862306a36Sopenharmony_ci	  decompressor output because it is not possible to know where to
181962306a36Sopenharmony_ci	  send the decompressor output.
182062306a36Sopenharmony_ci
182162306a36Sopenharmony_ci	  When this option is set, the selected DEBUG_LL output method
182262306a36Sopenharmony_ci	  will be re-used for normal decompressor output on multiplatform
182362306a36Sopenharmony_ci	  kernels.
182462306a36Sopenharmony_ci	  
182562306a36Sopenharmony_ci
182662306a36Sopenharmony_ciconfig UNCOMPRESS_INCLUDE
182762306a36Sopenharmony_ci	string
182862306a36Sopenharmony_ci	default "mach/uncompress.h" if ARCH_FOOTBRIDGE || ARCH_RPC || ARCH_SA1100
182962306a36Sopenharmony_ci	default "debug/uncompress.h"
183062306a36Sopenharmony_ci
183162306a36Sopenharmony_ciconfig EARLY_PRINTK
183262306a36Sopenharmony_ci	bool "Early printk"
183362306a36Sopenharmony_ci	depends on DEBUG_LL
183462306a36Sopenharmony_ci	help
183562306a36Sopenharmony_ci	  Say Y here if you want to have an early console using the
183662306a36Sopenharmony_ci	  kernel low-level debugging functions. Add earlyprintk to your
183762306a36Sopenharmony_ci	  kernel parameters to enable this console.
183862306a36Sopenharmony_ci
183962306a36Sopenharmony_ciconfig ARM_KPROBES_TEST
184062306a36Sopenharmony_ci	tristate "Kprobes test module"
184162306a36Sopenharmony_ci	depends on KPROBES && MODULES
184262306a36Sopenharmony_ci	help
184362306a36Sopenharmony_ci	  Perform tests of kprobes API and instruction set simulation.
184462306a36Sopenharmony_ci
184562306a36Sopenharmony_ciconfig PID_IN_CONTEXTIDR
184662306a36Sopenharmony_ci	bool "Write the current PID to the CONTEXTIDR register"
184762306a36Sopenharmony_ci	depends on CPU_COPY_V6
184862306a36Sopenharmony_ci	help
184962306a36Sopenharmony_ci	  Enabling this option causes the kernel to write the current PID to
185062306a36Sopenharmony_ci	  the PROCID field of the CONTEXTIDR register, at the expense of some
185162306a36Sopenharmony_ci	  additional instructions during context switch. Say Y here only if you
185262306a36Sopenharmony_ci	  are planning to use hardware trace tools with this kernel.
185362306a36Sopenharmony_ci
185462306a36Sopenharmony_cisource "drivers/hwtracing/coresight/Kconfig"
1855