[U-Boot] MPC5200B: Trouble with config pins
Juergen Beisert
jbe at pengutronix.de
Fri Nov 21 13:36:40 CET 2008
Hi all,
we have trouble with the eth based config pins (ETH0...ETH6) of the MPC5200B
CPU. These pins act as the interface to an external phy and also act as
configurations pins to configure the size of the flash and other things.
While the reset is active these pins should be in their high impedance state
and the externally connected pull down resistors should define wire's voltage
level. With the rising edge of the reset signal these levels will be latched
into internal config registers.
We are in trouble when we want to reboot the system (also watchdog based) or
the internal watchdog barks and generates the CPU internal reset signal. In
these cases these config pins will not change their level! So the wrong
settings are latched in and our CPU is dead (misconfigured), sometimes a
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 edge
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
We can see in this case, the ETH_0 and ETH_3 are switching to low
level *immediatly* with the falling edge of the reset signal
- an activated interface ("ifconfig up") in Linux with *disconnected* network
-> system is always dead
- an activated interface ("ifconfig up") in Linux with *connected* network
-> system is always dead
Does anybody see a behaviour like ours on his/her MPC5200B based system?
Does anybody have an idea what the difference between U-Boot und Linux could
be? Bug? Feature?
Regards,
Juergen
--
Dipl.-Ing. Juergen Beisert | http://www.pengutronix.de
Pengutronix - Linux Solutions for Science and Industry
Handelsregister: Amtsgericht Hildesheim, HRA 2686
Vertretung Sued/Muenchen, Germany
Phone: +49-8766-939 228 | Fax: +49-5121-206917-9
More information about the U-Boot
mailing list