linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: johlstei@codeaurora.org (Jeff Ohlstein)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 02/20 v2] msm: io: MSM8X60 io support
Date: Wed,  6 Oct 2010 00:42:41 -0700	[thread overview]
Message-ID: <1286350979-19328-3-git-send-email-johlstei@codeaurora.org> (raw)
In-Reply-To: <1286350979-19328-1-git-send-email-johlstei@codeaurora.org>

From: Steve Muckle <smuckle@codeaurora.org>

MSM8X60 has different IO mappings than previous MSMs.

Signed-off-by: Steve Muckle <smuckle@codeaurora.org>
---
 arch/arm/mach-msm/include/mach/io.h             |    1 +
 arch/arm/mach-msm/include/mach/msm_iomap-8x60.h |   57 +++++++++++++++++++++++
 arch/arm/mach-msm/include/mach/msm_iomap.h      |    4 ++
 arch/arm/mach-msm/io.c                          |   15 ++++++
 4 files changed, 77 insertions(+), 0 deletions(-)
 create mode 100644 arch/arm/mach-msm/include/mach/msm_iomap-8x60.h

diff --git a/arch/arm/mach-msm/include/mach/io.h b/arch/arm/mach-msm/include/mach/io.h
index c35b29f..7386e73 100644
--- a/arch/arm/mach-msm/include/mach/io.h
+++ b/arch/arm/mach-msm/include/mach/io.h
@@ -28,6 +28,7 @@ void __iomem *__msm_ioremap(unsigned long phys_addr, size_t size, unsigned int m
 
 void msm_map_qsd8x50_io(void);
 void msm_map_msm7x30_io(void);
+void msm_map_msm8x60_io(void);
 
 extern unsigned int msm_shared_ram_phys;
 
diff --git a/arch/arm/mach-msm/include/mach/msm_iomap-8x60.h b/arch/arm/mach-msm/include/mach/msm_iomap-8x60.h
new file mode 100644
index 0000000..1f1822b
--- /dev/null
+++ b/arch/arm/mach-msm/include/mach/msm_iomap-8x60.h
@@ -0,0 +1,57 @@
+/*
+ * Copyright (C) 2007 Google, Inc.
+ * Copyright (c) 2008-2010, Code Aurora Forum. All rights reserved.
+ * Author: Brian Swetland <swetland@google.com>
+ *
+ * This software is licensed under the terms of the GNU General Public
+ * License version 2, as published by the Free Software Foundation, and
+ * may be copied, distributed, and modified under those terms.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ *
+ * The MSM peripherals are spread all over across 768MB of physical
+ * space, which makes just having a simple IO_ADDRESS macro to slide
+ * them into the right virtual location rough.  Instead, we will
+ * provide a master phys->virt mapping for peripherals here.
+ *
+ */
+
+#ifndef __ASM_ARCH_MSM_IOMAP_8X60_H
+#define __ASM_ARCH_MSM_IOMAP_8X60_H
+
+/* Physical base address and size of peripherals.
+ * Ordered by the virtual base addresses they will be mapped at.
+ *
+ * MSM_VIC_BASE must be an value that can be loaded via a "mov"
+ * instruction, otherwise entry-macro.S will not compile.
+ *
+ * If you add or remove entries here, you'll want to edit the
+ * msm_io_desc array in arch/arm/mach-msm/io.c to reflect your
+ * changes.
+ *
+ */
+
+#define MSM_QGIC_DIST_BASE	IOMEM(0xF0000000)
+#define MSM_QGIC_DIST_PHYS	0x02080000
+#define MSM_QGIC_DIST_SIZE	SZ_4K
+
+#define MSM_QGIC_CPU_BASE	IOMEM(0xF0001000)
+#define MSM_QGIC_CPU_PHYS	0x02081000
+#define MSM_QGIC_CPU_SIZE	SZ_4K
+
+#define MSM_ACC_BASE		IOMEM(0xF0002000)
+#define MSM_ACC_PHYS		0x02001000
+#define MSM_ACC_SIZE		SZ_4K
+
+#define MSM_GCC_BASE		IOMEM(0xF0003000)
+#define MSM_GCC_PHYS		0x02082000
+#define MSM_GCC_SIZE		SZ_4K
+
+#define MSM_SHARED_RAM_BASE	IOMEM(0xF0100000)
+#define MSM_SHARED_RAM_SIZE	SZ_1M
+
+#endif
diff --git a/arch/arm/mach-msm/include/mach/msm_iomap.h b/arch/arm/mach-msm/include/mach/msm_iomap.h
index e6b1821..8e24dd8 100644
--- a/arch/arm/mach-msm/include/mach/msm_iomap.h
+++ b/arch/arm/mach-msm/include/mach/msm_iomap.h
@@ -47,8 +47,12 @@
 #include "msm_iomap-7x30.h"
 #elif defined(CONFIG_ARCH_QSD8X50)
 #include "msm_iomap-8x50.h"
+#elif defined(CONFIG_ARCH_MSM8X60)
+#include "msm_iomap-8x60.h"
 #else
 #include "msm_iomap-7x00.h"
 #endif
 
+
+
 #endif
diff --git a/arch/arm/mach-msm/io.c b/arch/arm/mach-msm/io.c
index 1c05060..d36b610 100644
--- a/arch/arm/mach-msm/io.c
+++ b/arch/arm/mach-msm/io.c
@@ -100,6 +100,21 @@ void __init msm_map_qsd8x50_io(void)
 }
 #endif /* CONFIG_ARCH_QSD8X50 */
 
