
Wolfgang, Sorry, I didn't see that. I am resending it in plain text.
====== Hi, there, I am using the u-boot with a MPC855T based board, and I am trying to boot from a compact flash by using the diskboot command. After debugging the code, I found out that the u-boot does not detect a DOS partition in the compact flash because the bytes are swapped when data is read from the IDE. In the same way, when the IDE device information is gotten, they are shown as if they are swapped two by two.
As the processor is big-endian, I supposed the u-boot would automatically fix this swapping problem, though I could not understand how. The IDE interface is set in the CPU to have "16-bit" access. I don't know if I should set a "define" to fix this swapping problem, or if I should change the code (cmd_ide.c, I guess) using #ifdef <my platform>. Actually, the Compact flash data sheet specifies exactly that, for a big endian processor I should swap data when accessing a content inside it (because in the compact flash access the even address data is the least significant byte), and to not swap when reading the identification, exactly the opposite of what is done in the code (in my understanding, I could be wrong...) Could anyone please explain this to me?
Thanks,
Helio Fujimoto.