Skip to contentSkip to conversation

PPC440GX reset command doesn't work

U-Boot-Users Andrew Wozniak 2 participants 4 messages Jun 7, 2005

lore
Share & tools
lore
#0 lore raw

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.

#1 lore raw
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 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.

Quoted 1 line

Thank you.

#2 lore raw
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

#3 lore raw
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