p1011 software restart(reboot) problem

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

p1011 software restart(reboot) problem

667 Views
xupeng
Contributor II

    Now I want to realize software restart function() in my system.

    According to the user manual:

    "Software may request a hard reset by setting a bit in a
    global utilities register; see Reset control register (GUTS_RSTCR)."

    So I did this:

    #define GUTS_RSTCR 0xE00B0
    #define HRESET_REQ 1/* Hardware reset request */
    *(volatile unsigned int *)(CCSRBAR + GUTS_RSTCR) = (1 << HRESET_REQ);

    

    As described above,My system did not reboot.What steps did I omit?

    if anyone konws,please tell me!

    Thanks!

Tags (2)
0 Kudos
2 Replies

441 Views
r8070z
NXP Employee
NXP Employee
Here the example from www.denx.de.git.u-boot.git./master/git/cpu/mpc85xx/cpu.c
int do_reset (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[]) 
{      
   uint pvr;      
   uint ver;      
   pvr = get_pvr();      
   ver = PVR_VER(pvr);      
   if (ver & 1) {      
     /* e500 v2 core has reset control register */           
     volatile unsigned int * rstcr;       
     rstcr = (volatile unsigned int *)(CFG_IMMR + 0xE00B0);     
     *rstcr = 0x2;          /* HRESET_REQ */        
   } else {...
I.e. it just writes 0x2 to the rstcr (set HRESET_REQ bit) like we suppose your code does too.
Notice that it just assigns the HRESET_REQ_B pin. There should be external cuircuit on your system 
which tests HRESET_REQ_B pin state and assigns HRESET input of the processor.

441 Views
xupeng
Contributor II

thank you very much!

0 Kudos