RE: OMAP3 - PM - Question - Disabling CLKEN and HFCLKOUT signals from TWL4030 scripts

2011-01-24 Thread Nagendra
Hi Lesly,

> Hi Nagendra,
>
>> Hi All,
>>
>> We are working on Power management on OMAP3 (3530) and I am trying to
>> disable CLKEN and HFCLKOUT through TWL4030 power scripts. However we have
>> not been able to achieve this.
>>
>> Following are the changes and tests done so far.
>>
>> - VAUX1, CLKEN and HFCLKOUT were assigned to P1 group.
>> - Wrote Singular messages to turn on/off these signals in TWL4030
scripts.
>> - We observed that VAUX1 is able to switch ON/OFF properly as per the
> script
>> but HFCLKOUT and CLKEN are not behaving as expected.
>> - However if we try writing CLKEN_DEV_GRP to zero, CLKEN is going low.
>> - We have made sure that SYS_OFF_MODE and CLK_REQ signals go low during
> the
>> system OFF mode, LVL_WAKEUP bit enabled in Px_SW_EVENTS, and STS_CHG bit
> in
>> STS_HW_CONDITIONS is zero.
>>
>> Is there anything that I am missing? Kindly let me know.
>
> Did try probing the sys_clkreq from OMAP?
>  Yes nSLEEP1, nSLEEP2 and SYS_CLK_REQ signals go low during
system
> OFF mode.
>
> Are you sending SLEEP/OFF command in singular msg?
>  Yes.
>
> Also check the HFCLKOUT_REMAP register for SLEEP_STATE[3:0], if using
SLEEP
> cmd.
> 
> We are setting SLEEP_STATE field of CLKEN and HFCLKOUT  to OFF mode.
>
> PSP version : 3.0.1.6
>
> Following is the TWL4030 power scripts that we are trying to get CLKEN
> signal to OFF state. This is based on rx51-peripherals.c
>
> ---
> static struct twl4030_ins sleep_on_seq[] __initdata = {
> {MSG_SINGULAR(DEV_GRP_P1, RES_CLKEN, RES_STATE_OFF), 2},

you have to sent sleep cmd to RES_HFCLKOUT also.(* attach HFCLKOUT to P3)

> };
>
> static struct twl4030_script sleep_on_script __initdata = {
> .script = sleep_on_seq,
> .size   = ARRAY_SIZE(sleep_on_seq),
> .flags  = TWL4030_SLEEP_SCRIPT,
> };
>
> static struct twl4030_ins wakeup_seq[] __initdata = {
> {MSG_SINGULAR(DEV_GRP_P1, RES_CLKEN, RES_STATE_ACTIVE), 2},
> };
>
> static struct twl4030_script wakeup_script __initdata = {
> .script = wakeup_seq,
> .size   = ARRAY_SIZE(wakeup_seq),
> .flags  = TWL4030_WAKEUP12_SCRIPT,
> };
>
> static struct twl4030_ins wakeup_p3_seq[] __initdata = {
> {MSG_SINGULAR(DEV_GRP_P3, RES_CLKEN, RES_STATE_ACTIVE), 2},

you have to wakeup cmd to RES_HFCLKOUT also. (* attach HFCLKOUT to P3)

> };
>
> static struct twl4030_script wakeup_p3_script __initdata = {
> .script = wakeup_p3_seq,
> .size   = ARRAY_SIZE(wakeup_p3_seq),
> .flags  = TWL4030_WAKEUP3_SCRIPT,
> };
>
> static struct twl4030_ins wrst_seq[] __initdata = {
> /*
>  * Reset twl4030.
>  * Reset VDD1 regulator.
>  * Reset VDD2 regulator.
>  * Reset VPLL1 regulator.
>  * Enable sysclk output.
>  * Reenable twl4030.
>  */
> {MSG_SINGULAR(DEV_GRP_NULL, RES_RESET, RES_STATE_OFF), 2},
> {MSG_BROADCAST(DEV_GRP_NULL, RES_GRP_ALL, 0, 1, RES_STATE_ACTIVE),
> 0x13},
> {MSG_BROADCAST(DEV_GRP_NULL, RES_GRP_PP, 0, 3, RES_STATE_OFF),
> 0x13},
> {MSG_SINGULAR(DEV_GRP_NULL, RES_VDD1, RES_STATE_WRST), 0x13},
> {MSG_SINGULAR(DEV_GRP_NULL, RES_VDD2, RES_STATE_WRST), 0x13},
> {MSG_SINGULAR(DEV_GRP_NULL, RES_VPLL1, RES_STATE_WRST), 0x35},
> {MSG_SINGULAR(DEV_GRP_P3, RES_HFCLKOUT, RES_STATE_ACTIVE), 2},
> {MSG_SINGULAR(DEV_GRP_NULL, RES_RESET, RES_STATE_ACTIVE), 2},
> };
>
> static struct twl4030_script wrst_script __initdata = {
> .script = wrst_seq,
> .size   = ARRAY_SIZE(wrst_seq),
> .flags  = TWL4030_WRST_SCRIPT,
> };
>
> static struct twl4030_script *twl4030_scripts[] __initdata = {
> /* wakeup12 script should be loaded before sleep script, otherwise
a
>board might hit retention before loading of wakeup script is
>completed. This can cause boot failures depending on timing
> issues.
> */
> &wakeup_script,
> &sleep_on_script,
> &wakeup_p3_script,
> &wrst_script,
> };
>
> static struct twl4030_resconfig twl4030_rconfig[] __initdata = {
> { .resource = RES_CLKEN, .devgroup = DEV_GRP_P1,
>   .type = -1, .type2 = -1 , .remap_off = RES_STATE_OFF,
.remap_sleep
> = RES_STATE_OFF
> },
> { .resource = RES_HFCLKOUT, .devgroup = -1,
>   .type = -1, .type2 = -1, .remap_off = RES_STATE_OFF,
.remap_sleep
> = RES_STATE_OFF
> },
>
> { 0, 0},
> };
> --

