Sergei, Looks like EPCPR register is not available on all platforms. It appears to be specific to the DM644x SoC. So doesn't it make sense to execute it only for DM644x. Any comments?
Murali Karicheri Software Design Engineer email: [email protected] Phone: (301) 407 9583 >> -----Original Message----- >> From: Sergei Shtylyov [mailto:[email protected]] >> Sent: Friday, September 09, 2011 11:04 AM >> To: Karicheri, Muralidharan >> Cc: [email protected]; Nori, Sekhar; Hilman, >> Kevin >> Subject: Re: [PATCH v2 1/2] ARM: davinci - fix incorrect offsets and mask >> usage in psc code >> >> 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
