dragonmux
2a6059540d
stm32/h7: Implemented support for enabling the RTC clock source and peripheral
2025-07-11 20:26:35 -07:00
dragonmux
bf7929b723
stm32/h7: Fixed the consistency of the function definitions in the RCC implementation
2025-07-11 20:26:35 -07:00
dragonmux
26cb7f0ded
stm32/h7: Implemented support for the LSI clock source
2025-07-11 20:26:35 -07:00
dragonmux
7047e3d01c
stm32/h7: Implemented support for DMAMUX1
2025-07-11 20:26:35 -07:00
dragonmux
c0cd79359d
stm32/h7: Enabled the main DMA controllers
2025-07-11 20:26:35 -07:00
dragonmux
9087802ce7
stm32/h7: Enabled the CRC32 generator peripheral
2025-07-11 20:26:35 -07:00
dragonmux
94411df91f
stm32/common: Implemented oversampling control support for the F2/F4 parts
2025-07-11 20:26:35 -07:00
dragonmux
03a884bcca
stm32/h7: Fixed an issue with how the RCC implementation decides which VCO to use in a given PLL
2025-07-11 20:26:35 -07:00
dragonmux
0685d162df
stm32/h7: Fixed the accuracy of all the RCC clock frequency calculations as the Hz->MHz conversion was discarding too much information
2025-07-11 20:26:35 -07:00
dragonmux
10acaab08b
stm32/h7: Fixed a couple of issues with the clock selector handling for the USARTs and peripherals
2025-07-11 20:26:35 -07:00
dragonmux
74ffe55dc5
stm32/h7: Fixed an accuracy issue in the PLL clock input frequency calculation that resulted in all the follow-on calculations being way off in value
2025-07-11 20:26:35 -07:00
dragonmux
80ffd05933
stm32/h7: Fixed an issue with the naming of the D2CCIP2R selector constant for some of the USARTs
2025-07-11 20:26:35 -07:00
dragonmux
2d15b12ff2
stm32/common: Implement handling for setting the baud rate correctly when in 8x oversampling mode
2025-07-11 20:26:35 -07:00
dragonmux
9480f493b9
stm32/common: Implement support for DE and changing the oversampling mode
2025-07-11 20:26:35 -07:00
dragonmux
b622d4b555
stm32/h7: Implemented handling for bringing up the 3.3V USB voltage supply
2025-07-11 20:26:35 -07:00
dragonmux
972d408ba5
stm32/h7: Implemented support changing the clock routed to the USB peripherals in the RCC
2025-07-11 20:26:35 -07:00
dragonmux
2b6eb047e0
stm32/h7: Implemented support for the HSI48
2025-07-11 20:26:35 -07:00
dragonmux
9f8ce70771
stm32/h7: Enabled support for the CRS controller
2025-07-11 20:26:35 -07:00
dragonmux
cdd8f2adac
stm32/h7: Implemented support for the Flash controller having untangled the previous pretending it was the F2/F4 controller mess
2025-07-11 20:26:35 -07:00
dragonmux
83e571db67
stm32/h7: Fixed the QuadSPI headers not working with multiple peripehrals
2025-07-11 20:26:35 -07:00
dragonmux
c38a37c387
stm32/h7: Sorted a couple of missing peripheral register clock set cases
2025-07-11 20:26:35 -07:00
dragonmux
93423cbd9b
stm32/h7: Enabled DWC2-based USB support for the platform
2025-07-11 20:26:35 -07:00
blutack
bb152f3ab7
Enable fifos on G4
2025-07-11 19:28:40 -07:00
dragonmux
547b7c0e72
stm32/st_usbfs_v2: Fixed the use of pointer maths on void pointers in the packet I/O code
2025-07-11 19:18:13 -07:00
dragonmux
a50a15e660
stm32/common: Removed the unnecessary and standards-forbidden (void *) casts from the callback registrations
2025-07-11 19:18:13 -07:00
dragonmux
345b20fb9f
stm32/timer: Moved the OC4 mode logic into its own function
2025-07-11 19:15:56 -07:00
dragonmux
1254cb8cc8
stm32/timer: Moved the OC3 mode logic into its own function
2025-07-11 19:15:56 -07:00
dragonmux
a058f77434
stm32/timer: Moved the OC2 mode logic into its own function
2025-07-11 19:15:56 -07:00
dragonmux
f2a1f2b6ae
stm32/timer: Moved the OC1 mode logic into its own function
2025-07-11 19:15:56 -07:00
dragonmux
bf9094d46c
stm32: Added the new USB implementation objects to the build systems for the lineup
2025-07-11 19:14:29 -07:00
dragonmux
9efcb120f7
usb: Begun implementing support for sending the microsoft OS descriptor set structures
2025-07-11 19:14:29 -07:00
dragonmux
60ff345798
usb: Begun implementing support into the USB device machinary for BOS descriptors
2025-07-11 19:14:29 -07:00
dragonmux
1d97cbf6e1
usb: Begun implementing support for Binary Object Stores and their capability descriptors
2025-07-11 19:14:29 -07:00
Aron Szabo
3a85f91ed8
stm32l0: rcc: fix incorrect bit shift in rcc_set_lpuart1_sel()
...
The function `rcc_set_lpuart1_sel()` was incorrectly using `RCC_CCIPR_LPTIM1SEL_SHIFT`
instead of `RCC_CCIPR_LPUART1SEL_SHIFT`, causing incorrect LPUART1 clock source selection.
This patch corrects the bit shift to ensure the LPUART1SEL field is properly updated.
To verify check RM0377 Reference manual section 7.3.19.
2025-02-26 10:29:15 +01:00
neoxic
ec5aeba354
stm32g4: add IWDG support
...
Reviewed-by: Karl Palsson <karlp@tweak.au >
2024-03-11 09:11:29 +00:00
TomasPech
9545471e48
stm32g4: include desig support
...
Fixes: https://github.com/libopencm3/libopencm3/pull/1518
Reviewed-by: Karl Palsson <karlp@tweak.au >
2024-01-18 21:33:54 +00:00
Daniel Höpfl
eaea8dc12c
usb:st usbfs-v2: fix disconnect polarity
...
Fixes issue #1482 : Incorrect interpretation of disconnected parameter in st_usbfs_v2_disconnect
The `disconnected` parameter was interpreted incorrectly: When set to true it connected but should disconnect.
Reviewed-by: Karl Palsson <karlp@tweak.au >
2023-06-05 14:28:16 +00:00
dragonmux
56ec4c2b06
stm32/usart: Automatic whitespace cleanup
2023-04-16 22:18:43 -07:00
dragonmux
188671389d
stm32/usart: Implemented a function to get the current parity setting for a USART
2023-04-16 22:18:43 -07:00
dragonmux
48a8355874
stm32/usart: Implemented a function to get the current stop bits setting for a USART
2023-04-16 22:18:43 -07:00
dragonmux
0241982fb4
stm32/usart: Implemented a function to get the current databits setting for a USART
2023-04-16 22:18:43 -07:00
Karl Palsson
8bc483746b
stm32h7:usart: add common file to build
...
Without the common core, you couldn't actually link a project using the
usart peripherals.
Fixes: https://github.com/libopencm3/libopencm3/pull/1464
2023-02-03 14:22:22 +00:00
Rohit Nimkar
f3049c6699
doc: stm32: rcc: improve intellisense
...
Removed newline between the comment block and function definition
It enables vscode intellisense to display documentation about functions
Reviewed-by: Karl Palsson <karlp@tweak.au >
2023-02-03 00:15:12 +00:00
Harry Geyer
4d7a2ca271
stm32: When setting baudrate of a USART, first get the clock frequency for that USART.
...
Now that all families have support for calculating the clock of the
uart, use that layer. Slightly slower for "old" families, but the only
way to be correct for newer families.
Reviewed-by: Karl Palsson <karlp@tweak.au >
2023-02-03 00:02:59 +00:00
Karl Palsson
e643f66342
stm32g4:rcc: add uart peripheral clock source helpers
...
Required so that the common uart infrastructure can be updated. This was
the last family to receive this implementation.
Signed-off-by: Karl Palsson <karlp@tweak.au >
2023-02-03 00:02:59 +00:00
Karl Palsson
e9426db222
stm32l4: rcc: use SYSCLK consistently with other families
...
Signed-off-by: Karl Palsson <karlp@tweak.au >
2023-02-02 23:58:02 +00:00
Karl Palsson
f0575c3560
stm32g4: rcc: use datasheet naming for CCIPR fields
...
Follow HACKING specifications, be consistent with all other parts.
Yes, the SEL suffix is kinda superfluous, but it's _consistent_ which is
why we do it.
Signed-off-by: Karl Palsson <karlp@tweak.au >
2023-02-02 23:51:13 +00:00
Karl Palsson
66e2cc3ea8
doc: stm32f0: flash: more variants than F05x these days.
...
Don't be so restrictive with the names. Use the standard F0xx style.
Signed-off-by: Karl Palsson <karlp@tweak.au >
2023-02-02 23:17:18 +00:00
Karl Palsson
130075a12d
doc: stm32f0: comparator: move to "peripheral api" style
...
The COMP peripheral was left by it's own.
Signed-off-by: Karl Palsson <karlp@tweak.au >
2023-02-02 23:16:31 +00:00
Karl Palsson
e54650fba4
stm32f0: adc: external trigger selection to unshifted
...
Cleanup one function at a time. Use the correct doxygen references, use
unshifted forms in user facing apis. Yes, only the trigger at the
moment, as the polarity is shared.
Signed-off-by: Karl Palsson <karlp@tweak.au >
2023-02-02 22:47:44 +00:00