Hello,.
On 09/09/2011 06:56 PM, Sergei Shtylyov wrote:
Signed-off-by: Murali Karicheri<[email protected]>
[...]
+ 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.
BTW, I have tried the same on the DM6446 EVM board and there it locked up
while polling the PTSTAT register after sent command to I power down the DSP
domain. This seems to be in accordance with DM6446 datasheet which says that
once powered on, DSP domain cannot be dynamically powered off. So I couldn't
test the EPCPR polling loop on DM6446...
WBR, Sergei
_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source