diff options
| author | Jeff Epler <jepler@unpythonic.net> | 2021-03-25 13:37:37 -0500 |
|---|---|---|
| committer | Jeff Epler <jepler@unpythonic.net> | 2021-03-26 10:01:53 -0500 |
| commit | 9e110f120a323eff9989463771d8ea8ece6e8906 (patch) | |
| tree | 63d746d0c361f6dbc2248b0db8cc16c4f4e1a876 | |
| parent | 155b61f0275efc1eac805ed37070834e81bb32ba (diff) | |
mimxrt10xx: busio: cap SPI baudrate at 30MHz per datasheet
| -rw-r--r-- | ports/mimxrt10xx/common-hal/busio/SPI.c | 4 |
1 files changed, 4 insertions, 0 deletions
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); |
