All of lore.kernel.org
 help / color / mirror / Atom feed
From: Santosh Shilimkar <santosh.shilimkar@ti.com>
To: linux-omap@vger.kernel.org
Cc: khilman@ti.com, rnayak@ti.com,
	linux-arm-kernel@lists.infradead.org,
	Santosh Shilimkar <santosh.shilimkar@ti.com>
Subject: [PATCH v2 04/19] OMAP4: PM: Add SAR RAM support
Date: Thu, 10 Mar 2011 19:38:00 +0530	[thread overview]
Message-ID: <1299766095-23879-5-git-send-email-santosh.shilimkar@ti.com> (raw)
In-Reply-To: <1299766095-23879-1-git-send-email-santosh.shilimkar@ti.com>

This patch adds SAR RAM support on OMAP4430. SAR RAM used to save
and restore the HW context in low power modes.

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Cc: Kevin Hilman <khilman@ti.com>
---
 arch/arm/mach-omap2/include/mach/omap4-common.h |    1 +
 arch/arm/mach-omap2/omap4-common.c              |   31 ++++++++++++++++++++++-
 arch/arm/mach-omap2/omap4-sar-layout.h          |   22 ++++++++++++++++
 arch/arm/plat-omap/include/plat/omap44xx.h      |    1 +
 4 files changed, 54 insertions(+), 1 deletions(-)
 create mode 100644 arch/arm/mach-omap2/omap4-sar-layout.h

diff --git a/arch/arm/mach-omap2/include/mach/omap4-common.h b/arch/arm/mach-omap2/include/mach/omap4-common.h
index 106edef..284180c 100644
--- a/arch/arm/mach-omap2/include/mach/omap4-common.h
+++ b/arch/arm/mach-omap2/include/mach/omap4-common.h
@@ -39,6 +39,7 @@ static inline void __iomem *omap4_get_scu_base(void)
 
 extern void __iomem *omap4_get_gic_dist_base(void);
 extern void __iomem *omap4_get_gic_cpu_base(void);
+extern void __iomem *omap4_get_sar_ram_base(void);
 extern void __init gic_init_irq(void);
 extern void omap_smc1(u32 fn, u32 arg);
 
diff --git a/arch/arm/mach-omap2/omap4-common.c b/arch/arm/mach-omap2/omap4-common.c
index fdacb9e..97d7d8a 100644
--- a/arch/arm/mach-omap2/omap4-common.c
+++ b/arch/arm/mach-omap2/omap4-common.c
@@ -23,13 +23,15 @@
 #include <mach/omap4-common.h>
 #include <mach/omap-wakeupgen.h>
 
+#include "omap4-sar-layout.h"
+
 #ifdef CONFIG_CACHE_L2X0
 static void __iomem *l2cache_base;
 #endif
 
 static void __iomem *gic_dist_base_addr;
 static void __iomem *gic_cpu_base;
-
+static void __iomem *sar_ram_base;
 
 void __iomem *omap4_get_gic_dist_base(void)
 {
@@ -125,3 +127,30 @@ static int __init omap_l2_cache_init(void)
 }
 early_initcall(omap_l2_cache_init);
 #endif
