63 Commits

Author SHA1 Message Date
Karl Palsson
531aa7e6b7 doc: efm32: rmu: include in doxygen generation
Include a stub .c file for shared code generation
2019-06-25 21:15:19 +00:00
Karl Palsson
75f6cbfd9d doc: efm32: msc: tag for doxygen inclusion
Includes a stub .c file to trigger common code generation
2019-06-25 21:15:19 +00:00
Karl Palsson
c92f3dc0ad doc: efm32: letimer: include tags for doxygen
Include a stub .c file to document the shared headers.
2019-06-25 21:15:19 +00:00
Karl Palsson
25dc3a9b4b doc: efm32: i2c: tag for doxygen
Includes a stub .c file until there are some APIs
2019-06-25 21:15:19 +00:00
Karl Palsson
4c01e47aed doc: efm32: emu: tag for doxygen properly
Requires a stub .c file to make the common files be included until we
build some APIs.
2019-06-25 21:15:19 +00:00
Karl Palsson
790d624230 doc: efm32: burtc: tag properly for doxyen
includes a stub .c file until there are APIs defined.
2019-06-25 21:15:19 +00:00
Karl Palsson
dc3bb245f1 doc: efm32: acmp: add missing file
Classssssssic error. Don't git add the local file created. doh.
2019-06-22 01:50:23 +00:00
Karl Palsson
7e2cd050aa doc: efm32: acmp: document, and include via peripheral_apis
Requires a stub .c file as it has common includes with out any common
code (yet)
2019-06-22 01:38:20 +00:00
Karl Palsson
7a058016b5 doc: efm32: dma: enable peripheral_apis 2019-06-22 01:38:20 +00:00
Karl Palsson
7861f2c2f6 doc: efm32: prs: enable peripheral_apis style
Include _basic_ description of unusual acronyms
2019-06-22 01:38:20 +00:00
Karl Palsson
0626f6f75d doc: efm32: adc: enable peripheral_apis style 2019-06-22 01:38:20 +00:00
Karl Palsson
ae777bb920 doc: efm32: timer: enable peripheral_apis style 2019-06-22 01:38:20 +00:00
Karl Palsson
c8b8285446 doc: efm32: dac: enable peripheral_apis documentation 2019-06-22 01:38:20 +00:00
Karl Palsson
093edfb881 doc: efm32: cmu: move to peripheral_apis
Was completely undocumented before. Just needed different tagging so it
could be picked up.

No attempt at this stage of sharing more code between the cmu modules.
2019-06-22 01:38:20 +00:00
Karl Palsson
9bc432474b doc: efm32: include gpio_common
gpio_common was built, but wasn't picked up by any documentation.
Use the peripheral_apis style from stm32, but try out the #pragma once
style.  Downside is you don't get warnings if you include an sub layer
.h file.  Upsides are
* no ifdef/endif blocks
* no /**@cond*/ /**@endcond*/ blocks
* that's enough win!
2019-06-22 01:38:20 +00:00
Karl Palsson
a5562f27c0 doc: efm32: fix doxygen warnings
Mind you, this doesn't actually fix that most of these are _missing_
that is a subsequent commit
2019-06-22 00:40:31 +00:00
Karl Palsson
e97c4b39b9 efm32: consistent makefiles
sorted and styled per the rest of the project
2019-06-17 22:33:32 +00:00
Karl Palsson
6198f2575f doc: efm32hg: fix missing parameter names 2019-06-16 18:20:34 +00:00
Karl Palsson
7be50a5e75 make: use $(PREFIX)gcc instead of $(PREFIX)-gcc
The leading - makes it rather inconsistent with the majority of other
projects around the world.  Use the form everyone else uses.
To solve this, properly pass prefix to inner makes as was always
intended.

Fixes: https://github.com/libopencm3/libopencm3/issues/1058
2019-06-07 21:25:46 +00:00
Sean Cross
b805db0444 efm32: cmu: support switching HFCLK to USHFRCODIV2
Allow for the high frequency clock that controlls things such as the
main CPU to be switched over to USHFRCODIV2.  This is a 24 MHz PLL
that is trimmed using clock recovery from the USB signal, and is
accurate to within 1% of 24 MHz.

Signed-off-by: Sean Cross <sean@xobs.io>
2019-06-02 22:23:44 +00:00
Karl Palsson
595aa806e6 efm32: add USB mass storage class code
We added this in the main branch earlier, but efm32 usb code was in
flux.  Added now that it's stable again.
2018-06-27 22:13:40 +00:00
Karl Palsson
9a05dcb6c0 ld scripts: drop duplication of standard sections
Instead of every "simple" target having their own duplicate file with
all the section mappings, just provide a single, simple,
"cortex-m-generic.ld" that works with our startup code and any simple
rom/ram system.  This also drops the pointless copying of files all over
the place.  Using -L flags properly is sufficient, and the standard file
is now in the root of the library already.
2018-04-28 21:12:27 +00:00
kbob
dd87b5bed2 EFM32WG and EZR32WG: use hard-fp as it's available 2018-04-27 21:37:03 +00:00
kbob
e8154aa44a efm32: Add EZR32WG "EZRadio Wonder Gecko" family. 2018-04-27 21:37:03 +00:00
kbob
c3889b91df efm32: Add EFM32WG "Wonder Gecko" family. 2018-04-27 21:37:03 +00:00
kbob
5160d7996c efm32: Split efm32/lg into /lg and /common.
Somewhat replaces some earlier work done by hg/lg, but much more
complete, so we kept it as is, because it's bringing in even more parts
after this.

