Hi Loc,
I just downloaded the lattest u-boot binary and source from dvevmupdates.
Using u-boot-594-nand.bin, I do reset in u-boot prompt and then it goes:
ARM Clock :- 283MHz
DDR Clock :- 189MHz
Hit any key to stop autoboot: 0
DaVinci EVM #
ÀaVinci EVM # reset
Booting PSP Boot Loader
And it just hange there. Then I compiled u-boot from the lattest source
(u-boot-upgrade.tar, and make it work in nand mode).. it also gave the same
response.. Then I modified the file board/davinci/timer.c based on your
recomendation.. on reset_processor() function..
void reset_processor(void)
{
davinci_timer_reg *davinci_wdt = (davinci_timer_reg *)
WDT_BASE_ADDR;
davinci_wdt->tgcr = 0x00000008;
davinci_wdt->tgcr |= 0x00000003;
davinci_wdt->tim12 = 0x00000000;
davinci_wdt->tim34 = 0x00000000;
davinci_wdt->prd12 = 0x00000000;
davinci_wdt->prd34 = 0x00000000;
davinci_wdt->tcr |= 0x00000040;
davinci_wdt->wdtcr |= 0x00004000;
*(volatile unsigned int *)(0x01c41a20) = 0x00000000; // the
silicon bug workaround
davinci_wdt->wdtcr = 0xA5C64000;
davinci_wdt->wdtcr = 0xDA7E4000;
}
But still it's not working well. Is my register clear line already in the
correct place?
Regards,
Ari
From: "Truong, Loc" <[EMAIL PROTECTED]>
To: <[email protected]>
Subject: RE:Resetting/restarting davinci
Date: Mon, 6 Nov 2006 11:01:24 -0600
There's a silicon bug that requires the register at 0x01c41a20 needs to
be cleared first thing. This code is already in the u-boot that we
supplied. Check the latest version at www.ti.com/dvevmupdates.
Regards,
Loc
--------------------------------------------------------
Message: 1
Date: Mon, 06 Nov 2006 17:23:02 +0800
From: "taruna54 taruna54" <[EMAIL PROTECTED]>
Subject: Resetting/restarting davinci
To: [email protected]
Message-ID: <[EMAIL PROTECTED]>
Content-Type: text/plain; format=flowed
Dear all,
I have problem on implementing software reset on Davinci.
I made modification to my boot loader to implement reset..
basically using watch dog timer..
So, I use this code:
do_reset()
{
disable_interrupts ();
// watchdog timer enabling sequence
wdt_timer->tgcr = 0xB; // timmode = 2h, tim12rs = 1h,
tim34rs
= 1h
wdt_timer->wdtcr = 0xA5C64000; // WDEN = 1, wdkey = A5C6h
wdt_timer->wdtcr = 0xDA7E4000; // WDEN = 1, wdkey = DA7Eh
while (1); // loop until reboot
/* will not reach this line */
return (0);
}
It seemed ok at first, the board restart, but then the davinci will
stuck on
waiting for power transition to finish (reading on PSC_PTSTAT
register)..
More specifically, it's on the following line:
/* start the state transition for modules in ALWAYSON power
domain
*/
*(volatile unsigned int*) PTCMD = 1;
/* Wait for PTSTAT.GOSTAT0 to clear to 0x0 */
while(! (((*(volatile unsigned int*) PTSTAT ) & 0x00000001) ==
0));
// never stop..
Anybody has an idea? Is using watchdog timer to reset davinci will be a
good
idea?
Many thanks,
Ari
_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
_________________________________________________________________
Find just what you are after with the more precise, more powerful new MSN
Search. http://search.msn.com.sg/ Try it now.
_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source