-
Notifications
You must be signed in to change notification settings - Fork 6.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add missing peripheral support on STM32F1 #81181
base: main
Are you sure you want to change the base?
Add missing peripheral support on STM32F1 #81181
Conversation
This commit remove an interrupt that doesn't exist for the STM32F103 line which caused gen_isr_tables.py to fail with error: IRQ 60 (offset=0) exceeds the maximum of 59. The interrupt does exist for STM32F105 and STM32F107 so most likely a copy-paste error. Signed-off-by: Benjamin Björnsson <[email protected]>
This commit adds missing I2S nodes for the F1 series. Signed-off-by: Benjamin Björnsson <[email protected]>
I successfully built
|
This commit updates hal_stm32 submodule after adding SDIO to F1 series pinctrl. Signed-off-by: Benjamin Björnsson <[email protected]>
Extend sdmmc driver to support the F1 series. This includes removing the RCC peripheral reset when building for F1 since this series doensn't have reset register for AHB peripherals. Therefore, it was neccesary to add an F1 specific compatible that removes the required resets property, as well as if-def the usage of reset in the device driver. Signed-off-by: Benjamin Björnsson <[email protected]>
Add sdmmc node to f103, this should cover all F1 series DTS files since SDIO exists on f103x(e-g) and f103xg dts file includes f103xe dtsi. Signed-off-by: Benjamin Björnsson <[email protected]>
The following west manifest projects have been modified in this Pull Request:
Note: This message is automatically posted and updated by the Manifest GitHub Action. |
Successfully built tests/drivers/disk/disk_access using waveshare_open103z with these local changes:
|
@@ -21,6 +21,7 @@ | |||
LOG_MODULE_REGISTER(stm32_sdmmc, CONFIG_SDMMC_LOG_LEVEL); | |||
|
|||
#define STM32_SDMMC_USE_DMA DT_NODE_HAS_PROP(DT_DRV_INST(0), dmas) | |||
#define STM32_SDMMC_USE_RESET !DT_NODE_HAS_COMPAT(DT_DRV_INST(0), st_stm32f1_sdmmc) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why not DT_NODE_HAS_PROP(DT_DRV_INST(0), reset)
?
@@ -302,11 +305,13 @@ static int stm32_sdmmc_access_init(struct disk_info *disk) | |||
return err; | |||
} | |||
|
|||
#if STM32_SDMMC_USE_RESET |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nit: Using IS_ENABLED()
to preserve readability (may have the consequence of having .reset
always present in the structure, but if we consider we're building a SDMMC application, so it can be seen as neglectible).
This being said proposed code is aligned with DMA handling, so keeping it this way could be ok as well. This is readability vs consistency ..
This PR aims at resolving #79809 which requests adding support for these peripherals to the STM32F1 series: