--- 20011015/sys/arch/macppc/dev/obio.c Fri Oct 26 03:41:35 2001 +++ 20011014/sys/arch/macppc/dev/obio.c Fri Nov 23 17:17:43 2001 @@ -113,6 +113,19 @@ if (PCI_PRODUCT(pa->pa_id) == PCI_PRODUCT_APPLE_PADDINGTON) out8(ca.ca_baseaddr + 0x37, 0x03); + /* XXX Enable internal modem (KeyLargo) */ + if (PCI_PRODUCT(pa->pa_id) == PCI_PRODUCT_APPLE_KEYLARGO) { + printf("enabling KeyLargo internal modem\n"); + out32rb(ca.ca_baseaddr + 0x40, + in32rb(ca.ca_baseaddr + 0x40) & ~((u_int32_t)1<<25)); /* power modem on */ + } + /* XXX completely untested */ + /* XXX Enable internal modem (Pangea) */ + if (PCI_PRODUCT(pa->pa_id) == PCI_PRODUCT_APPLE_PANGEA_MACIO) { + out8(ca.ca_baseaddr + 0x006a + 0x03, 0x04); /* set reset */ + out8(ca.ca_baseaddr + 0x006a + 0x02, 0x04); /* power modem on */ + out8(ca.ca_baseaddr + 0x006a + 0x03, 0x05); /* unset reset */ + } /* Attach "i2c" first. */ for (child = OF_child(node); child; child = OF_peer(child)) { bzero(name, sizeof name);