1208 Commits

Author SHA1 Message Date
Karl Palsson
5ba8d94b81 doc: stm32l4: rcc: add groupings for periph resets
As we did with f2, use a parent grouping to contain the different sets
of APB1 fields.
2019-06-12 22:56:38 +00:00
Karl Palsson
e6e1c239e4 doc: stm32l0: rcc: add groupings for periph resets 2019-06-12 22:56:38 +00:00
Karl Palsson
da3466057b doc: stm32f2: rcc: add groupings for periph resets
We use a parent grouping to make the generic "AHB" groups work, even
though F2 and many later families have AHB1, AHB2 and AHB3
2019-06-12 22:56:34 +00:00
Karl Palsson
21a0c1178c doc: stm32l1: rcc: add groupings for periph resets 2019-06-12 21:56:13 +00:00
Karl Palsson
c7ce1ddd1a doc: stm32f0: rcc: add groupings for periph resets
As done earlier for other families, makes the doxygen linking working
properly.
2019-06-12 21:56:13 +00:00
Karl Palsson
ce5d1ca9a2 doc: restore targets as pages.
You can't have two mainpage items, and the second was just being
ignored.  This restores them, which makes the left side list longer,
which we may or may not like, but it's at least how it was documented to
be.
2019-06-10 11:10:34 +00:00
Karl Palsson
d66c8677df doc: fix example syntax
@example is for including a file containing the example code.
2019-06-10 10:59:54 +00:00
Karl Palsson
795fe21860 usbd: document that only 8 eps are allowed.
The internal stack has a hard internal limit of 8, which is as many as
all supported devices support, but not as flexible as the arbitrary
addressing that USB actually allows.

At _least_ document this.

Fixes: https://github.com/libopencm3/libopencm3/issues/666
2019-06-05 21:48:28 +00:00
Karl Palsson
1e3741cb20 swm050: doxygen fixups
* Include the doc-swm050.h core file that defines the base groups.
* Fix/tweak groupings to make things consistent with other targets.
* Drop redundant type information.  That's all included from the function
signatures automatically by doxygen.
* Added register descriptions from datasheet.
2019-06-05 21:31:56 +00:00
Icenowy Zheng
54eff24e7c swm050: new MCU family
SWM050 is a series of MCU made by Foshan Synwit Tech. It contains a
Cortex-M0 CPU core, 8KiB of Flash and 1KiB of SRAM. The only peripherals
are GPIO, Timer and WDT. There's only two parts in this series, with
either TSSOP-8 or SSOP-16 packages.

This commit introduces the interrupt vector and GPIO support for them.

Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
2019-06-05 20:25:43 +00:00
Guillaume Revaillot
a652856533 stm32l0: rcc: add rcc_set_peripheral_clk_sel(periph, sel) 2019-06-03 22:29:45 +00:00
Guillaume Revaillot
8668f9198b stm32l0: rcc: add peripherals clock source selection helpers. 2019-06-03 22:29:45 +00:00
Guillaume Revaillot
6953138a28 stm32l0: add rcc_set_msi_range. 2019-06-03 22:29:45 +00:00
Karl Palsson
d0c3678f74 stm32l4: rcc: drop bad function prototype
This was introduced by a bad merge/rebase leaving a dangling header
definition.

Fixes: b8424263 stm32:l4: rcc: Add RTC clock functions
2019-06-02 22:27:15 +00:00
Sean Cross
065e0412ec efm32hg: cmu: add USHFRCODIV2 clock definition
This clock is the USB High Frequency PLL that gets trimmed based
on clock recovery.  It is the most accurate PLL on the system,
assuming it is connected via USB.

Add the definition of this clock in preparation for being able
to switch to it.

Signed-off-by: Sean Cross <sean@xobs.io>
2019-06-02 22:23:44 +00:00
Bruno Randolf
b8424263e8 stm32:l4: rcc: Add RTC clock functions 2019-06-02 22:18:05 +00:00
Bruno Randolf
2c1823f7bb stm32:l4: pwr: Add en/disable_backup_domain_write_protect() 2019-06-02 22:18:05 +00:00
Bruno Randolf
a1f58ea8ae stm32:l4: Add interrupts for STM32L4x5/STM32L4x6
Add all interrups from RM0351
2019-06-02 22:18:05 +00:00
Bruno Randolf
fe722d4643 stm32:l4: rcc: Add helper functions
Add functions for PLL output and 48MHz clock source selection
2019-06-02 22:18:05 +00:00
Bruno Randolf
a1ffdc59f0 stm32:l4: flash: Program in double words
According to RM0351 and RM0394 flash needs to be programmed by double words.
Also fix flash_program() which was wrong anyways.

Reviewed-by: Karl Palsson <karlp@tweak.net.au>
2019-06-02 22:17:55 +00:00
Karl Palsson
49a3cddba0 stm32f4:rcc: add new api directly to deprecated message
This makes the compiler warnings more useful.
2019-06-02 20:36:57 +00:00
Karl Palsson
f990030440 stm32f4: rcc: move deprecated attribute to header
This makes it actually generate deprecated warnings.  The deprecated
doxygen stays with the .c file as before.
2019-06-02 12:50:34 +00:00
Karl Palsson
a9dde2832e stm32f4: rcc: drop 48 & 120 MHz configs
48Mhz has no purpose other than to be a naiive method of haivng working
USB.  120MHz never had any purpose, other than to match the f2 code it
was copied from.  Drop them both.  Remaining configs are all max speeds
for various F4 parts.  Lower speeds are all custom
2019-06-02 10:50:10 +00:00
Miguel Sánchez de León Peque
1d68c299e8 stm32f4: add HSI clock configurations 2019-06-02 10:39:18 +00:00
Miguel Sánchez de León Peque
ca6dcfbea1 stm32f4: rcc: support hsi pll source 2019-06-02 10:38:43 +00:00
Matthew Lai
eed780e2c1 stm32f7: irqs: Fix typo in i2c4*
This also unifies the whitespace in the file.

