Karl Palsson
992a4d3753
stm32: rtc: doxygenize existing docs
...
Might as well show the information we have!
2020-12-10 22:00:03 +00:00
Karl Palsson
e07f23bb70
doxygen: fix many warnings on "end of file while in group"
2020-12-10 21:51:48 +00:00
Karl Palsson
6f81e49290
stm32:crc: simplify doxygen and fix groupings
...
The @cond stuff has always been a lot of work for the rare cases of
people trying to include things by hand. Just drop it
2020-12-10 21:34:49 +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
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
Ben Brewer
7219b32902
stm32: adc_common_v2: Make EXTSEL and ALIGN definitions per chip
...
STM32G4 uses v2 ADC but has EXTSEL and ALIGN fields modified, rather
than making a v3 ADC for these minor changes, the definitions have been
moved to the chip specific headers, so that the common code can work for
G4 onwards.
2020-12-01 22:41:02 +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
cb83273416
stm32: dcmi: drop redundant @ingroups
...
@ingroup is only needed if you want to assign a doxygen group to
something other than the naturally containing outer group.
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
Nikolai Smolyaninov
071d4680ec
stm32f4/7: DCMI: extract common registers
...
And enable for the f7
Originally filed as: https://github.com/libopencm3/libopencm3/pull/1208
Rviewed-by: Karl Palsson <karlp@tweak.net.au >
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
Fabio Pugliese Ornellas
2a4cf034c7
usb: dwc_otg: Add OTG_DSTS_SUSPSTS
...
Originally filed as: https://github.com/libopencm3/libopencm3/pull/1224
Reviewed-by: Karl Palsson <karlp@tweak.net.au >
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
BOJIT
5d393b17a3
ethernet: stm32: PTP naming fixes.
...
Verify all hardware differences between F1 and F4/F7 Ethernet hardware.
Flags registers missing on F1 as well.
Reviewed-by: Karl Palsson <karlp@tweak.net.au >
2020-11-28 22:13:25 +00:00
Karl Palsson
4eee1e9bde
stm32f1: rcc: mark old style static routines deprecated
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
ffe8ddfca2
stm32l4: Use USB_OTG_FS_BASE instead of OTG_FS_BASE
...
Use the standard definition name, so that all standard shared code for
this peripheral works.
Reviewed-by: Karl Palsson <karlp@tweak.net.au >
2020-11-28 22:13:25 +00:00
Manuel Bl
e9c94760e6
stm32l4: enable USB OTG driver
2020-11-28 22:13:25 +00:00
Karl Palsson
c7d7a18dd7
stm32: rcc: Standardize prescaler define names
...
We did have
* _HPRE_SYSCLK_DIVN (3 parts)
* _HPRE_DIVN (5 parts)
* _HPRE_DIV_N (4 parts)
Unify all on _HPRE_DIVN. Provide deprecated definitions to not break
everything at once.
Also, standardize on "NODIV" instead of DIVNONE.
2020-11-28 22:13:25 +00:00
Karl Palsson
43b3fa5ddc
stm32l0/l1: flash: support half page flashing
...
Tested on L1 and L0 using the "dapboot" project, see
https://github.com/devanlai/dapboot/pull/27 for L1
and
https://github.com/devanlai/dapboot/pull/30 for L0
2020-11-28 22:13:25 +00:00
Karl Palsson
636918732d
stm32: i2c: drop useless integer defines I2C_CR2_FREQ_
...
These defines were simply a word containing the number, instead of the
number itself. This provides no value, and implies that there's a
limited set of values. The list was _already_ incomplete, so
misleading, _and_ just noise to maintain. Burn it all.
(well, burn it just a little bit, provide deprecated aliases on the old
values so that code keeps compiling)
2020-11-28 22:13:25 +00:00
Michael Drake
90753950bb
stm32f3: Enable support for GPIO ports G and H
2020-04-30 08:29:08 +01:00
Michael Drake
07bd38b814
stm32f3: Add GPIO ports G and H to memory map
2020-04-30 08:29:06 +01:00
Chuck McManis
2ce5cc58ce
STM32F4: Add FMPI2C1 Peripheral to the memory map
2020-04-15 12:07:48 +00:00
Chuck McManis
3ee9710f35
STM32F4: I2C Noise Filter Register
2020-04-15 12:07:45 +00:00
Guillaume Revaillot
9bf6ce8b64
stm32g0: flash: add erase/program stuff
...
probably can be refactored with other chips, did not really looked yet.
2020-04-09 23:37:38 +00:00
Guillaume Revaillot
dc98e2e6d9
stm32g0: flash: fix flash keys.
2020-04-09 23:37:38 +00:00
Guillaume Revaillot
7cb7d51273
stm32g0: flash: update registers documentation
2020-04-09 23:37:38 +00:00
Guillaume Revaillot
d696e2c264
stm32g0: add device electronic signature offsets and build desig.
2020-04-09 23:37:38 +00:00
Guillaume Revaillot
2d9c01867f
stm32g0: update sysconfig based on latest stm32g0x1 RM
...
add pin clamping diode control, available on g041 and g031
2020-04-09 23:37:38 +00:00
Karl Palsson
4e70d06d63
stm32g4: Add basic support
...
* memorymap
* vectors
* rcc
* gpios
* makefiles
* devices for linker script generation
* doc structure
2020-04-09 23:29:00 +00:00
Karl Palsson
57373b3413
stm32l4: rcc: fix bit error in BDCR
...
And add the new bit from later ref manuals
2020-04-09 22:04:49 +00:00
Kevin Stefanik
89e90e0e5d
pac55xx: gpio: fix gpio_set_af for pin alternate function settings.
...
register bits were not cleared before setting. refactored to be similar
to how the drive strength register is being set.
2020-04-09 14:17:27 +00:00