
Hello all,
is anybody out there who has a working IDE device on x86 port and u-boot?
My u-boot prints:
<< Model: uSDnsi kDSFC-B 4 Firm: eR v.3010 Ser#: M 3T00580313 Type: Removable Hard Disk Capacitiy: 42188.8 MB = 41.2 GB (515899392 x 512)
But the device is a "SunDisk SDCFB-4" and has a capacity of only 7872 sectors.
7872 = 0x0000'1EC0 -> 515899392 = 0x1EC0'0000
See: SunDisk SDCFB-4 uSDnsi kDSFC-B 4
It's confusing me, because long time ago I have written a small routine to read the hard disk device information. I read 256 words into a buffer, too. To get the right capacity value I have to swap the upper and lower word of the capacity long word. u-boot does the same, but after the swap capcity has the wrong value. I have compiled the cmd_ide.c with "gcc -E" to see, to what the macros get expanded and it seems ok.
The swap seems the right way, but results into a wrong value (perhaps only on my port). Little endian <-> Big endian problem?
Best regards Juergen Beisert