diff options
author | Matt Baker <baker.matt.j@gmail.com> | 2022-09-21 21:45:51 -0700 |
---|---|---|
committer | KevinOConnor <kevin@koconnor.net> | 2022-12-02 11:31:42 -0500 |
commit | c5d56f4438de4fd9b9a06948415eb5c8f3ecdbd7 (patch) | |
tree | 68a733022592bf8e671b27172b1d04f7740ea2bd /src/stm32/spi.c | |
parent | 9ab367d8136d059c14f0cc5e9ab0a198d744d5b4 (diff) | |
download | kutter-c5d56f4438de4fd9b9a06948415eb5c8f3ecdbd7.tar.gz kutter-c5d56f4438de4fd9b9a06948415eb5c8f3ecdbd7.tar.xz kutter-c5d56f4438de4fd9b9a06948415eb5c8f3ecdbd7.zip |
stm32g4: implement build,usb,can,i2c,spi,serial,adc.
Signed-off-by: Matt Baker <baker.matt.j@gmail.com>
Diffstat (limited to 'src/stm32/spi.c')
-rw-r--r-- | src/stm32/spi.c | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/src/stm32/spi.c b/src/stm32/spi.c index 52ec69e1..17a84232 100644 --- a/src/stm32/spi.c +++ b/src/stm32/spi.c @@ -21,14 +21,17 @@ DECL_ENUMERATION("spi_bus", "spi1", 1); DECL_CONSTANT_STR("BUS_PINS_spi1", "PA6,PA7,PA5"); DECL_ENUMERATION("spi_bus", "spi1a", 2); DECL_CONSTANT_STR("BUS_PINS_spi1a", "PB4,PB5,PB3"); -#if !CONFIG_MACH_STM32F1 +#if CONFIG_MACH_STM32G4 + DECL_ENUMERATION("spi_bus", "spi2_PA10_PA11_PF1", 3); + DECL_CONSTANT_STR("BUS_PINS_spi2_PA10_PA11_PF1", "PA10,PA11,PF1"); +#elif !CONFIG_MACH_STM32F1 DECL_ENUMERATION("spi_bus", "spi2a", 3); DECL_CONSTANT_STR("BUS_PINS_spi2a", "PC2,PC3,PB10"); #endif #ifdef SPI3 DECL_ENUMERATION("spi_bus", "spi3", 4); DECL_CONSTANT_STR("BUS_PINS_spi3", "PB4,PB5,PB3"); - #if CONFIG_MACH_STM32F4 + #if CONFIG_MACH_STM32F4 || CONFIG_MACH_STM32G4 DECL_ENUMERATION("spi_bus", "spi3a", 5); DECL_CONSTANT_STR("BUS_PINS_spi3a", "PC11,PC12,PC10"); #ifdef SPI4 @@ -51,10 +54,14 @@ static const struct spi_info spi_bus[] = { { SPI2, GPIO('B', 14), GPIO('B', 15), GPIO('B', 13), SPI_FUNCTION }, { SPI1, GPIO('A', 6), GPIO('A', 7), GPIO('A', 5), SPI_FUNCTION }, { SPI1, GPIO('B', 4), GPIO('B', 5), GPIO('B', 3), SPI_FUNCTION }, +#if CONFIG_MACH_STM32G4 + { SPI2, GPIO('A', 10), GPIO('A', 11), GPIO('F', 1), SPI_FUNCTION }, +#else { SPI2, GPIO('C', 2), GPIO('C', 3), GPIO('B', 10), SPI_FUNCTION }, +#endif #ifdef SPI3 { SPI3, GPIO('B', 4), GPIO('B', 5), GPIO('B', 3), GPIO_FUNCTION(6) }, - #if CONFIG_MACH_STM32F4 + #if CONFIG_MACH_STM32F4 || CONFIG_MACH_STM32G4 { SPI3, GPIO('C', 11), GPIO('C', 12), GPIO('C', 10), GPIO_FUNCTION(6) }, #ifdef SPI4 { SPI4, GPIO('E', 13), GPIO('E', 14), GPIO('E', 12), GPIO_FUNCTION(5) }, @@ -79,8 +86,9 @@ spi_setup(uint32_t bus, uint8_t mode, uint32_t rate) gpio_peripheral(spi_bus[bus].mosi_pin, spi_bus[bus].function, 0); gpio_peripheral(spi_bus[bus].sck_pin, spi_bus[bus].function, 0); - // Configure CR2 on stm32 f0/g0/l4 -#if CONFIG_MACH_STM32F0 || CONFIG_MACH_STM32G0 || CONFIG_MACH_STM32L4 + // Configure CR2 on stm32 f0/g0/l4/g4 +#if CONFIG_MACH_STM32F0 || CONFIG_MACH_STM32G0 || CONFIG_MACH_STM32L4 \ + || CONFIG_MACH_STM32G4 spi->CR2 = SPI_CR2_FRXTH | (7 << SPI_CR2_DS_Pos); #endif } |