--- sys/arch/macppc/dev/obio.c-1.9.4.1 Sun Jan 27 16:11:56 2002 +++ sys/arch/macppc/dev/obio.c Tue Feb 5 14:12:50 2002 @@ -129,6 +129,19 @@ printf(": addr 0x%x\n", ca.ca_baseaddr); + /* 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 */ + } for (child = OF_child(node); child; child = OF_peer(child)) { namelen = OF_getprop(child, "name", name, sizeof(name)); if (namelen < 0)