[U-Boot] IDE_BUS unconditionally expects 2 devices per bus
Rogan Dawes
rogan at dawes.za.net
Sat Aug 14 12:46:09 CEST 2010
On 2010/08/14 12:41 PM, Rogan Dawes wrote:
> -#define IDE_BUS(dev) (dev>> 1)
> +#define IDE_BUS(dev) (dev>> (CONFIG_SYS_IDE_MAXDEVICE /
> CONFIG_SYS_IDE_MAXBUS - 1))
>
> #define ATA_CURR_BASE(dev)
> (CONFIG_SYS_ATA_BASE_ADDR+ide_bus_offset[IDE_BUS(dev)])
Ok, I'm an idiot! The reason was staring me in the face!
ATA_CURR_BASE(dev) relies on IDE_BUS, which is why the same disk was
being enumerated twice.
It seems that the above patch is indeed correct.
Rogan
More information about the U-Boot
mailing list