FreeBSD/sys/dev/fe/if_fe_pccard.c
/*
 * Probe and initialization for TDK/CONTEC PCMCIA Ethernet interface.
 * by MASUI Kenji <masui@cs.titech.ac.jp>
 *
 * (Contec uses TDK Ethernet chip -- hosokawa)
 *
 * This version of fe_probe_tdk has been rewrote to handle
 * *generic* PC Card implementation of Fujitsu MB8696x family.  The
 * name _tdk is just for a historical reason. :-)
 */
Probe and initialization for TDK/CONTEC PCMCIA Ethernet interface.
by MASUI Kenji 

(Contec uses TDK Ethernet chip -- hosokawa)

This version of fe_probe_tdk has been rewrote to handle
*generic* PC Card implementation of Fujitsu MB8696x family.  The
name _tdk is just for a historical reason.
Probe and initialization for TDK / CONTEC PCMCIA Ethernet interface . by MASUI Kenji ( Contec uses TDK Ethernet chip -- hosokawa ) This version of fe_probe_tdk has been rewrote to handle * generic * PC Card implementation of Fujitsu MB8696x family . The name _tdk is just for a historical reason .
static int
fe_probe_tdk (device_t dev, const struct fe_pccard_product *pp)
{
	struct fe_softc *sc = device_get_softc(dev);
	static struct fe_simple_probe_struct probe_table [] = {
		{ FE_DLCR2, 0x10, 0x00 },
		{ FE_DLCR4, 0x08, 0x00 },
		{ 0 }
	};
	if (fe_alloc_port(dev, 16))
		return ENXIO;
	fe_softc_defaults(sc);
	if (!fe_simple_probe(sc, probe_table))
		return ENXIO;
	sc->type = FE_TYPE_TDK;
	sc->typestr = "Generic MB8696x/78Q837x Ethernet (PCMCIA)";
	pccard_get_ether(dev, sc->enaddr);
	if (!fe_valid_Ether_p(sc->enaddr, 0)) {
		pccard_cis_scan(dev, fe_pccard_xircom_mac, sc->enaddr);
	}
	if (!fe_valid_Ether_p(sc->enaddr, 0))
		return ENXIO;
	return 0;
}
static int fe_probe_tdk ( device_t dev , const struct fe_pccard_product * pp ) { struct fe_softc * sc = device_get_softc ( dev ) ; static struct fe_simple_probe_struct probe_table [ ] = { { FE_DLCR2 , 0x10 , 0x00 } , { FE_DLCR4 , 0x08 , 0x00 } , { 0 } } ; if ( fe_alloc_port ( dev , 16 ) ) return ENXIO ; fe_softc_defaults ( sc ) ; if ( ! fe_simple_probe ( sc , probe_table ) ) return ENXIO ; sc -> type = FE_TYPE_TDK ; sc -> typestr = " " ; pccard_get_ether ( dev , sc -> enaddr ) ; if ( ! fe_valid_Ether_p ( sc -> enaddr , 0 ) ) { pccard_cis_scan ( dev , fe_pccard_xircom_mac , sc -> enaddr ) ; } if ( ! fe_valid_Ether_p ( sc -> enaddr , 0 ) ) return ENXIO ; return 0 ; }
Probe and initialization for TDK/CONTEC PCMCIA Ethernet interface.
Probe and initialization for TDK / CONTEC PCMCIA Ethernet interface .
/*		{ FE_DLCR5, 0x80, 0x00 },	Does not work well.  */ /* C-NET(PC)C occupies 16 I/O addresses. */ /* Fill the softc struct with default values.  */ /*
	 * See if C-NET(PC)C is on its address.
	 */ /* Determine the card type.  */ /* Make sure we got a valid station address.  */ /* Make sure we got a valid station address.  */