[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