[U-Boot-Users] 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.

Andrew Wozniak wrote:
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.
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.
Thank you.

Andrew Wozniak wrote:
Andrew Wozniak wrote:
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>
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

Travis B. Sawyer wrote:
Andrew Wozniak wrote:
Andrew Wozniak wrote:
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>
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.
-travis
participants (2)
-
Andrew Wozniak
-
Travis B. Sawyer