Hi Sweta, 

here is the code from the 2.6.19 kernel. Maybe this helps : 

void davinci_watchdog_reset(void) {
        volatile davinci_timer_regs_t *davinci_wdt = 
                (volatile davinci_timer_regs_t *)IO_ADDRESS(DAVINCI_WDOG_BASE);

        davinci_wdt->tcr = 0x0;         /* disable timer */
        davinci_wdt->tgcr = 0x0;        /* reset timer */
        davinci_wdt->tgcr = 0x8;        /* configure timer2 as 64-bit */
        davinci_wdt->tgcr |= 0x3;       /* release timer from reset */
        davinci_wdt->tim12 = 0;         /* clear counter and period regs */
        davinci_wdt->tim34 = 0;
        davinci_wdt->prd12 =  0;
        davinci_wdt->prd34 =  0;
        davinci_wdt->wdtcr |= 0x4000;   /* enable watchdog timer */

        /* put watchdog in pre-active state */
        davinci_wdt->wdtcr = 0xA5C64000;

        /* put watchdog in active state */
        davinci_wdt->wdtcr = 0xDA7E4000;

        /* write an invalid value to the WDKEY field to trigger
         * a watchdog reset */
        davinci_wdt->wdtcr = 0x00004000;
}


On Fri, 29 Dec 2006, [EMAIL PROTECTED] wrote:

> Hi Peter,
> I m using Montavista Linux 2.6.10 (mvl402).
> reboot code as mentioned in mail is executed properly.but then after
> this line davinci_wdt->wdtcr = 0x00004000;, it doesn't execute next
> statement (I tried with putting printk statement after it).
> Doe it mean that it resets watchdog correctly.
> But then it doesn't reset the processor & doesn't start execution of UBL
> code again.
> What can be the problem ?
> Thanks,
> Sweta
> >
> >
> > Hi Sweta,
> >
> > which kernel are you using ?? It works with the 2.6.19 Kernel from GIT
> > tree.
> >
> > Ciao,
> >
> > Peter
> >
> > On Thu, 28 Dec 2006, [EMAIL PROTECTED] wrote:
> >
> >>  Hi All,
> >> I want to reset the Davinci pocessor using watchdog timer.
> >> So when I give reboot command from kernel, it hangs & doesn't actually
> >> reset the processor.
> >> code for watchdog rest in kernel is as follows :
> >> void davinci_watchdog_reset(void) {
> >>         volatile davinci_timer_regs_t *davinci_wdt = (volatile
> >> davinci_timer_regs_t *)IO_ADDRESS(DAVINCI_WDOG_BASE);
> >>         davinci_wdt->tcr = 0x0;         /* disable timer */
> >>         davinci_wdt->tgcr = 0x0;        /* reset timer */
> >>         davinci_wdt->tgcr = 0x8;        /* configure timer2 as 64-bit */
> >>         davinci_wdt->tgcr |= 0x3;       /* release timer from reset */
> >>         davinci_wdt->tim12 = 0;         /* clear counter and period regs
> >> */
> >>         davinci_wdt->tim34 = 0;
> >>         davinci_wdt->prd12 =  0;
> >>         davinci_wdt->prd34 =  0;
> >>         davinci_wdt->tcr   |= 0x00000040;
> >>         davinci_wdt->wdtcr |= 0x4000;   /* enable watchdog timer */
> >>
> >>         *(volatile unsigned int *)(0x01c41a20) = 0x00000000;
> >>
> >>         /* put watchdog in pre-active state */
> >>        davinci_wdt->wdtcr = 0xA5C64000;
> >>
> >>        /* put watchdog in active state */
> >>        davinci_wdt->wdtcr = 0xDA7E4000;
> >>
> >>       /* write an invalid value to the WDKEY field to trigger* a
> >> watchdog
> >> reset */
> >>           davinci_wdt->wdtcr = 0x00004000;
> >>
> >> }
> >>
> >> But it hangs & doesn't actually reset the processor.
> >> I tried with reset commnad from u-boot loader also. It also gives me the
> >> same  result.
> >> Can anyone Help me out to debug what is wrong ?
> >>
> >> Thanks in advance,
> >> -Sweta
> >>
> 
> 
> 
> 
> eInfochips Business Disclaimer:
> This message may contain confidential, proprietary or legally Privileged 
> information. In case you are not the original intended Recipient of the 
> message, you must not, directly or indirectly, use, Disclose, distribute, 
> print, or copy any part of this message and you are requested to delete it 
> and inform the sender. Any views expressed in this message are those of the 
> individual sender unless otherwise stated. Nothing contained in this message 
> shall be construed as an offer or acceptance of any offer by eInfochips 
> Limited and/or eInfochips Inc("eInfochips") unless sent with that express 
> intent and with due authority of eInfochips. eInfochips has taken enough 
> precautions to prevent the spread of viruses. However the company accepts no 
> liability for any damage caused by any virus transmitted by this email.
> 


|       Peter Wippich                   Voice: +49 30 46776411          |
|       G&W Instruments GmbH            fax:   +49 30 46776419          |
|       Gustav-Meyer-Allee 25, Geb. 12  Email: [EMAIL PROTECTED]   |
|       D-13355 Berlin  / Germany                                       |

_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source

Reply via email to