1736 Commits

Author SHA1 Message Date
Karl Palsson
489dc5125e stm32f3: rcc: support setting ADC prescalers
If you are in async mode (ADC_CCR.CKMODE == 0) (the reset default) you still
need to set the prescalers before the ADC will actually enable.
2015-11-08 15:36:32 +00:00
Karl Palsson
674cd9bfe9 stm32f3: rcc: Update ENR/RST definitions for newer docs
Based on latest RM0316rev5, and fixed a bug in f37x CEC bit definition that
overlapped.
2015-11-08 15:36:32 +00:00
Karl Palsson
4d7694b454 stm32f3: rcc: consistent masks for pll multiplier
All other masks consistently used a separate mask/shift define, bring the pll
multiplier function in line, and use the same form as other functions.
2015-11-08 15:36:32 +00:00
Karl Palsson
129a874cf8 stm32f3: rcc: Correct name of pll multiplier helper.
This function was badly copied and pasted from the f4 library, where there are
two functions, rcc_set_main_pll_hsi and rcc_set_main_pll_hse which combine
source, multipliers, dividers and other pll factors.

On F3, (not all of them, but the ones we support now), the function as
implemented has nothing to do with hsi / hse, and instead is simply selecting
the PLL multiplier.
2015-11-08 15:36:32 +00:00
Karl Palsson
10ef294e5d stm32f3: rcc: Set prescalers properly.
Copypasta from f4 rcc code was only modified to shift the result, but not clear
the existing settings properly. Add mask/shift definitions and use them
properly.
2015-11-08 15:36:32 +00:00
Karl Palsson
ce9dab2a92 stm32f3: rcc: drop unused "power_save" parameter
Badly copied from F4 rcc code, there's no power save support in the f3 rcc
tree.
2015-11-08 15:36:32 +00:00
Karl Palsson
388138b953 stm32f3: Include at least a single linker script for f3 standard
This is the f3 on the common f3 discovery board.
2015-11-08 15:36:32 +00:00
Karl Palsson
5f2f296047 stm32l1: add l100xc linker script
Less eeprom and ram than l15x series.
2015-11-06 00:05:22 +00:00
Joost Rijneveld
74cd99343b stm32f4: linker scripts: add CCM to F405
The filename has always been wrong, "6" is a temperature grade, but f405 and
f407 are in the same datasheet, and all have the 64k CCM.  Add it to the linker
script.
2015-11-06 00:03:36 +00:00
Karl Palsson
e6f267e103 stm32f7: Update TODO memory map items
DBGMCU and flash size and unique id registers had simply been copied from F4,
with TODO markers.  Checked against current datasheet and ref manual
2015-11-01 14:21:07 +00:00
Karl Palsson
ab0552b1f7 stm32f7: correct addresses for calibration values 2015-11-01 14:12:37 +00:00
Alexandru M Stan
435cbcc675 stm32f0: Fix TSC_IOGxCR
TSC_IOGxCR is actually a 32 bit register, of which 13 bits are used
(rest are reserved).

