summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sys/dev/spibus/spi.h3
-rw-r--r--sys/dev/spibus/spibus.c3
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));
}
OpenPOWER on IntegriCloud