NAME | SYNOPSIS | FEATURES | DESCRIPTION | ATTRIBUTES | SEE ALSO
ddi/bench/bench.h drv/src/bench/ns16550/bench_ns16550.c drv/src/bench/ns16550/benchns16550Prop.h
DRV
The ns16550 device exports the bench device driver interface. This driver uses the bus driver interface provided by its parent bus driver.
The benchns16550 driver does not provide the drv_probe() routine. In other words, the benchns16550 driver does not enumerate the bus, nor does it detect a benchns16550 device or create an associated device node. When the benchns16550 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 benchns16550 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 does not implement the drv_unload(). This means that the driver component cannot be unloaded even if it has been dynamically loaded at run time.
This driver can be used to measure the interrupt latency corresponding to its level in the device hierarchy on a given target board.
driver name: | "sun:bus-ns16550-bench" | |
hardware: | "NS16x50 compatible UART chip" | |
exported interface: | "bench" | (BENCH CLASS) |
exported interface version: | 0 | (BENCH_VERSION_INITIAL) |
imported parent interface: | "bus" | (BUS_CLASS) |
The Table below lists device node properties used by the ns16550 bench driver. Note that the column "m/o" specifies whether a given property is mandatory or optional. For optional properties, the column "default value" shows a default value which is used by the driver when a given property is not specified.
name |
alias |
type |
m/o |
default value |
---|---|---|---|---|
"io-regs" |
BUS_PROP_IO_REGS |
<bus class specific> |
m |
|
"intr" |
BUS_PROP_INTR |
<bus class specific> |
m |
|
"clock-freq" |
PROP_CLOCK_FREQ |
PropClockFreq |
o |
1843200 |
The BUS_PROP_IO_REGS property specifies the ns16x50 I/O registers range. The property value is bus class specific.
The BUS_PROP_INTR property specifies the ns16x50 interrupt source. The property value is bus class specific.
The PROP_CLOCK_FREQ property specifies the input clock frequency in Hz.
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
---|---|
Interface Stability | Evolving |
NAME | SYNOPSIS | FEATURES | DESCRIPTION | ATTRIBUTES | SEE ALSO