diff --git a/src/main/drivers/bus_spi.c b/src/main/drivers/bus_spi.c index f02726472..6d1ab8dcd 100644 --- a/src/main/drivers/bus_spi.c +++ b/src/main/drivers/bus_spi.c @@ -47,23 +47,39 @@ busDevice_t spiBusDevice[SPIDEV_COUNT]; SPIDevice spiDeviceByInstance(SPI_TypeDef *instance) { #ifdef USE_SPI_DEVICE_1 - if (instance == SPI1) + if (instance == SPI1) { return SPIDEV_1; + } #endif #ifdef USE_SPI_DEVICE_2 - if (instance == SPI2) + if (instance == SPI2) { return SPIDEV_2; + } #endif #ifdef USE_SPI_DEVICE_3 - if (instance == SPI3) + if (instance == SPI3) { return SPIDEV_3; + } #endif #ifdef USE_SPI_DEVICE_4 - if (instance == SPI4) + if (instance == SPI4) { return SPIDEV_4; + } +#endif + +#ifdef USE_SPI_DEVICE_5 + if (instance == SPI5) { + return SPIDEV_5; + } +#endif + +#ifdef USE_SPI_DEVICE_6 + if (instance == SPI6) { + return SPIDEV_6; + } #endif return SPIINVALID; diff --git a/src/main/pg/bus_spi.c b/src/main/pg/bus_spi.c index 2fa20de08..72c3726d5 100644 --- a/src/main/pg/bus_spi.c +++ b/src/main/pg/bus_spi.c @@ -53,6 +53,12 @@ const spiDefaultConfig_t spiDefaultConfig[] = { #ifdef USE_SPI_DEVICE_4 { SPIDEV_4, IO_TAG(SPI4_SCK_PIN), IO_TAG(SPI4_MISO_PIN), IO_TAG(SPI4_MOSI_PIN), SPI4_TX_DMA_OPT, SPI4_RX_DMA_OPT }, #endif +#ifdef USE_SPI_DEVICE_5 + { SPIDEV_5, IO_TAG(SPI5_SCK_PIN), IO_TAG(SPI5_MISO_PIN), IO_TAG(SPI5_MOSI_PIN), SPI5_TX_DMA_OPT, SPI5_RX_DMA_OPT }, +#endif +#ifdef USE_SPI_DEVICE_6 + { SPIDEV_6, IO_TAG(SPI6_SCK_PIN), IO_TAG(SPI6_MISO_PIN), IO_TAG(SPI6_MOSI_PIN), SPI6_TX_DMA_OPT, SPI6_RX_DMA_OPT }, +#endif }; PG_REGISTER_ARRAY_WITH_RESET_FN(spiPinConfig_t, SPIDEV_COUNT, spiPinConfig, PG_SPI_PIN_CONFIG, 1); diff --git a/src/main/target/common_defaults_post.h b/src/main/target/common_defaults_post.h index f42c4728a..b3919713e 100644 --- a/src/main/target/common_defaults_post.h +++ b/src/main/target/common_defaults_post.h @@ -224,6 +224,17 @@ #define SPI4_MOSI_PIN NONE #endif +#ifdef USE_SPI_DEVICE_5 +#define SPI5_SCK_PIN NONE +#define SPI5_MISO_PIN NONE +#define SPI5_MOSI_PIN NONE +#endif + +#ifdef USE_SPI_DEVICE_6 +#define SPI6_SCK_PIN NONE +#define SPI6_MISO_PIN NONE +#define SPI6_MOSI_PIN NONE +#endif #else // Pin defaults for backward compatibility @@ -556,6 +567,22 @@ #define SPI4_RX_DMA_OPT (DMA_OPT_UNUSED) #endif #endif +#ifdef USE_SPI_DEVICE_5 +#ifndef SPI5_TX_DMA_OPT +#define SPI5_TX_DMA_OPT (DMA_OPT_UNUSED) +#endif +#ifndef SPI5_RX_DMA_OPT +#define SPI5_RX_DMA_OPT (DMA_OPT_UNUSED) +#endif +#endif +#ifdef USE_SPI_DEVICE_6 +#ifndef SPI6_TX_DMA_OPT +#define SPI6_TX_DMA_OPT (DMA_OPT_UNUSED) +#endif +#ifndef SPI6_RX_DMA_OPT +#define SPI6_RX_DMA_OPT (DMA_OPT_UNUSED) +#endif +#endif #endif #ifdef USE_UART1