NAME | SYNOPSIS | FEATURES | DESCRIPTION | ATTRIBUTES | SEE ALSO
ddi/ddi_f.h - PowerPC specific properties drv_f/src/timer/tbDec/tbDec.c - driver code drv_f/src/timer/tbDev/tbDecProp.h - driver specific properties
DRV
The tbDec timer driver implements the timer device driver interface.
The driver works with PowerPC on-chip timebase and decrementer registers. Note that only the free-run mode of the timer interface is available for the PowerPC timebase, thus allowing this driver to be shared.
The driver uses the PowerPC specific dki interface provided by the kernel. Thus, the driver only works with PowerPC family products.
The tbDec driver does not provide the drv_probe() routine. In other words, the tbDec driver does not enumerate the bus nor does it detect a tbDec device or create an associated device node. When the tbDec 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 the particular bus architecture.
The tbDec driver provides the drv_bind() routine. This routine examines the device node name property (PROP_NODE) in order to recognize a tbDec compatible device. The routine checks whether the device node name matches a pre-defined device name. If the check is positive, the drv_bind() routine binds the driver to the device node attaching a PROP_DRIVER property to the device node. The property value specifies the tbDec driver name. The parent bus driver uses such a property to determine the name of the driver servicing the device. In other words, via the PROP_DRIVER property, the driver gives its name to the parent bus driver asking it to invoke the drv_init() routine on that device. The drv_bind() routine does nothing if the PROP_DRIVER property is already present in the device node. In other words, the drv_bind() routine will not override existing driver-to-device binding.
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 driver supports the DKI_SYS_SHUTDOWN event specified by the common dki interface.
The Table below summarizes the characteristics of the tbDec TIMER driver:
driver name: | "sun:powerpc-(timebase,dec)-timer" |
hardware: | PowerPC timebase and decrementer |
exported interface: | "timer" (TIMER_CLASS) |
exported interface version: | 0 (TIMER_VERSION_INITIAL) |
imported parent interface: | "powerpc" (FDKI_CLASS) |
minimal parent interface version: | 0 (FDKI_VERSION_INITIAL) |
device probing (auto-detection): | not supported |
device-to-driver binding: | supported (on a node name basis) |
driver unloading: | supported |
system (emergency) shut-down: | supported |
normal device shut-down: | supported |
hot-plug (surprise) device removal: | not support |
The Table below lists device node properties used by the tbDec 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 |
"tb-freq" | PPC_PROP_TIME_BASE_FREQ | PpcPropTimeBaseFreq | o | 16665000 Hz |
The PPC_PROP_TIME_BASE_FREQ property specifies the timebase and decrementer clock frequency in Hz. By default the frequency is set to 16665000 Hz.
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
---|---|
Interface Stability | Evolving |
NAME | SYNOPSIS | FEATURES | DESCRIPTION | ATTRIBUTES | SEE ALSO