Reviewed-by: Karl Palsson <karlp@tweak.net.au>
2018-04-27 21:36:42 +00:00
Sebastian Holzapfel
36a45c387d efm32hg: add linker script for efm32hg309f64 2018-03-02 22:42:05 +00:00
Sebastian Holzapfel
995d19ebfd efm32hg: usb: add usb support 2018-03-02 22:42:05 +00:00
Sebastian Holzapfel
3c855e75d1 efm32hg: cmu: add updated cmu implementation based on efm32lg 2018-03-02 22:42:05 +00:00
Sebastian Holzapfel
18f64812eb efm32hg/lg: timer: use common timer implementation 2018-03-02 22:42:04 +00:00
Sebastian Holzapfel
c6296a4d88 efm32hg/lg: gpio: use common gpio implementation 2018-03-02 22:42:04 +00:00
Sebastian Holzapfel
a86948ec6e efm32hg: add basic makefile, interrupts, device information 2018-03-02 22:42:04 +00:00
Karl Palsson
b860319785 make: use std=c99 everywhere by default.
setting "STANDARD_FLAGS=-std=c11" or similar will let you try out
alternate compilation modes.

Fixes https://github.com/libopencm3/libopencm3/issues/773
2017-06-08 23:01:45 +00:00
Karl Palsson
781e4d94ba efm32lg: mark internal function as static
Squelches gcc warnings

Fixes github #686
2016-08-15 15:54:55 +00:00
Jean-Philippe Ouellet
1cca117e58 Fix a few comments with logical/bitwise OR reversed. 2016-01-09 20:37:20 +00:00
Piotr Esden-Tempski
b1049f9a6f [Style] Stylefix sweep over the whole codebase. 2015-12-14 22:57:15 +01:00
Piotr Esden-Tempski
1f6fd11dd9 [Style] Fixed all style errors in the efm32. 2015-12-14 19:30:04 +01:00
Kuldeep Singh Dhaka
77354cb371 Inital support for EFM32LG 2015-12-13 19:56:19 +01: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
Karl Palsson
6d658c20b8 make: use shared DEBUG_FLAGS (-gdb3) by default
-ggdb3 make slightly bigger .elf files, but allows gdb to understand
macros, which libopenocm3 uses somewhat extensively.  Make this the
default, and pull it up to the common base makefile, so it can be easily
substituted.
2015-05-04 13:45:07 +00:00
Frantisek Burian
6de1b50c4e [BUILD] Fix the correct make behavior if compiling inside tree
On linux, the output of CP rule was try to write to / which is - of course, forbidden for write.

This solution adds to each part of lib correct pointer to the root of lib where the libs should be written.

Bug found by Kuldeep Singh Dhaka.
2014-02-12 15:27:03 +00:00
Alexandru Gagniuc
52d34c814b Global: Allow overriding float-abi flags
We currently default to "-mfloat-abi=hard -mfpu=fpv4-sp-d16" for M4F cores, and
and variations of "-mfloat-abi=soft" for the others. Keep the M4F default, and
move others to no FP flags for consistency, but allow overriding these flags
via the FP_FLAGS environment variable.

Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
2013-07-07 18:59:33 -07:00
Nicolas Schodet
b2df978eae Add support for static constructors and destructors 2013-04-24 22:49:25 +02:00
Nicolas Schodet
cba01fff5e Synchronise linker scripts which are supposed to be identical
This also report bug fixes about data alignment and bss storage to EFM32 &
LM3S targets.

Note: removed chrysn copyright statement as the file is a verbatim copy of
previous files.
2013-04-24 22:49:25 +02:00
Piotr Esden-Tempski
b0233ae6fb Added more warning CFLAGS to all makefiles. 2013-02-26 16:42:20 -08:00
chrysn
20bfcaeb1c efm32gg990f1024: added linker script 2013-01-10 11:42:32 +01:00
chrysn
1e88ad186f remove common modules from efm32*'s explicit build list
this is 75c216582 for the efm32 branch, see there for details
2012-10-19 19:30:25 +02:00
chrysn
1210738845 add generic OBJS to efm32 libraries
better fixes would be adding them to the generic (included) Makefile or
building the really device independent stuff in a _generic library
2012-10-19 17:03:23 +02:00
chrysn
843660dbfd copied over linker scripts
this will need some generalization too...
2012-10-19 15:02:09 +02:00
chrysn
e11edaff11 build all efm32 families 2012-10-19 14:53:06 +02:00