Commit Graph

214 Commits

Author SHA1 Message Date
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
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
Dario Nieuwenhuis
6d9f87356b
Merge pull request #2677 from ExplodingWaffle/peri-clock
stm32/rcc: wait for peripheral clock to be active. also, hold the peripheral reset while enabling the clock.
2024-03-18 16:23:28 +00:00
Harry Brooke
1f9ffbfb18 remove peripheral reads 2024-03-18 00:05:02 +00:00
Dario Nieuwenhuis
963fda2404
Merge pull request #2652 from timokroeger/stm32-ucpd
STM32 USB Type-C/USB Power Delivery Interface (UCPD)
2024-03-14 21:21:33 +00:00
Caleb Garrett
61050a16d5 Add CRYP DMA support. Updated example. 2024-03-12 12:01:14 -04: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
f761f721bc fix ci 2024-03-10 22:51:42 +00:00
Harry Brooke
2d7ec281e8 stm32/rcc: wait for peripheral clock to be active. also, hold the peripheral reset while enabling the clock. 2024-03-09 18:24:31 +00:00
Karun
fda6e3fb8c Resolve rustfmt issue and unused import errors 2024-03-07 15:23:45 -05:00
Karun Koppula
54751b7a50
Merge branch 'main' into karun/main_octospi_implementation 2024-03-07 15:20:29 -05:00
Karun
2ab1b2ac9a Update stm-32 build script to include ospi traits 2024-03-07 14:29:37 -05:00
Dario Nieuwenhuis
95234cddba stm32: autogenerate mux config for all chips. 2024-03-01 23:54:37 +01:00
Dario Nieuwenhuis
497515ed57
Merge pull request #2583 from OroArmor/tim_pll_clk
Enable PLL Clocks for TIMx peripherals on STM32F3xx Chips
2024-02-25 22:45:48 +00:00
Eli Orona
e79d2dd756 Move to internal mod and re-export the enums 2024-02-24 12:54:58 -08:00
Dario Nieuwenhuis
e67dfcb04f stm32/dma: add AnyChannel, add support for BDMA on H7. 2024-02-24 02:41:41 +01:00
Eli Orona
88e29608ed Rust fmt 2024-02-20 17:59:51 -08:00
Eli Orona
2ee9b37373 Move to a single Mux Struct. 2024-02-20 17:54:35 -08:00
Eli Orona
e99ef49611 Move to auto-generated based system. 2024-02-16 19:57:00 -08:00