diff options
-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)); } |