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.
next prev 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).