Commit Graph

1640 Commits

Author SHA1 Message Date
dragonmux
714e7b1c91 usb/dwc: Corrected how packets are written and loaded to the DWC2 FIFOs on the H7 2025-07-11 20:26:35 -07:00
dragonmux
7da573f9eb usb/dwc: Fixed some issues with how interrupts were being handled for the H7's DWC2 variant 2025-07-11 20:26:35 -07:00
dragonmux
76ba8900e3 usb/dwc: Fixed how the control endpoints are configured when built for STM32H7 2025-07-11 20:26:35 -07:00
dragonmux
51351862b9 usb/dwc: Added some defines that were missing for the DWC2 in the STM32H7 parts 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
a603670266 stm32/h7: Implemented support for the RCC reset status register 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
ee418f1780 usb: Fixed the USB string descriptor internal type appearing and being defined for C++ code, the unsized array member is UB in C++ 2025-07-11 20:26:35 -07:00
dragonmux
c31a239ae3 stm32/h7: Defined variant identification constants 2025-07-11 20:26:35 -07:00
dragonmux
7079ffdcac stm32/h7: Defined the device electronic signature addresses foro the memory map 2025-07-11 20:26:35 -07:00
dragonmux
da0a6a9ce4 usb/dwc: Fixed some type conversions errors in the common header 2025-07-11 20:26:35 -07:00
dragonmux
24cdca8101 usb/dwc: Enable the STM32H7 in the DWC2 support 2025-07-11 20:26:35 -07:00
dragonmux
903720f6dc stm32/h7: Added a couple of missing U(S)ART defines to the USART header 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
d294ebf746 stm32/h7: Added various missing peripherals to the RCC header 2025-07-11 20:26:35 -07:00
dragonmux
5baf6c9957 stm32/h7: Corrected the memory map, adding in base addresses for peripherals found on the value line parts 2025-07-11 20:26:35 -07:00
dragonmux
36326945c9 stm32/h7/rcc: Fixed a typo in one of the docs comments for the clocking configuration structure 2025-07-11 20:26:35 -07:00
blutack
bb152f3ab7 Enable fifos on G4 2025-07-11 19:28:40 -07:00
blutack
6778da3659 Add LPUART1 definition to usart.h for stm32g4x
Add LPUART1 definition for the STM32G4xx LPUART. It is possible to use LPUART1_BASE, but without the LPUART1 definition, usart_set_baudrate will calculate BRR incorrectly and the UART will not work due to an ifdef.
Tested and working @ 115200 on a NUCLEO-G474RE.
2025-07-11 19:28:40 -07:00
dragonmux
5864756482 stm32/timer: Exposed the new OC mode functions in the header 2025-07-11 19:15:56 -07:00
dragonmux
130ea30f52 usb/bos: Fixed how the BOS registration function is provided so it works with C++ code 2025-07-11 19:14:29 -07:00
dragonmux
c5e47af5da usb/microsoft: Implemented the feature descriptor structures 2025-07-11 19:14:29 -07:00
dragonmux
08293b8e0c usb/microsoft: Implemented more of the descriptor structures 2025-07-11 19:14:29 -07:00
dragonmux
5ba3293da2 usbd: Added an array length helper macro 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
9e0dbfc137 usb/microsoft: Implemented the set header structure 2025-07-11 19:14:29 -07:00
dragonmux
b7ddb7c7c0 usb: Implemented support for sending the Microsoft OS-specific descriptor component of a platform capability descriptor 2025-07-11 19:14:29 -07:00
dragonmux
c1247110d8 usb: Begun implementing microsoft OS-specific descriptor support 2025-07-11 19:14:29 -07:00
dragonmux
1bc180c639 usb_standard: Implemented support for sending out what we have so far of a BOS descriptor 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
Karl Palsson
201f5bcfb3 stm32/dmamux: fix typo in EDGE
Fixes: https://github.com/libopencm3/libopencm3/issues/1563
2024-10-10 21:47:39 +00:00
Karl Palsson
228f28fa66 stm32g4: flash: fix OPTR_DUALBANK definition
off by one error transcribing the document.

Fixes: https://github.com/libopencm3/libopencm3/issues/1559
2024-09-16 22:15:51 +00:00
Karl Palsson
b8e6e5d373 stm32h7: rcc: fix RCC_PLLFRAC address
copy/paste in original submission

Fixes: 2ca56f4c stm32h7: updates to PWR and RCC to support PLL configuration.
Fixes: https://github.com/libopencm3/libopencm3/issues/1547
Signed-off-by: Karl Palsson <karlp@tweak.au>
2024-06-21 22:36:43 +00:00
Roman Buchert
bb4c5d7324 stm32: quadspi: Add missing bracket at line 51.
Fixes: https://github.com/libopencm3/libopencm3/issues/1534
Reviewed-by: Karl Palsson <karlp@tweak.au>
2024-03-25 16:59:28 +00:00
neoxic
ec5aeba354 stm32g4: add IWDG support
Reviewed-by: Karl Palsson <karlp@tweak.au>
2024-03-11 09:11:29 +00:00
neoxic
0ee2477d08 stm32g4: fix ST_TSENSE_CAL2_110C -> ST_TSENSE_CAL2_130C
Fixes: 4e70d06d6 stm32g4: Add basic support
Reviewed-by: Karl Palsson <karlp@tweak.au>
2024-03-04 09:45:51 +00:00
Karl Palsson
1f3abd4376 stm32g4: irq.json: use fdcanX_itY consistently
Other families used fdcanX_itY already, and that matches the terminology
of the reference manual, so move to that style for consistency.

Signed-off-by: Karl Palsson <karlp@tweak.au>
2023-10-04 21:44:27 +00:00
TomasPech
1acf0c1f56 stm32g4: irc.json: fix FDCAN1_INT0/1 swap
The swapped lines generated the wrong nvic.h, then jumping into the wrong ISR.
See data sheet RM0440rev7 (page442, table 97).

Reviewed-by: Karl Palsson <karlp@tweak.au>
2023-10-04 21:40:45 +00:00
Karl Palsson
32a1692077 stm32/g4/dmamux: fix duplicated defines
Fixes: https://github.com/libopencm3/libopencm3/issues/1491

Signed-off-by: Karl Palsson <karlp@tweak.au>
2023-08-16 13:49:16 +00:00
dragonmux
10cfbd7652 lm4f/uart: Implemented a function to get the current parity setting for a UART 2023-04-16 22:18:43 -07:00
dragonmux
f0262cb4a9 lm4f/uart: Implemented a function to get the current stop bits setting for a UART 2023-04-16 22:18:43 -07:00
dragonmux
78ace36308 lm4f/uart: Implemented a function to get the current databits setting for a UART 2023-04-16 22:18:43 -07:00
dragonmux
c212d19cd4 usb/cdc: Added a definition for the GET_LINE_CODING class-specific request 2023-04-16 22:18:43 -07: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
189017b25c usb:msc: include referenced usbd_device headers
In addition to stdint.h, MSC directly relies on the usbd_device type
definition existing.  Ensure it has included it's own dependencies.

Fixes: https://github.com/libopencm3/libopencm3/issues/1471
Signed-off-by: Karl Palsson <karlp@tweak.au>
2023-03-07 14:27:20 +00:00