Reviewed-by: Karl Palsson <karlp@tweak.net.au>
2019-05-26 21:34:08 +00:00
Karl Palsson
0aef9c2ec6 stm32: doc: pwr: move to peripheral_api
Some families had partially moved to peripheral api, and others were
only documenting common code, but not specific code.  Delete dummy .c
files, and check that all specific apis are also being documented, not
just common apis.
2019-05-22 00:10:39 +00:00
Karl Palsson
c557ef96f9 stm32f7: doc: adc: fix copypasta doxygen error
Was attempting to run add to the f4 docs, which aren't referenced from
the f7 doxygen build, obviously.
2019-05-21 23:45:47 +00:00
Karl Palsson
2bed518f09 stm32f7: doc: flash defines weren't grouped at all 2019-05-21 23:45:34 +00:00
Karl Palsson
1e06c48201 stm32l1: timer: fix typo in option mask definition
Found while exploring documentation generation
2019-05-21 23:17:04 +00:00
Karl Palsson
1af3acdba4 stm32: doc: exti: fix missing/wrong groups and move to peripheral_api
Almost all families were missing all docs for the exti apis.
2019-05-21 23:16:59 +00:00
Karl Palsson
75748a7bfc stm32g0: flash doc: group registers 2019-05-21 21:47:24 +00:00
Karl Palsson
4aa9e484f6 stm32g0: flash: drop redundant docs
Functions that are already documented in the top level common api.h file
won't add any more documentation from later .c files.  Keep docs for
part specifics, in the .h files where they're accessible to IDEs and
also the documentation generation, and drop all (including the redundant
ones) from the .c file.
2019-05-21 21:46:02 +00:00
Karl Palsson
709d98e0a8 doc: stm32g0: drop redundant @ingroup and close groups
the group defaults to the implicit container based on location, so drop
all the explicit @ingroups, less to maintain.  Properly use /**@}*/ to
close all groups too, even though it mostly seems to have worked anyway.
Properly close all groups opened for files.
2019-05-21 21:44:05 +00:00
Karl Palsson
bc6af71443 doc: predefine a group for the cortex peripherals.
They were all trying to use this, via @ingroup CM3_files, but that group
didn't exist, so they just got left dangling as "systick_file" and
similar.
2019-05-21 21:41:41 +00:00
Karl Palsson
b24d7f96b5 stm32: standardize OSPEED values
Make the names match the reference manuals properly, and add missing
names.  Still a long way to go to unify across all families, but this is
at least closer.
2019-05-21 00:05:22 +00:00
Guillaume Revaillot
ee376eafdb stm32g0: make doc. 2019-05-21 00:05:22 +00:00
Guillaume Revaillot
55121126c3 stm32g0: add exti.
Regular exti, with enhanced EXTI_[FR]PR regs instead of EXTIR_PR.
2019-05-21 00:05:22 +00:00
Guillaume Revaillot
afd2db3097 stm32g0: add rcc. 2019-05-21 00:05:22 +00:00
Guillaume Revaillot
cbe5425090 stm32g0: add flash.
here, it's a bit of a mess.. G0 flash controller does not really
match exsting feature split. IE it has instruction cache only ..
so, no flash_idcache.c as it. flash_common_f could be used, but
flash_unlock would not take care of option byte ?

prefetch, icache and lock is ok. I had no look at flash programming
or erase yet..
2019-05-21 00:05:22 +00:00
Guillaume Revaillot
f13a9eee5b stm32g0: add power.
neither v1 nor v2...
2019-05-20 23:59:42 +00:00
Guillaume Revaillot
c49937a09c stm32g0: add gpio.
regular peripheral.
2019-05-20 23:43:46 +00:00
Guillaume Revaillot
b8d4b03722 stm32g0: add base, irqs, memorymap and current devices. 2019-05-20 23:43:41 +00:00
Oliver Meier
82d2ff9d1a stm32f4-7: dma2d: fixed wrong color definition and added missing one 2019-05-19 21:33:07 +00:00
Oliver Meier
07868ad8b6 stm32f7: enable existing dma2d headers 2019-05-19 21:33:07 +00:00
Oliver Meier
82498bb49f stm32f7: fixed typos in dsi header definitions 2019-05-19 21:33:07 +00:00
Oliver Meier
92a2340551 stm32f7: enable existing dsi support 2019-05-19 21:33:07 +00:00
Oliver Meier
5a03cfe54e stm32f7: enable existing ltdc
This uses the existing f4 code as a new shared common base code.
2019-05-19 21:33:02 +00:00
Oliver Meier
16cfc6d848 stm32f7: enable fsmc
This uses the existing f4 code as a new shared common base code.
2019-05-19 21:30:48 +00:00
Oliver Meier
4fc7196463 stm32f7: enable existing exti headers 2019-05-19 21:30:38 +00:00