On 05/05/08 18:32 +0200, Peter Stuge wrote:
On Mon, May 05, 2008 at 09:26:39AM -0600, Jordan Crouse wrote:
pata_cs5536: disabled by BIOS
Hmm, I wonder if this is something coreboot has disabled or not enabled? drivers/ata/pata_cs5536.c:244 tests a bit in the IDE config register of CS5536.
Can you try the legacy driver (ide/pci/amd74xx.c)?
Will try later.
It sounds like the libata port brought over something distasteful. I've been using the old CS5536 driver for a very long time no with no problems.
Regardless, no bit should indicate that PATA is disabled.
Particularly surprising since IDE is enabled from reset.
The enable bits for the AMD74XX controller (which the 5536 uses) are in PCI config byte 0x40. bit 1 is the enable bit for port 0 and bit 0 is the enable bit for port 1.
I have just tried both db800 and norwich in v2 with the legacy AMD5536 driver and both worked (well, db800 puked, but for other reasons). Here's the boot log:
AMD5536: IDE controller (0x1022:0x209a rev 0x01) at PCI slot 0000:00:0f.2 AMD5536: not 100% native mode: will probe irqs later AMD5536: 0000:00:0f.2 (rev 01) UDMA100 controller ide0: BM-DMA at 0x1ca0-0x1ca7, BIOS settings: hda:pio, hdb:pio AMD5536: IDE port disabled
The last line is the secondary bus being disabled.
I looked at the libata driver, and it seems to be doing the right thing - reading 0x40 and checking bit 1.
So I checked the code: in v2, src/southbridge/amd/cs5536/cs5536_ide.c handles the honors.
So long story short - this is possibly something that just never got brought over to v3?
Jordan