On Tuesday 07 July 2009 23:11:18 Carl-Daniel Hailfinger wrote:
On 07.07.2009 21:47, Peter Stuge wrote:
Harald Gutmann wrote:
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".
Fair enough, but this is the "output" of coreboot. The tricky part is to find the "input" for the coreboot code. How to find out which cable type is really attached, on this chipset?
I think there is a chipset GPIO you can read to find this out. Dumping the factory BIOS GPIOs for 40-pin and 80-pin cables would probably help find the correct setting.
Good starting point, but makes no difference in using proprietary bios and switching the cable to 40 wired once. All GPIOs stay at the same value as with the 80 wire cable.
I think that the pci-registers of the ide device are more interesting in that case. My assumption is, that it is value 0x72 in the ide device (00:4.0) pci- register, is what I'm searching for.
Why and how I figured that out? 1. dump pci-registers of proprietary & coreboot of the ide-device. 2. replace the 80wire cable with a 40 wire cable and dump the registers again. 3. start to compare all the dumps, and search for a value which is equal on coreboot and proprietary with 80 wire cable and changes to the same value in coreboot & proprietary bios when using the 40 wire cable.
4. assume you did everything right and claim that it is value 0x72 (hopefully you got it right with the pci-register-endianness and the address number). ;)
I attach all my logs which are relevant on that topic and hopefully someone of you can check this again.
This should be the input we're looking for. :)
Regards, Harald Gutmann
Regards, Carl-Daniel
PS: I've also managed to get a floppy device and I'll test if this works fine.