Skip to content

Commit 6b65d60

Browse files
asmellbykartben
authored andcommitted
drivers: spi: gecko: eusart: Support LSB first and GPIO CS
Propagate bit ordering and type of CS pin to HAL layer. Previously, the driver assumed MSB first and EUSART hardware CS control. Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
1 parent 93cb20b commit 6b65d60

File tree

1 file changed

+2
-5
lines changed

1 file changed

+2
-5
lines changed

drivers/spi/spi_gecko_eusart.c

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -82,11 +82,6 @@ static int spi_eusart_config(const struct device *dev, const struct spi_config *
8282
return -ENOTSUP;
8383
}
8484

85-
if (config->operation & SPI_TRANSFER_LSB) {
86-
LOG_ERR("LSB first not supported");
87-
return -ENOTSUP;
88-
}
89-
9085
if (config->operation & SPI_OP_MODE_SLAVE) {
9186
LOG_ERR("Slave mode not supported");
9287
return -ENOTSUP;
@@ -133,6 +128,8 @@ static int spi_eusart_config(const struct device *dev, const struct spi_config *
133128
eusartAdvancedSpiInit.csPolarity = eusartCsActiveLow;
134129
}
135130

131+
eusartAdvancedSpiInit.msbFirst = !(config->operation & SPI_TRANSFER_LSB);
132+
eusartAdvancedSpiInit.autoCsEnable = !spi_cs_is_gpio(config);
136133
eusartInit.databits = eusartDataBits8;
137134
eusartInit.advancedSettings = &eusartAdvancedSpiInit;
138135

0 commit comments

Comments
 (0)