From patchwork Sat Sep 19 00:39:40 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: vikram pandita X-Patchwork-Id: 48707 X-Patchwork-Delegate: tony@atomide.com Received: from vger.kernel.org (vger.kernel.org [209.132.176.167]) by demeter.kernel.org (8.14.2/8.14.2) with ESMTP id n8J0j3Qe002058 for ; Sat, 19 Sep 2009 00:45:03 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754305AbZISAoa (ORCPT ); Fri, 18 Sep 2009 20:44:30 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1753356AbZISAo3 (ORCPT ); Fri, 18 Sep 2009 20:44:29 -0400 Received: from comal.ext.ti.com ([198.47.26.152]:51432 "EHLO comal.ext.ti.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751394AbZISAo2 (ORCPT ); Fri, 18 Sep 2009 20:44:28 -0400 Received: from dlep36.itg.ti.com ([157.170.170.91]) by comal.ext.ti.com (8.13.7/8.13.7) with ESMTP id n8J0iPcY013213; Fri, 18 Sep 2009 19:44:25 -0500 Received: from legion.dal.design.ti.com (localhost [127.0.0.1]) by dlep36.itg.ti.com (8.13.8/8.13.8) with ESMTP id n8J0iNuj001385; Fri, 18 Sep 2009 19:44:23 -0500 (CDT) Received: from vip-tid (lta0307903-128247075087.am.dhcp.ti.com [128.247.75.87]) by legion.dal.design.ti.com (8.11.7p1+Sun/8.11.7) with ESMTP id n8J0iMZ21450; Fri, 18 Sep 2009 19:44:23 -0500 (CDT) Received: from vip-tid (localhost.localdomain [127.0.0.1]) by vip-tid (Postfix) with ESMTP id 5D21A29CBFF; Fri, 18 Sep 2009 19:39:47 -0500 (CDT) Received: (from vikram@localhost) by vip-tid (8.14.3/8.14.3/Submit) id n8J0dluJ019441; Fri, 18 Sep 2009 19:39:47 -0500 X-Authentication-Warning: vip-tid: vikram set sender to vikram.pandita@ti.com using -f From: Vikram Pandita To: linux-arm-kernel@lists.infradead.org, linux-omap@vger.kernel.org Cc: Vikram Pandita , Erik Gilling Subject: [PATCH 2/2] OMAP: Zoom2: Add DEBUG_LL interface using Quart Date: Fri, 18 Sep 2009 19:39:40 -0500 Message-Id: <1253320780-19396-3-git-send-email-vikram.pandita@ti.com> X-Mailer: git-send-email 1.6.5.rc1.19.g8426 In-Reply-To: <1253320780-19396-2-git-send-email-vikram.pandita@ti.com> References: <1253320780-19396-1-git-send-email-vikram.pandita@ti.com> <1253320780-19396-2-git-send-email-vikram.pandita@ti.com> Sender: linux-omap-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-omap@vger.kernel.org This patch adds DEBUG_LL interface for Zoom2 board. The low level debug uart now points corrctly to External Quad uart controller on detachable debug board. The Quad uart is available over GPMC chip select with physical address 0x10000000. This physical address has been mapped to virtual address 0xFB000000 as per static mapping. This patch is adapted from a version by Erik Gilling: http://android.git.kernel.org/?p=kernel/omap.git; a=commit;h=e9d72efdd88877d2d6ea74a08983ace0dcc771d3 Signed-off-by: Vikram Pandita Cc: Erik Gilling --- arch/arm/mach-omap2/board-zoom2.c | 18 ++++++++++++++++-- arch/arm/plat-omap/debug-low-level.c | 2 ++ arch/arm/plat-omap/include/mach/io.h | 6 ++++++ 3 files changed, 24 insertions(+), 2 deletions(-) diff --git a/arch/arm/mach-omap2/board-zoom2.c b/arch/arm/mach-omap2/board-zoom2.c index 324009e..abaee66 100644 --- a/arch/arm/mach-omap2/board-zoom2.c +++ b/arch/arm/mach-omap2/board-zoom2.c @@ -19,6 +19,7 @@ #include #include +#include #include #include @@ -269,15 +270,28 @@ static void __init omap_zoom2_init(void) usb_musb_init(); } +static struct map_desc zoom2_io_desc[] __initdata = { + { + .virtual = ZOOM2_EXT_QUART_VIRT, + .pfn = __phys_to_pfn(ZOOM2_EXT_QUART_PHYS), + .length = ZOOM2_EXT_QUART_SIZE, + .type = MT_DEVICE + } +}; + static void __init omap_zoom2_map_io(void) { omap2_set_globals_343x(); + + /* Map external quad UART virt to phy mapping */ + iotable_init(zoom2_io_desc, ARRAY_SIZE(zoom2_io_desc)); + omap2_map_common_io(); } MACHINE_START(OMAP_ZOOM2, "OMAP Zoom2 board") - .phys_io = 0x48000000, - .io_pg_offst = ((0xd8000000) >> 18) & 0xfffc, + .phys_io = ZOOM2_EXT_QUART_PHYS, + .io_pg_offst = ((ZOOM2_EXT_QUART_VIRT) >> 18) & 0xfffc, .boot_params = 0x80000100, .map_io = omap_zoom2_map_io, .init_irq = omap_zoom2_init_irq, diff --git a/arch/arm/plat-omap/debug-low-level.c b/arch/arm/plat-omap/debug-low-level.c index c134694..ea68440 100644 --- a/arch/arm/plat-omap/debug-low-level.c +++ b/arch/arm/plat-omap/debug-low-level.c @@ -15,6 +15,8 @@ u32 get_uart_base(void) { static u32 omap_uart_debug_ll_phy_addr; + omap_uart_debug_ll_phy_addr = 0; + if (omap_uart_debug_ll_phy_addr) return omap_uart_debug_ll_phy_addr; diff --git a/arch/arm/plat-omap/include/mach/io.h b/arch/arm/plat-omap/include/mach/io.h index 8d32df3..d67f06c 100644 --- a/arch/arm/plat-omap/include/mach/io.h +++ b/arch/arm/plat-omap/include/mach/io.h @@ -169,6 +169,12 @@ #define DSP_MMU_34XX_VIRT 0xe2000000 #define DSP_MMU_34XX_SIZE SZ_4K +/* Map External Quad UART for Zoom2 board */ +#define ZOOM2_EXT_QUART_PHYS 0x10000000 /* PHY address if fixed */ +#define ZOOM2_EXT_QUART_PHY_TO_VIRT_OFF 0xEB000000 +#define ZOOM2_EXT_QUART_VIRT 0xFB000000 +#define ZOOM2_EXT_QUART_SIZE SZ_16 + /* * ---------------------------------------------------------------------------- * Omap4 specific IO mapping