Hi Monk,
I downloaded the latest u-boot from the mentioned URL but still reset doesn't work.
Further, if reset command is working, none of the other commands work & reset command calls reset_processor() from board/davinci/platform.S but it doesn't reset the processor.Upto last line all lines of this function are executed correctly.But after last line, it hangs....
What should be my next step ? Actually I want to reset the board from a software application.I m stuk up at this point.

Thanks,
Sweta
Monk, Roger wrote:

Hi Sweta,

 

Are you using the latest u-boot from the extranet site?  I believe there were some power-up changes made to assist with watchdog reset in one of the more recent uboot versions.

 

https://www-a.ti.com/extranet/cm/product/dvevmsw/dspswext/download/u-boot-1.1.3_rel_00.05.04-tisb.tar.gz

 

~roger

 

 


From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] On Behalf Of Sweta
Sent: 29 December 2006 11:35
To: Peter Wippich
Cc: [email protected]
Subject: Re: Problem in resetting Davinci processor from watchdog Timer

 

Hi Peter,
I tried with the same code but it didn't work.
Then I came to know that there is a slicon bug so it doesn't  actually reset the processor through watchdog.
Then I tried with the workaround which is the code I mentioned in previous mail.
Perviously on one of the board it was working but on other board, same kernel image doesn't perform reboot.
So what can be the solution  ?

Thanks,
Sweta
 
Peter Wippich wrote:

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                                       |
 
 
 
 
- This message has been scanned for viruses, spam and dangerous content by www.CleanMailGateway.com, and is believed to be clean.
 
 
 
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.
 
 
  

 



- This message has been scanned for viruses, spam and dangerous content by www.CleanMailGateway.com, and is believed to be clean.
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.





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.
_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source

Reply via email to