Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
019810c
sdio: initial SDIO HAL implementation
rmsyn May 26, 2025
a11c15a
sdio: add GPIO pins configuration
rmsyn May 30, 2025
2110fa4
sdio: add peripheral state
rmsyn May 30, 2025
e427983
sdio: use experimental `embedded-hal-sdio` crate
rmsyn Jun 4, 2025
c77c8c8
sdio: add `Sdio::bus_width` method
rmsyn Jun 10, 2025
f7b801d
sdio: add interrupt types
rmsyn Jun 10, 2025
2e8c367
fixup: esp-hal: fixup SDIO pin access
rmsyn Jun 19, 2025
60d0991
sdio: add init pin configuration
rmsyn Jun 21, 2025
3f5502d
sdio: add low-level init
rmsyn Jun 26, 2025
f51f8cf
sdio: add HINF register block
rmsyn Jun 26, 2025
0a138fc
sdio: add config + enable highspeed
rmsyn Jun 26, 2025
96d44aa
sdio: add set timing method
rmsyn Jun 26, 2025
fc0c2b9
sdio: change interrupt types to bitfields
rmsyn Jun 26, 2025
c13e082
sdio: add low-level interrupt enable method
rmsyn Jun 26, 2025
a84fc02
fixup: sdio: pac-specific init functions
rmsyn Jun 27, 2025
4a578c7
fixup: sdio: apply suggestions from @bugadani
rmsyn Jun 27, 2025
74c873c
fixup: sdio: remove PeripheralInstance trait
rmsyn Jun 28, 2025
a729997
metadata: add missing `SDIO_*` signals for ESP32-C6
rmsyn Jun 29, 2025
66a3fed
sdio: refactor pins to use `OutputSignal`
rmsyn Jun 29, 2025
cce46e2
fixup: sdio: fix conditional compilation selectors
rmsyn Jun 29, 2025
2627198
fixup: sdio: remove unnecessary `IntoAny*` impls
rmsyn Jul 3, 2025
4d9b1b0
dma: add `Owner` bool conversion
rmsyn Jul 5, 2025
be66124
sdio: add DMA descriptor types
rmsyn Jul 5, 2025
84f0040
dma: add DescriptorFlagFields trait
rmsyn Jul 11, 2025
52bc544
dma: implement DescriptorFlagFields
rmsyn Jul 11, 2025
47dec06
dma: better `Owner` ergonomics
rmsyn Jul 11, 2025
e4a14f8
dma: make DmaDescriptor generic
rmsyn Jul 11, 2025
f25ab58
dma: make Preparation generic
rmsyn Jul 13, 2025
df02ffa
dma: make DmaLoopBuf generic
rmsyn Jul 13, 2025
d0a9a1d
dma: make DmaRxStreamingBuf generic
rmsyn Jul 13, 2025
dd50049
dma: make DescriptorSet generic
rmsyn Jul 14, 2025
3e9594b
dma: make DmaTxBuf generic
rmsyn Jul 14, 2025
c416f75
dma: make DmaRxBuf generic
rmsyn Jul 14, 2025
3534ad5
dma: make DmaRxTxBuf generic
rmsyn Jul 14, 2025
464d4e7
dma: make ChannelTx generic
rmsyn Jul 14, 2025
55d5db1
fixup: sdio: convert interrupts to EnumSetType
rmsyn Jul 14, 2025
9341e6f
fixup: dma: remove `Generic` suffix
rmsyn Jul 14, 2025
64ec8eb
dma: add generic parameter to ChannelRx
rmsyn Jul 14, 2025
19427c3
dma: make DmaTxBuffer generic
rmsyn Jul 14, 2025
7230a4e
dma: make DmaRxBuffer generic
rmsyn Jul 14, 2025
3e18f56
fixup: dma: consistent generic parameter naming
rmsyn Jul 14, 2025
861de60
fixup: ci: esp toolchain version typo
rmsyn Jul 16, 2025
c23c744
fixup: dma: re-add `set_length` functions
rmsyn Jul 16, 2025
be0106e
sdio: add DMA atomic descriptor
rmsyn Jul 21, 2025
f1128ee
sdio: add atomic buffer
rmsyn Jul 21, 2025
b82b9fe
dep: add `bitfielder` dependency
rmsyn Aug 22, 2025
12a5012
sdio: add command types
rmsyn Aug 24, 2025
fad0037
sdio: add response types
rmsyn Aug 24, 2025
95aa646
WIP: sdio: add raw command/response functions
rmsyn Aug 27, 2025
e8cddbc
WIP: hil-tests: add SDIO test
rmsyn Aug 24, 2025
fa5b1fd
WIP: sdio: qa-test integration tests
rmsyn Aug 27, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ jobs:
# Install the Rust toolchain for Xtensa devices:
- uses: esp-rs/[email protected]
with:
version: 1.88.0.0
version: 1.88.0

# Install the Rust stable toolchain for RISC-V devices:
- uses: dtolnay/rust-toolchain@v1
Expand Down
1 change: 1 addition & 0 deletions esp-hal/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -137,6 +137,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- UART: Added HW and SW flow control config option (#3435)
- I2C master: `SoftwareTimeout` and `Config::with_software_timeout`. (#3577)
- `esp_hal::time::{Instant, Duration}` now implement `Hash` (#3577)
- Added `Sdio` support (#3503)

### Changed

Expand Down
6 changes: 6 additions & 0 deletions esp-hal/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ embassy-usb-synopsys-otg = { version = "0.3.0", optional = true }
embedded-can = { version = "0.4.1", optional = true }
esp-synopsys-usb-otg = { version = "0.4.2", optional = true }
nb = { version = "1.1.0", optional = true }
embedded-hal-sdmmc = { version = "0.1.0-alpha.3", optional = true }

# Logging interfaces, they are mutually exclusive so they need to be behind separate features.
defmt = { version = "1.0.1", optional = true }
Expand All @@ -70,6 +71,9 @@ rand_core-06 = { package = "rand_core", version = "0.6.4", optional
rand_core-09 = { package = "rand_core", version = "0.9.0", optional = true }
ufmt-write = { version = "0.1.0", optional = true }

# Alternative bitfield implementation with better performance
bitfielder = { version = "0.1.1", optional = true }

# IMPORTANT:
# Each supported device MUST have its PAC included below along with a
# corresponding feature.
Expand Down Expand Up @@ -248,6 +252,8 @@ unstable = [
"dep:rand_core-09",
"dep:nb",
"dep:ufmt-write",
"dep:embedded-hal-sdmmc",
"dep:bitfielder",
]

## Libraries that depend on `esp-hal` should enable this feature to indicate their use of unstable APIs.
Expand Down
Loading
Loading