arm/imx: use Kconfig choice for low-level debug UART selection
authorShawn Guo <shawn.guo@linaro.org>
Fri, 19 Aug 2011 04:56:59 +0000 (05:56 +0100)
committerWill Deacon <will.deacon@arm.com>
Mon, 17 Oct 2011 09:02:52 +0000 (10:02 +0100)
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: Shawn Guo <shawn.guo@linaro.org>
Cc: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Will Deacon <will.deacon@arm.com>
arch/arm/Kconfig.debug
arch/arm/mach-mxs/include/mach/debug-macro.S
arch/arm/plat-mxc/include/mach/debug-macro.S

index 75ba269..5bc7814 100644 (file)
@@ -128,6 +128,62 @@ choice
                  Say Y here if you want the debug print routines to direct
                  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
                depends on PLAT_SAMSUNG
                bool "Use S3C UART 0 for low-level debug"
index 79650a1..6d98704 100644 (file)
 #include <mach/mx23.h>
 #include <mach/mx28.h>
 
-#ifdef CONFIG_SOC_IMX23
-#ifdef UART_PADDR
-#error "CONFIG_DEBUG_LL is incompatible with multiple archs"
-#endif
+#ifdef CONFIG_DEBUG_IMX23_UART
 #define UART_PADDR     MX23_DUART_BASE_ADDR
-#endif
-
-#ifdef CONFIG_SOC_IMX28
-#ifdef UART_PADDR
-#error "CONFIG_DEBUG_LL is incompatible with multiple archs"
-#endif
+#elif defined (CONFIG_DEBUG_IMX28_UART)
 #define UART_PADDR     MX28_DUART_BASE_ADDR
 #endif
 
index e4dde91..07cfdbe 100644 (file)
  */
 #include <mach/hardware.h>
 
-#ifdef CONFIG_SOC_IMX1
+#ifdef CONFIG_DEBUG_IMX1_UART
 #define UART_PADDR     MX1_UART1_BASE_ADDR
-#endif
-
-#ifdef CONFIG_SOC_IMX25
-#ifdef UART_PADDR
-#error "CONFIG_DEBUG_LL is incompatible with multiple archs"
-#endif
+#elif defined (CONFIG_DEBUG_IMX25_UART)
 #define UART_PADDR     MX25_UART1_BASE_ADDR
-#endif
-
-#if defined(CONFIG_SOC_IMX21) || defined (CONFIG_SOC_IMX27)
-#ifdef UART_PADDR
-#error "CONFIG_DEBUG_LL is incompatible with multiple archs"
-#endif
+#elif defined (CONFIG_DEBUG_IMX21_IMX27_UART)
 #define UART_PADDR     MX2x_UART1_BASE_ADDR
-#endif
-
-#if defined(CONFIG_SOC_IMX31) || defined(CONFIG_SOC_IMX35)
-#ifdef UART_PADDR
-#error "CONFIG_DEBUG_LL is incompatible with multiple archs"
-#endif
+#elif defined (CONFIG_DEBUG_IMX31_IMX35_UART)
 #define UART_PADDR     MX3x_UART1_BASE_ADDR
-#endif
-
-#ifdef CONFIG_SOC_IMX51
-#ifdef UART_PADDR
-#error "CONFIG_DEBUG_LL is incompatible with multiple archs"
-#endif
+#elif defined (CONFIG_DEBUG_IMX51_UART)
 #define UART_PADDR     MX51_UART1_BASE_ADDR
-#endif
-
-/* 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
+#elif defined (CONFIG_DEBUG_IMX50_IMX53_UART)
 #define UART_PADDR     MX53_UART1_BASE_ADDR
 #endif