241 Commits

Author SHA1 Message Date
Romain Goyet
a1c9a2e8bd First working draft of a lptim driver
This driver is able to PWM a pin
2024-09-11 01:18:52 +02:00
Alexandros Liarokapis
2b7e76efe9 Fix dma nvic issues on dual core lines
This commit addresses #3256 by disabling dma NVIC interrupt enablement at startup.
Instead, per-channel NVIC interrupt enablement is now done with the rest of the dma channel configuration.
This ensures that each core will only handle the interrupts of the DMA channels that it uses.
2024-08-17 16:54:41 +03:00
Dion Dokter
2a7fe16ceb Improve shared data placement, require less atomic support and use unsafecell for the clocks 2024-08-05 11:18:16 +02:00
Dion Dokter
e39e93ead4 Improve use of CS 2024-07-09 09:56:15 +02:00
Dion Dokter
f6f312270f fmt 2024-07-09 09:37:49 +02:00
Dion Dokter
203297b569 Make clocks repr C.
Add shared data.
Modify freq functions to use shared data.
Modify examples to use new init/
2024-07-08 16:54:06 +02:00
Dario Nieuwenhuis
694ac3a515
Merge pull request #2992 from liarokapisv/i2s-spi_v3
Add spi v3 & Full-duplex support to the I2S driver.
2024-05-30 12:31:59 +00:00
Alexandros Liarokapis
25cc5241b1 Add i2s support for spi_v3. 2024-05-27 18:06:20 +03:00
Jan Špaček
081afca3f0 stm32/rcc: replace generated enable/disable code with runtime info 2024-05-25 18:44:55 +02:00
Dario Nieuwenhuis
ae49e58993
Merge pull request #2777 from taunusflieger/feature/HSEM
HSEM support for embassy-stm32
2024-05-21 21:34:50 +00:00
Michael Zill
7d350fb4c8 HSEM support for embassy-stm32 2024-05-21 23:08:44 +02:00
Dario Nieuwenhuis
2d8ec70f71
Merge pull request #2853 from nautd/kkoppul2/tsc
TSC implementation
2024-05-21 20:55:41 +00:00
Karun
253f6c42ee Address versioning and format issues raised by CI 2024-05-02 17:17:39 -04:00
Karun
0febc24de7 Initial fill out of driver without IO considerations 2024-05-02 17:17:38 -04:00
Joël Schulz-Ansres
f468d84a5b Cargo format 2024-05-02 13:50:07 +02:00
Joël Schulz-Ansres
9fe50a7639 Add stm32 dsihost driver 2024-05-02 13:43:42 +02:00
Dario Nieuwenhuis
fb67fe0a6c stm32: add support for STM32H7[RS] "bootflash line", add HIL tests. 2024-05-01 02:24:45 +02:00
Dario Nieuwenhuis
09a284e959 stm32: rename mod traits to macros. 2024-04-15 21:52:40 +02:00
Dario Nieuwenhuis
be087e5d43 stm32/spi: remove DMA generic params. 2024-04-15 21:23:49 +02:00
Dario Nieuwenhuis
921fa9af80
Merge pull request #2672 from nautd/karun/main_octospi_implementation
Octospi implementation
2024-04-04 21:41:34 +00:00
Dario Nieuwenhuis
6c35a1769d
Merge pull request #2697 from eZioPan/stm32-cordic
stm32 CORDIC driver
2024-04-04 21:32:27 +00:00
Boris Faure
1e399fbf9d stm32: fix typo in doc 2024-04-02 22:16:11 +02:00
Karun Koppula
9344f55ff3
Merge branch 'main' into karun/main_octospi_implementation 2024-04-02 15:51:50 -04:00
Emilie Burgun
ca998c170f Missing half of the implementation detail comment 2024-03-26 16:33:41 +01:00
Emilie Burgun
64964bd614 Add a config option to make the VDDIO2 supply line valid
On STM32L4[7-A]xx, STM32L5xxx and STM32U5xxx chips, the GPIOG[2..15] pins are only available
once the IOSV bit has been set in PWR->CR2 (U5 chips have the bit in a funkier register).

