231 Commits

Author SHA1 Message Date
Dario Nieuwenhuis
4e3d066251
Merge pull request #3779 from algesten/fix/f107-rcc
Full RCC support for STM32F107
2025-01-24 09:13:45 +00:00
Martin Algesten
c72d9ec859 Review fixes 2025-01-24 09:16:24 +01:00
Dario Nieuwenhuis
195b1a593a
Merge pull request #3792 from adamgreig/stm32-clkmux-unreachable
stm32: Change unreachable panic to explicit error message when access…
2025-01-22 01:22:37 +00:00
Adam Greig
da8612e95b
stm32: Change unreachable panic to explicit error message when accessing clock-muxed peripherals set to invalid clocks 2025-01-22 01:17:20 +00:00
mahu-wm
42817c4259
Fix issue with enabled split-pxy feature
The fixed error message is:
error[E0425]: cannot find value `pin_name` in this scope
2025-01-20 10:55:21 +01:00
Dario Nieuwenhuis
2a06eb2459
Merge pull request #3667 from williams-one/stm32u5-add-hspi-support
STM32U5: add HSPI support
2025-01-07 21:15:54 +00:00
Dario Nieuwenhuis
90cb610ef7
Merge pull request #3716 from elagil/fix_stm32f4_i2s_clocks
Fix STM32F4 I2S clock calculations
2025-01-07 22:06:20 +01:00
William Spinelli
19efea195d stm32u5: Add support for HSPI peripheral 2025-01-07 21:55:08 +01:00
Dario Nieuwenhuis
103bb0dfaa stm32: generate singletons only for pins that actually exist.
Before we'd generate all pins Px0..Px15 for each GPIOx port. This changes
codegen to only generate singletons for actually-existing pins.

