Bluetooth: hci: spi: add support for new SPI API
Add shim routines for the new SPI driver API. Signed-off-by: Marti Bolivar <marti.bolivar@linaro.org>
This commit is contained in:
parent
bd5c2c07b3
commit
272e8ffccd
1 changed files with 32 additions and 3 deletions
|
@ -125,9 +125,38 @@ static inline int bt_spi_transceive(const void *tx, u32_t tx_len,
|
|||
{
|
||||
return spi_transceive(spi_dev, tx, tx_len, rx, rx_len);
|
||||
}
|
||||
#else
|
||||
/* TODO add support for the new SPI API */
|
||||
#endif
|
||||
#else /* !defined(CONFIG_SPI_LEGACY_API) */
|
||||
static struct spi_config spi_conf = {
|
||||
.frequency = CONFIG_BT_SPI_MAX_CLK_FREQ,
|
||||
.operation = (SPI_OP_MODE_MASTER | SPI_TRANSFER_MSB | SPI_WORD_SET(8) |
|
||||
SPI_LINES_SINGLE),
|
||||
.vendor = 0,
|
||||
.slave = 0,
|
||||
.cs = NULL,
|
||||
};
|
||||
static struct spi_buf spi_tx_buf;
|
||||
static struct spi_buf spi_rx_buf;
|
||||
|
||||
static inline int bt_spi_dev_configure(void)
|
||||
{
|
||||
spi_conf.dev = spi_dev;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline int bt_spi_transceive(const void *tx, u32_t tx_len,
|
||||
void *rx, u32_t rx_len)
|
||||
{
|
||||
/*
|
||||
* It's OK to cast away const here: &spi_tx_buf is treated as
|
||||
* const by spi_transceive().
|
||||
*/
|
||||
spi_tx_buf.buf = (void *)tx;
|
||||
spi_tx_buf.len = (size_t)tx_len;
|
||||
spi_rx_buf.buf = rx;
|
||||
spi_rx_buf.len = (size_t)rx_len;
|
||||
return spi_transceive(&spi_conf, &spi_tx_buf, 1, &spi_rx_buf, 1);
|
||||
}
|
||||
#endif /* CONFIG_SPI_LEGACY_API */
|
||||
|
||||
static inline u16_t bt_spi_get_cmd(u8_t *txmsg)
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue