Frank Wille wrote:
Digging a bit deeper in the viaide driver showed me that it depends on the PCI_INTERFACE register, whether we are in native or compatible mode. Looking at this register showed me the value 0x8f, which means native mode for both channels (bit 0 and 2). Why? This is plain wrong! The IDE controller has to be driven in compatibility mode to work, as far as I understand!? Do we need another hack? :P
I'm afraid you will have to taint yourself with GPL code and look at the Pegasos platform fix in the latest kernels for the Via IDE stuff. You need to do a little tweak or two to get it to work in native mode properly. Otherwise, though, the damn thing works fine in legacy mode, just use interrupt 15.. you'll find it works really well. Remember the OF device tree is broken and reports the wrong interrupts (0x14 and 0x15 instead of decimal) - there is a device tree patch at http://www.powerdeveloper.org/platforms/pegasos/devicetree -- Matt Sealey <matt%genesi-usa.com@localhost> Genesi, Manager, Developer Relations