diff --git a/src/omv/boards/OPENMV4/omv_boardconfig.h b/src/omv/boards/OPENMV4/omv_boardconfig.h index 44ee8b826..5ca0b3804 100644 --- a/src/omv/boards/OPENMV4/omv_boardconfig.h +++ b/src/omv/boards/OPENMV4/omv_boardconfig.h @@ -276,8 +276,7 @@ #define SOFT_I2C_SPIN_DELAY 64 #define LEPTON_SPI (SPI3) -#define LEPTON_SPI_AF (GPIO_AF6_SPI3) -// SPI1/2/3 clock source is PLL2 (160MHz/8 == 20MHz). +// SPI1/2/3 clock source is PLL3 (160MHz/8 == 20MHz) - Minimum (164*240*8*27 = 8,501,760Hz) #define LEPTON_SPI_PRESCALER (SPI_BAUDRATEPRESCALER_8) #define LEPTON_SPI_IRQn (SPI3_IRQn) @@ -295,6 +294,11 @@ #define LEPTON_SPI_CLK_ENABLE() __HAL_RCC_SPI3_CLK_ENABLE() #define LEPTON_SPI_CLK_DISABLE() __HAL_RCC_SPI3_CLK_DISABLE() +#define LEPTON_SPI_SCLK_AF (GPIO_AF6_SPI3) +#define LEPTON_SPI_MISO_AF (GPIO_AF6_SPI3) +#define LEPTON_SPI_MOSI_AF (GPIO_AF7_SPI3) +#define LEPTON_SPI_SSEL_AF (GPIO_AF6_SPI3) + #define LEPTON_SPI_SCLK_PIN (GPIO_PIN_3) #define LEPTON_SPI_MISO_PIN (GPIO_PIN_4) #define LEPTON_SPI_MOSI_PIN (GPIO_PIN_5) diff --git a/src/omv/boards/OPENMV4P/omv_boardconfig.h b/src/omv/boards/OPENMV4P/omv_boardconfig.h index c9ab9d9a0..6fec5a9c7 100644 --- a/src/omv/boards/OPENMV4P/omv_boardconfig.h +++ b/src/omv/boards/OPENMV4P/omv_boardconfig.h @@ -288,8 +288,7 @@ #define SOFT_I2C_SPIN_DELAY 64 #define LEPTON_SPI (SPI3) -#define LEPTON_SPI_AF (GPIO_AF6_SPI3) -// SPI1/2/3 clock source is PLL2 (160MHz/8 == 20MHz). +// SPI1/2/3 clock source is PLL3 (160MHz/8 == 20MHz) - Minimum (164*240*8*27 = 8,501,760Hz) #define LEPTON_SPI_PRESCALER (SPI_BAUDRATEPRESCALER_8) #define LEPTON_SPI_IRQn (SPI3_IRQn) @@ -307,6 +306,11 @@ #define LEPTON_SPI_CLK_ENABLE() __HAL_RCC_SPI3_CLK_ENABLE() #define LEPTON_SPI_CLK_DISABLE() __HAL_RCC_SPI3_CLK_DISABLE() +#define LEPTON_SPI_SCLK_AF (GPIO_AF6_SPI3) +#define LEPTON_SPI_MISO_AF (GPIO_AF6_SPI3) +#define LEPTON_SPI_MOSI_AF (GPIO_AF7_SPI3) +#define LEPTON_SPI_SSEL_AF (GPIO_AF6_SPI3) + #define LEPTON_SPI_SCLK_PIN (GPIO_PIN_3) #define LEPTON_SPI_MISO_PIN (GPIO_PIN_4) #define LEPTON_SPI_MOSI_PIN (GPIO_PIN_5) diff --git a/src/omv/stm32fxxx_hal_msp.c b/src/omv/stm32fxxx_hal_msp.c index 39957986a..e72d335f4 100644 --- a/src/omv/stm32fxxx_hal_msp.c +++ b/src/omv/stm32fxxx_hal_msp.c @@ -283,18 +283,21 @@ void HAL_SPI_MspInit(SPI_HandleTypeDef *hspi) GPIO_InitTypeDef GPIO_InitStructure; GPIO_InitStructure.Pull = GPIO_PULLUP; GPIO_InitStructure.Mode = GPIO_MODE_AF_PP; - GPIO_InitStructure.Alternate = LEPTON_SPI_AF; GPIO_InitStructure.Speed = GPIO_SPEED_FREQ_LOW; + GPIO_InitStructure.Alternate = LEPTON_SPI_SCLK_AF; GPIO_InitStructure.Pin = LEPTON_SPI_SCLK_PIN; HAL_GPIO_Init(LEPTON_SPI_SCLK_PORT, &GPIO_InitStructure); + GPIO_InitStructure.Alternate = LEPTON_SPI_MISO_AF; GPIO_InitStructure.Pin = LEPTON_SPI_MISO_PIN; HAL_GPIO_Init(LEPTON_SPI_MISO_PORT, &GPIO_InitStructure); + GPIO_InitStructure.Alternate = LEPTON_SPI_MOSI_AF; GPIO_InitStructure.Pin = LEPTON_SPI_MOSI_PIN; HAL_GPIO_Init(LEPTON_SPI_MOSI_PORT, &GPIO_InitStructure); + GPIO_InitStructure.Alternate = LEPTON_SPI_SSEL_AF; GPIO_InitStructure.Pin = LEPTON_SPI_SSEL_PIN; HAL_GPIO_Init(LEPTON_SPI_SSEL_PORT, &GPIO_InitStructure); }