(AFs were already previously filtered, so these non-existing pins were already mostly useless)
2025-01-07 20:46:08 +01:00
Dario Nieuwenhuis
7f05c1e439 Update stm32-metapac. 2025-01-06 15:40:05 +01:00
elagil
cf606a161f fix: STM32F4 I2S clock calculations 2025-01-03 22:57:31 +01:00
Olof
7cf96e4730
Merge branch 'embassy-rs:main' into u5_adc 2024-12-18 01:48:25 +01:00
decaday
18020d672d fix: error message for multiple time-driver-xxx cargo features 2024-12-02 16:51:50 +08:00
elagil
62dbdcd45a feat: add SPDIFRX driver 2024-11-18 20:51:22 +01:00
Dario Nieuwenhuis
ecac24a1c7 stm32: Fix build for chips with octospim but not octospi2. 2024-10-21 01:30:21 +02:00
HaoboGu
0222faa8a1
Add octospim support for octospi (#3102)
* feat: add octospim to ospi

Signed-off-by: Haobo Gu <haobogu@outlook.com>

* feat: make octospim behind feature gate

Signed-off-by: Haobo Gu <haobogu@outlook.com>

* refactor: fix fmt issue

Signed-off-by: Haobo Gu <haobogu@outlook.com>

* refactor: fix ci failure

Signed-off-by: Haobo Gu <haobogu@outlook.com>

* feat: add octospim reg writing code

Signed-off-by: Haobo Gu <haobogu@outlook.com>

* feat(octospi): enable rcc for octospim at the initialization

Signed-off-by: Haobo Gu <haobogu@outlook.com>

* fix: add octospim feature gate

Signed-off-by: Haobo Gu <haobogu@outlook.com>

* fix: fix cfg flag

Signed-off-by: Haobo Gu <haobogu@outlook.com>

* fix: fix rcc register on stm32l4 and stm32u5

Signed-off-by: Haobo Gu <haobogu@outlook.com>

* feat(ospi): support OCTOSPI2 in build.rs

Signed-off-by: Haobo Gu <haobogu@outlook.com>

* feat(ospi): add OCTOSPI2 pin impls

Signed-off-by: HaoboGu <haobogu@outlook.com>

* feat(ospi): support both ospi instances in stm32 OCTOSPIM

Signed-off-by: Haobo Gu <haobogu@outlook.com>

---------

Signed-off-by: Haobo Gu <haobogu@outlook.com>
Signed-off-by: HaoboGu <haobogu@outlook.com>
2024-10-13 22:32:22 +02:00
klownfish
60347976b2 Merge remote-tracking branch 'origin/main' into u5_adc 2024-09-24 20:46:04 +02:00
klownfish
3ce40f41fb WIP: add u5 adc4 2024-09-24 19:03:20 +02:00
Kevin
85b7c8957c Add presence check for OTG_HS peripheral on STM32H7R/S series 2024-09-22 01:11:32 +02:00
Romain Goyet
69208daf6d stm32: Fixing stupid typo (thanks @dirbaio) 2024-09-11 01:18:52 +02:00
Romain Goyet
652133bce4 stm32: Support LPTIM v1 and v2 2024-09-11 01:18:52 +02:00
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
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
ac5b7edb05
Merge pull request #3144 from Stupremee/better-clock-messages
Better panic message when peripheral clock is not enabled
2024-07-03 09:30:24 +00:00
Justus K
9e4e536769
Better panic message when peripheral clock is not enabled 2024-07-03 08:32:00 +02:00
Alexandros Liarokapis
02b096915f add asynchrous sequence read support to adc v4 2024-07-02 17:07:18 +03:00
seth
f64dd8228b new PR, taking Dirbao's advice to make the DMA impl in a separate struct that consumes Adc<T> to make RingBufferedAdc<T>. Handling overrun similar to RingBufferedUart 2024-06-24 17:09:43 -07:00
Jan Špaček
bfb380e8ca Copy build_common.rs into each crate, to make cargo publish happy 2024-05-31 08:07:51 +02:00
Jan Špaček
368893c9cb Emit cargo:rustc-check-cfg instructions from build.rs 2024-05-30 18:28:29 +02:00
Jan Špaček
081afca3f0 stm32/rcc: replace generated enable/disable code with runtime info 2024-05-25 18:44:55 +02:00
Jan Špaček
183f2f6913 stm32/usart: remove instance generic params 2024-05-23 16:32:15 +02:00
Dario Nieuwenhuis
2d8ec70f71
Merge pull request #2853 from nautd/kkoppul2/tsc
TSC implementation
2024-05-21 20:55:41 +00:00
Dario Nieuwenhuis
6a508b3210 stm32: use funcs for info/state, const for ENABLE_BIT. 2024-05-21 01:24:10 +02:00
Dario Nieuwenhuis
eeb6ffce4c stm32/rcc: add ClockEnableBit struct. 2024-05-20 23:37:20 +02:00
Karun
bcd923a4b0 fix create build pin traits 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
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
1ed2a0504a stm32/dma: add support for same channel with different req in different DMAs/DMAMUXes. 2024-04-29 23:56:15 +02:00
Dario Nieuwenhuis
7fb74ff756 stm32: rustfmt generated files in build.rs 2024-04-29 23:51:33 +02:00
Dario Nieuwenhuis
6f44d7a9df stm32: update metapac. Adds U5 LPDMA, fixes ADC_COMMONs. 2024-04-29 20:52:27 +02:00
Dario Nieuwenhuis
fcaa7de87e stm32/rcc: make ClockMux non_exhasutive. 2024-04-15 01:12:28 +02:00
Dario Nieuwenhuis
1f3b690f76 stm32/flash: remove otp flash regions (removed in newer metapacs). 2024-04-14 22:06:41 +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
Karun Koppula
9344f55ff3
Merge branch 'main' into karun/main_octospi_implementation 2024-04-02 15:51:50 -04:00
eZio Pan
6b2e15e318 stm32 CORDIC: exclude stm32u5a 2024-03-26 15:06:06 +08:00
eZio Pan
2fa04d93ed stm32 CORDIC: DMA for q1.31 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