Also, added x-1 since G0 is not a valid group, TSC_IOGCSR_GxE(1) is supposed
to be at 0x34, not 0x38.
2015-10-24 20:06:12 -07:00
Karl Palsson
ff6cc954b7 stm32: adc: drop non-existant adc_set_single_channel
Was only in the (obviously out of date) documented example and as a
declaration.  No implementations.  Dropping immediately, but documentation
still needs further work.
2015-10-17 01:23:56 +00:00
Karl Palsson
fbd25fb16f stm32f7: missing ; in rcc enumerations 2015-10-15 12:31:01 +00:00
Karl Palsson
caeeed2b0f stm32f7: FPU only single precision on f7 :(
Boo ST.
2015-10-15 12:28:54 +00:00
Karl Palsson
5ece67ad5d stm32f7: Add rcc.h
Full clean manually checked against RM0385rev2.

Header definitions only.
2015-10-15 11:49:28 +00:00
Karl Palsson
c1c37a8b0f stm32f7: Update IRQs from latest ref manual
One name change and some new ones.
2015-10-15 10:36:54 +00:00
Frantisek Burian
3ef2c38120 [stm32f7] Add initial support of the family, GPIO support.
Most changes are noise from doxygen.
Readme udpated to explain newer FP_FLAGS for m7
stm32f7 library is skipped if the toolchain doesn't support it yet.
2015-10-15 10:34:28 +00:00
Karl Palsson
2e25d678ba Surround all macro parameters with ()
Followup from c72f3d588a637101262d5e2b276dc6cc5d926a6d
2015-10-15 01:03:18 +00:00
Karl Palsson
8f06818f03 doc: flash: syntax check parameters
Mostly just cleans up warnings in doxygen, for most purposes the output is
similar enough to have not been noticed.
2015-10-15 00:54:04 +00:00
Karl Palsson
8eb4ae09ea docs: adcv1: update example code 2015-10-15 00:13:45 +00:00
Karl Palsson
33a2d057f4 doc: exclude CRS from f1, f2, f3, f4, l1 2015-10-15 00:13:33 +00:00
Karl Palsson
3c9e80c6f1 doc: stm32l1: include rcc.c docs 2015-10-15 00:13:25 +00:00
Karl Palsson
75d508246e usb: otg: drop confusing invalid definitions
GUSBCFG TRDT fields have very particular meanings, and the field should be set
depending on your bus speed.  There's no 8/16bit meaning in any current
reference manual for this field.

Fixes github issue #530
2015-10-14 22:42:49 +00:00
Karl Palsson
c72f3d588a Surround all macro parameters with ()
All the macro arguments that are user supplied, or potentially, wrap properly
in () as good practice.

Probably missed one or two, and a lot of them are possibly unnecessary, but
it's straightforward to just do it always.

Fixes github issue #321
2015-10-14 22:15:15 +00:00
fenugrec
c899273c62 usb: Improved comments of USB API
usbd.h: more comments for bmRequestType and bmAttributes bitfield macros
usbd.h: migrated and added API doxyblocks from implementations (*.c)
2015-10-14 20:48:26 +00:00
Karl Palsson
7814d06095 usb: control complete callback has no return value
It's never used, so let's make it void to avoid any confusion.
It was also an unintentional change from void to int in 4b89272
2015-10-14 10:04:37 +00:00
Antal Szabó
f5c9dbdb8d stm32f1: rcc: Fix comments on clock speed. 2015-10-13 15:26:53 +00:00
Karl Palsson
27b826bc4a tests: Allow user override of C/CXX/CPP/LD flags
As recently added to the library, allow the tests to be compiled with user
overridable flags too
2015-10-11 19:15:06 +00:00
Tido Klaassen
aad8d06c3f make: rename CFLAGS in target Makefiles to TGT_CFLAGS
Renamed every instance of variable CFLAGS in target specific Makefiles
to TGT_CFLAGS to free up CFLAGS for user defined compiler flags.

Added information in README.md about existence and usage of CFLAGS
environment variable in build process.
2015-10-11 19:14:25 +00:00
Hunz
9217a5f888 ld generator: add STM32F302x8 2015-10-11 18:46:25 +00:00
Karl Palsson
3ed12b6fd9 usb: short control IN might need a ZLP
Control transfers can transfer less than was requested by the host in the
wLength field.  if this short transfer is a multiple of the endpoint's packet
size, a zero length packet must be sent.

Adds tests for a range of control transfer IN requests, and properly supports
this in the core.  Based heavily on work by Kuldeep Dhaka.

See https://github.com/libopencm3/libopencm3/pull/505
and https://github.com/libopencm3/libopencm3/pull/194 for original discussion.

Tested with stm32f4, stm32f103 and stm32l053.
2015-10-11 18:43:11 +00:00
Devan Lai
5270c11a09 stm32f0: Fix offset for GPIO_BRR
Correct as per RM0091rev5
2015-10-07 10:08:47 +00:00
Devan Lai
96fb10b7a8 stm32f0: include desig.o in build. 2015-10-07 10:02:50 +00:00
Karl Palsson
17bc66c46b stm32f4: fmc: Use standard form shift definitions.
It's confusing and unhelpful to use a different style of shift definitions for
bitfields.

Originally reported by "mox-mox" in
https://github.com/libopencm3/libopencm3/pull/467
2015-10-06 01:26:56 +00:00
Karl Palsson
4b54b35582 tests:gadget0: stm32l0: drop RCC test code
Don't commit commented out code! bad!
2015-10-06 01:06:30 +00:00
Karl Palsson
52dc61403d tests: gadget0: use proper usb enumerations
Eliminate warnings.  carry over from developing in a different tree.
2015-10-06 01:05:36 +00:00
Karl Palsson
e7ea622037 tests: gadget0: Add stm32l053 disco support
Much more complicated clock setup, but tests all pass once you get past that
step.
2015-10-06 00:54:53 +00:00
Karl Palsson
f1d8a7ef04 stm32l0: Add USB support via st_usbfs driver. 2015-10-06 00:54:17 +00:00
Robin Kreis
add087aafc stm32l0: include desig.c (device electronic signature)
Simple functional peripheral, just needs to be included in the build.
2015-10-06 00:53:51 +00:00
Robin Kreis
8e7a89ac75 stm32l0: add EXTI definitions 2015-10-06 00:53:51 +00:00
Robin Kreis
112cf5d085 stm32l0: commonize PWR definitions and add to l0 2015-10-06 00:53:51 +00:00
Robin Kreis
0a76a24286 stm32l0: add LPTIM definitions 2015-10-06 00:53:51 +00:00
Robin Kreis
232a33b01d stm32l0: add SYSCFG definitions
Modified to update to latest reference manual.

Changes to CFGR3, some extra bits.

Signed-off-by: Karl Palsson <karlp@tweak.net.au>
2015-10-06 00:53:51 +00:00
Karl Palsson
29ede503f3 stm32l0: rcc: add more helper routines. 2015-10-06 00:53:51 +00:00
Karl Palsson
cebc335846 stm32l0: Simplify rcc defines.
More could probably be found, but this makes some of the basic RCC defines for
the L0 much more inline with other platforms, and much less verbose.  This
helps us have more identical code for library users across different targets.
2015-10-06 00:53:02 +00:00
Karl Palsson
63cfc6932a stm32l0: Add Clock Recovery System to build 2015-10-06 00:53:02 +00:00
Karl Palsson
d67aec1cc8 stm32: Clock Recovery System is a common peripheral.
Pull it out of the F0 directory ready to be used by other devices with this
peripheral.
2015-10-06 00:52:39 +00:00
Karl Palsson
c097343634 tests: gadget0: F0: drop unnecessary code.
* Only the L1 needed to include flash settings
* whitespace and comment cleanup
* drop redundant clock setting calls
2015-10-04 00:28:16 +00:00
Karl Palsson
f5eb96caf3 usb: Add st_usbfs_v2 for f0/l0 devices
Based on previous work, add a new driver for the v2 usb peripheral found on
stm32f0 and l0 devices.

Correspondingly, add a usb gadget zero test suite for the f0.  L0 device level
code isn't yet ready, but will add the test case when it moves in.

Work by Frantisek Burian, Kuldeep
Singh Dhaka, Robin Kreis, fenugrec and zyp on irc, and all those forgotten.
2015-10-03 02:03:58 +00:00