From: Kishon Vijay Abraham I <kishon@ti.com>
To: Paul Walmsley <paul@pwsan.com>, Tony Lindgren <tony@atomide.com>,
bhelgaas@google.com, richardcochran@gmail.com, s-anna@ti.com
Cc: Russell King <linux@arm.linux.org.uk>,
linux-omap@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, bcousson@baylibre.com,
kishon@ti.com, nsekhar@ti.com
Subject: [PATCH 1/3] ARM: omap2+: omap_hwmod: introduce hwmod flag for custom reset handling
Date: Mon, 8 Feb 2016 16:42:19 +0530 [thread overview]
Message-ID: <1454929941-23949-2-git-send-email-kishon@ti.com> (raw)
In-Reply-To: <1454929941-23949-1-git-send-email-kishon@ti.com>
From: Paul Walmsley <paul@pwsan.com>
Many of the IP blocks with PRM hardreset lines are processor IP blocks
and need special reset handling to ensure that WFI/HLT-like
instructions are executed after reset. Introduce a new hwmod flag
_HWMOD_CUSTOM_HARDRESET_ to indicate if the IP block requires
special reset handling.
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
---
arch/arm/mach-omap2/omap_hwmod.h | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/arch/arm/mach-omap2/omap_hwmod.h b/arch/arm/mach-omap2/omap_hwmod.h
index 76bce11..4198829 100644
--- a/arch/arm/mach-omap2/omap_hwmod.h
+++ b/arch/arm/mach-omap2/omap_hwmod.h
@@ -525,6 +525,17 @@ struct omap_hwmod_omap4_prcm {
* or idled.
* HWMOD_OPT_CLKS_NEEDED: The optional clocks are needed for the module to
* operate and they need to be handled at the same time as the main_clk.
+ * HWMOD_CUSTOM_HARDRESET: By default, if a hwmod has PRCM hardreset
+ * lines associated with it (i.e., a populated .rst_lines field in
+ * the hwmod), the hwmod code will assert the hardreset lines when
+ * the IP block is initially reset, deassert the hardreset lines
+ * in _enable(), and reassert them in _shutdown(). If this flag
+ * is set, the hwmod code will not deassert the hardreset lines in
+ * _enable(), leaving this responsibility to the driver code. This flag may
+ * be needed for processor IP blocks that must be put into a WFI/HLT
+ * state after reset is deasserted, lest the processor leave its MSTANDBY
+ * signal deasserted, thus blocking the chip from entering a system-wide
+ * low power state.
*/
#define HWMOD_SWSUP_SIDLE (1 << 0)
#define HWMOD_SWSUP_MSTANDBY (1 << 1)
@@ -541,6 +552,7 @@ struct omap_hwmod_omap4_prcm {
#define HWMOD_SWSUP_SIDLE_ACT (1 << 12)
#define HWMOD_RECONFIG_IO_CHAIN (1 << 13)
#define HWMOD_OPT_CLKS_NEEDED (1 << 14)
+#define HWMOD_CUSTOM_HARDRESET (1 << 15)
/*
* omap_hwmod._int_flags definitions
--
1.7.9.5
WARNING: multiple messages have this Message-ID (diff)
From: kishon@ti.com (Kishon Vijay Abraham I)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 1/3] ARM: omap2+: omap_hwmod: introduce hwmod flag for custom reset handling
Date: Mon, 8 Feb 2016 16:42:19 +0530 [thread overview]
Message-ID: <1454929941-23949-2-git-send-email-kishon@ti.com> (raw)
In-Reply-To: <1454929941-23949-1-git-send-email-kishon@ti.com>
From: Paul Walmsley <paul@pwsan.com>
Many of the IP blocks with PRM hardreset lines are processor IP blocks
and need special reset handling to ensure that WFI/HLT-like
instructions are executed after reset. Introduce a new hwmod flag
_HWMOD_CUSTOM_HARDRESET_ to indicate if the IP block requires
special reset handling.
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
---
arch/arm/mach-omap2/omap_hwmod.h | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/arch/arm/mach-omap2/omap_hwmod.h b/arch/arm/mach-omap2/omap_hwmod.h
index 76bce11..4198829 100644
--- a/arch/arm/mach-omap2/omap_hwmod.h
+++ b/arch/arm/mach-omap2/omap_hwmod.h
@@ -525,6 +525,17 @@ struct omap_hwmod_omap4_prcm {
* or idled.
* HWMOD_OPT_CLKS_NEEDED: The optional clocks are needed for the module to
* operate and they need to be handled at the same time as the main_clk.
+ * HWMOD_CUSTOM_HARDRESET: By default, if a hwmod has PRCM hardreset
+ * lines associated with it (i.e., a populated .rst_lines field in
+ * the hwmod), the hwmod code will assert the hardreset lines when
+ * the IP block is initially reset, deassert the hardreset lines
+ * in _enable(), and reassert them in _shutdown(). If this flag
+ * is set, the hwmod code will not deassert the hardreset lines in
+ * _enable(), leaving this responsibility to the driver code. This flag may
+ * be needed for processor IP blocks that must be put into a WFI/HLT
+ * state after reset is deasserted, lest the processor leave its MSTANDBY
+ * signal deasserted, thus blocking the chip from entering a system-wide
+ * low power state.
*/
#define HWMOD_SWSUP_SIDLE (1 << 0)
#define HWMOD_SWSUP_MSTANDBY (1 << 1)
@@ -541,6 +552,7 @@ struct omap_hwmod_omap4_prcm {
#define HWMOD_SWSUP_SIDLE_ACT (1 << 12)
#define HWMOD_RECONFIG_IO_CHAIN (1 << 13)
#define HWMOD_OPT_CLKS_NEEDED (1 << 14)
+#define HWMOD_CUSTOM_HARDRESET (1 << 15)
/*
* omap_hwmod._int_flags definitions
--
1.7.9.5
WARNING: multiple messages have this Message-ID (diff)
From: Kishon Vijay Abraham I <kishon@ti.com>
To: Paul Walmsley <paul@pwsan.com>, Tony Lindgren <tony@atomide.com>,
<bhelgaas@google.com>, <richardcochran@gmail.com>,
<s-anna@ti.com>
Cc: Russell King <linux@arm.linux.org.uk>,
<linux-omap@vger.kernel.org>,
<linux-arm-kernel@lists.infradead.org>,
<linux-kernel@vger.kernel.org>, <bcousson@baylibre.com>,
<kishon@ti.com>, <nsekhar@ti.com>
Subject: [PATCH 1/3] ARM: omap2+: omap_hwmod: introduce hwmod flag for custom reset handling
Date: Mon, 8 Feb 2016 16:42:19 +0530 [thread overview]
Message-ID: <1454929941-23949-2-git-send-email-kishon@ti.com> (raw)
In-Reply-To: <1454929941-23949-1-git-send-email-kishon@ti.com>
From: Paul Walmsley <paul@pwsan.com>
Many of the IP blocks with PRM hardreset lines are processor IP blocks
and need special reset handling to ensure that WFI/HLT-like
instructions are executed after reset. Introduce a new hwmod flag
_HWMOD_CUSTOM_HARDRESET_ to indicate if the IP block requires
special reset handling.
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
---
arch/arm/mach-omap2/omap_hwmod.h | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/arch/arm/mach-omap2/omap_hwmod.h b/arch/arm/mach-omap2/omap_hwmod.h
index 76bce11..4198829 100644
--- a/arch/arm/mach-omap2/omap_hwmod.h
+++ b/arch/arm/mach-omap2/omap_hwmod.h
@@ -525,6 +525,17 @@ struct omap_hwmod_omap4_prcm {
* or idled.
* HWMOD_OPT_CLKS_NEEDED: The optional clocks are needed for the module to
* operate and they need to be handled at the same time as the main_clk.
+ * HWMOD_CUSTOM_HARDRESET: By default, if a hwmod has PRCM hardreset
+ * lines associated with it (i.e., a populated .rst_lines field in
+ * the hwmod), the hwmod code will assert the hardreset lines when
+ * the IP block is initially reset, deassert the hardreset lines
+ * in _enable(), and reassert them in _shutdown(). If this flag
+ * is set, the hwmod code will not deassert the hardreset lines in
+ * _enable(), leaving this responsibility to the driver code. This flag may
+ * be needed for processor IP blocks that must be put into a WFI/HLT
+ * state after reset is deasserted, lest the processor leave its MSTANDBY
+ * signal deasserted, thus blocking the chip from entering a system-wide
+ * low power state.
*/
#define HWMOD_SWSUP_SIDLE (1 << 0)
#define HWMOD_SWSUP_MSTANDBY (1 << 1)
@@ -541,6 +552,7 @@ struct omap_hwmod_omap4_prcm {
#define HWMOD_SWSUP_SIDLE_ACT (1 << 12)
#define HWMOD_RECONFIG_IO_CHAIN (1 << 13)
#define HWMOD_OPT_CLKS_NEEDED (1 << 14)
+#define HWMOD_CUSTOM_HARDRESET (1 << 15)
/*
* omap_hwmod._int_flags definitions
--
1.7.9.5
next prev parent reply other threads:[~2016-02-08 11:12 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-02-08 11:12 [PATCH 0/3] omap: hwmod: add default reset handling support Kishon Vijay Abraham I
2016-02-08 11:12 ` Kishon Vijay Abraham I
2016-02-08 11:12 ` Kishon Vijay Abraham I
2016-02-08 11:12 ` Kishon Vijay Abraham I [this message]
2016-02-08 11:12 ` [PATCH 1/3] ARM: omap2+: omap_hwmod: introduce hwmod flag for custom reset handling Kishon Vijay Abraham I
2016-02-08 11:12 ` Kishon Vijay Abraham I
2016-02-08 11:12 ` [RFT PATCH 2/3] ARM: OMAP2+: hwmod: use HWMOD_CUSTOM_HARDRESET " Kishon Vijay Abraham I
2016-02-08 11:12 ` Kishon Vijay Abraham I
2016-02-08 11:12 ` Kishon Vijay Abraham I
2016-02-08 11:12 ` [PATCH 3/3] ARM: OMAP2+: hwmod: Add default " Kishon Vijay Abraham I
2016-02-08 11:12 ` Kishon Vijay Abraham I
2016-02-08 11:12 ` Kishon Vijay Abraham I
2016-02-08 20:44 ` [PATCH 0/3] omap: hwmod: add default reset handling support Tony Lindgren
2016-02-08 20:44 ` Tony Lindgren
2016-02-09 5:13 ` Kishon Vijay Abraham I
2016-02-09 5:13 ` Kishon Vijay Abraham I
2016-02-09 5:13 ` Kishon Vijay Abraham I
2016-02-09 15:58 ` Tony Lindgren
2016-02-09 15:58 ` Tony Lindgren
2016-02-08 21:07 ` Suman Anna
2016-02-08 21:07 ` Suman Anna
2016-02-08 21:07 ` Suman Anna
2016-02-09 5:17 ` Kishon Vijay Abraham I
2016-02-09 5:17 ` Kishon Vijay Abraham I
2016-02-09 5:17 ` Kishon Vijay Abraham I
2016-02-09 17:44 ` Suman Anna
2016-02-09 17:44 ` Suman Anna
2016-02-09 17:44 ` Suman Anna
2016-02-09 20:19 ` Dave Gerlach
2016-02-09 20:19 ` Dave Gerlach
2016-02-09 20:19 ` Dave Gerlach
2016-02-09 21:34 ` Paul Walmsley
2016-02-09 21:34 ` Paul Walmsley
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=1454929941-23949-2-git-send-email-kishon@ti.com \
--to=kishon@ti.com \
--cc=bcousson@baylibre.com \
--cc=bhelgaas@google.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-omap@vger.kernel.org \
--cc=linux@arm.linux.org.uk \
--cc=nsekhar@ti.com \
--cc=paul@pwsan.com \
--cc=richardcochran@gmail.com \
--cc=s-anna@ti.com \
--cc=tony@atomide.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.