Found!
According to some kernel sources and the differences in the pci-registers between proprietary bios and coreboot there are two values which are needed:
AMD_CABLE_DETECT = 0x42 AMD_UDMA_TIMING = 0x50
But, for PCI_VENDOR_ID_NVIDIA an offset of 0x10 has to be added, which means: AMD_CABLE_DETECT = 0x52 AMD_UDMA_TIMING = 0x60
PCI registers on coreboot address 0x52 (from the IDE device) has value FF while proprietary has value 99. This is the so called "CABLE_BIT".
And as the second stuff needed, the AMD_UDMA_TIMING registers is as follows: The kernel reads the whole address range from 0x60-0x92 and does some magic stuff to verify if everything is correct.
On the proprietary bios we have in this range in the pci-registers: 60: 00 00 c5 c7 00 00 00 00 00 00 00 00 00 00 00 00 On coreboot we have: 60: 00 00 c0 c0 00 00 00 00 00 00 00 00 00 00 00 00
Thats what to do, but when? - Maybe tomorrow.
Oh, I wanted to attach some files here so it's easy to verify. amd_cable_detect.c is some cp&paste from amd_74xx.c under drivers/ide from the linux sources.
//Peter
Regards, Harald