[coreboot] IDE cable select question

joe at smittys.pointclark.net joe at smittys.pointclark.net
Fri Feb 22 21:53:54 CET 2008

Quoting Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006 at gmx.net>:

> On 22.02.2008 21:03, joe at smittys.pointclark.net wrote:
>> Quoting joe at smittys.pointclark.net:
>>> Quoting ron minnich <rminnich at gmail.com>:
>>>> On Fri, Feb 22, 2008 at 9:15 AM,  <joe at smittys.pointclark.net> wrote:
>>>>> It is the Intel 82801DB ICH4 chipset. I think most of the ICH's are
>>>>> the same on this. So are you saying this can be set in filo, or
>>>>> coreboot?
>>>> I think coreboot has to do it ... if the kernel can not.
>>>> ron
>>> Ok then, I think it may complicate things too much if we had a
>>> IDENTIFY_DRIVE command query to the drive (Note: this command query is
>>> also used for DMA settings). That would be like basicly re-writing an
>>> IDE driver??
>> After some futher reading, I don't know if this would even be   
>> possible with coreboot. It would have to be done with filo (file   
>> does this  command query anyways and prints out the drive model   
>> number) when the  drives are fully initialized. Looks like senerio   
>> number two...
>>> So, I propose a global option (IDE_CABLE = 40 or 80) that can easily
>>> be adjusted from Config.lb in the targets directory, that sets the
>>> value for a simple function in
>>> src/southbridge/intel/i82801xx/i82801xx_ide.c.
>>> Does that make sense?
>> If there are no objections I will submit a patch. What coreboot   
>> system files need to be modified for a global option?
> Can you please check with the Linux IDE guys? The matter is horribly
> complicated because you have to check whether the 80-wire cable was
> detected by the controller and check the same for the drive.
> linux-ide at vger.kernel.org is the address you want to write to and the
> experts there can tell you exactly what the BIOS is expected to do.
> Regards,
> Carl-Daniel
OK, but amazingly intel was nice enough to provide this doc:


Intel® 82801EB (ICH5), 82801ER (ICH5R), 82801DB (ICH4), 82801CA  
(ICH3), 82801BA (ICH2), 82801AA (ICH), and 82801AB (ICH0) IDE  
Controller Programmer?s Reference Manual

I tells us alot about what the BIOS is expected to do. I suppose I  
could take chunks of code out of filo and put it in coreboot, but how  
good would that be with a bunch of duplicated code. Well, I will try  
the Linux IDE guys, maybe they know a simple way to determine the  
presence of drives and their capabilities (IDENTIFY_DRIVE Command).

Thanks - Joe

More information about the coreboot mailing list