NAME | SYNOPSIS | FEATURES | DESCRIPTION | ATTRIBUTES | SEE ALSO
drv/src/rtc/m48txx/m48txx.c - driver code drv/src/rtc/m48txx/m48txxProp.h - driver specific properties
DRV
The m48txx driver implements the RTC and NVRAM device driver interface.
The driver uses the common bus driver interface provided by a parent bus driver. Thus, the driver is generic and may be applied to any bus providing this type of interface.
The m48txx driver does not provide the drv_probe() routine. In other words, the m48txx driver does not enumerate the bus, nor does it detect an m48txx device or create an associated device node. When the m48txx 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 m48txx 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 supports all bus events specified by the common bus driver interface. As a consequence, the driver may be used with a hot-pluggable bus (for example, PCMCIA).
The table below summarizes characteristics of the m48txx driver:
driver name: | "sun:bus-m48txx-(nvram,rtc)" |
hardware: | SGS m48txx chip |
exported interfaces: | "rtc" (RTC_CLASS) "nvram" (NVRAM_CLASS) |
exported interface versions: | 0 (RTC_VERSION_INITIAL) 0 (NVRAM_VERSION_INITIAL) |
imported parent interface: | "bus" (BUS_CLASS) |
minimum parent interface version: | 0 (BUS_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: | supported |
The table below lists device node properties used by the m48txx driver. Note that the column "m/o" specifies whether a given property is mandatory or optional. For optional properties, the "default value" column may show 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> | * | |
"mem-rgn" | BUS_PROP_MEM_RGN | <bus class specific> | * | |
"nvram-layout" | NVRAM_PROP_LAYOUT | <NvramPropChunk[]> | o | |
"year-base" | M48TXX_PROP_YEAR_BASE | <M48txxYearBase> | o | 1900 |
* Indicates that one of these properties must be present. If both are defined, the BUS_PROP_IO_REGS will be used.
The BUS_PROP_IO_REGS property specifies the m48txx I/O registers' range. The property value is bus class specific.
The BUS_PROP_MEM_RGN property specifies the m48txx memory range. The property value is bus class specific.
The NVRAM_PROP_LAYOUT property specifies a physical layout of the NVRAM space. The property value is an array of NvramPropChunk structures. Each NvramPropChunk descriptor specifies access permissions to a given NVRAM chunk. NVRAM_PROP_LAYOUT covers all NVRAM space from the beginning to the end. A start offset of a given chunk is therefore calculated as the sum of the <size> fields of all previous chunks.
The M48TXX_PROP_YEAR_BASE property specifies the m48txx century base year.
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
---|---|
Interface Stability | Evolving |
bus(9DDI), isa(9DDI), nvram(9DDI), rtc(9DDI),
NAME | SYNOPSIS | FEATURES | DESCRIPTION | ATTRIBUTES | SEE ALSO