From 3627276f58f4557ef980d13d02928102230adf11 Mon Sep 17 00:00:00 2001 From: Matthew Kennedy Date: Mon, 26 Feb 2024 14:30:08 -0500 Subject: [PATCH] support spi4/5/6 --- firmware/config/stm32f4ems/efifeatures.h | 9 +++------ firmware/hw_layer/hardware.cpp | 2 +- firmware/hw_layer/ports/cypress/mpu_util.cpp | 2 +- firmware/hw_layer/ports/kinetis/mpu_util.cpp | 2 +- firmware/integration/rusefi_config.txt | 14 +++++++++++++- 5 files changed, 19 insertions(+), 10 deletions(-) diff --git a/firmware/config/stm32f4ems/efifeatures.h b/firmware/config/stm32f4ems/efifeatures.h index fd48400bca..725d29bf0a 100644 --- a/firmware/config/stm32f4ems/efifeatures.h +++ b/firmware/config/stm32f4ems/efifeatures.h @@ -402,14 +402,11 @@ #define EFI_INTERNAL_FAST_ADC_GPT &GPTD6 #define EFI_SPI1_AF 5 - #define EFI_SPI2_AF 5 - -/** - * This section is for right-side center SPI - */ - #define EFI_SPI3_AF 6 +#define EFI_SPI4_AF 5 +#define EFI_SPI5_AF 5 +#define EFI_SPI6_AF 6 /** * Patched version of ChibiOS/RT support extra details in the system error messages diff --git a/firmware/hw_layer/hardware.cpp b/firmware/hw_layer/hardware.cpp index 2e93a0dfc6..f3795113c4 100644 --- a/firmware/hw_layer/hardware.cpp +++ b/firmware/hw_layer/hardware.cpp @@ -75,7 +75,7 @@ #endif #if HAL_USE_SPI -extern bool isSpiInitialized[5]; +extern bool isSpiInitialized[6]; /** * Only one consumer can use SPI bus at a given time diff --git a/firmware/hw_layer/ports/cypress/mpu_util.cpp b/firmware/hw_layer/ports/cypress/mpu_util.cpp index f2dc7184c5..8e5becda1c 100644 --- a/firmware/hw_layer/ports/cypress/mpu_util.cpp +++ b/firmware/hw_layer/ports/cypress/mpu_util.cpp @@ -65,7 +65,7 @@ void HardFaultVector(void) { } #if HAL_USE_SPI || defined(__DOXYGEN__) -bool isSpiInitialized[5] = { false, false, false, false, false }; +bool isSpiInitialized[6] = { false, false, false, false, false, false }; static int getSpiAf(SPIDriver *driver) { #if STM32_SPI_USE_SPI1 diff --git a/firmware/hw_layer/ports/kinetis/mpu_util.cpp b/firmware/hw_layer/ports/kinetis/mpu_util.cpp index 9950376e04..0a25072b6d 100644 --- a/firmware/hw_layer/ports/kinetis/mpu_util.cpp +++ b/firmware/hw_layer/ports/kinetis/mpu_util.cpp @@ -58,7 +58,7 @@ void HardFaultVector(void) { } #if HAL_USE_SPI || defined(__DOXYGEN__) -bool isSpiInitialized[5] = { false, false, false, false, false }; +bool isSpiInitialized[6] = { false, false, false, false, false, false }; static int getSpiAf(SPIDriver *driver) { #if STM32_SPI_USE_SPI1 diff --git a/firmware/integration/rusefi_config.txt b/firmware/integration/rusefi_config.txt index 1b75bd9d46..3dad9d254e 100644 --- a/firmware/integration/rusefi_config.txt +++ b/firmware/integration/rusefi_config.txt @@ -1642,7 +1642,19 @@ int8_t[TRACTION_CONTROL_ETB_DROP_SIZE x TRACTION_CONTROL_ETB_DROP_SIZE] traction float auxSpeed1Multiplier float brakeMeanEffectivePressureDifferential -uint8_t[146] unusedOftenChangesDuringFirmwareUpdate;;"units", 1, 0, 0, 1, 0 + Gpio spi4mosiPin; + Gpio spi4misoPin; + Gpio spi4sckPin; + + Gpio spi5mosiPin; + Gpio spi5misoPin; + Gpio spi5sckPin; + + Gpio spi6mosiPin; + Gpio spi6misoPin; + Gpio spi6sckPin; + +uint8_t[128] unusedOftenChangesDuringFirmwareUpdate;;"units", 1, 0, 0, 1, 0 ! end of engine_configuration_s end_struct