diff options
author | Federico G. Schwindt <fgsch@cvs.openbsd.org> | 1999-01-28 04:58:34 +0000 |
---|---|---|
committer | Federico G. Schwindt <fgsch@cvs.openbsd.org> | 1999-01-28 04:58:34 +0000 |
commit | 49c68fe19bb46e70cd479087505fad4c4a7db936 (patch) | |
tree | 67a01249718974161abe4c5405f1b9b1809a0819 /sys/dev/pcmcia/if_ne_pcmcia.c | |
parent | 655577afa6e60abc68bf0728f28d71e3cb307b0a (diff) |
Add support for:
- 3COM 3CXEM556 (Ethernet/Modem)
- SVEC Combo and Lancard
- Corega PCC-T
Add pcmcia_check_cis_quirks to fix some cards whose CIS flat-out lies.
Add more products to pcmciadevs.
Correctly read 1 controller if CL-PD6729.
Remove some unused vars.
Diffstat (limited to 'sys/dev/pcmcia/if_ne_pcmcia.c')
-rw-r--r-- | sys/dev/pcmcia/if_ne_pcmcia.c | 66 |
1 files changed, 41 insertions, 25 deletions
diff --git a/sys/dev/pcmcia/if_ne_pcmcia.c b/sys/dev/pcmcia/if_ne_pcmcia.c index 16311235b2e..3481863c449 100644 --- a/sys/dev/pcmcia/if_ne_pcmcia.c +++ b/sys/dev/pcmcia/if_ne_pcmcia.c @@ -1,4 +1,4 @@ -/* $OpenBSD: if_ne_pcmcia.c,v 1.5 1998/12/04 06:49:58 fgsch Exp $ */ +/* $OpenBSD: if_ne_pcmcia.c,v 1.6 1999/01/28 04:58:30 fgsch Exp $ */ /* $NetBSD: if_ne_pcmcia.c,v 1.17 1998/08/15 19:00:04 thorpej Exp $ */ /* @@ -122,28 +122,15 @@ struct ne2000dev { PCMCIA_CIS_ACCTON_EN2212, 0, 0x0ff0, { 0x00, 0x00, 0xe8 } }, - /* - * D-Link DE-650 has many minor versions: - * - * CIS information Manufacturer Product Note - * 1 "D-Link, DE-650" INVALID INVALID white card - * 2 "D-Link, DE-650, Ver 01.00" INVALID INVALID became bare metal - * 3 "D-Link, DE-650, Ver 01.00" 0x149 0x265 minor change in look - * 4 "D-Link, DE-650, Ver 01.00" 0x149 0x265 collision LED added - * - * While the 1st and the 2nd types should use the "D-Link DE-650" entry, - * the 3rd and the 4th types should use the "Linksys EtherCard" entry. - * Therefore, the Linksys entry should be before the D-Link. --itohy - */ - { PCMCIA_STR_LINKSYS_ECARD_1, - PCMCIA_VENDOR_LINKSYS, PCMCIA_PRODUCT_LINKSYS_ECARD_1, - PCMCIA_CIS_LINKSYS_ECARD_1, - 0, -1, { 0x00, 0x80, 0xc8 } }, + { PCMCIA_STR_SVEC_COMBOCARD, + PCMCIA_VENDOR_INVALID, PCMCIA_PRODUCT_INVALID, + PCMCIA_CIS_SVEC_COMBOCARD, + 0, -1, { 0x00, 0xe0, 0x98 } }, - { PCMCIA_STR_DLINK_DE650, + { PCMCIA_STR_SVEC_LANCARD, PCMCIA_VENDOR_INVALID, PCMCIA_PRODUCT_INVALID, - PCMCIA_CIS_DLINK_DE650, - 0, 0x0040, { 0x00, 0x80, 0xc8 } }, + PCMCIA_CIS_SVEC_LANCARD, + 0, 0x7f0, { 0x00, 0xc0, 0x6c } }, /* * You have to add new entries which contains @@ -161,6 +148,11 @@ struct ne2000dev { PCMCIA_CIS_IBM_INFOMOVER, 0, 0x0ff0, { 0x08, 0x00, 0x5a } }, + { PCMCIA_STR_LINKSYS_ECARD_1, + PCMCIA_VENDOR_LINKSYS, PCMCIA_PRODUCT_LINKSYS_ECARD_1, + PCMCIA_CIS_LINKSYS_ECARD_1, + 0, -1, { 0x00, 0x80, 0xc8 } }, + { PCMCIA_STR_LINKSYS_COMBO_ECARD, PCMCIA_VENDOR_LINKSYS, PCMCIA_PRODUCT_LINKSYS_COMBO_ECARD, PCMCIA_CIS_LINKSYS_COMBO_ECARD, @@ -180,6 +172,24 @@ struct ne2000dev { PCMCIA_CIS_LINKSYS_ECARD_2, 0, -1, { 0x00, 0x80, 0xc8 } }, + /* + * D-Link DE-650 has many minor versions: + * + * CIS information Manufacturer Product Note + * 1 "D-Link, DE-650" INVALID INVALID white card + * 2 "D-Link, DE-650, Ver 01.00" INVALID INVALID became bare metal + * 3 "D-Link, DE-650, Ver 01.00" 0x149 0x265 minor change in look + * 4 "D-Link, DE-650, Ver 01.00" 0x149 0x265 collision LED added + * + * While the 1st and the 2nd types should use the "D-Link DE-650" entry, + * the 3rd and the 4th types should use the "Linksys EtherCard" entry. + * Therefore, this enty must be below the LINKSYS_ECARD_1. --itohy + */ + { PCMCIA_STR_DLINK_DE650, + PCMCIA_VENDOR_INVALID, PCMCIA_PRODUCT_INVALID, + PCMCIA_CIS_DLINK_DE650, + 0, 0x0040, { 0x00, 0x80, 0xc8 } }, + { PCMCIA_STR_IODATA_PCLAT, PCMCIA_VENDOR_IODATA, PCMCIA_PRODUCT_IODATA_PCLAT, PCMCIA_CIS_IODATA_PCLAT, @@ -196,10 +206,16 @@ struct ne2000dev { PCMCIA_CIS_DAYNA_COMMUNICARD_E_2, 0, -1, { 0x00, 0x80, 0x19 } }, - { PCMCIA_STR_UNKNOWN_ECARD, - PCMCIA_VENDOR_UNKNOWN, PCMCIA_PRODUCT_UNKNOWN_ECARD, - PCMCIA_CIS_UNKNOWN_ECARD, - 0, -1, { 0x00, 0xa0, 0x0c } }, + { PCMCIA_STR_COREGA_PCC_2, + PCMCIA_VENDOR_COREGA, PCMCIA_PRODUCT_COREGA_PCC_2, + PCMCIA_CIS_COREGA_PCC_2, + 0, -1, { 0x00, 0x00, 0xf4 } }, + + { PCMCIA_STR_COMPEX_LINKPORT_ENET_B, + PCMCIA_VENDOR_COMPEX, PCMCIA_PRODUCT_COMPEX_LINKPORT_ENET_B, + PCMCIA_CIS_COMPEX_LINKPORT_ENET_B, + 0, 0xd400, { 0x01, 0x03, 0xdc } }, + #if 0 /* the rest of these are stolen from the linux pcnet pcmcia device driver. Since I don't know the manfid or cis info strings for |