>> Part number of TPS used in our bo

RE: OMAP3 - PM - Question - Disabling CLKEN and HFCLKOUT signals from TWL4030 scripts

2011-01-21 Thread Nagendra

Please see responses inline below.

Hi Nagendra,

> Hi All,
>
> We are working on Power management on OMAP3 (3530) and I am trying to
> disable CLKEN and HFCLKOUT through TWL4030 power scripts. However we have
> not been able to achieve this.
>
> Following are the changes and tests done so far.
>
> - VAUX1, CLKEN and HFCLKOUT were assigned to P1 group.
> - Wrote Singular messages to turn on/off these signals in TWL4030 scripts.
> - We observed that VAUX1 is able to switch ON/OFF properly as per the
script
> but HFCLKOUT and CLKEN are not behaving as expected.
> - However if we try writing CLKEN_DEV_GRP to zero, CLKEN is going low.
> - We have made sure that SYS_OFF_MODE and CLK_REQ signals go low during
the
> system OFF mode, LVL_WAKEUP bit enabled in Px_SW_EVENTS, and STS_CHG bit
in
> STS_HW_CONDITIONS is zero.
>
> Is there anything that I am missing? Kindly let me know.

Did try probing the sys_clkreq from OMAP?
 Yes nSLEEP1, nSLEEP2 and SYS_CLK_REQ signals go low during system
OFF mode.

Are you sending SLEEP/OFF command in singular msg?
 Yes.

Also check the HFCLKOUT_REMAP register for SLEEP_STATE[3:0], if using SLEEP
cmd.
 
We are setting SLEEP_STATE field of CLKEN and HFCLKOUT  to OFF mode.

PSP version : 3.0.1.6

Following is the TWL4030 power scripts that we are trying to get CLKEN
signal to OFF state. This is based on rx51-peripherals.c 

---
static struct twl4030_ins sleep_on_seq[] __initdata = {
{MSG_SINGULAR(DEV_GRP_P1, RES_CLKEN, RES_STATE_OFF), 2}, 
};

static struct twl4030_script sleep_on_script __initdata = {
.script = sleep_on_seq,
.size   = ARRAY_SIZE(sleep_on_seq),
.flags  = TWL4030_SLEEP_SCRIPT,
};

static struct twl4030_ins wakeup_seq[] __initdata = {
{MSG_SINGULAR(DEV_GRP_P1, RES_CLKEN, RES_STATE_ACTIVE), 2},
};

static struct twl4030_script wakeup_script __initdata = {
.script = wakeup_seq,
.size   = ARRAY_SIZE(wakeup_seq),
.flags  = TWL4030_WAKEUP12_SCRIPT,
};

static struct twl4030_ins wakeup_p3_seq[] __initdata = {
{MSG_SINGULAR(DEV_GRP_P3, RES_CLKEN, RES_STATE_ACTIVE), 2},
};

static struct twl4030_script wakeup_p3_script __initdata = {
.script = wakeup_p3_seq,
.size   = ARRAY_SIZE(wakeup_p3_seq),
.flags  = TWL4030_WAKEUP3_SCRIPT,
};

