
Hi,
i had the same problem. I fixed it with using the __insw and __outsw functions directly. By default the system uses the __insw_ns and __outsw_ns. With changing these two accesses in ide-iops.c it works for me.
Best regards Marco
-----Ursprüngliche Nachricht----- Von: u-boot-users-admin@lists.sourceforge.net [mailto:u-boot-users-admin@lists.sourceforge.net]Im Auftrag von Gregg Gesendet: Dienstag, 15. November 2005 23:57 An: u-boot-users@lists.sourceforge.net Betreff: [U-Boot-Users] Re: IDE interface on PPC has endian issue
Frank <frannk_m1 <at> yahoo.com> writes:
I had the same problem. It turns the idiot hardware engineer decided he would do byte swapping in hardware without telling me. To get around it, I just made the byte swapping code a noop (no byte swaping) and it worked.
Doing an endian swap every place in cmd_ide.c where it is reading the data register seems to have fixed the problem. I can now see the partitions on the disk and load a file from it. I don't understand why the endianness is different from what the u-boot code expects though, given how the data bits are connected to the peripheral bus:
CF D0..D15 => PPC D15..D0
D15 is lsb on PPC 16-bit mode bus. It is as if the u-boot code expects
CF D0..D7 => PPC D7..D0 CF D8..D15 => PPC D15..D8
Thanks,
Gregg
------------------------------------------------------- This SF.Net email is sponsored by the JBoss Inc. Get Certified Today Register for a JBoss Training Course. Free Certification Exam for All Training Attendees Through End of 2005. For more info visit: http://ads.osdn.com/?ad_id=7628&alloc_id=16845&op=click _______________________________________________ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users