All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stepan Moskovchenko <stepanm@codeaurora.org>
To: davidb@codeaurora.org
Cc: linux-arm-msm@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org,
	Stepan Moskovchenko <stepanm@codeaurora.org>
Subject: [PATCH 1/7] msm: io: I/O register definitions for MSM8960
Date: Tue, 14 Dec 2010 19:49:15 -0800	[thread overview]
Message-ID: <1292384961-8851-2-git-send-email-stepanm@codeaurora.org> (raw)
In-Reply-To: <1292384961-8851-1-git-send-email-stepanm@codeaurora.org>

Add the register address definitions for the basic hardware
blocks on the Qualcomm MSM8960 chip.

Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
---
 arch/arm/mach-msm/include/mach/io.h             |    1 +
 arch/arm/mach-msm/include/mach/msm_iomap-8960.h |   55 +++++++++++++++++++++++
 arch/arm/mach-msm/include/mach/msm_iomap.h      |    2 +
 arch/arm/mach-msm/io.c                          |   14 ++++++
 4 files changed, 72 insertions(+), 0 deletions(-)
 create mode 100644 arch/arm/mach-msm/include/mach/msm_iomap-8960.h

diff --git a/arch/arm/mach-msm/include/mach/io.h b/arch/arm/mach-msm/include/mach/io.h
index 7386e73..dc1b928 100644
--- a/arch/arm/mach-msm/include/mach/io.h
+++ b/arch/arm/mach-msm/include/mach/io.h
@@ -29,6 +29,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);
+void msm_map_msm8960_io(void);

 extern unsigned int msm_shared_ram_phys;

diff --git a/arch/arm/mach-msm/include/mach/msm_iomap-8960.h b/arch/arm/mach-msm/include/mach/msm_iomap-8960.h
new file mode 100644
index 0000000..ca6bf90
--- /dev/null
+++ b/arch/arm/mach-msm/include/mach/msm_iomap-8960.h
@@ -0,0 +1,55 @@
+/*
+ * 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_8960_H
+#define __ASM_ARCH_MSM_IOMAP_8960_H
+
+/* Physical base address and size of peripherals.
+ * Ordered by the virtual base addresses they will be mapped at.
+ *
+ * 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	0x02000000
+#define MSM_QGIC_DIST_SIZE	SZ_4K
+
+#define MSM_QGIC_CPU_BASE	IOMEM(0xF0001000)
+#define MSM_QGIC_CPU_PHYS	0x02002000
+#define MSM_QGIC_CPU_SIZE	SZ_4K
+
+#define MSM_TMR_BASE		IOMEM(0xF0100000)
+#define MSM_TMR_PHYS		0x0200A000
+#define MSM_TMR_SIZE		(SZ_4K)
+
+#define MSM_TMR0_BASE		IOMEM(0xF0101000)
+#define MSM_TMR0_PHYS		0x0208A000
+#define MSM_TMR0_SIZE		(SZ_4K)
+
+#define MSM_GPT_BASE		(MSM_TMR_BASE + 0x4)
+#define MSM_DGT_BASE		(MSM_TMR_BASE + 0x24)
+
+#endif
diff --git a/arch/arm/mach-msm/include/mach/msm_iomap.h b/arch/arm/mach-msm/include/mach/msm_iomap.h
index 8e24dd8..4154a0a 100644
--- a/arch/arm/mach-msm/include/mach/msm_iomap.h
+++ b/arch/arm/mach-msm/include/mach/msm_iomap.h
@@ -49,6 +49,8 @@
 #include "msm_iomap-8x50.h"
 #elif defined(CONFIG_ARCH_MSM8X60)
 #include "msm_iomap-8x60.h"
+#elif defined(CONFIG_ARCH_MSM8960)
+#include "msm_iomap-8960.h"
 #else
 #include "msm_iomap-7x00.h"
 #endif
diff --git a/arch/arm/mach-msm/io.c b/arch/arm/mach-msm/io.c
index b826b6b..8254fc4 100644
--- a/arch/arm/mach-msm/io.c
+++ b/arch/arm/mach-msm/io.c
@@ -116,6 +116,20 @@ void __init msm_map_msm8x60_io(void)
 }
 #endif /* CONFIG_ARCH_MSM8X60 */

