]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - include/spi.h
Merge branch 'master' of git://www.denx.de/git/u-boot-imx
[karo-tx-uboot.git] / include / spi.h
index aba792244a86249e7373932fdd2f233d011eafcf..ffd66478b194180e10db2649b96dee8280f77751 100644 (file)
 #define SPI_XFER_MMAP          0x08    /* Memory Mapped start */
 #define SPI_XFER_MMAP_END      0x10    /* Memory Mapped End */
 #define SPI_XFER_ONCE          (SPI_XFER_BEGIN | SPI_XFER_END)
+#define SPI_XFER_U_PAGE                (1 << 5)
+
+/* SPI TX operation modes */
+#define SPI_OPM_TX_QPP         1 << 0
+
+/* SPI RX operation modes */
+#define SPI_OPM_RX_AS          1 << 0
+#define SPI_OPM_RX_DOUT                1 << 1
+#define SPI_OPM_RX_DIO         1 << 2
+#define SPI_OPM_RX_QOF         1 << 3
+#define SPI_OPM_RX_QIOF                1 << 4
+#define SPI_OPM_RX_EXTN                SPI_OPM_RX_AS | SPI_OPM_RX_DOUT | \
+                               SPI_OPM_RX_DIO | SPI_OPM_RX_QOF | \
+                               SPI_OPM_RX_QIOF
+
+/* SPI bus connection options */
+#define SPI_CONN_DUAL_SHARED   1 << 0
+#define SPI_CONN_DUAL_SEPARATED        1 << 1
 
 /* Header byte that marks the start of the message */
 #define SPI_PREAMBLE_END_BYTE  0xec
  *
  * @bus:               ID of the bus that the slave is attached to.
  * @cs:                        ID of the chip select connected to the slave.
+ * @op_mode_rx:                SPI RX operation mode.
+ * @op_mode_tx:                SPI TX operation mode.
  * @wordlen:           Size of SPI word in number of bits
  * @max_write_size:    If non-zero, the maximum number of bytes which can
  *                     be written at once, excluding command bytes.
  * @memory_map:                Address of read-only SPI flash access.
+ * @option:            Varies SPI bus options - separate, shared bus.
+ * @flags:             Indication of SPI flags.
  */
 struct spi_slave {
        unsigned int bus;
        unsigned int cs;
+       u8 op_mode_rx;
+       u8 op_mode_tx;
        unsigned int wordlen;
        unsigned int max_write_size;
        void *memory_map;
+       u8 option;
+       u8 flags;
 };
 
 /**