summaryrefslogtreecommitdiff
path: root/hw/bsp/stm32f7/family.c
AgeCommit message (Collapse)Author
2026-06-11Fix stm32f723disco host/cdc_msc_hid HIL: UART RX starvation + DWC2 DMA ↵Ha Thach
split-IN NAK storm (#3677) Fix stm32f723disco host HIL: UART RX starvation + DWC2 split bulk NAK/XactErr handling (#3677) stm32f7 BSP — UART RX starvation - The host console USART shared interrupt priority with the USB OTG ISR, so a long OTG interrupt could starve RXNE and drop received bytes. Raise the USART RX IRQ above OTG_FS/OTG_HS in both the bare-metal and FreeRTOS init paths, guarded by #ifdef UART_ID so boards without a UART console keep the default OTG priority. dwc2 host — split NAK/XactErr handling - Slave mode: a persistently-NAKing split bulk/control IN poll re-armed the start-split immediately, storming the ISR and starving task context. Throttle by disabling the channel and re-arming on the resulting halt (no frame deferral). - Buffer-DMA mode: a pure split bulk-OUT NAK was unhandled, leaving the channel halted and stalling the transfer — the dominant cause of CDC echo truncation. Handle it by rewinding the buffer pointers and retrying the start-split (Programming Guide v4.20a 5.1.4.2). - Buffer-DMA mode: a split bulk-OUT XactErr was retried immediately, exhausting HCD_XFER_ERROR_MAX before the transient cleared. Throttle via channel_disable + re-arm to give the hub TT a recovery gap, mirroring slave mode. - All three are scoped to split transfers (hcsplt.split_en); non-split NAK/XactErr keep the core-handled / immediate-retry behavior. The OUT XactErr throttle also excludes periodic split, where channel_disable() is a no-op and would wedge the channel. The nak_disabled flag is generalized to retry_disabled and honors xfer->closing so an endpoint close during a throttled retry tears down cleanly. Verified on stm32f723disco HIL (slave + CFG_TUH_DWC2_DMA_ENABLE): host/cdc_msc_hid, msc_file_explorer, and device_info all pass on both variants; DMA CDC echo went from ~15-25% raw failure to 10/10 clean.
2026-04-29ensure board_uart_write return -1 on defaultHiFiPhile
Signed-off-by: HiFiPhile <[email protected]>
2026-04-03update stm32 to use better uart idhathach
2026-04-03stm32 add uart hwfifo if supported, otherwise usb tu_fifo_t for receive uart ↵hathach
in irq
2026-03-18add board_uart_read() for f7hathach
2026-02-28replace board_millis() with tusb_time_millis_api()hathach
2026-02-13use CFG_TUD_CONFIGURE_DWC2_DEFAULT to make it easier to add more valuehathach
2026-01-31bsp/stm32f7: update vbus senseHiFiPhile
Signed-off-by: HiFiPhile <[email protected]>
2025-11-25bsp: Disable SysTick ISR if FreeRTOS is enabledZixun LI
2025-10-24fix more warningshathach
2025-07-04Revise DCache with RTT sectionHiFiPhile
Signed-off-by: HiFiPhile <[email protected]>
2025-06-13hw/h7rs: Enable D-Cache in BSPHiFiPhile
Signed-off-by: HiFiPhile <[email protected]>
2024-12-27embed metadata to family.c and board.h to generate supported boards dochathach
2024-11-13hil add stm32f723disco, add test flags for device/host/dualhathach
2024-11-06update bsp for f7hathach
2024-11-04usbh use the new tusb_time_delay_ms_api()hathach
fix duplicated device attach for some devices which cause "USBH Defer Attach until current enumeration complete" include dev0 for tuh_edpt_abort_xfer()
2024-10-31fix f7 ci buildhathach
2024-10-18testing hcd with f723 due to h743eval issue with mfx vbus drive.hathach
2023-10-31Fix STM32F7 OTG_HS GPIO alt mapping.HiFiPhile
2023-10-31minor clean uphathach
2023-08-04add uid for some stm32hathach
2023-08-03more board_api.h renamehathach
2023-06-25run ci with -DCMAKE_BUILD_TYPE=MinSizeRelhathach
2023-03-16fix HAL_Delay no effect bug on st platformtyustli
2023-01-22update stm32f7 to build with iarhathach
2022-06-01rename board specific macro for examplehathach
- BOARD_DEVICE/HOST_RHPORT_NUM to BOARD_TUD/H_RHPORT - BOARD_DEVICE/HOST_RHPORT_SPEED to BOARD_TUD/H_MAX_SPEED
2021-10-17more with -Wcast-qualhathach
2021-08-29disable systick when running freertos on other stm familieshathach
2021-03-03group h743eval and h743nucleo into stm32h7hathach
tested and work well
2021-01-13add f746disco into f7 grouphathach
2021-01-13add stlinkv3mini to f7 grouphathach
2021-01-13add stm32f769disco into f7 familyhathach
2021-01-13add f767nucleo to stm32f7 grouphathach
2021-01-13adding stm32f7 familyhathach