static struct twl4030_ins wrst_seq[] __initdata = {
/*
 * Reset twl4030.
 * Reset VDD1 regulator.
 * Reset VDD2 regulator.
 * Reset VPLL1 regulator.
 * Enable sysclk output.
 * Reenable twl4030.
 */
{MSG_SINGULAR(DEV_GRP_NULL, RES_RESET, RES_STATE_OFF), 2},
{MSG_BROADCAST(DEV_GRP_NULL, RES_GRP_ALL, 0, 1, RES_STATE_ACTIVE),
0x13},
{MSG_BROADCAST(DEV_GRP_NULL, RES_GRP_PP, 0, 3, RES_STATE_OFF),
0x13},
{MSG_SINGULAR(DEV_GRP_NULL, RES_VDD1, RES_STATE_WRST), 0x13},
{MSG_SINGULAR(DEV_GRP_NULL, RES_VDD2, RES_STATE_WRST), 0x13},
{MSG_SINGULAR(DEV_GRP_NULL, RES_VPLL1, RES_STATE_WRST), 0x35},
{MSG_SINGULAR(DEV_GRP_P3, RES_HFCLKOUT, RES_STATE_ACTIVE), 2},
{MSG_SINGULAR(DEV_GRP_NULL, RES_RESET, RES_STATE_ACTIVE), 2},
};

static struct twl4030_script wrst_script __initdata = {
.script = wrst_seq,
.size   = ARRAY_SIZE(wrst_seq),
.flags  = TWL4030_WRST_SCRIPT,
};

static struct twl4030_script *twl4030_scripts[] __initdata = {
/* wakeup12 script should be loaded before sleep script, otherwise a
   board might hit retention before loading of wakeup script is
   completed. This can cause boot failures depending on timing
issues.
*/
&wakeup_script,
&sleep_on_script,
&wakeup_p3_script,
&wrst_script,
};

static struct twl4030_resconfig twl4030_rconfig[] __initdata = {
{ .resource = RES_CLKEN, .devgroup = DEV_GRP_P1,
  .type = -1, .type2 = -1 , .remap_off = RES_STATE_OFF, .remap_sleep
= RES_STATE_OFF
},
{ .resource = RES_HFCLKOUT, .devgroup = -1,
  .type = -1, .type2 = -1, .remap_off = RES_STATE_OFF, .remap_sleep
= RES_STATE_OFF
},

{ 0, 0},
};
--

Please let me know your comments.

Regards,
Lesly A M

>
> Part number of TPS used in our board is TPS65950 BZXNR
>
> with regards,
> - Nagendra.
>


--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


OMAP3 - PM - Question - Disabling CLKEN and HFCLKOUT signals from TWL4030 scripts

2011-01-21 Thread Nagendra
Hi All,

We are working on Power management on OMAP3 (3530) and I am trying to
disable CLKEN and HFCLKOUT through TWL4030 power scripts. However we have
not been able to achieve this. 

Following are the changes and tests done so far.

- VAUX1, CLKEN and HFCLKOUT were assigned to P1 group. 
- Wrote Singular messages to turn on/off these signals in TWL4030 scripts. 
- We observed that VAUX1 is able to switch ON/OFF properly as per the script
but HFCLKOUT and CLKEN are not behaving as expected. 
- However if we try writing CLKEN_DEV_GRP to zero, CLKEN is going low. 
- We have made sure that SYS_OFF_MODE and CLK_REQ signals go low during the
system OFF mode, LVL_WAKEUP bit enabled in Px_SW_EVENTS, and STS_CHG bit in
STS_HW_CONDITIONS is zero. 

Is there anything that I am missing? Kindly let me know. 

Part number of TPS used in our board is TPS65950 BZXNR

with regards,
- Nagendra.



--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


RE: Newbie doubt

2009-11-08 Thread Nagendra
You may also want to consider EVM from Mistral. Please see the link below for 
more details.

http://www.mistralsolutions.com/products/omap_3evm.php 


with regards,
- Nagendra.

-Original Message-
From: linux-omap-ow...@vger.kernel.org 
[mailto:linux-omap-ow...@vger.kernel.org] On Behalf Of Andy Shevchenko
Sent: Monday, November 09, 2009 11:23 AM
To: Niamathullah sharief
Cc: linux-omap@vger.kernel.org
Subject: Re: Newbie doubt

On Mon, Nov 9, 2009 at 6:59 AM, Niamathullah sharief  wrote:
> Hi,
> I want to know that what are all the OMAP based boards available other
> than beagle board?in that which one will be better for me as a newbie.
As far as I knnow you can use beagle board or ready-to-use devices
such as gumstix.


-- 
With Best Regards,
Andy Shevchenko
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Please do not print this email unless it is absolutely necessary. Spread 
environmental awareness.

---DISCLAIMER--
The information transmitted herewith is confidential and proprietary 
information intended only for use by the individual or entity to which it is 
addressed. If the reader of this message is not the intended recipient, you are 
hereby notified that any review, retransmission, dissemination, distribution, 
copying or other use of, or taking of any action in reliance upon this 
information is strictly prohibited. If you have received this communication in 
error, please contact the sender and delete the material from your computer.
---

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html