linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: shawn.guo@linaro.org (Shawn Guo)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 30/34] ARM: imx: move debug macros to include/debug
Date: Thu, 20 Sep 2012 14:45:43 +0800	[thread overview]
Message-ID: <1348123547-31082-31-git-send-email-shawn.guo@linaro.org> (raw)
In-Reply-To: <1348123547-31082-1-git-send-email-shawn.guo@linaro.org>

Move imx debug-macro.S over to common debug macro directory.  It
removes the inclusion to hardware.h by hard-coding the physical
address of uart port and copying IMX_IO_P2V from hardware.h.

Since we will need a common solution, which might use a fixed virtual
address for uart port across platforms, we make a copy of IMX_IO_P2V
here as a temporary solution to enable low-level debug for imx
multi-platform build.

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Acked-by: Sascha Hauer <s.hauer@pengutronix.de>
Acked-by: Arnd Bergmann <arnd@arndb.de>
---
 arch/arm/Kconfig.debug                             |    8 +++++
 .../mach/debug-macro.S => include/debug/imx.S}     |   33 +++++++++++++-------
 2 files changed, 30 insertions(+), 11 deletions(-)
 rename arch/arm/{mach-imx/include/mach/debug-macro.S => include/debug/imx.S} (59%)

diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug
index a7eb282..c813a05 100644
--- a/arch/arm/Kconfig.debug
+++ b/arch/arm/Kconfig.debug
@@ -398,6 +398,14 @@ endchoice
 config DEBUG_LL_INCLUDE
 	string
 	default "debug/icedcc.S" if DEBUG_ICEDCC
+	default "debug/imx.S" if DEBUG_IMX1_UART || \
+				 DEBUG_IMX25_UART || \
+				 DEBUG_IMX21_IMX27_UART || \
+				 DEBUG_IMX31_IMX35_UART || \
+				 DEBUG_IMX51_UART || \
+				 DEBUG_IMX50_IMX53_UART ||\
+				 DEBUG_IMX6Q_UART2 || \
+				 DEBUG_IMX6Q_UART4
 	default "debug/highbank.S" if DEBUG_HIGHBANK_UART
 	default "debug/mvebu.S" if DEBUG_MVEBU_UART
 	default "debug/picoxcell.S" if DEBUG_PICOXCELL_UART
diff --git a/arch/arm/mach-imx/include/mach/debug-macro.S b/arch/arm/include/debug/imx.S
similarity index 59%
rename from arch/arm/mach-imx/include/mach/debug-macro.S
rename to arch/arm/include/debug/imx.S
index 761e45f..0b65d79 100644
--- a/arch/arm/mach-imx/include/mach/debug-macro.S
+++ b/arch/arm/include/debug/imx.S
@@ -10,27 +10,38 @@
  * published by the Free Software Foundation.
  *
  */
-#include <mach/hardware.h>
-
 #ifdef CONFIG_DEBUG_IMX1_UART
-#define UART_PADDR	MX1_UART1_BASE_ADDR
+#define UART_PADDR	0x00206000
 #elif defined (CONFIG_DEBUG_IMX25_UART)
-#define UART_PADDR	MX25_UART1_BASE_ADDR
+#define UART_PADDR	0x43f90000
 #elif defined (CONFIG_DEBUG_IMX21_IMX27_UART)
-#define UART_PADDR	MX2x_UART1_BASE_ADDR
+#define UART_PADDR	0x1000a000
 #elif defined (CONFIG_DEBUG_IMX31_IMX35_UART)
-#define UART_PADDR	MX3x_UART1_BASE_ADDR
+#define UART_PADDR	0x43f90000
 #elif defined (CONFIG_DEBUG_IMX51_UART)
-#define UART_PADDR	MX51_UART1_BASE_ADDR
+#define UART_PADDR	0x73fbc000
 #elif defined (CONFIG_DEBUG_IMX50_IMX53_UART)
-#define UART_PADDR	MX53_UART1_BASE_ADDR
+#define UART_PADDR	0x53fbc000
 #elif defined (CONFIG_DEBUG_IMX6Q_UART2)
-#define UART_PADDR	MX6Q_UART2_BASE_ADDR
+#define UART_PADDR	0x021e8000
 #elif defined (CONFIG_DEBUG_IMX6Q_UART4)
-#define UART_PADDR	MX6Q_UART4_BASE_ADDR
+#define UART_PADDR	0x021f0000
 #endif
 
-#define UART_VADDR	IMX_IO_ADDRESS(UART_PADDR)
+/*
+ * FIXME: This is a copy of IMX_IO_P2V in hardware.h, and needs to
+ * stay sync with that.  It's hard to maintain, and should be fixed
+ * globally for multi-platform build to use a fixed virtual address
+ * for low-level debug uart port across platforms.
+ */
+#define IMX_IO_P2V(x)	(						\
+			(((x) & 0x80000000) >> 7) |			\
+			(0xf4000000 +					\
+			(((x) & 0x50000000) >> 6) +			\
+			(((x) & 0x0b000000) >> 4) +			\
+			(((x) & 0x000fffff))))
+
+#define UART_VADDR	IMX_IO_P2V(UART_PADDR)
 
 		.macro	addruart, rp, rv, tmp
 		ldr	\rp, =UART_PADDR	@ physical
-- 
1.7.9.5

  parent reply	other threads:[~2012-09-20  6:45 UTC|newest]

