Hello.

On 09/06/2011 06:36 PM, Sergei Shtylyov wrote:

Signed-off-by: Murali Karicheri<m-kariche...@ti.com>
[...]

+ pdctl = __raw_readl(psc_base + PDCTL + 4 * domain);
+ pdctl |= 0x1;
+ __raw_writel(pdctl, psc_base + PDCTL + 4 * domain);

ptcmd = 1<< domain;
__raw_writel(ptcmd, psc_base + PTCMD);
@@ -92,9 +92,10 @@ void davinci_psc_config(unsigned int domain, unsigned
int ctlr,
epcpr = __raw_readl(psc_base + EPCPR);
} while ((((epcpr>> domain)& 1) == 0));

Does this work for ARM domain, i.e. does it require an external power
supply too?

Not sure. Will someone actively using the DaVinci platforms answer this
question?

I may try to verify on my DM6446 if I'll find the time...

Hmm, DA8x0 documentation doesn't even mention the EPCPR register, so I'm not
sure how this loop is supposed to work on those chips... unless this path is
never actually executed -- which I'm trying to check now...

Have verified that the patch was never being executed indeed. If I make it

   s/patch/path/

executed, the board happily locks up.

I have experimented further and added code to power off domain 1 before powering it on in davinci_psc_config(). Strangely, it worked -- "OMAP-L137 Application Processor System Reference Guide" says that powering off domain 1 is not supported. The board still locks up while polling the EPCPR register -- which doesn't exist on DA8xx.

So looks like this code has even more issues...

   I think we should add a check for DA8xx before that loop; I'll look into 
it...

WBR, Sergei
_______________________________________________
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source

Reply via email to