NAME | SYNOPSIS | FEATURES | DESCRIPTION | ATTRIBUTES | SEE ALSO
drv/src/net/ether/smc1660/smc1660.h - smc1660 hardware constants drv/src/net/ether/smc1660/smc1660.c - driver code drv/src/net/ether/smc1660/smc1660Prop.h - driver specific properties
DRV
The smc1660 Ethernet driver implements the ether device driver interface.
The smc1660 Ethernet driver supports the following boards: WD80X3, SmcElite16, SmcEtherEZ, SmcEliteUltra which are based on the DP8390/NS32490D Network Interface Controller.
The driver uses the isa bus driver interface provided by a parent bus driver. Thus, the driver may be applied to any isa bus using this interface.
The smc1660 driver does not provide the drv_probe() routine. In other words, the smc1660 driver does not enumerate the bus, nor does it detect an smc1660 device or create an associated device node. When the smc1660 driver is used, associated device nodes should be created either statically by a boot program or dynamically by a separate bus enumerator driver. Such an enumerator driver could be developed for this particular bus architecture.
The driver does not provide the drv_bind() routine. In other words, the driver does not support dynamic driver-to-device binding. When the smc1660 driver is used, the driver should be explicitly bound to the device using the PROP_DRIVER property. It is assumed that the device-to-driver binding is done either by a device node creator or by a separate binder driver. Such a driver-to-device binder could be developed for this particular bus architecture.
The driver provides the drv_unload() entry and supports driver component unloading. This allows the driver component to be unloaded if it is no longer being used and if it has been dynamically loaded at run time.
The Table below summarizes characteristics of the smc1660 Ethernet driver.
driver name: | "sun:isa-smc1600-ether" |
hardware: | SMC1660 Ethernet controller |
exported interface: | "ether" (ETHER_CLASS) |
exported interface version: | 0 (ETHER_VERSION_INITIAL) |
imported parent interface: | "isa" (ISA_CLASS) |
minimal parent interface version: | 0 (ISA_VERSION_INITIAL) |
device probing (auto-detection): | not supported |
driver unloading: | supported |
system (emergency) shut-down: | supported |
normal device shut-down: | supported |
hot-plug (surprise) device removal: | not supported |
The Table below lists device node properties used by the smc1660 driver.
Note that the column "m/o" specifies whether a given property is mandatory or optional. For optional properties, the "Default Value" column shows the default value which is used by the driver when a given property is not specified.
Name | Alias | Type | m/o | Default Value |
---|---|---|---|---|
"intr" | ISA_PROP_INTR | IsaPropIntr | m | |
"io-regs" | ISA_PROP_IO_REGS | IsaPropIoRegs | m | |
"mem-rgn" | ISA_PROP_MEM_RGN | IsaPropMemRgn | m |
The ISA_PROP_INTR property specifies the isa interrupt used by the device.
The ISA_PROP_IO_REGS property specifies the smc1660 I/O registers range.
The ISA_PROP_MEM_RGN property specifies the smc1660 memory range.
The Table below lists device node properties added by the smc1660 driver, which may be used by the driver clients.
Name | Alias | Type |
---|---|---|
"link-throughput" | ETHER_PROP_THROUGHPUT | EtherPropThroughput |
"ether-addr" | ETHER_PROP_ADDR | EtherPropAddr |
The ETHER_PROP_THROUGHPUT property specifies the throughput of the Ethernet link. The smc1660driver adds this property to the device node and initializes it with the throughput of the Ethernet link to which the device is connected.
The ETHER_PROP_ADDR property specifies the device Ethernet address. The smc1660driver adds this property to the device node and initializes it with the Ethernet address which is in the controller ROM.
ipctest is supported by the smc1660driver.
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
---|---|
Interface Stability | Evolving |
NAME | SYNOPSIS | FEATURES | DESCRIPTION | ATTRIBUTES | SEE ALSO