This is meant to allow the user to have control over this power supply, so the GPIOG pins
are initially insulated, until the user wishes to un-insulate them (or something like that?).
For most applications, though, the VDDIO2 is connected to the VDD line, and this behavior only
gets in the way and causes confusing issues.

This submission adds an option in `embassy_stm32::Config`, called `enable_independent_io_supply`,
which simply enables the IOSV bit. It is only available on chips for which I could find a mention
of IOSV (STM32L4 and STM32L5) or IO2SV (STM32U5).
2024-03-26 16:22:05 +01:00
eZio Pan
6b2e15e318 stm32 CORDIC: exclude stm32u5a 2024-03-26 15:06:06 +08:00
eZio Pan
cf065d439e stm32 CORDIC: ZeroOverhead q1.31 1 arg 1 res mode 2024-03-23 09:15:25 +08:00
Dario Nieuwenhuis
2bca875b5f stm32: use private_bounds for sealed traits. 2024-03-23 01:38:51 +01:00
Dario Nieuwenhuis
530ff9d4d3 stm32/usb: merge usb and usb_otg into single module. 2024-03-19 22:07:16 +01:00
Timo Kröger
30cdc6c9c5 [UCPD] Disable dead-battery resistor for all families
Using the code from PR #2683, thank you @ExplodingWaffle
Removes the dead-battery as selectable option because its unclear if
it can be re-enabled. Also there is no use case for it because the same
resistor can be configured with the sink option.
2024-03-12 08:49:27 +01:00
Timo Kröger
8a255b375b [UCPD] Instance and Pin Traits
Skip FRSTX pin for now. Its available twice in the device JSON as
FRSTX1 and FRSTX2 both with the same pins as targets.
I don’t know enough about the FRS (fast role switch) feature to
understand if that is correct and how to handle the pins.
2024-03-12 08:14:41 +01:00
Harry Brooke
d4869b83fc disable -> enable. also extracted to function for easy refactoring later 2024-03-11 23:03:09 +00:00
Harry Brooke
096d147dce stm32: add disable_ucpdx_dead_battery 2024-03-11 11:42:04 +00:00
Karun Koppula
54751b7a50
Merge branch 'main' into karun/main_octospi_implementation 2024-03-07 15:20:29 -05:00
Karun
f3609f2842 Add initial octopsi module 2024-03-07 14:30:53 -05:00
Caleb Garrett
29d0d80808
Merge branch 'main' into cryp 2024-02-25 21:21:21 -05:00
Dario Nieuwenhuis
c83ab20526 stm32: update metapac. 2024-02-26 03:02:58 +01:00
Caleb Garrett
79e5e8b052 Add cryp configuration. 2024-02-25 20:59:07 -05:00
Caleb Garrett
6e9ddd4626 Added hash module with blocking implementation. Included SHA256 example. 2024-01-31 21:21:36 -05:00
Dario Nieuwenhuis
9f6517e408 stm32,nrf: add warning on docs.rs directing the user to docs.embassy.dev. 2024-01-11 23:43:17 +01:00
Barnaby Walters
557399e2d6 Included README.md in docs 2024-01-11 20:00:33 +01:00
Christian Enderle
f1c077ed2e low-power: add stop support for stm32l5 2024-01-02 23:05:47 +01:00
Christian Enderle
cbdd570ad5 dbgmcu: add stm32l5 support 2024-01-02 22:21:59 +01:00
Christian Enderle
da31aa44c0 dbgmcu: set bits to false when disabled 2023-12-28 10:52:23 +01:00
Dario Nieuwenhuis
c8c8b89104 stm32: doc everything else. 2023-12-19 18:03:20 +01:00
Dario Nieuwenhuis
189b15c426 stm32/timer: docs. 2023-12-19 17:35:38 +01:00
Dario Nieuwenhuis
1ea87ec6e7 stm32: document hrtim, qspi, sdmmc, spi. 2023-12-19 16:21:51 +01:00
Dario Nieuwenhuis
49534cd405 stm32: more docs. 2023-12-19 00:10:36 +01:00
Dario Nieuwenhuis
6c746dcf39 Document how to bind multiple interrupts and handlers in bind_interrupts!. 2023-12-08 21:26:28 +01:00
Adam Greig
198ef8183e
STM32: Add UID driver 2023-12-03 23:17:49 +00:00