
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.