PPC440GX reset command doesn't work
We have a custom PPC440GX board running a ported version of U-Boot based on the OCOTEA codebase. Most U-Boot commands are working - life is good.
Except for the 'reset' command. The do_reset() source code at cpu/ppc4xx/cpu.c appears to be the function for doing the reset via the PPC "debug control register". The PPC manual shows that a cpu reset is possible thru this register, but I'm a PPC assembly newbee and need to figure it out the macros in the cpu.c source code.
Just wondering if anyone else with a PPC440 target had any special modifications to make 'reset' work.
Thank you.
Quoted 11 lines · Andrew Wozniak
We have a custom PPC440GX board running a ported version of U-Boot based on the OCOTEA codebase. Most U-Boot commands are working - life is good.
Except for the 'reset' command. The
do_reset()source code atcpu/ppc4xx/cpu.cappears to be the function for doing the reset via the PPC "debug control register". The PPC manual shows that a cpu reset is possible thru this register, but I'm a PPC assembly newbee and need to figure it out the macros in thecpu.csource code.Just wondering if anyone else with a PPC440 target had any special modifications to make 'reset' work.
Ok, understand the assembly macro (except for the ::: "r3"). Must have something to do with do_reset args?
Anyway, it appears that a PPC "system reset" does not work as implemented via DBCR0 value 0x30000000.
If I change the value to 0x20000000 to do a "chip reset", the U-Boot 'reset' command works!
Is this an appropriate solution or might our hardware design have a flaw?
Thanks for all suggestions.
Quoted 1 line
Thank you.
Quoted 5 lines · Andrew Wozniak
Quoted 3 lines · Andrew Wozniak
We have a custom PPC440GX board running a ported version of U-Boot based on the OCOTEA codebase. Most U-Boot commands are working - life is good.
<SNIP>
Quoted 3 lines
Quoted 2 lines
Just wondering if anyone else with a PPC440 target had any special modifications to make 'reset' work.
Nope, it just works, on 3 different 440gx targets I have. The XES XPedite1000, the Ocotea, and our custom hardware...
-travis
Quoted 7 lines · Travis B. Sawyer
Quoted 5 lines · Andrew Wozniak
Quoted 3 lines · Andrew Wozniak
We have a custom PPC440GX board running a ported version of U-Boot based on the OCOTEA codebase. Most U-Boot commands are working - life is good.
Quoted 8 lines
<SNIP>
Quoted 4 lines
Quoted 2 lines
Just wondering if anyone else with a PPC440 target had any special modifications to make 'reset' work.
Nope, it just works, on 3 different 440gx targets I have. The XES XPedite1000, the Ocotea, and our custom hardware...
hmmm.... will have to investigate further.
Could our problem be related to how our PPC is configured from serial eeprom? Or might is be that DBCR (or some other control register) is misconfigured - disallowing a "system reset"?
Thanks for confirming proper 'reset' operation as currently implemented.
Quoted 4 lines
-travis