summaryrefslogtreecommitdiff
path: root/include/spi.h
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2020-04-09 01:57:21 +0300
committerBin Meng <bmeng.cn@gmail.com>2020-04-16 09:36:28 +0300
commitb14ccfcf091f6d8f075043569b28ab385f5a481f (patch)
tree4980284d96c6f0654ae19485c145d9a1ae5c0e92 /include/spi.h
parent600f584d8191799acc19464c4a07f3056083057a (diff)
downloadu-boot-b14ccfcf091f6d8f075043569b28ab385f5a481f.tar.xz
spi: Add SPI mode enums
With ACPI we need to describe the settings of the SPI bus. Add enums to handle this. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Wolfgang Wallner <wolfgang.wallner@br-automation.com>
Diffstat (limited to 'include/spi.h')
-rw-r--r--include/spi.h33
1 files changed, 33 insertions, 0 deletions
diff --git a/include/spi.h b/include/spi.h
index 852f570eaa..2b4929fc79 100644
--- a/include/spi.h
+++ b/include/spi.h
@@ -67,6 +67,39 @@ struct dm_spi_slave_platdata {
#endif /* CONFIG_DM_SPI */
/**
+ * enum spi_clock_phase - indicates the clock phase to use for SPI (CPHA)
+ *
+ * @SPI_CLOCK_PHASE_FIRST: Data sampled on the first phase
+ * @SPI_CLOCK_PHASE_SECOND: Data sampled on the second phase
+ */
+enum spi_clock_phase {
+ SPI_CLOCK_PHASE_FIRST,
+ SPI_CLOCK_PHASE_SECOND,
+};
+
+/**
+ * enum spi_wire_mode - indicates the number of wires used for SPI
+ *
+ * @SPI_4_WIRE_MODE: Normal bidirectional mode with MOSI and MISO
+ * @SPI_3_WIRE_MODE: Unidirectional version with a single data line SISO
+ */
+enum spi_wire_mode {
+ SPI_4_WIRE_MODE,
+ SPI_3_WIRE_MODE,
+};
+
+/**
+ * enum spi_polarity - indicates the polarity of the SPI bus (CPOL)
+ *
+ * @SPI_POLARITY_LOW: Clock is low in idle state
+ * @SPI_POLARITY_HIGH: Clock is high in idle state
+ */
+enum spi_polarity {
+ SPI_POLARITY_LOW,
+ SPI_POLARITY_HIGH,
+};
+
+/**
* struct spi_slave - Representation of a SPI slave
*
* For driver model this is the per-child data used by the SPI bus. It can