From: santosh.shilimkar@ti.com (Santosh Shilimkar)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 4/5] ARM: scu: Move register defines to header file
Date: Tue, 25 Jan 2011 23:53:35 +0530 [thread overview]
Message-ID: <627ff975140c8e4afbad281105b29d35@mail.gmail.com> (raw)
In-Reply-To: <20110125130611.GA15663@n2100.arm.linux.org.uk>
> -----Original Message-----
> From: Russell King - ARM Linux [mailto:linux at arm.linux.org.uk]
> Sent: Tuesday, January 25, 2011 6:36 PM
> To: Santosh Shilimkar
> Cc: catalin.marinas at arm.com; linus.ml.walleij at gmail.com; linux-
> omap at vger.kernel.org; linux-arm-kernel at lists.infradead.org;
> ccross at android.com
> Subject: Re: [PATCH 4/5] ARM: scu: Move register defines to header
> file
>
> On Tue, Jan 25, 2011 at 01:04:22PM +0000, Russell King - ARM Linux
> wrote:
> > Actually, we can do this safely - byte stores are permitted to SCU
> > registers probably for this very reason.
>
> 3rd revision of the patch:
After fixing the 3rd version for base address break, I was able to
use this patch and test it. Seems to work. SMC related stuff can
be ignored because OMAP4 ES1.0 doesn't have functional PM hardware
support.
Here is the updated patch which will be 4th revision...
4th revision
---
arch/arm/include/asm/smp_scu.h | 5 +++++
arch/arm/kernel/smp_scu.c | 23 +++++++++++++++++++++--
2 files changed, 26 insertions(+), 2 deletions(-)
diff --git a/arch/arm/include/asm/smp_scu.h
b/arch/arm/include/asm/smp_scu.h
index b6f42c9..676bc43 100644
--- a/arch/arm/include/asm/smp_scu.h
+++ b/arch/arm/include/asm/smp_scu.h
@@ -7,7 +7,12 @@
#define SCU_INVALIDATE 0x0c
#define SCU_FPGA_REVISION 0x10
+#define SCU_PM_NORMAL 0
+#define SCU_PM_DORMANT 2
+#define SCU_PM_POWEROFF 3
+
unsigned int scu_get_core_count(void __iomem *);
void scu_enable(void __iomem *);
+int scu_power_mode(unsigned int);
#endif
diff --git a/arch/arm/kernel/smp_scu.c b/arch/arm/kernel/smp_scu.c
index ee7bf47..aec7c5d 100644
--- a/arch/arm/kernel/smp_scu.c
+++ b/arch/arm/kernel/smp_scu.c
@@ -14,6 +14,8 @@
#include <asm/smp_scu.h>
#include <asm/cacheflush.h>
+static void __iomem *base;
+
/*
* Get the number of CPU cores from the SCU configuration
*/
@@ -29,14 +31,15 @@ unsigned int __init scu_get_core_count(void __iomem
*scu_base)
void __init scu_enable(void __iomem *scu_base)
{
u32 scu_ctrl;
+ base = scu_base;
- scu_ctrl = __raw_readl(scu_base + SCU_CTRL);
+ scu_ctrl = __raw_readl(base + SCU_CTRL);
/* already enabled? */
if (scu_ctrl & 1)
return;
scu_ctrl |= 1;
- __raw_writel(scu_ctrl, scu_base + SCU_CTRL);
+ __raw_writel(scu_ctrl, base + SCU_CTRL);
/*
* Ensure that the data accessed by CPU0 before the SCU was
@@ -44,3 +47,19 @@ void __init scu_enable(void __iomem *scu_base)
*/
flush_cache_all();
}
+
+int scu_power_mode(unsigned int mode)
+{
+ unsigned int val;
+ int cpu = smp_processor_id();
+ int shift;
+
+ if (mode > 3 || mode == 1 || cpu > 3)
+ return -EINVAL;
+
+ val = __raw_readb(base + SCU_CPU_STATUS + cpu) & ~0x03;
+ val |= mode;
+ __raw_writeb(val, base + SCU_CPU_STATUS + cpu);
+
+ return 0;
+}
--
1.6.0.4
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-4th-revision.patch
Type: application/octet-stream
Size: 1898 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20110125/21404ae7/attachment.obj>
next prev parent reply other threads:[~2011-01-25 18:23 UTC|newest]
Thread overview: 66+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-01-24 8:51 [PATCH 0/5] ARM: Few patches for PM enablement Santosh Shilimkar
2011-01-24 8:51 ` [PATCH 1/5] ARM: gic: Add hooks for architecture specific extensions Santosh Shilimkar
2011-01-25 3:03 ` Colin Cross
2011-01-25 20:54 ` Colin Cross
2011-01-26 7:22 ` Santosh Shilimkar
2011-01-26 7:23 ` Colin Cross
2011-01-26 7:31 ` Santosh Shilimkar
2011-01-26 7:52 ` Colin Cross
2011-01-26 7:55 ` Santosh Shilimkar
2011-01-24 8:51 ` [PATCH 2/5] ARM: gic: Add distributor and interface enable/disable accessory api Santosh Shilimkar
2011-03-01 5:58 ` Santosh Shilimkar
2011-01-24 8:51 ` [PATCH 3/5] ARM: twd: Add context save restore support Santosh Shilimkar
2011-01-24 11:06 ` Russell King - ARM Linux
2011-01-24 11:11 ` Russell King - ARM Linux
2011-01-24 11:16 ` Santosh Shilimkar
2011-01-25 7:39 ` Colin Cross
2011-01-25 10:32 ` Russell King - ARM Linux
2011-01-25 13:23 ` Thomas Gleixner
2011-01-25 13:37 ` Russell King - ARM Linux
2011-01-25 13:55 ` Santosh Shilimkar
2011-01-25 14:12 ` Thomas Gleixner
2011-01-25 14:15 ` Russell King - ARM Linux
2011-01-25 14:24 ` Thomas Gleixner
2011-01-25 16:04 ` Santosh Shilimkar
2011-01-25 16:13 ` Russell King - ARM Linux
2011-01-25 16:14 ` Santosh Shilimkar
2011-01-25 11:29 ` Russell King - ARM Linux
2011-01-25 11:40 ` Santosh Shilimkar
2011-01-25 11:48 ` Russell King - ARM Linux
2011-01-25 12:08 ` Santosh Shilimkar
2011-01-25 12:17 ` Russell King - ARM Linux
2011-01-25 12:20 ` Santosh Shilimkar
2011-01-25 18:44 ` Colin Cross
2011-01-24 11:14 ` Santosh Shilimkar
2011-01-24 8:51 ` [PATCH 4/5] ARM: scu: Move register defines to header file Santosh Shilimkar
2011-01-25 11:46 ` Russell King - ARM Linux
2011-01-25 12:02 ` Santosh Shilimkar
2011-01-25 12:16 ` Russell King - ARM Linux
2011-01-25 12:29 ` Russell King - ARM Linux
2011-01-25 12:39 ` Santosh Shilimkar
2011-01-25 12:36 ` Santosh Shilimkar
2011-01-25 12:56 ` Russell King - ARM Linux
2011-01-25 13:04 ` Russell King - ARM Linux
2011-01-25 13:06 ` Russell King - ARM Linux
2011-01-25 18:23 ` Santosh Shilimkar [this message]
2011-02-04 10:41 ` Russell King - ARM Linux
2011-02-04 10:46 ` Santosh Shilimkar
2011-02-04 11:30 ` Russell King - ARM Linux
2011-02-04 11:34 ` Santosh Shilimkar
2011-02-07 9:51 ` Santosh Shilimkar
2011-02-07 10:18 ` Russell King - ARM Linux
2011-02-07 10:21 ` Santosh Shilimkar
2011-02-07 10:23 ` Russell King - ARM Linux
2011-02-07 10:30 ` Santosh Shilimkar
2011-02-10 14:49 ` Santosh Shilimkar
2011-02-10 16:13 ` Russell King - ARM Linux
2011-02-10 16:26 ` Santosh Shilimkar
2011-01-25 13:05 ` Santosh Shilimkar
2011-01-25 13:41 ` Russell King - ARM Linux
2011-01-25 13:47 ` Santosh Shilimkar
2011-01-24 8:51 ` [PATCH 5/5] ARM: smp: Skip secondary cpu calibration to speed-up boot Santosh Shilimkar
2011-01-24 10:30 ` Russell King - ARM Linux
2011-01-24 8:51 ` Santosh Shilimkar
2011-01-24 8:55 ` Santosh Shilimkar
2011-02-04 10:19 ` [PATCH 0/5] ARM: Few patches for PM enablement Santosh Shilimkar
2011-02-11 14:24 ` Santosh Shilimkar
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=627ff975140c8e4afbad281105b29d35@mail.gmail.com \
--to=santosh.shilimkar@ti.com \
--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).