Add support for I2Sext peripherals on stm32f3xx / stm32f4xx #675
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Full-duplex I2S opeeration on these platforms requires "I2Sext" peripherals that work alongside the SPI/I2S peripherals. This PR attempts to add support for these peripherals, in support of enabling full-duplex operation at the
embassy-stm32
layer.I tried following the directions in the README, invoking
./d extract-all
forI2S2ext
andI2S3ext
. This produced a few dozen YAML files, of which there were two unique classes modulo renaming of fields. I called thesei2sext_v1.yaml
for the F4 family and_v2.yaml
for the F3 family (following release date order). I added lines toperimap.rs
which ought to have caught the relevant peripherals.However, I hit a roadblock here. The entries in
PERIMAP
never hit, apparently because the I2Sext peripherals don't appear in the chip XML indata/cubedb
, from which theChipGroup
values are generated. Those XML files do contain the pin definitions that the ext-peripherals require (e.g., inSTM32F405RGTx.xml
, pinPB4
hasI2S3_ext_SD
).I would appreciate guidance on how to move forward here. I suspect that the I2Sext peripherals might need special handling like the I2S peripherals, but this is exceeding the bounds of my knowledge here.