It doesn't work as well.. and then I see davinci_wdt structure already defined with volatile keyword.

Regards,
Ari


From: "Paul Bartholomew" <[EMAIL PROTECTED]>
To: "'taruna54 taruna54'" <[EMAIL PROTECTED]>,<[email protected]>
CC: <[EMAIL PROTECTED]>
Subject: RE: Resetting/restarting davinci
Date: Tue, 7 Nov 2006 08:20:36 -0500

Try using 'volatile' in your "davinci_wdt" declaration:

        volatile davinci_timer_reg *davinci_wdt = (volatile
davinci_timer_reg *)
WDT_BASE_ADDR;

Without that, the compiler may change this:

        davinci_wdt->wdtcr  = 0xA5C64000;
        davinci_wdt->wdtcr  = 0xDA7E4000;

To this:

        davinci_wdt->wdtcr  = 0xDA7E4000;


- Paul

-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of
taruna54 taruna54
Sent: Tuesday, November 07, 2006 8:10 AM
To: [email protected]
Cc: [EMAIL PROTECTED]
Subject: RE:Resetting/restarting davinci


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


_________________________________________________________________
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

Reply via email to