+#ifdef CONFIG_ARCH_MSM8960
+static struct map_desc msm8960_io_desc[] __initdata = {
+	MSM_DEVICE(QGIC_DIST),
+	MSM_DEVICE(QGIC_CPU),
+	MSM_DEVICE(TMR),
+	MSM_DEVICE(TMR0),
+};
+
+void __init msm_map_msm8960_io(void)
+{
+	iotable_init(msm8960_io_desc, ARRAY_SIZE(msm8960_io_desc));
+}
+#endif /* CONFIG_ARCH_MSM8960 */
+
 #ifdef CONFIG_ARCH_MSM7X30
 static struct map_desc msm7x30_io_desc[] __initdata = {
 	MSM_DEVICE(VIC),
--
1.7.0.2

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


WARNING: multiple messages have this Message-ID (diff)
From: stepanm@codeaurora.org (Stepan Moskovchenko)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 1/7] msm: io: I/O register definitions for MSM8960
Date: Tue, 14 Dec 2010 19:49:15 -0800	[thread overview]
Message-ID: <1292384961-8851-2-git-send-email-stepanm@codeaurora.org> (raw)
In-Reply-To: <1292384961-8851-1-git-send-email-stepanm@codeaurora.org>

Add the register address definitions for the basic hardware
blocks on the Qualcomm MSM8960 chip.

Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
---
 arch/arm/mach-msm/include/mach/io.h             |    1 +
 arch/arm/mach-msm/include/mach/msm_iomap-8960.h |   55 +++++++++++++++++++++++
 arch/arm/mach-msm/include/mach/msm_iomap.h      |    2 +
 arch/arm/mach-msm/io.c                          |   14 ++++++
 4 files changed, 72 insertions(+), 0 deletions(-)
 create mode 100644 arch/arm/mach-msm/include/mach/msm_iomap-8960.h

diff --git a/arch/arm/mach-msm/include/mach/io.h b/arch/arm/mach-msm/include/mach/io.h
index 7386e73..dc1b928 100644
--- a/arch/arm/mach-msm/include/mach/io.h
+++ b/arch/arm/mach-msm/include/mach/io.h
@@ -29,6 +29,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);
+void msm_map_msm8960_io(void);

 extern unsigned int msm_shared_ram_phys;

diff --git a/arch/arm/mach-msm/include/mach/msm_iomap-8960.h b/arch/arm/mach-msm/include/mach/msm_iomap-8960.h
new file mode 100644
index 0000000..ca6bf90
--- /dev/null
+++ b/arch/arm/mach-msm/include/mach/msm_iomap-8960.h
@@ -0,0 +1,55 @@
+/*
+ * 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_8960_H
+#define __ASM_ARCH_MSM_IOMAP_8960_H
+
+/* Physical base address and size of peripherals.
+ * Ordered by the virtual base addresses they will be mapped at.
+ *
+ * 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	0x02000000
+#define MSM_QGIC_DIST_SIZE	SZ_4K
+
+#define MSM_QGIC_CPU_BASE	IOMEM(0xF0001000)
+#define MSM_QGIC_CPU_PHYS	0x02002000
+#define MSM_QGIC_CPU_SIZE	SZ_4K
+
+#define MSM_TMR_BASE		IOMEM(0xF0100000)
+#define MSM_TMR_PHYS		0x0200A000
+#define MSM_TMR_SIZE		(SZ_4K)
+
+#define MSM_TMR0_BASE		IOMEM(0xF0101000)
+#define MSM_TMR0_PHYS		0x0208A000
+#define MSM_TMR0_SIZE		(SZ_4K)
+
+#define MSM_GPT_BASE		(MSM_TMR_BASE + 0x4)
+#define MSM_DGT_BASE		(MSM_TMR_BASE + 0x24)
+
+#endif
diff --git a/arch/arm/mach-msm/include/mach/msm_iomap.h b/arch/arm/mach-msm/include/mach/msm_iomap.h
index 8e24dd8..4154a0a 100644
--- a/arch/arm/mach-msm/include/mach/msm_iomap.h
+++ b/arch/arm/mach-msm/include/mach/msm_iomap.h
@@ -49,6 +49,8 @@
 #include "msm_iomap-8x50.h"
 #elif defined(CONFIG_ARCH_MSM8X60)
 #include "msm_iomap-8x60.h"
+#elif defined(CONFIG_ARCH_MSM8960)
+#include "msm_iomap-8960.h"
 #else
 #include "msm_iomap-7x00.h"
 #endif
diff --git a/arch/arm/mach-msm/io.c b/arch/arm/mach-msm/io.c
index b826b6b..8254fc4 100644
--- a/arch/arm/mach-msm/io.c
+++ b/arch/arm/mach-msm/io.c
@@ -116,6 +116,20 @@ void __init msm_map_msm8x60_io(void)
 }
 #endif /* CONFIG_ARCH_MSM8X60 */

