diff options
author | imp <imp@FreeBSD.org> | 2012-08-01 01:18:36 +0000 |
---|---|---|
committer | imp <imp@FreeBSD.org> | 2012-08-01 01:18:36 +0000 |
commit | a66041e632f6b1461daed52fa6d4242156114088 (patch) | |
tree | 37fb05a2251e50d42a24808fa0dd22e3e218ffae /sys/dev/spibus | |
parent | 7f137631a106c55e1c56771b29ef5f86c434176c (diff) | |
download | FreeBSD-src-a66041e632f6b1461daed52fa6d4242156114088.zip FreeBSD-src-a66041e632f6b1461daed52fa6d4242156114088.tar.gz |
Add the chip select glue.
Diffstat (limited to 'sys/dev/spibus')
-rw-r--r-- | sys/dev/spibus/spi.h | 3 | ||||
-rw-r--r-- | sys/dev/spibus/spibus.c | 3 |
2 files changed, 6 insertions, 0 deletions
diff --git a/sys/dev/spibus/spi.h b/sys/dev/spibus/spi.h index 663f5ff..4f89e94 100644 --- a/sys/dev/spibus/spi.h +++ b/sys/dev/spibus/spi.h @@ -1,6 +1,7 @@ /* $FreeBSD$ */ struct spi_command { + int cs; void *tx_cmd; uint32_t tx_cmd_sz; void *rx_cmd; @@ -10,3 +11,5 @@ struct spi_command { void *rx_data; uint32_t rx_data_sz; }; + +#define SPI_CHIP_SELECT_HIGH 0x1 /* Chip select high (else low) */ diff --git a/sys/dev/spibus/spibus.c b/sys/dev/spibus/spibus.c index 43b4e7e..0f8e359 100644 --- a/sys/dev/spibus/spibus.c +++ b/sys/dev/spibus/spibus.c @@ -158,6 +158,9 @@ spibus_hinted_child(device_t bus, const char *dname, int dunit) static int spibus_transfer_impl(device_t dev, device_t child, struct spi_command *cmd) { + /* Maybe set flags too? spi mode? */ + spibus_get_cs(dev, &cmd->cs); + return (SPIBUS_TRANSFER(device_get_parent(dev), child, cmd)); } |