* [PATCHv2 0/6] ARM: OMAP4 core retention support
@ 2012-02-24 15:15 Tero Kristo
2012-02-24 15:15 ` [PATCHv2 1/6] ARM: OMAP4: suspend: Program all domains to retention Tero Kristo
` (5 more replies)
0 siblings, 6 replies; 11+ messages in thread
From: Tero Kristo @ 2012-02-24 15:15 UTC (permalink / raw)
To: linux-arm-kernel
Changes compared to previous version:
- patch2: changed timeout value to 100us (from 1000us)
- patch2: added timeout after the WUCLKIN disable
- some cosmetic tweaking to other patches
Tested on omap4430 blaze board with EMU chip, suspend / resume ok.
-Tero
^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCHv2 1/6] ARM: OMAP4: suspend: Program all domains to retention
2012-02-24 15:15 [PATCHv2 0/6] ARM: OMAP4 core retention support Tero Kristo
@ 2012-02-24 15:15 ` Tero Kristo
2012-02-24 15:15 ` [PATCHv2 2/6] ARM: OMAP4 PM: Add IO Daisychain support Tero Kristo
` (4 subsequent siblings)
5 siblings, 0 replies; 11+ messages in thread
From: Tero Kristo @ 2012-02-24 15:15 UTC (permalink / raw)
To: linux-arm-kernel
From: Rajendra Nayak <rnayak@ti.com>
Remove the FIXME's in the suspend sequence since
we now intend to support system level RET support.
Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Tero Kristo <t-kristo@ti.com>
Reviewed-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
---
arch/arm/mach-omap2/pm44xx.c | 6 ------
1 files changed, 0 insertions(+), 6 deletions(-)
diff --git a/arch/arm/mach-omap2/pm44xx.c b/arch/arm/mach-omap2/pm44xx.c
index c264ef7..1ab30a3 100644
--- a/arch/arm/mach-omap2/pm44xx.c
+++ b/arch/arm/mach-omap2/pm44xx.c
@@ -151,12 +151,6 @@ static int __init pwrdms_setup(struct powerdomain *pwrdm, void *unused)
if (!strncmp(pwrdm->name, "cpu", 3))
return 0;
- /*
- * FIXME: Remove this check when core retention is supported
- * Only MPUSS power domain is added in the list.
- */
- if (strcmp(pwrdm->name, "mpu_pwrdm"))
- return 0;
pwrst = kmalloc(sizeof(struct power_state), GFP_ATOMIC);
if (!pwrst)
--
1.7.4.1
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCHv2 2/6] ARM: OMAP4 PM: Add IO Daisychain support
2012-02-24 15:15 [PATCHv2 0/6] ARM: OMAP4 core retention support Tero Kristo
2012-02-24 15:15 ` [PATCHv2 1/6] ARM: OMAP4: suspend: Program all domains to retention Tero Kristo
@ 2012-02-24 15:15 ` Tero Kristo
2012-02-28 10:33 ` Paul Walmsley
2012-02-24 15:15 ` [PATCHv2 3/6] ARM: OMAP3PLUS PM: Add IO Daisychain support via hwmod mux Tero Kristo
` (3 subsequent siblings)
5 siblings, 1 reply; 11+ messages in thread
From: Tero Kristo @ 2012-02-24 15:15 UTC (permalink / raw)
To: linux-arm-kernel
From: Rajendra Nayak <rnayak@ti.com>
IO daisychain is a mechanism that allows individual IO pads to generate
wakeup events on their own based on a switch of an input signal level.
This allows the hardware module behind the pad to be powered down, but
still have device level capability to detect IO events, and once this
happens the module can be powered back up to resume IO. See section
3.9.4 in OMAP4430 Public TRM for details.
Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Vishwanath BS <vishwanath.bs@ti.com>
Signed-off-by: Tero Kristo <t-kristo@ti.com>
---
arch/arm/mach-omap2/prm44xx.c | 32 ++++++++++++++++++++++++++++++++
arch/arm/mach-omap2/prm44xx.h | 1 +
2 files changed, 33 insertions(+), 0 deletions(-)
diff --git a/arch/arm/mach-omap2/prm44xx.c b/arch/arm/mach-omap2/prm44xx.c
index 33dd655..1557647 100644
--- a/arch/arm/mach-omap2/prm44xx.c
+++ b/arch/arm/mach-omap2/prm44xx.c
@@ -230,6 +230,47 @@ void omap44xx_prm_restore_irqen(u32 *saved_mask)
OMAP4_PRM_IRQENABLE_MPU_2_OFFSET);
}
+/**
+ * Maximum time(us) it takes to output the signal WUCLKOUT of the last pad of
+ * the I/O ring after asserting WUCLKIN high
+ */
+#define MAX_IOPAD_LATCH_TIME 100
+
+/* OMAP4 IO Daisychain trigger sequence */
+void omap4_trigger_wuclk_ctrl(void)
+{
+ int i = 0;
+
+ /* Enable GLOBAL_WUEN */
+ if (!(omap4_prm_read_inst_reg(OMAP4430_PRM_DEVICE_INST,
+ OMAP4_PRM_IO_PMCTRL_OFFSET) & OMAP4430_GLOBAL_WUEN_MASK))
+ omap4_prm_rmw_inst_reg_bits(OMAP4430_GLOBAL_WUEN_MASK,
+ OMAP4430_GLOBAL_WUEN_MASK, OMAP4430_PRM_DEVICE_INST,
+ OMAP4_PRM_IO_PMCTRL_OFFSET);
+
+ /* Trigger WUCLKIN enable */
+ omap4_prm_rmw_inst_reg_bits(OMAP4430_WUCLK_CTRL_MASK,
+ OMAP4430_WUCLK_CTRL_MASK, OMAP4430_PRM_DEVICE_INST,
+ OMAP4_PRM_IO_PMCTRL_OFFSET);
+ omap_test_timeout(
+ (((omap4_prm_read_inst_reg(OMAP4430_PRM_DEVICE_INST,
+ OMAP4_PRM_IO_PMCTRL_OFFSET) &
+ OMAP4430_WUCLK_STATUS_MASK) >>
+ OMAP4430_WUCLK_STATUS_SHIFT) == 1),
+ MAX_IOPAD_LATCH_TIME, i);
+
+ /* Trigger WUCLKIN disable */
+ omap4_prm_rmw_inst_reg_bits(OMAP4430_WUCLK_CTRL_MASK, 0x0,
+ OMAP4430_PRM_DEVICE_INST, OMAP4_PRM_IO_PMCTRL_OFFSET);
+ omap_test_timeout(
+ (((omap4_prm_read_inst_reg(OMAP4430_PRM_DEVICE_INST,
+ OMAP4_PRM_IO_PMCTRL_OFFSET) &
+ OMAP4430_WUCLK_STATUS_MASK) >>
+ OMAP4430_WUCLK_STATUS_SHIFT) == 0),
+ MAX_IOPAD_LATCH_TIME, i);
+ return;
+}
+
static int __init omap4xxx_prcm_init(void)
{
if (cpu_is_omap44xx())
diff --git a/arch/arm/mach-omap2/prm44xx.h b/arch/arm/mach-omap2/prm44xx.h
index 7978092..a840f0f 100644
--- a/arch/arm/mach-omap2/prm44xx.h
+++ b/arch/arm/mach-omap2/prm44xx.h
@@ -762,6 +762,7 @@ void omap4_prm_vp_clear_txdone(u8 vp_id);
extern u32 omap4_prm_vcvp_read(u8 offset);
extern void omap4_prm_vcvp_write(u32 val, u8 offset);
extern u32 omap4_prm_vcvp_rmw(u32 mask, u32 bits, u8 offset);
+extern void omap4_trigger_wuclk_ctrl(void);
/* PRM interrupt-related functions */
extern void omap44xx_prm_read_pending_irqs(unsigned long *events);
--
1.7.4.1
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCHv2 3/6] ARM: OMAP3PLUS PM: Add IO Daisychain support via hwmod mux
2012-02-24 15:15 [PATCHv2 0/6] ARM: OMAP4 core retention support Tero Kristo
2012-02-24 15:15 ` [PATCHv2 1/6] ARM: OMAP4: suspend: Program all domains to retention Tero Kristo
2012-02-24 15:15 ` [PATCHv2 2/6] ARM: OMAP4 PM: Add IO Daisychain support Tero Kristo
@ 2012-02-24 15:15 ` Tero Kristo
2012-02-24 15:15 ` [PATCHv2 4/6] ARM: OMAP4: prm: fix interrupt register offsets Tero Kristo
` (2 subsequent siblings)
5 siblings, 0 replies; 11+ messages in thread
From: Tero Kristo @ 2012-02-24 15:15 UTC (permalink / raw)
To: linux-arm-kernel
From: Vishwanath BS <vishwanath.bs@ti.com>
IO Daisychain feature has to be triggered whenever there is a change in
device's mux configuration (See section 3.9.4 in OMAP4 Public TRM vP).
Now devices can idle independent of the powerdomain, there can be a
window where device is idled and corresponding powerdomain can be
ON/INACTIVE state. In such situations, since both module wake up is
enabled at padlevel as well as io daisychain sequence is triggered,
there will be 2 PRCM interrupts (Module async wake up via swakeup and
IO Pad interrupt). But as PRCM Interrupt handler clears the Module
Padlevel WKST bit in the first interrupt, module specific interrupt
handler will not triggered for the second time
Also look at detailed explanation given by Rajendra at
http://www.spinics.net/lists/linux-serial/msg04480.html
Signed-off-by: Vishwanath BS <vishwanath.bs@ti.com>
Signed-off-by: Tero Kristo <t-kristo@ti.com>
---
arch/arm/mach-omap2/omap_hwmod.c | 9 +++++++--
arch/arm/mach-omap2/pm.c | 7 +++++++
arch/arm/mach-omap2/pm.h | 1 +
3 files changed, 15 insertions(+), 2 deletions(-)
diff --git a/arch/arm/mach-omap2/omap_hwmod.c b/arch/arm/mach-omap2/omap_hwmod.c
index 5192cab..b052f11 100644
--- a/arch/arm/mach-omap2/omap_hwmod.c
+++ b/arch/arm/mach-omap2/omap_hwmod.c
@@ -152,6 +152,7 @@
#include "prm44xx.h"
#include "prminst44xx.h"
#include "mux.h"
+#include "pm.h"
/* Maximum microseconds to wait for OMAP module to softreset */
#define MAX_MODULE_SOFTRESET_WAIT 10000
@@ -1535,8 +1536,10 @@ static int _enable(struct omap_hwmod *oh)
/* Mux pins for device runtime if populated */
if (oh->mux && (!oh->mux->enabled ||
((oh->_state == _HWMOD_STATE_IDLE) &&
- oh->mux->pads_dynamic)))
+ oh->mux->pads_dynamic))) {
omap_hwmod_mux(oh->mux, _HWMOD_STATE_ENABLED);
+ omap_trigger_wuclk_ctrl();
+ }
_add_initiator_dep(oh, mpu_oh);
@@ -1622,8 +1625,10 @@ static int _idle(struct omap_hwmod *oh)
clkdm_hwmod_disable(oh->clkdm, oh);
/* Mux pins for device idle if populated */
- if (oh->mux && oh->mux->pads_dynamic)
+ if (oh->mux && oh->mux->pads_dynamic) {
omap_hwmod_mux(oh->mux, _HWMOD_STATE_IDLE);
+ omap_trigger_wuclk_ctrl();
+ }
oh->_state = _HWMOD_STATE_IDLE;
diff --git a/arch/arm/mach-omap2/pm.c b/arch/arm/mach-omap2/pm.c
index 1881fe9..e8b54eb 100644
--- a/arch/arm/mach-omap2/pm.c
+++ b/arch/arm/mach-omap2/pm.c
@@ -25,6 +25,7 @@
#include "clockdomain.h"
#include "pm.h"
#include "twl-common.h"
+#include "prm44xx.h"
static struct omap_device_pm_latency *pm_lats;
@@ -64,6 +65,12 @@ static void omap2_init_processor_devices(void)
}
}
+void omap_trigger_wuclk_ctrl(void)
+{
+ if (cpu_is_omap44xx())
+ omap4_trigger_wuclk_ctrl();
+}
+
/* Types of sleep_switch used in omap_set_pwrdm_state */
#define FORCEWAKEUP_SWITCH 0
#define LOWPOWERSTATE_SWITCH 1
diff --git a/arch/arm/mach-omap2/pm.h b/arch/arm/mach-omap2/pm.h
index b737b11..de0a453 100644
--- a/arch/arm/mach-omap2/pm.h
+++ b/arch/arm/mach-omap2/pm.h
@@ -22,6 +22,7 @@ extern int omap3_can_sleep(void);
extern int omap_set_pwrdm_state(struct powerdomain *pwrdm, u32 state);
extern int omap3_idle_init(void);
extern int omap4_idle_init(void);
+extern void omap_trigger_wuclk_ctrl(void);
#if defined(CONFIG_PM_OPP)
extern int omap3_opp_init(void);
--
1.7.4.1
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCHv2 4/6] ARM: OMAP4: prm: fix interrupt register offsets
2012-02-24 15:15 [PATCHv2 0/6] ARM: OMAP4 core retention support Tero Kristo
` (2 preceding siblings ...)
2012-02-24 15:15 ` [PATCHv2 3/6] ARM: OMAP3PLUS PM: Add IO Daisychain support via hwmod mux Tero Kristo
@ 2012-02-24 15:15 ` Tero Kristo
2012-02-24 15:15 ` [PATCHv2 5/6] ARM: OMAP4: hwmod_data: Do not get DSP out of reset at boot time Tero Kristo
2012-02-24 15:15 ` [PATCHv2 6/6] ARM: OMAP3+: add prcm chain interrupts to the interrupt list Tero Kristo
5 siblings, 0 replies; 11+ messages in thread
From: Tero Kristo @ 2012-02-24 15:15 UTC (permalink / raw)
To: linux-arm-kernel
Previous code used wrong instance for the interrupt register access.
Use the right one which is OCP_SOCKET.
Signed-off-by: Tero Kristo <t-kristo@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
---
arch/arm/mach-omap2/prm44xx.c | 21 +++++++++++----------
1 files changed, 11 insertions(+), 10 deletions(-)
diff --git a/arch/arm/mach-omap2/prm44xx.c b/arch/arm/mach-omap2/prm44xx.c
index 1557647..a6efbdf 100644
--- a/arch/arm/mach-omap2/prm44xx.c
+++ b/arch/arm/mach-omap2/prm44xx.c
@@ -145,8 +145,9 @@ static inline u32 _read_pending_irq_reg(u16 irqen_offs, u16 irqst_offs)
u32 mask, st;
/* XXX read mask from RAM? */
- mask = omap4_prm_read_inst_reg(OMAP4430_PRM_DEVICE_INST, irqen_offs);
- st = omap4_prm_read_inst_reg(OMAP4430_PRM_DEVICE_INST, irqst_offs);
+ mask = omap4_prm_read_inst_reg(OMAP4430_PRM_OCP_SOCKET_INST,
+ irqen_offs);
+ st = omap4_prm_read_inst_reg(OMAP4430_PRM_OCP_SOCKET_INST, irqst_offs);
return mask & st;
}
@@ -178,7 +179,7 @@ void omap44xx_prm_read_pending_irqs(unsigned long *events)
*/
void omap44xx_prm_ocp_barrier(void)
{
- omap4_prm_read_inst_reg(OMAP4430_PRM_DEVICE_INST,
+ omap4_prm_read_inst_reg(OMAP4430_PRM_OCP_SOCKET_INST,
OMAP4_REVISION_PRM_OFFSET);
}
@@ -196,19 +197,19 @@ void omap44xx_prm_ocp_barrier(void)
void omap44xx_prm_save_and_clear_irqen(u32 *saved_mask)
{
saved_mask[0] =
- omap4_prm_read_inst_reg(OMAP4430_PRM_DEVICE_INST,
+ omap4_prm_read_inst_reg(OMAP4430_PRM_OCP_SOCKET_INST,
OMAP4_PRM_IRQSTATUS_MPU_OFFSET);
saved_mask[1] =
- omap4_prm_read_inst_reg(OMAP4430_PRM_DEVICE_INST,
+ omap4_prm_read_inst_reg(OMAP4430_PRM_OCP_SOCKET_INST,
OMAP4_PRM_IRQSTATUS_MPU_2_OFFSET);
- omap4_prm_write_inst_reg(0, OMAP4430_PRM_DEVICE_INST,
+ omap4_prm_write_inst_reg(0, OMAP4430_PRM_OCP_SOCKET_INST,
OMAP4_PRM_IRQENABLE_MPU_OFFSET);
- omap4_prm_write_inst_reg(0, OMAP4430_PRM_DEVICE_INST,
+ omap4_prm_write_inst_reg(0, OMAP4430_PRM_OCP_SOCKET_INST,
OMAP4_PRM_IRQENABLE_MPU_2_OFFSET);
/* OCP barrier */
- omap4_prm_read_inst_reg(OMAP4430_PRM_DEVICE_INST,
+ omap4_prm_read_inst_reg(OMAP4430_PRM_OCP_SOCKET_INST,
OMAP4_REVISION_PRM_OFFSET);
}
@@ -224,9 +225,9 @@ void omap44xx_prm_save_and_clear_irqen(u32 *saved_mask)
*/
void omap44xx_prm_restore_irqen(u32 *saved_mask)
{
- omap4_prm_write_inst_reg(saved_mask[0], OMAP4430_PRM_DEVICE_INST,
+ omap4_prm_write_inst_reg(saved_mask[0], OMAP4430_PRM_OCP_SOCKET_INST,
OMAP4_PRM_IRQENABLE_MPU_OFFSET);
- omap4_prm_write_inst_reg(saved_mask[1], OMAP4430_PRM_DEVICE_INST,
+ omap4_prm_write_inst_reg(saved_mask[1], OMAP4430_PRM_OCP_SOCKET_INST,
OMAP4_PRM_IRQENABLE_MPU_2_OFFSET);
}
--
1.7.4.1
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCHv2 5/6] ARM: OMAP4: hwmod_data: Do not get DSP out of reset at boot time
2012-02-24 15:15 [PATCHv2 0/6] ARM: OMAP4 core retention support Tero Kristo
` (3 preceding siblings ...)
2012-02-24 15:15 ` [PATCHv2 4/6] ARM: OMAP4: prm: fix interrupt register offsets Tero Kristo
@ 2012-02-24 15:15 ` Tero Kristo
2012-02-28 10:31 ` Paul Walmsley
2012-02-24 15:15 ` [PATCHv2 6/6] ARM: OMAP3+: add prcm chain interrupts to the interrupt list Tero Kristo
5 siblings, 1 reply; 11+ messages in thread
From: Tero Kristo @ 2012-02-24 15:15 UTC (permalink / raw)
To: linux-arm-kernel
From: Rajendra Nayak <rnayak@ti.com>
With no driver handling DSP, if brought out of reset, it stays
active and does not assert standby. This leads to IVAHD powerdomain not
transitioning and hence preventing chip retention.
Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Tero Kristo <t-kristo@ti.com>
---
arch/arm/mach-omap2/omap_hwmod_44xx_data.c | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
index ef0524c..81d90da 100644
--- a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
+++ b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
@@ -1160,6 +1160,7 @@ static struct omap_hwmod omap44xx_dsp_hwmod = {
.name = "dsp",
.class = &omap44xx_dsp_hwmod_class,
.clkdm_name = "tesla_clkdm",
+ .flags = HWMOD_INIT_NO_RESET,
.mpu_irqs = omap44xx_dsp_irqs,
.rst_lines = omap44xx_dsp_resets,
.rst_lines_cnt = ARRAY_SIZE(omap44xx_dsp_resets),
--
1.7.4.1
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCHv2 6/6] ARM: OMAP3+: add prcm chain interrupts to the interrupt list
2012-02-24 15:15 [PATCHv2 0/6] ARM: OMAP4 core retention support Tero Kristo
` (4 preceding siblings ...)
2012-02-24 15:15 ` [PATCHv2 5/6] ARM: OMAP4: hwmod_data: Do not get DSP out of reset at boot time Tero Kristo
@ 2012-02-24 15:15 ` Tero Kristo
5 siblings, 0 replies; 11+ messages in thread
From: Tero Kristo @ 2012-02-24 15:15 UTC (permalink / raw)
To: linux-arm-kernel
Currently PRCM chain handler for OMAP4 requires SPARSE_IRQ to be enabled
from kernel config, however enabling this option breaks the OMAP kernel
completely and it can't be used. Thus, OMAP_PRCM_IRQ_BASE was added
to the end of the irq list, and the prm_common code was changed to use
this instead of irq_desc allocation scheme.
Once SPARSE_IRQ is enabled for OMAP kernel, this patch can be reverted.
Signed-off-by: Tero Kristo <t-kristo@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
---
arch/arm/mach-omap2/prm_common.c | 14 +-------------
arch/arm/plat-omap/include/plat/irqs.h | 6 +++++-
2 files changed, 6 insertions(+), 14 deletions(-)
diff --git a/arch/arm/mach-omap2/prm_common.c b/arch/arm/mach-omap2/prm_common.c
index 860118a..9ca829f 100644
--- a/arch/arm/mach-omap2/prm_common.c
+++ b/arch/arm/mach-omap2/prm_common.c
@@ -196,11 +196,6 @@ void omap_prcm_irq_cleanup(void)
prcm_irq_setup->priority_mask = NULL;
irq_set_chained_handler(prcm_irq_setup->irq, NULL);
-
- if (prcm_irq_setup->base_irq > 0)
- irq_free_descs(prcm_irq_setup->base_irq,
- prcm_irq_setup->nr_regs * 32);
- prcm_irq_setup->base_irq = 0;
}
void omap_prcm_irq_prepare(void)
@@ -282,14 +277,7 @@ int omap_prcm_register_chain_handler(struct omap_prcm_irq_setup *irq_setup)
irq_set_chained_handler(irq_setup->irq, omap_prcm_irq_handler);
- irq_setup->base_irq = irq_alloc_descs(-1, 0, irq_setup->nr_regs * 32,
- 0);
-
- if (irq_setup->base_irq < 0) {
- pr_err("PRCM: failed to allocate irq descs: %d\n",
- irq_setup->base_irq);
- goto err;
- }
+ irq_setup->base_irq = OMAP_PRCM_IRQ_BASE;
for (i = 0; i <= irq_setup->nr_regs; i++) {
gc = irq_alloc_generic_chip("PRCM", 1,
diff --git a/arch/arm/plat-omap/include/plat/irqs.h b/arch/arm/plat-omap/include/plat/irqs.h
index 2efd645..fe1be1d 100644
--- a/arch/arm/plat-omap/include/plat/irqs.h
+++ b/arch/arm/plat-omap/include/plat/irqs.h
@@ -428,8 +428,12 @@
#define OMAP_GPMC_NR_IRQS 8
#define OMAP_GPMC_IRQ_END (OMAP_GPMC_IRQ_BASE + OMAP_GPMC_NR_IRQS)
+/* PRCM chain handler */
+#define OMAP_PRCM_IRQ_BASE (OMAP_GPMC_IRQ_END)
+#define OMAP_PRCM_NR_IRQS 64
+#define OMAP_PRCM_IRQ_END (OMAP_PRCM_IRQ_BASE + OMAP_PRCM_NR_IRQS)
-#define NR_IRQS OMAP_GPMC_IRQ_END
+#define NR_IRQS OMAP_PRCM_IRQ_END
#define OMAP_IRQ_BIT(irq) (1 << ((irq) % 32))
--
1.7.4.1
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCHv2 5/6] ARM: OMAP4: hwmod_data: Do not get DSP out of reset at boot time
2012-02-24 15:15 ` [PATCHv2 5/6] ARM: OMAP4: hwmod_data: Do not get DSP out of reset at boot time Tero Kristo
@ 2012-02-28 10:31 ` Paul Walmsley
2012-02-28 15:05 ` Tero Kristo
0 siblings, 1 reply; 11+ messages in thread
From: Paul Walmsley @ 2012-02-28 10:31 UTC (permalink / raw)
To: linux-arm-kernel
Hi
On Fri, 24 Feb 2012, Tero Kristo wrote:
> From: Rajendra Nayak <rnayak@ti.com>
>
> With no driver handling DSP, if brought out of reset, it stays
> active and does not assert standby. This leads to IVAHD powerdomain not
> transitioning and hence preventing chip retention.
>
> Signed-off-by: Rajendra Nayak <rnayak@ti.com>
> Signed-off-by: Tero Kristo <t-kristo@ti.com>
Please test this series:
http://marc.info/?l=linux-omap&m=133040749621183&w=2
in lieu of this patch.
- Paul
^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCHv2 2/6] ARM: OMAP4 PM: Add IO Daisychain support
2012-02-24 15:15 ` [PATCHv2 2/6] ARM: OMAP4 PM: Add IO Daisychain support Tero Kristo
@ 2012-02-28 10:33 ` Paul Walmsley
0 siblings, 0 replies; 11+ messages in thread
From: Paul Walmsley @ 2012-02-28 10:33 UTC (permalink / raw)
To: linux-arm-kernel
Hi
a minor comment
On Fri, 24 Feb 2012, Tero Kristo wrote:
>
> +/**
> + * Maximum time(us) it takes to output the signal WUCLKOUT of the last pad of
> + * the I/O ring after asserting WUCLKIN high
> + */
This is not a kerneldoc comment, so it's best not to use a double asterisk
on the start line.
- Paul
^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCHv2 5/6] ARM: OMAP4: hwmod_data: Do not get DSP out of reset at boot time
2012-02-28 10:31 ` Paul Walmsley
@ 2012-02-28 15:05 ` Tero Kristo
2012-02-29 16:46 ` Paul Walmsley
0 siblings, 1 reply; 11+ messages in thread
From: Tero Kristo @ 2012-02-28 15:05 UTC (permalink / raw)
To: linux-arm-kernel
On Tue, 2012-02-28 at 03:31 -0700, Paul Walmsley wrote:
> Hi
>
> On Fri, 24 Feb 2012, Tero Kristo wrote:
>
> > From: Rajendra Nayak <rnayak@ti.com>
> >
> > With no driver handling DSP, if brought out of reset, it stays
> > active and does not assert standby. This leads to IVAHD powerdomain not
> > transitioning and hence preventing chip retention.
> >
> > Signed-off-by: Rajendra Nayak <rnayak@ti.com>
> > Signed-off-by: Tero Kristo <t-kristo@ti.com>
>
> Please test this series:
>
> http://marc.info/?l=linux-omap&m=133040749621183&w=2
>
> in lieu of this patch.
>
>
> - Paul
Just tried the CSWR set on top of your branch with this patch reverted
and it works nicely. I'll drop this patch out from the next version.
-Tero
^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCHv2 5/6] ARM: OMAP4: hwmod_data: Do not get DSP out of reset at boot time
2012-02-28 15:05 ` Tero Kristo
@ 2012-02-29 16:46 ` Paul Walmsley
0 siblings, 0 replies; 11+ messages in thread
From: Paul Walmsley @ 2012-02-29 16:46 UTC (permalink / raw)
To: linux-arm-kernel
On Tue, 28 Feb 2012, Tero Kristo wrote:
> Just tried the CSWR set on top of your branch with this patch reverted
> and it works nicely. I'll drop this patch out from the next version.
Excellent, thanks for the test.
- Paul
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2012-02-29 16:46 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-02-24 15:15 [PATCHv2 0/6] ARM: OMAP4 core retention support Tero Kristo
2012-02-24 15:15 ` [PATCHv2 1/6] ARM: OMAP4: suspend: Program all domains to retention Tero Kristo
2012-02-24 15:15 ` [PATCHv2 2/6] ARM: OMAP4 PM: Add IO Daisychain support Tero Kristo
2012-02-28 10:33 ` Paul Walmsley
2012-02-24 15:15 ` [PATCHv2 3/6] ARM: OMAP3PLUS PM: Add IO Daisychain support via hwmod mux Tero Kristo
2012-02-24 15:15 ` [PATCHv2 4/6] ARM: OMAP4: prm: fix interrupt register offsets Tero Kristo
2012-02-24 15:15 ` [PATCHv2 5/6] ARM: OMAP4: hwmod_data: Do not get DSP out of reset at boot time Tero Kristo
2012-02-28 10:31 ` Paul Walmsley
2012-02-28 15:05 ` Tero Kristo
2012-02-29 16:46 ` Paul Walmsley
2012-02-24 15:15 ` [PATCHv2 6/6] ARM: OMAP3+: add prcm chain interrupts to the interrupt list Tero Kristo
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).