|
|
1.1 ! root 1: /* ! 2: * Split out from 3c509.c to make build process more sane ! 3: * ! 4: */ ! 5: ! 6: FILE_LICENCE ( BSD2 ); ! 7: ! 8: #include "etherboot.h" ! 9: #include <ipxe/mca.h> ! 10: #include <ipxe/isa.h> /* for ISA_ROM */ ! 11: #include "nic.h" ! 12: #include "3c509.h" ! 13: ! 14: /* ! 15: * Several other pieces of the MCA support code were shamelessly ! 16: * borrowed from the Linux kernel source. ! 17: * ! 18: * MCA support added by Adam Fritzler ([email protected]) ! 19: * ! 20: * Generalised out of the 3c529 driver and into a bus type by Michael ! 21: * Brown <[email protected]> ! 22: * ! 23: */ ! 24: ! 25: static int t529_probe ( struct nic *nic, struct mca_device *mca ) { ! 26: ! 27: /* Retrieve NIC parameters from MCA device parameters */ ! 28: nic->ioaddr = ( ( mca->pos[4] & 0xfc ) | 0x02 ) << 8; ! 29: nic->irqno = mca->pos[5] & 0x0f; ! 30: printf ( "3c529 board found on MCA at %#hx IRQ %d -", ! 31: nic->ioaddr, nic->irqno ); ! 32: ! 33: /* Hand off to generic t5x9 probe routine */ ! 34: return t5x9_probe ( nic, MCA_ID ( mca ), 0xffff ); ! 35: } ! 36: ! 37: static void t529_disable ( struct nic *nic, struct mca_device *mca __unused ) { ! 38: t5x9_disable ( nic ); ! 39: } ! 40: ! 41: static struct mca_device_id el3_mca_adapters[] = { ! 42: { "3Com 3c529 EtherLink III (10base2)", 0x627c }, ! 43: { "3Com 3c529 EtherLink III (10baseT)", 0x627d }, ! 44: { "3Com 3c529 EtherLink III (test mode)", 0x62db }, ! 45: { "3Com 3c529 EtherLink III (TP or coax)", 0x62f6 }, ! 46: { "3Com 3c529 EtherLink III (TP)", 0x62f7 }, ! 47: }; ! 48: ! 49: MCA_DRIVER ( t529_driver, el3_mca_adapters ); ! 50: ! 51: DRIVER ( "3c529", nic_driver, mca_driver, t529_driver, ! 52: t529_probe, t529_disable ); ! 53: ! 54: ISA_ROM( "3c529", "3c529 == MCA 3c509" ); ! 55: ! 56: /* ! 57: * Local variables: ! 58: * c-basic-offset: 8 ! 59: * c-indent-level: 8 ! 60: * tab-width: 8 ! 61: * End: ! 62: */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.