Davicom DM9000A on MPC5200B (powerpc) works using a dirty offsetting and byte trick
Juergen Beisert
jbe at pengutronix.de
Sat Mar 7 21:09:48 EST 2009
Henk,
On Freitag, 20. Februar 2009, Henk Stegeman wrote:
> - Any suggestions to what could be wrong here? Or does the MPC5200 in
> this case only byte swap u16 reads, but a u8 read is unchanged?
You should not follow the Freescale bus signal names when you connect your
external little endian device. Otherwise the offsets are always wrong.
Do it in this way instead:
MPC LE Device
D[0..7] <-> D[24..31]
D[8..15] <-> D[16..23]
D[16..23] <-> D[8..15]
D[24..31] <-> D[0..7]
If you connect your device in such a way, just enable CS's byte swap feature
depending on your bus size and you are done (no additional software
manipulation required). Now you can write bytes, words or longs and you will
always write the correct data into the corresponding device register.
Hope it helps
Juergen
--
Pengutronix e.K. | Juergen Beisert |
Linux Solutions for Science and Industry | Phone: +49-8766-939 228 |
Vertretung Sued/Muenchen, Germany | Fax: +49-5121-206917-5555 |
Amtsgericht Hildesheim, HRA 2686 | http://www.pengutronix.de/ |
More information about the Linuxppc-dev
mailing list