From 8be8723eadfc145afcdbf5d04e126164f1cbfb68 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Onur=20=C3=96zkan?= Date: Sat, 1 Aug 2026 22:28:06 +0300 Subject: [PATCH] platforms/stm32f7: enable GPIOA before USART2 setup --- platforms/stm32f7/src/f722/board.rs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/platforms/stm32f7/src/f722/board.rs b/platforms/stm32f7/src/f722/board.rs index c556f00..e2b23cb 100644 --- a/platforms/stm32f7/src/f722/board.rs +++ b/platforms/stm32f7/src/f722/board.rs @@ -206,6 +206,13 @@ fn initialize_icm42688( configure_spi3_pins_pc10_pc11_pc12(&device.RCC, &device.GPIOC); configure_exti3_pin_pc3(&device.GPIOC); configure_exti3(&device.RCC, device.SYSCFG, device.EXTI); + // PA2/PA3 writes take effect only after enabling the GPIOA bus clock. + // The ICM route enables GPIOA later for chip select, which is too late for + // the USART2 alternate-function configuration below. + device + .RCC + .ahb1enr() + .modify(|_, write| write.gpioaen().set_bit()); configure_usart2_pins_pa2_pa3(&device.GPIOA); configure_vertical_pins(&device.RCC, &device.GPIOA, &device.GPIOB, vertical);