+
+void __iomem *omap4_get_sar_ram_base(void)
+{
+	return sar_ram_base;
+}
+
+/*
+ * SAR RAM used to save and restore the HW
+ * context in low power modes
+ */
+static int __init omap4_sar_ram_init(void)
+{
+	/*
+	 * To avoid code running on other OMAPs in
+	 * multi-omap builds
+	 */
+	if (!cpu_is_omap44xx())
+		return -ENODEV;
+
+	/* Static mapping, never released */
+	sar_ram_base = ioremap(OMAP44XX_SAR_RAM_BASE, SZ_8K);
+	if (WARN_ON(!sar_ram_base))
+		return -ENODEV;
+
+	return 0;
+}
+early_initcall(omap4_sar_ram_init);
diff --git a/arch/arm/mach-omap2/omap4-sar-layout.h b/arch/arm/mach-omap2/omap4-sar-layout.h
new file mode 100644
index 0000000..1cfb4dd
--- /dev/null
+++ b/arch/arm/mach-omap2/omap4-sar-layout.h
@@ -0,0 +1,22 @@
+/*
+ * omap4-sar-layout.h: OMAP4 SAR RAM layout header file
+ *
+ * Copyright (C) 2011 Texas Instruments, Inc.
+ * Santosh Shilimkar <santosh.shilimkar@ti.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+#ifndef OMAP_ARCH_OMAP4_SAR_LAYOUT_H
+#define OMAP_ARCH_OMAP4_SAR_LAYOUT_H
+
+/*
+ * SAR BANK offsets from base address OMAP44XX_SAR_RAM_BASE
+ */
+#define SAR_BANK1_OFFSET		0x0000
+#define SAR_BANK2_OFFSET		0x1000
+#define SAR_BANK3_OFFSET		0x2000
+#define SAR_BANK4_OFFSET		0x3000
+
+#endif
diff --git a/arch/arm/plat-omap/include/plat/omap44xx.h b/arch/arm/plat-omap/include/plat/omap44xx.h
index ea2b8a6..c0d478e 100644
--- a/arch/arm/plat-omap/include/plat/omap44xx.h
+++ b/arch/arm/plat-omap/include/plat/omap44xx.h
@@ -45,6 +45,7 @@
 #define OMAP44XX_WKUPGEN_BASE		0x48281000
 #define OMAP44XX_MCPDM_BASE		0x40132000
 #define OMAP44XX_MCPDM_L3_BASE		0x49032000
+#define OMAP44XX_SAR_RAM_BASE		0x4a326000
 
 #define OMAP44XX_MAILBOX_BASE		(L4_44XX_BASE + 0xF4000)
 #define OMAP44XX_HSUSB_OTG_BASE		(L4_44XX_BASE + 0xAB000)
-- 
1.6.0.4


WARNING: multiple messages have this Message-ID (diff)
From: santosh.shilimkar@ti.com (Santosh Shilimkar)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 04/19] OMAP4: PM: Add SAR RAM support
Date: Thu, 10 Mar 2011 19:38:00 +0530	[thread overview]
Message-ID: <1299766095-23879-5-git-send-email-santosh.shilimkar@ti.com> (raw)
In-Reply-To: <1299766095-23879-1-git-send-email-santosh.shilimkar@ti.com>

This patch adds SAR RAM support on OMAP4430. SAR RAM used to save
and restore the HW context in low power modes.

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Cc: Kevin Hilman <khilman@ti.com>
---
 arch/arm/mach-omap2/include/mach/omap4-common.h |    1 +
 arch/arm/mach-omap2/omap4-common.c              |   31 ++++++++++++++++++++++-
 arch/arm/mach-omap2/omap4-sar-layout.h          |   22 ++++++++++++++++
 arch/arm/plat-omap/include/plat/omap44xx.h      |    1 +
 4 files changed, 54 insertions(+), 1 deletions(-)
 create mode 100644 arch/arm/mach-omap2/omap4-sar-layout.h

diff --git a/arch/arm/mach-omap2/include/mach/omap4-common.h b/arch/arm/mach-omap2/include/mach/omap4-common.h
index 106edef..284180c 100644
--- a/arch/arm/mach-omap2/include/mach/omap4-common.h
+++ b/arch/arm/mach-omap2/include/mach/omap4-common.h
@@ -39,6 +39,7 @@ static inline void __iomem *omap4_get_scu_base(void)
 
 extern void __iomem *omap4_get_gic_dist_base(void);
 extern void __iomem *omap4_get_gic_cpu_base(void);
+extern void __iomem *omap4_get_sar_ram_base(void);
 extern void __init gic_init_irq(void);
 extern void omap_smc1(u32 fn, u32 arg);
 
