menu "ARM debug"

config DEBUG_LL
	bool "Low-level debugging functions"
	depends on !ARM64
	help
	  Say Y here to include definitions of printascii, printch, printhex
	  in U-Boot.  This is helpful if you are debugging code that
	  executes before the console is initialized.

choice
	prompt "Low-level debugging port"
	depends on DEBUG_LL

	config DEBUG_LL_UART_8250
		bool "Low-level debugging via 8250 UART"
		help
		  Say Y here if you wish the debug print routes to direct
		  their output to an 8250 UART.  You can use this option
		  to provide the parameters for the 8250 UART rather than
		  selecting one of the platform specific options above if
		  you know the parameters for the port.

		  This option is preferred over the platform specific
		  options; the platform specific options are deprecated
		  and will be soon removed.

endchoice

config DEBUG_LL_INCLUDE
	string
	depends on DEBUG_LL
	default "debug/8250.S" if DEBUG_LL_UART_8250 || DEBUG_UART_8250
	default "mach/debug-macro.S"

# Compatibility options for 8250
config DEBUG_UART_8250
	bool

config DEBUG_UART_PHYS
	hex "Physical base address of debug UART"
	depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250

# This is not used in U-Boot
config DEBUG_UART_VIRT
	hex
	default DEBUG_UART_PHYS
	depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250

config DEBUG_UART_8250_SHIFT
	int "Register offset shift for the 8250 debug UART"
	depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
	default 2

config DEBUG_UART_8250_WORD
	bool "Use 32-bit accesses for 8250 UART"
	depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
	depends on DEBUG_UART_8250_SHIFT >= 2

config DEBUG_UART_8250_FLOW_CONTROL
	bool "Enable flow control for 8250 UART"
	depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250

endmenu
