diff --git a/dts/bindings/spi/spi-device.yaml b/dts/bindings/spi/spi-device.yaml index e529ba5c146..c556596375b 100644 --- a/dts/bindings/spi/spi-device.yaml +++ b/dts/bindings/spi/spi-device.yaml @@ -29,3 +29,17 @@ properties: enum: - 0 - 2048 + frame-format: + type: int + default: 0 + required: false + description: | + Motorola or TI frame format. By default it's always Motorola's, + thus 0 as this is, by far, the most common format. + Use the macros not the actual enum value, here is the concordance + list (see dt-bindings/spi/spi.h) + 0 SPI_FRAME_FORMAT_MOTOROLA + 32768 SPI_FRAME_FORMAT_TI + enum: + - 0 + - 32768 diff --git a/include/drivers/spi.h b/include/drivers/spi.h index befd7e7ce11..43ec41168c8 100644 --- a/include/drivers/spi.h +++ b/include/drivers/spi.h @@ -117,22 +117,6 @@ extern "C" { #define SPI_CS_ACTIVE_HIGH BIT(14) /** @} */ -/** - * @name SPI Frame Format - * @{ - * - * 2 frame formats are exposed: Motorola and TI. - * The main difference is the behavior of the CS line. In Motorala it stays - * active the whole transfer. In TI, it's active only one serial clock period - * prior to actually make the transfer, it is thus inactive during the transfer, - * which ends when the clocks ends as well. - * By default, as it is the most commonly used, the Motorola frame format - * will prevail. - */ -#define SPI_FRAME_FORMAT_MOTOROLA (0U << 15) -#define SPI_FRAME_FORMAT_TI (1U << 15) -/** @} */ - /** * @name SPI MISO lines (if @kconfig{CONFIG_SPI_EXTENDED_MODES} is enabled) * @{ diff --git a/include/dt-bindings/spi/spi.h b/include/dt-bindings/spi/spi.h index 2c3ea9bbbd5..f6854fb62d3 100644 --- a/include/dt-bindings/spi/spi.h +++ b/include/dt-bindings/spi/spi.h @@ -24,6 +24,22 @@ #define SPI_HALF_DUPLEX (1U << 11) /** @} */ +/** + * @name SPI Frame Format + * @{ + * + * 2 frame formats are exposed: Motorola and TI. + * The main difference is the behavior of the CS line. In Motorala it stays + * active the whole transfer. In TI, it's active only one serial clock period + * prior to actually make the transfer, it is thus inactive during the transfer, + * which ends when the clocks ends as well. + * By default, as it is the most commonly used, the Motorola frame format + * will prevail. + */ +#define SPI_FRAME_FORMAT_MOTOROLA (0U << 15) +#define SPI_FRAME_FORMAT_TI (1U << 15) +/** @} */ + /** * @} */