Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
50 commits
Select commit Hold shift + click to select a range
5f7a41f
sdio: initial SDIO HAL implementation
rmsyn May 26, 2025
89b9c80
sdio: add GPIO pins configuration
rmsyn May 30, 2025
4213c86
sdio: add peripheral state
rmsyn May 30, 2025
7c77c77
sdio: use experimental `embedded-hal-sdio` crate
rmsyn Jun 4, 2025
64cb6e7
sdio: add `Sdio::bus_width` method
rmsyn Jun 10, 2025
8a30508
sdio: add interrupt types
rmsyn Jun 10, 2025
f9abd11
fixup: esp-hal: fixup SDIO pin access
rmsyn Jun 19, 2025
7758646
sdio: add init pin configuration
rmsyn Jun 21, 2025
67dd51e
sdio: add low-level init
rmsyn Jun 26, 2025
072942b
sdio: add HINF register block
rmsyn Jun 26, 2025
8cbb7bc
sdio: add config + enable highspeed
rmsyn Jun 26, 2025
b2269a7
sdio: add set timing method
rmsyn Jun 26, 2025
fc4c756
sdio: change interrupt types to bitfields
rmsyn Jun 26, 2025
550a7ff
sdio: add low-level interrupt enable method
rmsyn Jun 26, 2025
94357a8
fixup: sdio: pac-specific init functions
rmsyn Jun 27, 2025
6886104
fixup: sdio: apply suggestions from @bugadani
rmsyn Jun 27, 2025
120b8f3
fixup: sdio: remove PeripheralInstance trait
rmsyn Jun 28, 2025
8b2465b
metadata: add missing `SDIO_*` signals for ESP32-C6
rmsyn Jun 29, 2025
e006545
sdio: refactor pins to use `OutputSignal`
rmsyn Jun 29, 2025
42a1337
fixup: sdio: fix conditional compilation selectors
rmsyn Jun 29, 2025
abbd9a1
fixup: sdio: remove unnecessary `IntoAny*` impls
rmsyn Jul 3, 2025
c73daf4
dma: add `Owner` bool conversion
rmsyn Jul 5, 2025
d939f28
sdio: add DMA descriptor types
rmsyn Jul 5, 2025
6a3c4b8
dma: add DescriptorFlagFields trait
rmsyn Jul 11, 2025
2dc4df6
dma: implement DescriptorFlagFields
rmsyn Jul 11, 2025
4d3ffe1
dma: better `Owner` ergonomics
rmsyn Jul 11, 2025
fc8cbed
dma: make DmaDescriptor generic
rmsyn Jul 11, 2025
3600dde
dma: make Preparation generic
rmsyn Jul 13, 2025
6646d22
dma: make DmaLoopBuf generic
rmsyn Jul 13, 2025
d154163
dma: make DmaRxStreamingBuf generic
rmsyn Jul 13, 2025
bfa3e7c
dma: make DescriptorSet generic
rmsyn Jul 14, 2025
81c3398
dma: make DmaTxBuf generic
rmsyn Jul 14, 2025
7aa32e8
dma: make DmaRxBuf generic
rmsyn Jul 14, 2025
6b66394
dma: make DmaRxTxBuf generic
rmsyn Jul 14, 2025
b8299b5
dma: make ChannelTx generic
rmsyn Jul 14, 2025
0c8c171
fixup: sdio: convert interrupts to EnumSetType
rmsyn Jul 14, 2025
47bdef3
fixup: dma: remove `Generic` suffix
rmsyn Jul 14, 2025
bca63d8
dma: add generic parameter to ChannelRx
rmsyn Jul 14, 2025
69b19ba
dma: make DmaTxBuffer generic
rmsyn Jul 14, 2025
dee5564
dma: make DmaRxBuffer generic
rmsyn Jul 14, 2025
8bdec9d
fixup: dma: consistent generic parameter naming
rmsyn Jul 14, 2025
e6ac45c
fixup: ci: esp toolchain version typo
rmsyn Jul 16, 2025
93e0e47
fixup: dma: re-add `set_length` functions
rmsyn Jul 16, 2025
cdc8de1
sdio: add DMA atomic descriptor
rmsyn Jul 21, 2025
00a6fea
sdio: add atomic buffer
rmsyn Jul 21, 2025
a895ffd
dep: add `bitfielder` dependency
rmsyn Aug 22, 2025
29dde9e
sdio: add command types
rmsyn Sep 7, 2025
3a78dba
sdio: add response types
rmsyn Sep 11, 2025
70733b3
WIP: sdio: add raw command/response functions
rmsyn Sep 4, 2025
e5c9931
sdio: qa-test integration tests
rmsyn Sep 11, 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 @@ -118,7 +118,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 @@ -185,6 +185,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 @@ -80,6 +80,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 @@ -99,6 +100,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 @@ -279,6 +283,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