[U-Boot] SATA support?

Albert ARIBAUD albert.aribaud at free.fr
Thu Feb 10 13:08:35 CET 2011


Le 10/02/2011 02:23, Aaron Williams a écrit :
> On Tuesday, February 08, 2011 10:08:12 pm Albert ARIBAUD wrote:
>> Hi Aaron,
>>
>> Le 08/02/2011 22:58, Aaron Williams a écrit :
>>> Hi,
>>>
>>> I'm trying to compile AHCI support but I'm running into a lot of
>>> problems. It looks like AHCI is based off of SCSI whereas other SATA
>>> drivers appear not to be. Is ahci.c being maintained or should I use one
>>> of the other drivers? Currently for my testing I have a couple Silicon
>>> Image 3132 PCIe boards.
>>>
>>> -Aaron Williams
>>
>> I cannot answer on SATA[/PCIe] as such, but depending on your
>> requirements and your hardware, you may possibly find it easier to use
>> IDE/(P)ATA hardware emulation like I did on the ARM edminiv2 board.
>>
>> Amicalement,
>
> One problem is that we're already using the IDE/(P)ATA for our compact flash
> which is not on the PCI bus. I was hoping to use the SATA  AHCI support but it
> looks like it hasn't been maintained.

Hmm... I see an awful hack coming: you could try and define 
CONFIG_SYS_ATA_BASE_ADDR, CONFIG_SYS_ATA_IDE0_OFFSET and 
CONFIG_SYS_ATA_IDE1_OFFSET so that IDE0 points to the CompactFlash port 
and IDE1 points to the SATA compatibility register. Not sure how this 
would work out as a not-so-quick-but-very-dirty fix.

The cleaner way would be to modify cmd_ide.c to not limit itself to two 
ports, and not use offsets but a real port base, and then in your case, 
properly declare IDE0 and IDE1 for CompactFlash and SATA respectively.

I had started such work, actually, to support a LaCie board with two 
SATA controllers with four ports each; I'll try and dig it out.

Amicalement,
-- 
Albert.


More information about the U-Boot mailing list