diff --git a/arch/arm/mach-omap2/omap4-common.c b/arch/arm/mach-omap2/omap4-common.c
index fdacb9e..97d7d8a 100644
--- a/arch/arm/mach-omap2/omap4-common.c
+++ b/arch/arm/mach-omap2/omap4-common.c
@@ -23,13 +23,15 @@
 #include <mach/omap4-common.h>
 #include <mach/omap-wakeupgen.h>
 
+#include "omap4-sar-layout.h"
+
 #ifdef CONFIG_CACHE_L2X0
 static void __iomem *l2cache_base;
 #endif
 
 static void __iomem *gic_dist_base_addr;
 static void __iomem *gic_cpu_base;
-
+static void __iomem *sar_ram_base;
 
 void __iomem *omap4_get_gic_dist_base(void)
 {
@@ -125,3 +127,30 @@ static int __init omap_l2_cache_init(void)
 }
 early_initcall(omap_l2_cache_init);
 #endif
+
+void __iomem *omap4_get_sar_ram_base(void)
+{
+	return sar_ram_base;
+}
+
+/*
+ * SAR RAM used to save and restore the HW
+ * context in low power modes
+ */
+static int __init omap4_sar_ram_init(void)
+{
+	/*
+	 * To avoid code running on other OMAPs in
+	 * multi-omap builds
+	 */
+	if (!cpu_is_omap44xx())
+		return -ENODEV;
+
+	/* Static mapping, never released */
+	sar_ram_base = ioremap(OMAP44XX_SAR_RAM_BASE, SZ_8K);
+	if (WARN_ON(!sar_ram_base))
+		return -ENODEV;
+
+	return 0;
+}
+early_initcall(omap4_sar_ram_init);
diff --git a/arch/arm/mach-omap2/omap4-sar-layout.h b/arch/arm/mach-omap2/omap4-sar-layout.h
new file mode 100644
index 0000000..1cfb4dd
--- /dev/null
+++ b/arch/arm/mach-omap2/omap4-sar-layout.h
@@ -0,0 +1,22 @@
+/*
+ * omap4-sar-layout.h: OMAP4 SAR RAM layout header file
+ *
+ * Copyright (C) 2011 Texas Instruments, Inc.
+ * Santosh Shilimkar <santosh.shilimkar@ti.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+#ifndef OMAP_ARCH_OMAP4_SAR_LAYOUT_H
+#define OMAP_ARCH_OMAP4_SAR_LAYOUT_H
+
+/*
+ * SAR BANK offsets from base address OMAP44XX_SAR_RAM_BASE
+ */
+#define SAR_BANK1_OFFSET		0x0000
+#define SAR_BANK2_OFFSET		0x1000
+#define SAR_BANK3_OFFSET		0x2000
+#define SAR_BANK4_OFFSET		0x3000
+
+#endif
diff --git a/arch/arm/plat-omap/include/plat/omap44xx.h b/arch/arm/plat-omap/include/plat/omap44xx.h
index ea2b8a6..c0d478e 100644
--- a/arch/arm/plat-omap/include/plat/omap44xx.h
+++ b/arch/arm/plat-omap/include/plat/omap44xx.h
@@ -45,6 +45,7 @@
 #define OMAP44XX_WKUPGEN_BASE		0x48281000
 #define OMAP44XX_MCPDM_BASE		0x40132000
 #define OMAP44XX_MCPDM_L3_BASE		0x49032000
+#define OMAP44XX_SAR_RAM_BASE		0x4a326000
 
 #define OMAP44XX_MAILBOX_BASE		(L4_44XX_BASE + 0xF4000)
 #define OMAP44XX_HSUSB_OTG_BASE		(L4_44XX_BASE + 0xAB000)
-- 
1.6.0.4

  parent reply	other threads:[~2011-03-10 14:08 UTC|newest]

