-
Notifications
You must be signed in to change notification settings - Fork 7.7k
drivers: sdio: Support SDIO driver for STM32. #89776
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
drivers: sdio: Support SDIO driver for STM32. #89776
Conversation
6df147b
to
5c833af
Compare
Rename the driver source file to `sdhc_stm32_v2.c` to prevent conflicts with the file introduced in upcoming PR zephyrproject-rtos#89776.
5c833af
to
b72e9a9
Compare
First of all, thanks for this! Tried building the new sample, but it fails with the error
(AFAICS CI did not build it). I think this is caused by a very recently merged commit (f9e5eeb from #89086) being included. The name can be defined of course, but I am not sure if this has additional implications. |
I see, will push a fix now |
b72e9a9
to
4fb1bce
Compare
15f0824
a8d74ba
to
15f0824
Compare
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.
Thanks for this! Let's get this very useful feature merged.
Hey @danieldegrasse, you are still blocking this, can you take a look? |
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.
Only remaining blocking comment is about adding the SDHC sample that reads/writes to the card common I/O area- if we can use use the sdio subsystem test for this I'd prefer not to add another test with overlapping functionality
break; | ||
|
||
default: | ||
LOG_DBG("Unsupported Command, opcode:%d", cmd->opcode); |
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.
Non-blocking, but I might change this to a LOG_ERR
. Users should have a relatively easy way to see that this driver only supports the SDIO stack.
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.
@ExaltZephyr sorry for not following up here- does this sample still need to be added, or could we extend test/subsys/sd/sdio
?
Moving PR assignment to @danieldegrasse as I'll be off for a couple of weeks. |
@danieldegrasse I felt it would be helpful to have both a test and a sample—especially Zephyr currently doesn’t include any SDHC sample. |
If the test and sample do something functionally distinct, I am fine with having both. However I don't want to add a sample that performs the same operations as the test- that is just additional code to maintain. From my read of the sample, it performs the same operations as the SDIO test, right? If that is the case, I would prefer we remove the sample, yeah- the SDHC driver class is inherently only supposed to be used by the SD subystem, so samples are really just there to leverage the SDHC drivers- whether that be through SDMMC disk I/O or a WiFi sample using the SDIO stack. |
This commit enables SDHC support for STM32 on arduino portenta h7, giga r1 and nicla vision boards. Signed-off-by: Sara Touqan <zephyr@exalt.ps>
This commit expands the SDIO subsystem test suite by adding support for write test. Also this commit adds needed conf/overlay files for arduino portenta h7, nicla vision and giga r1 for wifi_nm tests Signed-off-by: Sara Touqan <zephyr@exalt.ps>
3684849
15f0824
to
3684849
Compare
@danieldegrasse done, I dropped the sample's commit |
|
This PR introduces support for the SDHC driver on STM32, enabling functionality APIs for SDHC host controllers.
We used Portenta H7 but we faced some issues with end-to-end testing with airoc-wifi module, which will be addressed later.
Supported commands
Supported Modes
Integration with the Airoc driver for Murata 1DX
Known Issues
During card identification process, specifically when issuing cmd opcode#3 asking for card relative address, both zephyr subsys and HAL shift the relative address coming from the response.-
HAL_SDIO_Init currently failing if we skip the card identification sequence, a fix from HAL is needed.✔️ this issue has been addressed in this PR #281.