Hi, thanks for your quickly reply.
after i trying that, it still hangs at while( !(PSC_EPCPR & 0x2) ); <--- always loop in here i noticed that "Advisory 1.3.22" is for hanging up in polling PTSTAT. but in my case, it hangs up in polling EPCPR. do you know what may make this happen? or are there any jumper or switch i should configure before ARM boot DSP? by the way, what is the first step of DSP domain power on mentioned in "TMS320DM644x DMSoC ARM Subsystem(sprue14a.pdf)" section13.5.2.1 mean? step1 : Apply power to the power pins (VDDDSP) of the DSP power domain. In this step, the ARM coordinates with an external device (for example, microcontroller) to supply power to the power pins. thanks for your help best, kashin lin 2008/1/23, Arie Muijnck <[EMAIL PROTECTED]>: > > We do something BEFORE your code: > > > > //----- Clear reserved register 0x01C41A20 to prevent hangup on PTSTAT > testing. > > // (Errata SPRUZ241D Advisory 1.3.22) > > PSC->MDCTL[16] = 0; > > > > //----- Put the C64x+ Core into reset (if it's on) > > PSC->MDCTL[39] &= (~0x00000100); // ask reset > > psc_update(DOMAIN_DSP); // do transition > > while ((PSC->MDSTAT[39]) & (0x00000100)) // wait for reset seen > > { > > } > > Arie de Muijnck > ------------------------------ > > *From:* [EMAIL PROTECTED] [mailto: > [EMAIL PROTECTED] *On Behalf Of *kashin > Lin > *Sent:* Wednesday, January 23, 2008 09:24 > *To:* davinci-linux-open-source@linux.davincidsp.com > *Subject:* Turn on DSP power domain fail > > > > Hi, > > when i try to use "ARM boot DSP" mode to boot my system, i got some > problem. > > the platform i used is Davinci DVM6446 > > fisrt, i > check the switch "s3" on board and be sure the s3-4's (COUT3) status is off. > > > then i write some code to turn on the DSP's power domain and setting the > DSPBOOTADDR > > to starting address which sequence are refer to "sprue14a.pdf" section > 13.5.2.1 . > > the power on DSP's codes snip : > > int > power_on_enable_dsp() > { > /* wait for previous initial finish */ > while( PSC_PTSTAT & GOSTAT_DSP_MASK ) > ; > /* set DSP power domain on */ > PSC_PDCTL1 |= 0x1; > /* set DSP module enable */ > PSC_MDCTL39 |= 0x3; > /* start to transit to next state */ > PSC_PTCMD |= 0x2; > > /* wait for power applying to DSP */ > while( !PSC_EPCPR & EPC_DSP_MASK ) <--- always loop in here > ; > > /* short the power rails of the AlwaysOn > and DSP power domains. */ > SCM_CHP_SHRTSW |= 0x1; > /* indicate power has been applied */ > PSC_PDCTL1 |= 0x100; > /* wait for transition finish */ > while( PSC_PTSTAT & GOSTAT_DSP_MASK ) > ; > return 1; > } > > it seems the EPC bit in EPCCPR register of PSC doesn't be set to 1 which > means the power hasn't been applied. > > i wonder if the sequence in code is wrong? or are there any thing i should > take care? > > thanks in advance~ > > > best, > kashin lin > > > ------------------------------ > > *CONFIDENTIALITY NOTICE - This e-mail transmission, and any documents, > files or previous e-mail messages attached to it may contain information > that is confidential or legally privileged. If you are not the intended > recipient, or a person responsible for delivering it to the intended > recipient, you are hereby notified that you must not read this transmission > and that any disclosure, copying, printing, distribution or use of any of > the information contained in or attached to this transmission is STRICTLY > PROHIBITED. If you have received this transmission in error, please > immediately notify Arie Muijnck by telephone or [EMAIL PROTECTED] delete the > original transmission and its attachments without reading or > saving in any manner.* >
_______________________________________________ Davinci-linux-open-source mailing list Davinci-linux-open-source@linux.davincidsp.com http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source