+#ifdef CONFIG_ARCH_MSM8960
+static struct map_desc msm8960_io_desc[] __initdata = {
+	MSM_DEVICE(QGIC_DIST),
+	MSM_DEVICE(QGIC_CPU),
+	MSM_DEVICE(TMR),
+	MSM_DEVICE(TMR0),
+};
+
+void __init msm_map_msm8960_io(void)
+{
+	iotable_init(msm8960_io_desc, ARRAY_SIZE(msm8960_io_desc));
+}
+#endif /* CONFIG_ARCH_MSM8960 */
+
 #ifdef CONFIG_ARCH_MSM7X30
 static struct map_desc msm7x30_io_desc[] __initdata = {
 	MSM_DEVICE(VIC),
--
1.7.0.2

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

  reply	other threads:[~2010-12-15  3:49 UTC|newest]

Thread overview: 156+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-12-15  3:49 [PATCH 0/7] msm: Support for Qualcomm MSM8960 Stepan Moskovchenko
2010-12-15  3:49 ` Stepan Moskovchenko
2010-12-15  3:49 ` Stepan Moskovchenko [this message]
2010-12-15  3:49   ` [PATCH 1/7] msm: io: I/O register definitions for MSM8960 Stepan Moskovchenko
2010-12-15 15:31   ` Arnd Bergmann
2010-12-15 15:31     ` Arnd Bergmann
2010-12-15 15:35     ` David Brown
2010-12-15 15:35       ` David Brown
2010-12-15 16:40       ` Arnd Bergmann
2010-12-15 16:40         ` Arnd Bergmann
2010-12-15 22:03         ` David Brown
2010-12-15 22:03           ` David Brown
2010-12-15 22:37           ` Arnd Bergmann
2010-12-15 22:37             ` Arnd Bergmann
2010-12-17  0:16             ` David Brown
2010-12-17  0:16               ` David Brown
2010-12-24 13:29               ` Arnd Bergmann
2010-12-24 13:29                 ` Arnd Bergmann
2010-12-25 16:04                 ` Nicolas Pitre
2010-12-25 16:04                   ` Nicolas Pitre
2011-01-03  0:33                   ` Russell King - ARM Linux
2011-01-03  0:33                     ` Russell King - ARM Linux
2011-01-03  1:04                     ` Nicolas Pitre
2011-01-03  1:04                       ` Nicolas Pitre
2010-12-25 18:40                 ` David Brown
2010-12-25 18:40                   ` David Brown
2010-12-15  3:49 ` [PATCH 2/7] msm: Physical offset " Stepan Moskovchenko
2010-12-15  3:49   ` Stepan Moskovchenko
2010-12-15 13:17   ` Sergei Shtylyov
2010-12-15 13:17     ` Sergei Shtylyov
2010-12-15 13:55     ` David Brown
2010-12-15 13:55       ` David Brown
2010-12-15 14:40       ` Daniel Walker
2010-12-15 14:40         ` Daniel Walker
2010-12-15 15:38         ` David Brown
2010-12-15 15:38           ` David Brown
2010-12-15 17:53           ` Steve Muckle
2010-12-15 17:53             ` Steve Muckle
2010-12-15 17:55           ` Daniel Walker
2010-12-15 17:55             ` Daniel Walker
2010-12-15 18:07             ` Steve Muckle
2010-12-15 18:07               ` Steve Muckle
2010-12-15 18:21               ` Daniel Walker
2010-12-15 18:21                 ` Daniel Walker
2010-12-15  3:49 ` [PATCH 3/7] msm: irqs-8960: Interrupt map " Stepan Moskovchenko
2010-12-15  3:49   ` Stepan Moskovchenko
2010-12-15  3:49 ` [PATCH 4/7] msm: Board file for MSM8960 simulator Stepan Moskovchenko
2010-12-15  3:49   ` Stepan Moskovchenko
2010-12-15 15:36   ` Arnd Bergmann
2010-12-15 15:36     ` Arnd Bergmann
2010-12-15  3:49 ` [PATCH 5/7] msm: timer: Timer support for MSM8960 Stepan Moskovchenko
2010-12-15  3:49   ` Stepan Moskovchenko
2010-12-15  3:49 ` [PATCH 6/7] msm: Makefile cleanup Stepan Moskovchenko
2010-12-15  3:49   ` Stepan Moskovchenko
2010-12-15  3:49 ` [PATCH 7/7] msm: Build support for the MSM8960 target Stepan Moskovchenko
2010-12-15  3:49   ` Stepan Moskovchenko
2010-12-15 15:34   ` Arnd Bergmann
2010-12-15 15:34     ` Arnd Bergmann
2011-01-19 20:25 ` [PATCH v2 00/11] msm: Add initial support for MSM8960 David Brown
2011-01-19 20:25   ` [PATCH v2 01/11] msm: Add CPU queries David Brown
2011-01-19 20:25     ` David Brown
2011-01-25  0:09     ` Daniel Walker
2011-01-25  0:09       ` Daniel Walker
2011-01-25  0:20       ` David Brown
2011-01-25  0:20         ` David Brown
2011-01-25  0:23         ` Daniel Walker
2011-01-25  0:23           ` Daniel Walker
2011-01-25  0:57           ` David Brown
2011-01-25  0:57             ` David Brown
2011-01-25 17:35             ` Daniel Walker
2011-01-25 17:35               ` Daniel Walker
2011-01-25 19:17               ` David Brown
2011-01-25 19:17                 ` David Brown
2011-01-25 19:25                 ` Daniel Walker
2011-01-25 19:25                   ` Daniel Walker
2011-01-25 19:45                   ` David Brown
2011-01-25 19:45                     ` David Brown
2011-01-25 20:06                     ` Daniel Walker
2011-01-25 20:06                       ` Daniel Walker
2011-01-26  4:29                       ` Zhaohui Wang
2011-01-26  4:29                         ` Zhaohui Wang
2011-01-26  6:19                         ` David Brown
2011-01-26  6:19                           ` David Brown
2011-01-26  6:32                           ` Stepan Moskovchenko
2011-01-26  6:32                             ` Stepan Moskovchenko
2011-01-26  6:52                             ` David Brown
2011-01-26  6:52                               ` David Brown
2011-01-19 20:25   ` [PATCH v2 02/11] msm: Generalize timer register mappings David Brown
2011-01-19 20:25     ` David Brown
2011-01-24 22:36     ` Daniel Walker
2011-01-24 22:36       ` Daniel Walker
2011-01-24 22:44       ` David Brown
2011-01-24 22:44         ` David Brown
2011-01-24 22:57         ` Daniel Walker
2011-01-24 22:57           ` Daniel Walker
2011-01-24 23:19           ` David Brown
2011-01-24 23:19             ` David Brown
2011-01-26 22:12         ` Dima Zavin
2011-01-26 22:12           ` Dima Zavin
2011-01-26 22:12           ` Dima Zavin
2011-01-26 22:41           ` David Brown
2011-01-26 22:41             ` David Brown
2011-01-26 22:50             ` Dima Zavin
2011-01-26 22:50               ` Dima Zavin
2011-01-26 22:50               ` Dima Zavin
2011-01-26 22:46           ` Russell King - ARM Linux
2011-01-26 22:46             ` Russell King - ARM Linux
2011-01-25 18:12     ` Carl Vanderlip
2011-01-25 18:12       ` Carl Vanderlip
2011-01-25 19:18       ` David Brown
2011-01-25 19:18         ` David Brown
2011-01-19 20:25   ` [PATCH v2 03/11] msm: Generalize QGIC registers David Brown
2011-01-19 20:25     ` David Brown
2011-01-19 20:25   ` [PATCH v2 04/11] msm: io: I/O register definitions for MSM8960 David Brown
2011-01-19 20:25     ` David Brown
2011-01-24 20:49     ` Daniel Walker
2011-01-24 20:49       ` Daniel Walker
2011-01-24 21:31       ` David Brown
2011-01-24 21:31         ` David Brown
2011-01-24 21:36         ` Daniel Walker
2011-01-24 21:36           ` Daniel Walker
2011-01-19 20:25   ` [PATCH v2 05/11] msm: Physical offset " David Brown
2011-01-19 20:25     ` David Brown
2011-01-19 20:25     ` David Brown
2011-01-24 23:31     ` Russell King - ARM Linux
2011-01-24 23:31       ` Russell King - ARM Linux
2011-01-19 20:25   ` [PATCH v2 06/11] msm: irqs-8960: Interrupt map " David Brown
2011-01-19 20:25     ` David Brown
2011-01-24 22:45     ` Daniel Walker
2011-01-24 22:45       ` Daniel Walker
2011-01-24 22:49       ` David Brown
2011-01-24 22:49         ` David Brown
2011-01-19 20:25   ` [PATCH v2 07/11] msm: Add MSM 8960 cpu_is check David Brown
2011-01-19 20:25     ` David Brown
2011-01-24 20:46     ` Daniel Walker
2011-01-24 20:46       ` Daniel Walker
2011-01-24 21:30       ` David Brown
2011-01-24 21:30         ` David Brown
2011-01-24 21:35         ` Daniel Walker
2011-01-24 21:35           ` Daniel Walker
2011-01-24 22:13           ` David Brown
2011-01-24 22:13             ` David Brown
2011-01-24 22:16             ` Daniel Walker
2011-01-24 22:16               ` Daniel Walker
2011-01-19 20:25   ` [PATCH v2 08/11] msm: timer: Timer support for MSM8960 David Brown
2011-01-19 20:25     ` David Brown
2011-01-19 20:25   ` [PATCH v2 09/11] msm: Makefile cleanup David Brown
2011-01-19 20:25     ` David Brown
2011-01-19 20:25   ` [PATCH v2 10/11] msm: Support for the MSM8960 Simulator target David Brown
2011-01-19 20:25     ` David Brown
2011-01-19 20:25   ` [PATCH v2 11/11] msm: Support for the MSM8960 RUMI3 target David Brown
2011-01-19 20:25     ` David Brown
2011-01-24 23:28     ` Russell King - ARM Linux
2011-01-24 23:28       ` Russell King - ARM Linux
2011-01-19 22:40 ` [PATCH v2 00/11] msm: Add initial support for MSM8960 David Brown
2011-01-19 22:40   ` David 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=1292384961-8851-2-git-send-email-stepanm@codeaurora.org \
    --to=stepanm@codeaurora.org \
    --cc=davidb@codeaurora.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.