Author: mcayland Date: Fri Oct 23 14:58:20 2015 New Revision: 1352 URL: http://tracker.coreboot.org/trac/openbios/changeset/1352
Log: ppc: fix up IDE device tree
Mac OS 9 is finicky about devices having the correct properties, so we change some IDE data to more closely model a real New World Mac.
Signed-off-by: Cormac O'Brien cormac@c-obrien.org Signed-off-by: Mark Cave-Ayland mark.cave-ayland@ilande.co.uk
Modified: trunk/openbios-devel/drivers/ide.c
Modified: trunk/openbios-devel/drivers/ide.c ============================================================================== --- trunk/openbios-devel/drivers/ide.c Fri Oct 23 14:58:18 2015 (r1351) +++ trunk/openbios-devel/drivers/ide.c Fri Oct 23 14:58:20 2015 (r1352) @@ -1581,6 +1581,12 @@ set_property(dnode, "compatible", (is_oldworld() ? "heathrow-ata" : "keylargo-ata"), 13);
+ set_property(dnode, "model", ((current_channel == 3) ? + "ata-3" : "ata-4"), strlen("ata-*") + 1); + + set_property(dnode, "AAPL,connector", "ata", + strlen("ata") + 1); + props[0] = 0x00000526; props[1] = 0x00000085; props[2] = 0x00000025; @@ -1589,8 +1595,8 @@ props[5] = 0x00000000; props[6] = 0x00000000; props[7] = 0x00000000; - OLDWORLD(set_property(dnode, "AAPL,pio-timing", - (char *)&props, 8*sizeof(props[0]))); + set_property(dnode, "AAPL,pio-timing", + (char *)&props, 8*sizeof(props[0]));
/* The first interrupt entry is the ide interrupt, the second the dbdma interrupt */ @@ -1634,8 +1640,8 @@ (char *)&props, 2*sizeof(props[0])));
props[0] = 0; - OLDWORLD(set_property(dnode, "AAPL,bus-id", (char*)props, - 1 * sizeof(props[0]))); + set_property(dnode, "AAPL,bus-id", (char*)props, + 1 * sizeof(props[0])); IDE_DPRINTF(DEV_NAME": [io ports 0x%lx]\n", current_channel, chan->mmio);