From 85d5f6c17cb2610b99209cac7c2a74d6849d834d Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Wed, 6 Mar 2019 13:26:29 +0100 Subject: bsp/atsam: Accept only 8/16 bits per word For proper 16 bits per word support we need probably some DMA adjustments. For 9 to 15 bits per word we need support for the variable peripheral select, see SR_MR[PS] register bit. --- bsps/arm/atsam/spi/atsam_spi_bus.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/bsps/arm/atsam/spi/atsam_spi_bus.c b/bsps/arm/atsam/spi/atsam_spi_bus.c index a9d1366c32..6819de639a 100644 --- a/bsps/arm/atsam/spi/atsam_spi_bus.c +++ b/bsps/arm/atsam/spi/atsam_spi_bus.c @@ -326,8 +326,7 @@ static int atsam_check_configure_spi(atsam_spi_bus *bus, const spi_ioc_transfer || msg->cs != bus->base.cs ) { if ( - msg->bits_per_word < 8 - || msg->bits_per_word > 16 + (msg->bits_per_word != 8 && msg->bits_per_word != 16) || msg->mode > 3 || msg->speed_hz > bus->base.max_speed_hz ) { @@ -458,9 +457,8 @@ static int atsam_spi_setup(spi_bus *base) atsam_spi_bus *bus = (atsam_spi_bus *)base; if ( - bus->base.speed_hz > MAX_SPI_FREQUENCY || - bus->base.bits_per_word < 8 || - bus->base.bits_per_word > 16 + bus->base.speed_hz > MAX_SPI_FREQUENCY + || (bus->base.bits_per_word != 8 && bus->base.bits_per_word != 16) ) { return -EINVAL; } -- cgit v1.2.3