Commit Graph

2887 Commits

Author SHA1 Message Date
dragonmux 5ba3293da2 usbd: Added an array length helper macro 2025-07-11 19:14:29 -07:00
dragonmux 7aa5270809 usb_control: Implemented support for dispatching to the microsoft OS descriptors handler 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 8f69cc974d usb_standard: Added computation of the total BOS length to build_bos_descriptor 2025-07-11 19:14:29 -07:00
dragonmux c0c642cb06 usb_control: Cleaned up in usb_control_request_dispatch() 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 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
Karl Palsson f205126650 doc: remove outdated pdf/latex references
pdf/latex docs were removed long ago, but not all references to them

Fixes: 9443856b68
2025-01-16 15:33:53 +00: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
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
Karl Palsson 2fe76ce62b ld/tests: add scripts for testing devices.data
More tests, who likes debugging regexps by hand/eye?

Signed-off-by: Karl Palsson <karlp@tweak.au>
2024-01-17 22:20:34 +00:00
Peter Rasmussen 3272a7a1f1 devices.data: expand stm32g[01] chip series
More parts added.
Reviewed-by: Karl Palsson <karlp@tweak.au>
2024-01-17 22:20:13 +00:00
Karl Palsson 67a5b2af16 genlink: allow better usage as a tool
calling sys.exit directly is so so ruuude.

I'm not testing every path right now, but this is vastly better already.

Signed-off-by: Karl Palsson <karlp@tweak.au>
2024-01-17 22:20:13 +00:00
Mattia Maldini 0817f9175e genlink.py: refactor to expose some kind of device info API
Reviewed-by: Karl Palsson <karlp@tweak.au>
2024-01-17 22:19:52 +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
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 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 4d23ac8714 lm4f/uart: Fixed up the naming of one of the variables in uart_set_databits() 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
Karl Palsson 9914cd1d6c usb: add missing stdint.h includes
Some class headers were not including stdint.h themselves, despite
relying on those types, and relying on them already being included
earlier elsewhere.  Consistently include stdint.h where it's used.

Fixes: https://github.com/libopencm3/libopencm3/issues/1471
Signed-off-by: Karl Palsson <karlp@tweak.au>
2023-03-07 14:23:49 +00: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
Karl Palsson f58ffd4ba7 ld: add stm23l412xx parts
Reported: https://github.com/libopencm3/libopencm3/pull/1449

Signed-off-by: Karl Palsson <karlp@tweak.au>
2023-02-03 00:23:18 +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 0878a04696 stm32g4: rcc: use SYSCLK consistently with other families
Signed-off-by: Karl Palsson <karlp@tweak.au>
2023-02-02 23:55:27 +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 b8bdc87d2d trivial: stm32f0:crc fix typo in doxygen
Signed-off-by: Karl Palsson <karlp@tweak.au>
2023-02-02 23:15:54 +00:00