Go to the source code of this file.
Functions | |
int | NplSpiBusSelect (NUTSPINODE *node, uint32_t tmo) |
Select a device on the first SPI bus. | |
int | NplSpiBusDeselect (NUTSPINODE *node) |
Deselect a device on the first SPI bus. | |
int | NplSpiBusNodeInit (NUTSPINODE *node) |
Initialize an SPI bus node. | |
int | NplSpiBusPollTransfer (NUTSPINODE *node, CONST void *txbuf, void *rxbuf, int xlen) |
Transfer data on the SPI bus in polling mode. | |
Variables | |
NUTSPIBUS | spiBusNpl |
SPI bus driver implementation structure. |
int NplSpiBusSelect | ( | NUTSPINODE * | node, | |
uint32_t | tmo | |||
) |
Select a device on the first SPI bus.
Locks and activates the bus for the specified node.
node | Specifies the SPI bus node. | |
tmo | Timeout in milliseconds. To disable timeout, set this parameter to NUT_WAIT_INFINITE. |
Definition at line 153 of file spibus_npl.c.
References EIO, errno, NUTASSERT, NutEventPost(), NutEventWait(), and SPI_MODE_UPDATE.
int NplSpiBusDeselect | ( | NUTSPINODE * | node | ) |
Deselect a device on the first SPI bus.
Deactivates the chip select and unlocks the bus.
node | Specifies the SPI bus node. |
Definition at line 190 of file spibus_npl.c.
References NUTASSERT, and NutEventPost().
int NplSpiBusNodeInit | ( | NUTSPINODE * | node | ) |
Initialize an SPI bus node.
This routine is called for each SPI node, which is registered via NutRegisterSpiDevice().
node | Specifies the SPI bus node. |
Definition at line 215 of file spibus_npl.c.
References NUTASSERT.
int NplSpiBusPollTransfer | ( | NUTSPINODE * | node, | |
CONST void * | txbuf, | |||
void * | rxbuf, | |||
int | xlen | |||
) |
Transfer data on the SPI bus in polling mode.
A device must have been selected by calling NplSpiSelect().
node | Specifies the SPI bus node. | |
txbuf | Pointer to the transmit buffer. If NULL, undetermined byte values are transmitted. | |
rxbuf | Pointer to the receive buffer. If NULL, then incoming data is discarded. | |
xlen | Number of bytes to transfer. |
Definition at line 248 of file spibus_npl.c.
References inb, NPL_MMCDR, NPL_MMCREADY, NPL_SLR, NUTASSERT, and outb.
NUTSPIBUS spiBusNpl |
{ NULL, NULL, 0, NULL, NplSpiBusNodeInit, NplSpiBusSelect, NplSpiBusDeselect, NplSpiBusPollTransfer, NutSpiBusWait, NutSpiBusSetMode, NutSpiBusSetRate, NutSpiBusSetBits }
SPI bus driver implementation structure.
Definition at line 280 of file spibus_npl.c.