From 9e110f120a323eff9989463771d8ea8ece6e8906 Mon Sep 17 00:00:00 2001 From: Jeff Epler Date: Thu, 25 Mar 2021 13:37:37 -0500 Subject: mimxrt10xx: busio: cap SPI baudrate at 30MHz per datasheet --- ports/mimxrt10xx/common-hal/busio/SPI.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'ports') diff --git a/ports/mimxrt10xx/common-hal/busio/SPI.c b/ports/mimxrt10xx/common-hal/busio/SPI.c index 1b72921d3..13a808618 100644 --- a/ports/mimxrt10xx/common-hal/busio/SPI.c +++ b/ports/mimxrt10xx/common-hal/busio/SPI.c @@ -234,6 +234,10 @@ void common_hal_busio_spi_deinit(busio_spi_obj_t *self) { bool common_hal_busio_spi_configure(busio_spi_obj_t *self, uint32_t baudrate, uint8_t polarity, uint8_t phase, uint8_t bits) { + if (baudrate > 30000000) { + baudrate = 30000000; // "Absolute maximum frequency of operation (fop) is 30 MHz" -- IMXRT1010CEC.pdf + } + LPSPI_Enable(self->spi, false); uint32_t tcrPrescaleValue; self->baudrate = LPSPI_MasterSetBaudRate(self->spi, baudrate, LPSPI_MASTER_CLK_FREQ, &tcrPrescaleValue); -- cgit v1.2.3