Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f350b861 authored by Shawn Guo's avatar Shawn Guo Committed by Will Deacon
Browse files

arm/imx: use Kconfig choice for low-level debug UART selection



Now that the DEBUG_LL UART can be selected by a Kconfig choice,
simplify the #ifdefery in debug-macro.S and add entries to the
top-level Kconfig.debug instead.

Signed-off-by: default avatarShawn Guo <shawn.guo@linaro.org>
Cc: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
parent 1285b8f8
Loading
Loading
Loading
Loading
+56 −0
Original line number Original line Diff line number Diff line
@@ -128,6 +128,62 @@ choice
		  Say Y here if you want the debug print routines to direct
		  Say Y here if you want the debug print routines to direct
		  their output to the second serial port on these devices.
		  their output to the second serial port on these devices.


	config DEBUG_IMX1_UART
		bool "i.MX1 Debug UART"
		depends on SOC_IMX1
		help
		  Say Y here if you want kernel low-level debugging support
		  on i.MX1.

	config DEBUG_IMX23_UART
		bool "i.MX23 Debug UART"
		depends on SOC_IMX23
		help
		  Say Y here if you want kernel low-level debugging support
		  on i.MX23.

	config DEBUG_IMX25_UART
		bool "i.MX25 Debug UART"
		depends on SOC_IMX25
		help
		  Say Y here if you want kernel low-level debugging support
		  on i.MX25.

	config DEBUG_IMX21_IMX27_UART
		bool "i.MX21 and i.MX27 Debug UART"
		depends on SOC_IMX21 || SOC_IMX27
		help
		  Say Y here if you want kernel low-level debugging support
		  on i.MX21 or i.MX27.

	config DEBUG_IMX28_UART
		bool "i.MX28 Debug UART"
		depends on SOC_IMX28
		help
		  Say Y here if you want kernel low-level debugging support
		  on i.MX28.

	config DEBUG_IMX31_IMX35_UART
		bool "i.MX31 and i.MX35 Debug UART"
		depends on SOC_IMX31 || SOC_IMX35
		help
		  Say Y here if you want kernel low-level debugging support
		  on i.MX31 or i.MX35.

	config DEBUG_IMX51_UART
		bool "i.MX51 Debug UART"
		depends on SOC_IMX51
		help
		  Say Y here if you want kernel low-level debugging support
		  on i.MX51.

	config DEBUG_IMX50_IMX53_UART
		bool "i.MX50 and i.MX53 Debug UART"
		depends on SOC_IMX50 || SOC_IMX53
		help
		  Say Y here if you want kernel low-level debugging support
		  on i.MX50 or i.MX53.

	config DEBUG_S3C_UART0
	config DEBUG_S3C_UART0
		depends on PLAT_SAMSUNG
		depends on PLAT_SAMSUNG
		bool "Use S3C UART 0 for low-level debug"
		bool "Use S3C UART 0 for low-level debug"
+2 −10
Original line number Original line Diff line number Diff line
@@ -14,17 +14,9 @@
#include <mach/mx23.h>
#include <mach/mx23.h>
#include <mach/mx28.h>
#include <mach/mx28.h>


#ifdef CONFIG_SOC_IMX23
#ifdef CONFIG_DEBUG_IMX23_UART
#ifdef UART_PADDR
#error "CONFIG_DEBUG_LL is incompatible with multiple archs"
#endif
#define UART_PADDR	MX23_DUART_BASE_ADDR
#define UART_PADDR	MX23_DUART_BASE_ADDR
#endif
#elif defined (CONFIG_DEBUG_IMX28_UART)

#ifdef CONFIG_SOC_IMX28
#ifdef UART_PADDR
#error "CONFIG_DEBUG_LL is incompatible with multiple archs"
#endif
#define UART_PADDR	MX28_DUART_BASE_ADDR
#define UART_PADDR	MX28_DUART_BASE_ADDR
#endif
#endif


+6 −32
Original line number Original line Diff line number Diff line
@@ -12,43 +12,17 @@
 */
 */
#include <mach/hardware.h>
#include <mach/hardware.h>


#ifdef CONFIG_SOC_IMX1
#ifdef CONFIG_DEBUG_IMX1_UART
#define UART_PADDR	MX1_UART1_BASE_ADDR
#define UART_PADDR	MX1_UART1_BASE_ADDR
#endif
#elif defined (CONFIG_DEBUG_IMX25_UART)

#ifdef CONFIG_SOC_IMX25
#ifdef UART_PADDR
#error "CONFIG_DEBUG_LL is incompatible with multiple archs"
#endif
#define UART_PADDR	MX25_UART1_BASE_ADDR
#define UART_PADDR	MX25_UART1_BASE_ADDR
#endif
#elif defined (CONFIG_DEBUG_IMX21_IMX27_UART)

#if defined(CONFIG_SOC_IMX21) || defined (CONFIG_SOC_IMX27)
#ifdef UART_PADDR
#error "CONFIG_DEBUG_LL is incompatible with multiple archs"
#endif
#define UART_PADDR	MX2x_UART1_BASE_ADDR
#define UART_PADDR	MX2x_UART1_BASE_ADDR
#endif
#elif defined (CONFIG_DEBUG_IMX31_IMX35_UART)

#if defined(CONFIG_SOC_IMX31) || defined(CONFIG_SOC_IMX35)
#ifdef UART_PADDR
#error "CONFIG_DEBUG_LL is incompatible with multiple archs"
#endif
#define UART_PADDR	MX3x_UART1_BASE_ADDR
#define UART_PADDR	MX3x_UART1_BASE_ADDR
#endif
#elif defined (CONFIG_DEBUG_IMX51_UART)

#ifdef CONFIG_SOC_IMX51
#ifdef UART_PADDR
#error "CONFIG_DEBUG_LL is incompatible with multiple archs"
#endif
#define UART_PADDR	MX51_UART1_BASE_ADDR
#define UART_PADDR	MX51_UART1_BASE_ADDR
#endif
#elif defined (CONFIG_DEBUG_IMX50_IMX53_UART)

/* iMX50/53 have same addresses, but not iMX51 */
#if defined(CONFIG_SOC_IMX50) || defined(CONFIG_SOC_IMX53)
#ifdef UART_PADDR
#error "CONFIG_DEBUG_LL is incompatible with multiple archs"
#endif
#define UART_PADDR	MX53_UART1_BASE_ADDR
#define UART_PADDR	MX53_UART1_BASE_ADDR
#endif
#endif