Line data Source code
1 0 : /*
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 0 : #define SPI_FULL_DUPLEX (0U << 11)
24 0 : #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 0 : #define SPI_FRAME_FORMAT_MOTOROLA (0U << 15)
40 0 : #define SPI_FRAME_FORMAT_TI (1U << 15)
41 : /** @} */
42 :
43 : /**
44 : * @}
45 : */
46 :
47 : #endif /* ZEPHYR_INCLUDE_DT_BINDINGS_SPI_SPI_H_ */
|