MPC5200B: Trouble with config pins
From: Juergen Beisert <hidden>
Date: 2008-11-21 12:55:36
Hi all,
we have trouble with the eth based config pins (ETH0...ETH6) of the MPC5200=
B=20
CPU. These pins act as the interface to an external phy and also act as=20
configurations pins to configure the size of the flash and other things.=20
While the reset is active these pins should be in their high impedance stat=
e=20
and the externally connected pull down resistors should define wire's volta=
ge=20
level. With the rising edge of the reset signal these levels will be latche=
d=20
into internal config registers.
We are in trouble when we want to reboot the system (also watchdog based) o=
r=20
the internal watchdog barks and generates the CPU internal reset signal. In=
=20
these cases these config pins will not change their level! So the wrong=20
settings are latched in and our CPU is dead (misconfigured), sometimes a=20
second reset helps, but most of the time only power cycling helps.
What we see is:
- at the pins ETH_0 and ETH_3 (both are output only, when used for
ethernet)
* With an external 10k pulldown these lines never change their 3.3V level
even if the reset is active!
* With an external 1k pulldown these lines change their 3.3V level down to
something about 2.5V when the falling edge of the reset signal occurs.
* This level decreases slowly to 1.2V in about 1.2ms and than a falling ed=
ge
to 0V occures. Problem here is, the internal watchdog's generated reset
signal is much shorter, so the rising edge of this reset signal also
latches in the wrong settings and the CPU is dead.
Some other things we see. A reset while:
- a running tftp command in U-Boot with disconnected network
-> system is always dead
- a running tftp command in U-Boot with connected network
-> system restarts