NAME | SYNOPSIS | FEATURES | DESCRIPTION | ATTRIBUTES | SEE ALSO
drv/src/uart/scc/sccUart.c - driver code drv/src/uart/scc/sccUartProp.h - driver specific properties
DRV
The sccuart driver implements the uart device driver interface. The driver works on a quicc "serial communication controller" device connected to an RS232 port.
The driver uses the quicc bus driver interface provided by a parent bus driver.
The sccuart driver does not provide the drv_probe() routine. In other words, the sccuart driver does not enumerate the quicc bus in order to detect an scc device and create an associated device node. When the sccuart driver is used, associated device nodes are created either statically by a boot program or dynamically by a quicc bus enumerator driver.
The sccuart driver provides the drv_bind() routine. This routine examines the device node properties in order to recognize an sccuart compatible device. The routine checks for a QUICC_PROP_CHANNEL property matching an scc device. If the check is positive, the drv_bind() routine binds the driver to the device node attaching a PROP_DRIVER property to it. The property value specifies the sccuart 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. Note that the drv_bind() routine does nothing if a PROP_DRIVER or a PROP_DBG_LINK property is already present in the device node. In other words, the drv_bind() routine does not override existing driver-to-device binding.
The driver provides the drv_unload() entry and supports the unloading driver component. This allows the driver component to be unloaded if it is no longer in use. Note that the driver component can be unloaded only if it has been dynamically loaded at run time. In other words, a resident driver component (embedded in the system bootable image) cannot be unloaded although the unloading is supported by the driver.
The driver supports the QUICC_SYS_SHUTDOWN and QUICC_DEV_SHUTDOWN bus events specified by the quicc bus driver interface.
The table below summarizes characteristics of the sccuart uart driver.
driver name: | "sun@quicc-scc-uart" |
hardware: | quicc /scc connected to RS232 |
exported interface: | "uart" (UART_CLASS) |
exported interface version: | 0 (UART_VERSION_INITIAL) |
imported parent interface: | "quicc" (QUICC_CLASS) |
minimal parent interface version: | 0 (UART_VERSION_INITIAL) |
device probing (auto-detection): | not supported |
driver to device binding: | supported (on channel basis) |
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 sccuart 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 |
---|---|---|---|---|
"mem-rgn" | QUICC_PROP_MEM_RGN | QuiccPropMemRgn[] | m | |
"brg" | QUICC_PROP_BRG | QuiccPropBrg | m | |
"intr" | QUICC_PROP_INTR | QuiccPropIntr | m | |
"channel" | QUICC_PROP_CHANNEL | QuiccPropChannel | m | |
"io-pin" | QUICC_PROP_IO_PIN | QuiccPropIoPin[] | m | |
"rx-fifo-sz" | SCCUART_PROP_RX_FIFO_SZ | SccUartPropFifoSz | o | 8 bytes |
"tx-fifo-sz" | SCCUART_PROP_TX_FIFO_SZ | SccUartPropFifoSz | o | 2 bytes |
The QUICC_PROP_MEM_RGN property specifies the memory regions used to map the scc controller registers and parameters: The property value is an array of QuiccPropMemRgn structures:
index SCCUART_REG is used to map scc registers
index SCCUART_PARAM is used to map scc parameters
The QUICC_PROP_BRG property specifies the baud rate generator used as the Rx and Tx clocks.
The QUICC_PROP_INTR property specifies the interrupt used by the scc controller.
The QUICC_PROP_CHANNEL property specifies the cpm scc channel used.
The QUICC_PROP_IO_PIN property specifies the parallel port I/O pins to be used for uart control and modem signals. The property value is an array of QuiccPropIoPin structures:
index SCCUART_CTS defines CTS input signal I/O pin and interrupt source
index SCCUART_DSR defines DSR input signal I/O pin and interrupt source
index SCCUART_RI defines RI input signal I/O pin and interrupt source
index SCCUART_DTR defines DTR output signal I/O pin and interrupt source
index SCCUART_RTS defines RTS output signal I/O pin and interrupt source
Note that all entries of the property are mandatory. If a given signal is not physically connected to a given platform, the "pin" field for the entry associated to this signal should be zero. In such a case the driver will not manage this signal.
The SCCUART_PROP_RX_FIFO_SZ property specifies the size in bytes of the receive FIFO buffer.
The SCCUART_PROP_TX_FIFO_SZ property specifies the size in bytes of the transmit FIFO buffer.
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
---|---|
Interface Stability | Evolving |
NAME | SYNOPSIS | FEATURES | DESCRIPTION | ATTRIBUTES | SEE ALSO