Eduard Drusa
458250dc61
STM32G4: Add support for FDCAN
...
Add stm32g4 support for FDCAN peripheral. Normal / FDCAN operation
supported, bitrate switching and filtering supported via API.
Timestamping and transmit event buffer support in API are TBD.
Originally tracked as: https://github.com/libopencm3/libopencm3/pull/1317
Reviewed-by: Karl Palsson <karlp@tweak.net.au >
2021-03-16 20:46:15 +00:00
Jean THOMAS
a9cc695381
stm32: i2c: Use const qualifier for read-only pointer in i2c_transfer7
2021-02-26 13:07:20 +00:00
Brian Viele
c2dbea012b
stm32h7: Updated pwr and rcc configs to support devices with SMPS.
...
Worked in nuances for differences between versions of STM32H7 devices, such as
handling of ODEN, explicit SCUEN bit, and different VOS mappings. This has
been validated on the STM32H7A3 and STM32H743 MCUs.
2021-02-04 09:43:47 +00:00
Karl Palsson
7b88c2d9d2
samd: doc: links and spelling
...
Fixes all doxygen warnings for samd. yay
2021-02-03 23:23:30 +00:00
Karl Palsson
49327dcdc4
samd: port: fix coding style
...
We always use braces.
2021-02-03 23:23:30 +00:00
Karl Palsson
458a0553a8
samd: overhaul doxygen
2021-02-03 23:23:28 +00:00
Karl Palsson
b57dbc5429
samd: enable new port file
2021-02-03 23:08:08 +00:00
Gwenhael Goavec-Merou
d11680638b
sam:d: port: complete port (define, configuration and access)
2021-02-03 22:30:07 +00:00
Karl Palsson
8722a03e2f
stm32: enable quadspi for f7/g4/l4
...
Seeing as we'd started it, might as well finish enabling all the common
platforms.
2021-01-29 14:03:46 +00:00
Karl Palsson
ca479ad7d2
stm32: quadspi overhaul documentation
...
Provide all doxygen framework boilerplate.
Provide a very initial stub .c file to ensure that heirarchical headers
are pulled in properly.
2021-01-29 13:00:53 +00:00
Karl Palsson
5f4e2b3758
stm32:i2c-v1: eliminate doxygen warnings
...
We deprecated the defines in favour of just using the value itself, so
there's no longer a defined group to reference.
2021-01-28 00:33:07 +00:00
Karl Palsson
0f1f1ebd1a
stm32:dac: Fix waveform generation apis
...
These were broken earlier, with no sane way of passing in correctly shifted
values, and didn't match examples.
Noticed while merging: https://github.com/libopencm3/libopencm3/pull/1281
2021-01-27 23:50:22 +00:00
Karl Palsson
8295d248e0
stm32:dac: new api for waveform characteristics
...
Old API required users to manually construct bit maps frm opaquely named
defines, with little help. It also was a pure OR operation, with no way
to ever clear bits.
Signed-off-by: Karl Palsson <karlp@tweak.net.au >
2021-01-27 23:50:15 +00:00
Stijn Martens
f9d5fb738e
stm32: usart: add idle interrupt enable/disable
2021-01-26 10:43:23 +01:00
Karl Palsson
34a44af4e4
stm32: dac: fix doxygen parameter link
2021-01-24 22:34:10 +00:00
Karl Palsson
4576f29048
stm32g4: adc: fix doxygen grouping
...
avoids stub groups
2021-01-24 22:28:15 +00:00
Karl Palsson
59fdb61bf2
stm32: dac: doc: link data types
...
And also drop pointless whitespace and divider markers
2021-01-24 22:23:25 +00:00
Karl Palsson
3eb94bb335
stm32: dac: document: whitespace for legibility
2021-01-24 22:10:05 +00:00
Ben Brewer
1ebf172bcb
stm32/dac: Update API to support multiple DACs and add v2 support
2021-01-07 15:30:51 +00:00
Kejia Hu
52781dee56
stm32g4: add SPI
...
The SPI peripheral on G4 is identical to F3, this patch copies the
header files directly from F3
2020-12-11 11:15:02 +00:00
Karl Palsson
97d5e9a403
doxygen: fix more broken groupings
2020-12-10 22:25:51 +00:00
Karl Palsson
e07f23bb70
doxygen: fix many warnings on "end of file while in group"
2020-12-10 21:51:48 +00:00
Ben Brewer
e923a6fe6a
stm32g4: Add support for OPAMP
...
Move implementations into common and split into v1 and v2.
2020-12-10 16:46:24 +00:00
Karl Palsson
8435287300
stm32: dma: doxygen fixups
...
Use a single @defgroup for the "root" of a common heirarchy, and only
addtogroup for additions. This prevents an alphabetically "first" entry
from being used as the documentation for the entire group.
2020-12-02 00:04:44 +00:00
Karl Palsson
382dde5a6d
stm32f7/g4: usb: enable all classes
2020-12-01 23:37:26 +00:00
Karl Palsson
f82053000c
stm32: crs: fix doxygen
...
We need per device header includes to make the per target documentation
generation work properly. The dispatch headers are to dispatch to the
_target_ not directly to the final implementation, remember, the final
required headers for each may be multiple files, plus extra definitions!
2020-12-01 23:13:38 +00:00
Ben Brewer
98855377c6
stm32g4: Enable CRS
2020-12-01 22:41:07 +00:00
Sam Kirkham
82b4626ae3
stm32g4: Add support for USB
...
Co-authored-by: Ben Brewer <ben.brewer@codethink.co.uk >
2020-12-01 22:41:07 +00:00
Sam Kirkham
cdf235ca0c
stm32g4: Add support for ADC
...
Co-authored-by: Ben Brewer <ben.brewer@codethink.co.uk >
2020-12-01 22:41:07 +00:00
Sam Kirkham
b84bf6e244
stm32g4: Add support for DMA
2020-12-01 22:41:02 +00:00
Sam Kirkham
17d6660491
stm32g4: Add support for DMAMUX
...
Co-authored-by: Ben Brewer <ben.brewer@codethink.co.uk >
2020-12-01 22:41:02 +00:00
Sam Kirkham
0fbf6e8cc1
stm32g4: Add support for Timers
2020-12-01 22:41:02 +00:00
Ben Brewer
f4f75c92dd
stm32g4: Implement RCC
...
Co-authored-by: Sam Kirkham <sam.kirkham@codethink.co.uk >
2020-12-01 22:41:02 +00:00
Ben Brewer
59569bfb04
stm32g4: Implement FLASH
2020-12-01 22:41:02 +00:00
Ben Brewer
c26eab2513
stm32g4: Implement PWR
2020-12-01 22:41:02 +00:00
Brian Viele
e41ac6ea71
stm32: added peripheral clock get helpers for all stm32 platforms.
...
Allows for abstraction for code that's dependent on knowing the source clock
for a peripheral. Implemented a few core peripherals that tend to have clock
tree differences between platforms (USART, timers, I2C, SPI).
2020-11-28 22:13:25 +00:00
Kevin Stefanik
df55d45cc1
pac55xx: add usart definitions and basic support code.
2020-11-28 22:13:25 +00:00
Kevin Stefanik
253a091936
pac55xx: adding memctl for flash/sram access, and clock/pll configuration functions.
...
Merge-conflict: took _prior_ verision of CCS_MUXSELR_MASK_PIN as
bracketing of (pin) seemed more correct!
2020-11-28 22:13:25 +00:00
Kevin Stefanik
245761f894
pac55xx: implemented CAN module interface for qorvo pac55xx.
2020-11-28 22:13:25 +00:00
Karl Palsson
daf99b9b76
stm32: dcmi: hook up doxygen again
...
We still need stub .c files as we're using shared common files, so .d
tracking doesn't work. It lets us setup basic introductory text anyway,
and there will be .c files eventually, so acceptable.
2020-11-28 22:13:25 +00:00
Graham Keeth
d4d4c798a6
add usb audio, cdc, and midi stub files for doxy
...
- add stub files to relevant makefiles
- include <stdint.h> in respective headers to fix compilation
2020-11-28 22:13:25 +00:00
Ben Brewer
05f07c1051
stm32f3: Add support for OPAMP
2020-11-28 22:13:25 +00:00
Themroc
d8d63b3184
stm32: timer common all: Fix documentation
...
Provide gpio examples for both f1 and "everyone else" gpio blocks
Originally filed at: https://github.com/libopencm3/libopencm3/pull/1243
Reviewed-by: Karl Palsson <karlp@tweak.net.au >
(Merged old and new into two new examples)
2020-11-28 22:13:25 +00:00
Matt Walker
1c54d58c81
STM32H7: Support the RNG Peripheral
...
The random number generator on the STM32H7 is identical to the v1 RNG
already present in the library. So use that, and make sure that the RCC
knows about the peripheral.
Originally filed at: https://github.com/libopencm3/libopencm3/pull/1244
Reviewed-by: Karl Palsson <karlp@tweak.net.au >
* whitespace changes from review
2020-11-28 22:13:25 +00:00
tute-avalos
b47d769369
stm32: uart: Add Trasmission Complete enable/disable interrupt functions
2020-11-28 22:13:25 +00:00
Matthew Lai
c49b4d35c2
stm32f7: added USB OTG FS/HS
...
Originally tracked at https://github.com/libopencm3/libopencm3/pull/958
While it doesn't work for everyone, this is clearly the basic first
steps required for any progress to be made.
Reviewed-by: Karl Palsson <karlp@tweak.net.au >
2020-11-28 22:13:25 +00:00
Karl Palsson
5f051241a8
stm32f1: rcc: provide struct based clock helpers
...
As on every other family.
Fixes: https://github.com/libopencm3/libopencm3/issues/1172
2020-11-28 22:13:25 +00:00
Karl Palsson
a7902aa4d0
stm32l1: rcc/lcd: fix RTCSEL HSE definition
...
Wrong since original commit in 2013.
LCD code can't actually automatically determine clock speed if it's HSE,
as we don't know here whether what HSE is, nor what it's divided by.
For more fun, that old 2014 API doesn't have any way of flagging that it
failed either. Hooray.
2020-11-28 22:13:25 +00:00
Devan Lai
c13c2b3b3c
usb: Allow registration of a single non-contiguous string descriptor for WinUSB
...
Classic WinUSB support is detected by probing for a string descriptor
at index 0xEE with a special string.
usbd_register_extra_string() allows registration of a string at this
index without having to provide 237 other string descriptors
Originally filed as https://github.com/libopencm3/libopencm3/pull/849
WCID reference: https://github.com/pbatard/libwdi/wiki/WCID-Devices
2020-11-28 22:13:25 +00:00
Manuel Bl
e9c94760e6
stm32l4: enable USB OTG driver
2020-11-28 22:13:25 +00:00