Thread overview: 84+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-03-10 14:07 [PATCH v2 00/19] OMAP4: PM: Suspend, CPU-hotplug and CPUilde support Santosh Shilimkar
2011-03-10 14:07 ` Santosh Shilimkar
2011-03-10 14:07 ` [PATCH v2 01/19] OMAP4: PM: Add omap WakeupGen module support Santosh Shilimkar
2011-03-10 14:07   ` Santosh Shilimkar
2011-03-10 14:07 ` [PATCH v2 02/19] OMAP4: Use WARN_ON() instead of BUG_ON() with graceful exit Santosh Shilimkar
2011-03-10 14:07   ` Santosh Shilimkar
2011-03-10 14:07 ` [PATCH v2 03/19] OMAP4: PM: Export omap4_get_base*() rather than global address pointers Santosh Shilimkar
2011-03-10 14:07   ` Santosh Shilimkar
2011-03-10 14:08 ` Santosh Shilimkar [this message]
2011-03-10 14:08   ` [PATCH v2 04/19] OMAP4: PM: Add SAR RAM support Santosh Shilimkar
2011-03-10 14:08 ` [PATCH v2 05/19] OMAP4: PM: Add CPUX OFF mode support Santosh Shilimkar
2011-03-10 14:08   ` Santosh Shilimkar
2011-03-10 14:08 ` [PATCH v2 06/19] OMAP4: PM: Initialise all the clockdomains to supported states Santosh Shilimkar
2011-03-10 14:08   ` Santosh Shilimkar
2011-03-10 14:08 ` [PATCH v2 07/19] OMAP4: PM: Program CPU1 to hit OFF when off-lined Santosh Shilimkar
2011-03-10 14:08   ` Santosh Shilimkar
2011-03-10 14:08 ` [PATCH v2 08/19] OMAP4: PM: CPU1 wakeup workaround from Low power modes Santosh Shilimkar
2011-03-10 14:08   ` Santosh Shilimkar
2011-03-10 14:08 ` [PATCH v2 09/19] OMAP4: PM: Add GIC distributor and interface enable/disable accessory API Santosh Shilimkar
2011-03-10 14:08   ` Santosh Shilimkar
2011-03-10 14:08 ` [PATCH v2 10/19] OMAP4: PM: Add GIC save/restore support Santosh Shilimkar
2011-03-10 14:08   ` Santosh Shilimkar
2011-03-10 14:08 ` [PATCH v2 11/19] OMAP4: PM: Add WakeupGen " Santosh Shilimkar
2011-03-10 14:08   ` Santosh Shilimkar
2011-03-10 14:08 ` [PATCH v2 12/19] OMAP4: PM: Add L2 cache lowpower support Santosh Shilimkar
2011-03-10 14:08   ` Santosh Shilimkar
2011-03-10 14:08 ` [PATCH v2 13/19] OMAP4: suspend: Add MPUSS RET and OFF support Santosh Shilimkar
2011-03-10 14:08   ` Santosh Shilimkar
2011-03-10 14:08 ` [PATCH v2 14/19] OMAP4: pm-debug: Add wakeup timer and debug counters Santosh Shilimkar
2011-03-10 14:08   ` Santosh Shilimkar
2011-03-10 14:08 ` [PATCH v2 15/19] OMAP4: cpuidle: Basic CPUidle support Santosh Shilimkar
2011-03-10 14:08   ` Santosh Shilimkar
2011-03-10 14:08 ` [PATCH v2 16/19] OMAP4: cpuidle: Add MPUSS RET OFF states Santosh Shilimkar
2011-03-10 14:08   ` Santosh Shilimkar
2011-03-10 14:08 ` [PATCH v2 17/19] OMAP4: cpuidle: Switch to gptimer from twd in deeper C-states Santosh Shilimkar
2011-03-10 14:08   ` Santosh Shilimkar
2011-03-10 14:08 ` [PATCH v2 18/19] OMAP4: cpuidle: Add CPU hotplug notifier and prepare() hook Santosh Shilimkar
2011-03-10 14:08   ` Santosh Shilimkar
2011-03-10 14:08 ` [PATCH v2 19/19] OMAP4: Remove un-used do_wfi() macro Santosh Shilimkar
2011-03-10 14:08   ` Santosh Shilimkar
2011-03-10 19:11 ` [PATCH v2 00/19] OMAP4: PM: Suspend, CPU-hotplug and CPUilde support Kevin Hilman
2011-03-10 19:11   ` Kevin Hilman
2011-03-11  1:42 ` Kevin Hilman
2011-03-11  1:42   ` Kevin Hilman
2011-03-11  5:52   ` Santosh Shilimkar
2011-03-11  5:52     ` Santosh Shilimkar
2011-03-11 15:52     ` Kevin Hilman
2011-03-11 15:52       ` Kevin Hilman
2011-03-11 17:26       ` [PATCH v2 00/19] OMAP4: PM: Suspend,CPU-hotplug " Santosh Shilimkar
2011-03-11 17:26         ` [PATCH v2 00/19] OMAP4: PM: Suspend, CPU-hotplug " Santosh Shilimkar
2011-03-11 17:50         ` [PATCH v2 00/19] OMAP4: PM: Suspend,CPU-hotplug " Kevin Hilman
2011-03-11 17:50           ` [PATCH v2 00/19] OMAP4: PM: Suspend, CPU-hotplug " Kevin Hilman
2011-03-11 17:58           ` [PATCH v2 00/19] OMAP4: PM: Suspend,CPU-hotplug " Santosh Shilimkar
2011-03-11 17:58             ` [PATCH v2 00/19] OMAP4: PM: Suspend, CPU-hotplug " Santosh Shilimkar
2011-03-11 18:03             ` [PATCH v2 00/19] OMAP4: PM: Suspend,CPU-hotplug " Kevin Hilman
2011-03-11 18:03               ` [PATCH v2 00/19] OMAP4: PM: Suspend, CPU-hotplug " Kevin Hilman
2011-03-11 18:13               ` [PATCH v2 00/19] OMAP4: PM: Suspend,CPU-hotplug " Santosh Shilimkar
2011-03-11 18:13                 ` [PATCH v2 00/19] OMAP4: PM: Suspend, CPU-hotplug " Santosh Shilimkar
2011-03-11 19:53               ` [PATCH v2 00/19] OMAP4: PM: Suspend,CPU-hotplug " Santosh Shilimkar
2011-03-11 19:53                 ` [PATCH v2 00/19] OMAP4: PM: Suspend, CPU-hotplug " Santosh Shilimkar
2011-03-11 12:31   ` Santosh Shilimkar
2011-03-11 12:31     ` Santosh Shilimkar
2011-03-11 15:56     ` Kevin Hilman
2011-03-11 15:56       ` Kevin Hilman
2011-03-11 17:06       ` Santosh Shilimkar
2011-03-11 17:06         ` Santosh Shilimkar
2011-03-24 15:09       ` Kevin Hilman
2011-03-24 15:09         ` Kevin Hilman
2011-03-25  7:05         ` Santosh Shilimkar
2011-03-25  7:05           ` Santosh Shilimkar
2011-03-25 15:24           ` Kevin Hilman
2011-03-25 15:24             ` Kevin Hilman
2011-03-25 15:30             ` Santosh Shilimkar
2011-03-25 15:30               ` Santosh Shilimkar
2011-03-28 10:47             ` Santosh Shilimkar
2011-03-28 10:47               ` Santosh Shilimkar
2011-03-28 11:02             ` Santosh Shilimkar
2011-03-28 11:02               ` Santosh Shilimkar
2011-03-28 15:56               ` Kevin Hilman
2011-03-28 15:56                 ` Kevin Hilman
2011-03-28 16:02                 ` Santosh Shilimkar
2011-03-28 16:02                   ` Santosh Shilimkar
2011-03-28 16:10                 ` Kevin Hilman
2011-03-28 16:10                   ` Kevin Hilman

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=1299766095-23879-5-git-send-email-santosh.shilimkar@ti.com \
    --to=santosh.shilimkar@ti.com \
    --cc=khilman@ti.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=rnayak@ti.com \
    /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.