+#ifdef CONFIG_ARCH_MSM8X60
+static struct map_desc msm8x60_io_desc[] __initdata = {
+	MSM_DEVICE(QGIC_DIST),
+	MSM_DEVICE(QGIC_CPU),
+	MSM_DEVICE(TMR),
+	MSM_DEVICE(ACC),
+	MSM_DEVICE(GCC),
+};
+
+void __init msm_map_msm8x60_io(void)
+{
+	iotable_init(msm8x60_io_desc, ARRAY_SIZE(msm8x60_io_desc));
+}
+#endif /* CONFIG_ARCH_MSM8X60 */
+
 #ifdef CONFIG_ARCH_MSM7X30
 static struct map_desc msm7x30_io_desc[] __initdata = {
 	MSM_DEVICE(VIC),
-- 
1.7.2.1

Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.

  parent reply	other threads:[~2010-10-06  7:42 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-10-06  7:42 [PATCH 00/20 v2] Support for Qualcomm msm8660 target Jeff Ohlstein
2010-10-06  7:42 ` [PATCH 01/20 v2] msm: create config option for proc-comm Jeff Ohlstein
2010-10-06  7:42 ` Jeff Ohlstein [this message]
2010-10-06  7:42 ` [PATCH 03/20 v2] msm: initial irq definitions for MSM8X60 Jeff Ohlstein
2010-10-06 15:50   ` David Brown
2010-10-06  7:42 ` [PATCH 04/20 v2] msm: irqs-8x60: interrupt map Jeff Ohlstein
2010-10-06  7:42 ` [PATCH 05/20 v2] msm: timer: support 8x60 timers Jeff Ohlstein
2010-10-06  7:42 ` [PATCH 06/20 v2] msm: MSM8X60 RUMI3 board support Jeff Ohlstein
2010-10-06  7:42 ` [PATCH 07/20 v2] msm: irq: rename existing entry-macro to entry-macro-vic Jeff Ohlstein
2010-10-06  7:42 ` [PATCH 08/20 v2] msm: 8x60: gic initialization fixup for RUMI Jeff Ohlstein
2010-10-06  7:42 ` [PATCH 09/20 v2] msm: clock: add dummy clock driver Jeff Ohlstein
2010-10-06  7:42 ` [PATCH 10/20 v2] msm: dma: add stub functions for dma features not yet present on 8x60 Jeff Ohlstein
2010-10-06  7:42 ` [PATCH 11/20 v2] msm: allow uart to be conditionally disabled Jeff Ohlstein
2010-10-06  7:42 ` [PATCH 12/20 v2] msm: add build support for msm8x60 target Jeff Ohlstein
2010-10-06  7:42 ` [PATCH 13/20 v2] msm: 8x60: setup correct handlers for private interrupts Jeff Ohlstein
2010-10-06  7:42 ` [PATCH 14/20 v2] msm: physical offset for MSM8X60 Jeff Ohlstein
2010-10-06  7:42 ` [PATCH 15/20 v2] msm: add msm8x60_surf machine Jeff Ohlstein
2010-10-06  7:42 ` [PATCH 16/20 v2] msm: MSM8X60 simulator board support Jeff Ohlstein
2010-10-06  7:42 ` [PATCH 17/20 v2] msm: add MSM8x60 FFA support Jeff Ohlstein
2010-10-06  7:42 ` [PATCH 18/20 v2] msm: Add MSM IOMMU support Jeff Ohlstein
2010-10-06  7:42 ` [PATCH 19/20 v2] msm: Platform initialization for the IOMMU driver Jeff Ohlstein
2010-10-06 14:28   ` Daniel Walker
2010-10-06 22:48     ` [PATCH] " Stepan Moskovchenko
2010-10-06  7:42 ` [PATCH 20/20 v2] msm: Platform data for msm8x60 IOMMUs Jeff Ohlstein

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=1286350979-19328-3-git-send-email-johlstei@codeaurora.org \
    --to=johlstei@codeaurora.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).