Thread overview: 55+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-09-20  6:45 [PATCH v2 00/34] i.MX multi-platform support Shawn Guo
2012-09-20  6:45 ` [PATCH v2 01/34] ARM: imx: include board headers in the same folder Shawn Guo
2012-09-20  6:45 ` [PATCH v2 02/34] ARM: imx: move iomux drivers and headers into mach-imx Shawn Guo
2012-09-20  6:45 ` [PATCH v2 03/34] ARM: imx: remove unnecessary inclusion from device-imx*.h Shawn Guo
2012-09-20  6:45 ` [PATCH v2 04/34] ARM: imx: move platform device code into mach-imx Shawn Guo
2012-09-20  6:45 ` [PATCH v2 05/34] ARM: imx: merge plat-mxc " Shawn Guo
2012-09-20  6:45 ` [PATCH v2 06/34] ARM: imx: include common.h rather than mach/common.h Shawn Guo
2012-09-20  6:45 ` [PATCH v2 07/34] ARM: imx: ARM: imx: include cpuidle.h rather than mach/cpuidle.h Shawn Guo
2012-09-20  6:45 ` [PATCH v2 08/34] ARM: imx: include iim.h rather than mach/iim.h Shawn Guo
2012-09-20  6:45 ` [PATCH v2 09/34] ARM: imx: include iram.h rather than mach/iram.h Shawn Guo
2012-09-20  6:45 ` [PATCH v2 10/34] ARM: imx: include ulpi.h rather than mach/ulpi.h Shawn Guo
2012-09-20  6:45 ` [PATCH v2 11/34] media: mx1_camera: remove the driver Shawn Guo
2012-09-20 12:56   ` Mauro Carvalho Chehab
2012-09-20 14:47     ` Shawn Guo
2012-09-20  6:45 ` [PATCH v2 12/34] ARM: imx: remove mach/dma-mx1-mx2.h Shawn Guo
2012-09-20  6:45 ` [PATCH v2 13/34] dma: ipu: rename mach/ipu.h to include/linux/dma/ipu-dma.h Shawn Guo
2012-09-20  6:45 ` [PATCH v2 14/34] dma: imx-sdma: remove unneeded mach/hardware.h inclusion Shawn Guo
2012-09-20  6:45 ` [PATCH v2 15/34] ASoC: imx-ssi: " Shawn Guo
2012-09-20  6:45 ` [PATCH v2 16/34] usb: ehci-mxc: " Shawn Guo
2012-09-20  6:45 ` [PATCH v2 17/34] video: mx3fb: " Shawn Guo
2012-09-20  6:45 ` [PATCH v2 18/34] watchdog: imx2_wdt: " Shawn Guo
2012-09-20  6:45 ` [PATCH v2 19/34] i2c: imx: remove cpu_is_xxx by using platform_device_id Shawn Guo
2012-09-20  6:45 ` [PATCH v2 20/34] mtd: mxc_nand: " Shawn Guo
2012-09-20  6:45 ` [PATCH v2 21/34] rtc: mxc_rtc: " Shawn Guo
2012-09-20  6:45 ` [PATCH v2 22/34] dma: imx-dma: use devm_kzalloc and devm_request_irq Shawn Guo
2012-09-20  6:45 ` [PATCH v2 23/34] dma: imx-dma: retrieve MEM and IRQ from resources Shawn Guo
2012-09-20  6:45 ` [PATCH v2 24/34] dma: imx-dma: remove cpu_is_xxx by using platform_device_id Shawn Guo
2012-09-20  6:45 ` [PATCH v2 25/34] media: mx2_camera: remove dead code in mx2_camera_add_device Shawn Guo
2012-09-20  6:45 ` [PATCH v2 26/34] media: mx2_camera: use managed functions to clean up code Shawn Guo
2012-09-20  6:45 ` [PATCH v2 27/34] media: mx2_camera: remove cpu_is_xxx by using platform_device_id Shawn Guo
2012-09-27 19:03   ` Mauro Carvalho Chehab
2012-10-06  8:26     ` Shawn Guo
2012-10-06 14:39       ` Mauro Carvalho Chehab
2012-09-20  6:45 ` [PATCH v2 28/34] mmc: mxcmmc: " Shawn Guo
2012-09-20  6:45 ` [PATCH v2 29/34] video: imxfb: " Shawn Guo
2012-09-20  6:45 ` Shawn Guo [this message]
2012-09-20  6:45 ` [PATCH v2 31/34] ARM: imx: include hardware.h rather than mach/hardware.h Shawn Guo
2012-09-20  6:45 ` [PATCH v2 32/34] ARM: imx: remove header file mach/irqs.h Shawn Guo
2012-09-20  6:45 ` [PATCH v2 33/34] ARM: imx: call mxc_device_init() in soc specific function Shawn Guo
2012-09-20  6:45 ` [PATCH v2 34/34] ARM: imx: enable multi-platform build Shawn Guo
2012-09-20  7:39 ` [PATCH v2 00/34] i.MX multi-platform support Arnd Bergmann
2012-09-20 11:41   ` Mark Brown
2012-09-20 11:52     ` Shawn Guo
2012-09-20 12:47       ` Mark Brown
2012-09-20 13:36         ` Shawn Guo
2012-09-20 14:53   ` Shawn Guo
2012-09-20 15:56     ` Arnd Bergmann
2012-09-21  8:01       ` [alsa-devel] " Shawn Guo
2012-09-21  8:26         ` Olof Johansson
2012-09-21 16:46           ` Shawn Guo
2012-09-21 16:53             ` Shawn Guo
2012-09-22  7:41               ` Olof Johansson
2012-09-22  8:09                 ` Olof Johansson
2012-09-22  9:34                   ` Shawn Guo
2012-09-22 15:43           ` Mark Brown

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1348123547-31082-31-git-send-email-shawn.guo@linaro.org \
    --to=shawn.guo@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).