1 /* 2 * Copyright (c) 2021 Intel Corporation 3 * 4 * SPDX-License-Identifier: Apache-2.0 5 */ 6 #ifndef ZEPHYR_INCLUDE_DT_BINDINGS_SPI_SPI_H_ 7 #define ZEPHYR_INCLUDE_DT_BINDINGS_SPI_SPI_H_ 8 9 /** 10 * @brief SPI Interface 11 * @defgroup spi_interface SPI Interface 12 * @ingroup io_interfaces 13 * @{ 14 */ 15 16 /** 17 * @name SPI duplex mode 18 * @{ 19 * 20 * Some controllers support half duplex transfer, which results in 3-wire usage. 21 * By default, full duplex will prevail. 22 */ 23 #define SPI_FULL_DUPLEX (0U << 11) 24 #define SPI_HALF_DUPLEX (1U << 11) 25 /** @} */ 26 27 /** 28 * @name SPI Frame Format 29 * @{ 30 * 31 * 2 frame formats are exposed: Motorola and TI. 32 * The main difference is the behavior of the CS line. In Motorola it stays 33 * active the whole transfer. In TI, it's active only one serial clock period 34 * prior to actually make the transfer, it is thus inactive during the transfer, 35 * which ends when the clocks ends as well. 36 * By default, as it is the most commonly used, the Motorola frame format 37 * will prevail. 38 */ 39 #define SPI_FRAME_FORMAT_MOTOROLA (0U << 15) 40 #define SPI_FRAME_FORMAT_TI (1U << 15) 41 /** @} */ 42 43 /** 44 * @} 45 */ 46 47 #endif /* ZEPHYR_INCLUDE_DT_BINDINGS_SPI_SPI_H_ */ 48