Bas Stottelaar
1eb663afe4
cpu/efm32: update vendor files
...
These files are part of the 32-bit MCU SDK 5.9.7.0 by Silicon Labs.
2020-10-26 22:34:44 +01:00
Bas Stottelaar
22243aec7a
cpu/*: realign ENABLE_DEBUG
2020-10-23 00:46:26 +02:00
Bas Stottelaar
ab6188cea3
cpu/*: add missing include of assert.h
2020-10-22 11:13:08 +02:00
Leandro Lanzieri
fe6d66d92a
kconfig: add ERROR symbol for conflicting modules
2020-10-09 18:04:17 +02:00
Bas Stottelaar
3e2303d30c
cpu/efm32: add watchdog peripheral
2020-10-07 09:01:41 +02:00
Benjamin Valentin
6e6ddacdb0
cpu/efm32: not every family has an MPU
2020-10-06 16:43:47 +02:00
Bas Stottelaar
03b9f45583
cpu/efm32: efm32zg: add support
2020-10-06 16:43:47 +02:00
Bas Stottelaar
f1589bc579
cpu/efm32: efm32zg: add vendor headers
2020-10-06 16:42:11 +02:00
Benjamin Valentin
b2a9a6b168
cpu/efm32: fix build with !LETIMER
...
Not all SoCs have an LETIMER.
Here the compilation will will fail because LETIMER related
symbols are not defined.
Fix the build of timer.c for those.
2020-10-05 14:51:05 +02:00
dcb25eb3fc
cpu/efm32/periph/timer: fix timer_set_absolute() in 16bit case
2020-09-22 23:15:23 +02:00
Cenk Gündoğan
0d0bc91553
Merge pull request #14754 from leandrolanzieri/pr/no_archives
...
build system: link object files
2020-09-10 09:36:29 +02:00
Benjamin Valentin
7d29d85ddd
cpu/efm32: define CLOCK_CORECLOCK
2020-09-09 16:44:12 +02:00
Leandro Lanzieri
81cb769cad
makefiles: avoid building archives when compiling
2020-09-04 15:01:10 +02:00
Francisco Molina
c4c2673aec
cpu/efm32/Kconfig: add EFM32_XTIMER_USE_LETIMER config
2020-09-02 15:31:28 +02:00
Francisco Molina
cbf78fe3d4
cpu/efm32: allow running both LETIMER and regular timer
2020-08-31 09:38:31 +02:00
Francisco Molina
c77646ff79
cpu/efm32/timer: add enabling/disabling of prescaler timer
2020-08-31 09:38:31 +02:00
Francisco Molina
5c4db4a65b
cpu/efm32: use IS_ACTIVE for CONFIG_EFM32_USE_LETIMER
2020-08-31 09:38:30 +02:00
Marian Buschsieweke
234a720571
Merge pull request #14516 from benpicco/bitband_hw
...
cortexm_common: fix check for bitbanding feature
2020-08-08 14:26:49 +02:00
Benjamin Valentin
b716419462
cpu/efm32: set CPU_HAS_BITBAND
2020-07-16 14:44:28 +02:00
Thomas Stilwell
754d790b3f
boards: efm32 boards: add support for LETIMER
2020-07-10 20:44:03 -05:00
Thomas Stilwell
37a6cc66f5
cpu/efm32/timer: add pm blockers
2020-07-10 20:44:03 -05:00
Thomas Stilwell
651a3bf423
cpu/efm32/timer: add support for LETIMER
2020-07-10 20:44:03 -05:00
Bas Stottelaar
1d97783175
cpu/efm32: DCDC is available on Series 2 as well
2020-07-08 21:54:57 +02:00
Bas Stottelaar
1105f60a23
cpu/efm32: make series defines explicit
...
The EFM32 uses the provided _SILICON_LABS_32B_SERIES_0 and
_SILICON_LABS_32B_SERIES_1 definitions to enable or disable certain
code. With the introduction of new MCUs, there is also the
_SILICON_LABS_32B_SERIES_2 definition.
This PR ensures that the defines are explicit, and that #else
statements don't target the wrong series.
2020-07-08 21:54:57 +02:00
Leandro Lanzieri
8cc1fa4ce1
cpu/efm32: Add Kconfig symbols
2020-06-18 16:39:54 +02:00
Leandro Lanzieri
bb021f9e8e
cpu/efm32/efr32mg1p: Add Kconfig symbols
2020-06-18 16:39:53 +02:00
Leandro Lanzieri
d578adf845
cpu/efm32/efr32mg12p: Add Kconfig symbols
2020-06-18 16:39:53 +02:00
Leandro Lanzieri
89342b3aa8
cpu/efm32/efm32pg1b: Add Kconfig symbols
2020-06-18 16:39:53 +02:00
Leandro Lanzieri
777571a9e9
cpu/efm32/efm32pg12b: Add Kconfig symbols
2020-06-18 16:39:52 +02:00
Leandro Lanzieri
45c6d27cb5
cpu/efm32/efm32lg: Add Kconfig symbols
2020-06-18 16:39:52 +02:00
Leandro Lanzieri
4f3ec84c42
cpu/efm32/efm32gg: Add Kconfig symbols
2020-06-18 16:39:49 +02:00
Bas Stottelaar
219f631d20
Merge pull request #14233 from benemorius/pr/efm32-lfrco-jitter
...
cpu/efm32: disable default LFRCO options that break LEUART > 1800 baud
2020-06-17 10:23:49 +02:00
Thomas Stilwell
e987abe9fc
cpu/efm32: disable default LFRCO options that break LEUART > 1800 baud
2020-06-17 01:47:29 -05:00
Leandro Lanzieri
4d65bc8e0a
cpu: Rename CPU_ARCH to CPU_CORE
2020-06-16 12:05:40 +02:00
Leandro Lanzieri
64552a3b9a
cpu/cortexm_common: Move common modules to Makefile.dep
...
This moves the following modules to a architecture-specific Makefile.dep
file:
- cortexm_common
- cortexm_common_periph
- newlib
- newlib_nano
- periph
2020-04-01 09:46:21 +02:00
68ec8b2c2b
Merge pull request #13391 from kaspar030/mpu_feature
...
cpu/cortex-m: turn MPU support into a feature
2020-03-04 07:09:40 +01:00
a3c527fdbc
cpu/*: add cortex_mpu to known-to-support CPU families
2020-03-03 22:59:41 +01:00
benpicco
98405fe151
Merge pull request #12380 from benemorius/pr/efm32-uart-init-tx-idle
...
cpu/efm32/uart: uart_init(): begin with TX pin at idle level
2020-02-26 10:23:12 +01:00
benpicco
c32be01b7a
Merge pull request #13053 from basilfx/feature/efm32_adc_status
...
cpu/efm32: fix incorrect ADC status register
2020-02-21 18:59:53 +01:00
Francisco Molina
9a7ddde05a
cpu/efm32/families: remove cpus.txt
2020-02-12 12:56:00 +01:00
Francisco Molina
ae1c54b045
cpu/efm32/efm32-info: use efm32-info instead of cpus.txt
2020-02-12 12:55:59 +01:00
Bas Stottelaar
8cf186c913
cpu/efm32/families: add efm32-info.mk
2020-02-12 12:55:59 +01:00
Francisco Molina
a0462488e8
cpu/efm32: add families/%/Makefile.include
...
Move INCLUDES and VECTORS_O to Makefile.include duplicate EFM32_HEADER
while cpu.txt is not migrated.
2020-02-12 12:55:58 +01:00
Francisco Molina
5715f13323
cpu/efm32/Makefile: DIRS based on USEMODULE
2020-02-12 12:55:57 +01:00
Francisco Molina
67ec9a298d
cpu/efm32: remove exports
2020-02-11 22:46:53 +01:00
Francisco Molina
7cc65c9b62
cpu/efm32/Makefile.include: remove CPU_FAM and CPU_ARCH
2020-02-11 22:46:52 +01:00
Francisco Molina
085665ff23
cpu/efm32/Makefile.features: fix typo
2020-02-11 22:46:51 +01:00
Francisco Molina
95f8de8030
cpu/efm32: move dependency resolution to makefile.dep
2020-02-11 22:46:48 +01:00
9b7f06034e
cpu/efm32: move some dependencies to Makefile.dep
2020-01-28 13:20:52 +01:00
Francisco Molina
e700a78cd3
cpu/efm32/periph/rtc_series1: normalize time
2020-01-22 10:03:49 +01:00
Bas Stottelaar
0e3480e3f0
cpu/efm32: fix incorrect ADC status register
...
The ADC_STATUS_SINGLEACT indicates that an operation is active, while
the ADC_STATUS_SINGLEDV indicates that data is valid.
This fixes ADC returning values of unfinished reads.
2020-01-14 22:44:54 +01:00
Marian Buschsieweke
80787d523e
cpu/efm32/periph: adc_sample() now returns int32_t
2020-01-10 14:13:14 +01:00
6b233780ae
cpu/efm32: fix typos
2019-11-23 22:39:36 +01:00
Francois Berder
4a31f94cfc
many typo fixes
...
Signed-off-by: Francois Berder <18538310+francois-berder@users.noreply.github.com>
2019-11-23 22:39:07 +01:00
7d3a6fecee
cpu/efm32: provide arch_efm32 features
2019-11-16 14:07:53 +01:00
Bas Stottelaar
0c18ef4f23
Merge pull request #12278 from benemorius/pr/efm32-uart-rx_cb
...
cpu/efm32/uart: fix handling of RX when no RX callback is configured
2019-11-12 21:33:07 +01:00
Bas Stottelaar
d0ff9530d3
cpu/efm32: update vendor code
2019-11-06 23:25:53 +01:00
5578740fc4
Merge pull request #12397 from fjmolinas/pr_CPU_ARCH_FAM
...
makefiles/vars.inc.mk: move definition and export of CPU_FAM and CPU_ARCH to vars.inc.mk
2019-10-21 08:23:51 +02:00
c618d9821f
cpu/efm32: provide gpio feature at cpu level
2019-10-18 09:32:48 +02:00
Francisco Molina
347a0fc804
cpu/ boards/: remove exports for CPU_FAM
2019-10-18 08:55:33 +02:00
Francisco Molina
5e9b92a326
cpu: remove CPU_ARCH exports
2019-10-18 08:55:33 +02:00
Bas Stottelaar
2a5010f779
cpu/efm32: remove EFM32_UART_MODES
2019-10-16 22:05:08 +02:00
Thomas Stilwell
8d7dc4e503
cpu/efm32/uart: uart_init(): begin with TX pin at idle level
...
else TX will be asserted low for a few usec until the peripheral
is initialized and deasserts it
2019-10-06 22:12:37 -05:00
Thomas Stilwell
277459613b
cpu/efm32/uart: uart_write(): block until TX is complete
...
This avoids breaking the last character if something unclocks
the UART immediately after uart_write() returns.
2019-10-06 18:33:59 -05:00
Thomas Stilwell
5fb6801cca
cpu/efm32/uart: don't enable rx if no callback is configured
2019-10-06 18:33:57 -05:00
Thomas Stilwell
c8f34c705b
cpu/efm32/uart: move reusable code into uart_poweron/off()
2019-10-06 18:30:00 -05:00
Thomas Stilwell
3541666956
cpu/efm32/uart: fix crash on rx with no callback configured
2019-10-06 17:56:30 -05:00
benpicco
c4fa0842a2
Merge pull request #11940 from basilfx/feature/efm32_riotboot
...
efm32: add support for riotboot
2019-10-01 20:20:17 +02:00
Gunar Schorcht
02d81b717e
Merge pull request #12063 from maribu/i2c_release
...
drivers/periph/i2c: Updated i2c_release() to return void
2019-10-01 19:50:38 +02:00
Bas Stottelaar
962b0efaaf
boards+efm32: add support for riotboot
2019-10-01 18:08:27 +02:00
Bas Stottelaar
0b6435560e
efm32: optimize when building the bootloader
2019-10-01 18:05:20 +02:00
benpicco
a7cb0a4b77
Merge pull request #12323 from basilfx/feature/efm32_uart_modes
...
cpu/efm32: provide periph_uart_mode
2019-10-01 15:32:50 +02:00
benpicco
5105a2e54d
Merge pull request #12340 from cladmi/pr/makefiles/board_cpu_macros
...
makefiles: CFLAGS convert to the uppercase function instead of using the shell
2019-09-30 19:53:28 +02:00
Bas Stottelaar
4e6b46ca20
cpu/efm32: implement uart_mode
2019-09-30 18:12:15 +02:00
Gaëtan Harter
4b93f27d83
cpu: use makefiles/utils uppercase
...
Convert the variables to uppercase using the 'makefiles/utils' function.
2019-09-30 17:25:24 +02:00
Bas Stottelaar
b2769c0857
cpu: efm32: move LOW_POWER_ENABLED to efm32-features.mk
2019-09-30 00:03:15 +02:00
Thomas Stilwell
70084ab6aa
cpu/efm32/uart: enable pullup on RX pin
2019-09-24 16:44:15 +02:00
Marian Buschsieweke
df27dbef7a
cpu: Moved stdio_init() into cpu_init()
...
- Removed stdio_init() from newlib's _init(), as this is too late in the boot
process to allow DEBUG()ing during periph_init()
- Added stdio_init() to the various cpu_init() routines of the ARM CPUs just
before periph_init()
2019-09-06 16:54:23 +02:00
Gaëtan Harter
1be5b7b10b
cpu: do not locally export compilation variables
...
These are already exported by `makefiles/vars.inc.mk`.
It is a prerequisite to allow handling compilation without global exports.
2019-08-29 10:35:53 +02:00
Marian Buschsieweke
450b251823
cpu/efm32: Updated i2c_release()
2019-08-22 12:03:07 +02:00
653c23ea31
Merge pull request #11963 from fjmolinas/pr_efm32_flashpage_raw
...
cpu/efm32: add flashpage_raw
2019-08-06 16:29:15 +02:00
fjmolinas
e1576c986c
cpu/efm32: add flashpage_raw
2019-08-05 17:24:26 +02:00
570f308551
cpu/efm32: deduplicate cpu_efm32 group definition
2019-08-05 16:57:36 +02:00
Kevin "Bear Puncher" Weiss
f976aeb1af
Merge pull request #11720 from benemorius/efm32-gpio-init-int-disable
...
cpu/efm32/periph_gpio: fix wrong GPIO_IntDisable() in gpio_init_int()
2019-07-08 15:36:38 +02:00
Thomas Stilwell
c2d98f9648
cpu/efm32/periph_gpio: fix wrong GPIO_IntDisable() in gpio_init_int()
2019-06-19 00:52:14 -07:00
Thomas Stilwell
5c8bf483e7
cpu/efm32/periph_gpio: fix NUMOF_IRQS off-by-one error
2019-06-18 16:46:35 -07:00
smlng
2de4b3011b
periph_common: add as dependency to periph drivers
...
Rational: the periph_common module is required by (most) other periph drivers
and also during startup of the CPU/MCU to run periph_init. The latter is only
required if other periph drivers are used, hence periph_common should be a
depency of periph_* modules and *not* of the CPU/MCU. This PR fixes that
by making periph_common a depency of periph_* and removing the explicit
include in the CPU/MCU implementation.
2019-06-03 13:44:10 +02:00
Federico Pellegrin
617124792c
efm32/i2c: make sure 16-bit register access is done in big endian
2019-05-29 11:29:11 +02:00
Bas Stottelaar
28d0e46882
cpu: efm32: add support for 32-bit timers
2019-01-07 18:49:21 +01:00
Bas Stottelaar
7372074223
cpu: efm32: update vendor headers
2018-12-30 23:35:57 +01:00
Peter Kietzmann
b2c791c6cb
Merge pull request #10135 from miri64/cpu/enh/periph-gpio-irq-closing-endif
...
cpu, periph_gpio: mark closing #endif for MODULE_PERIPH_GPIO_IRQ
2018-10-15 13:41:02 +02:00
Hauke Petersen
5f50db07e8
misc: use correct hauke.petersen@fu email address
2018-10-11 12:20:37 +02:00
Martine Lenders
ff54112f82
efm32: mark closing #endif for MODULE_PERIPH_GPIO_IRQ
2018-10-09 15:10:59 +02:00
Hauke Petersen
1b62f7cd40
cpu/efm32/gpio: use gpio_irq feature
2018-10-04 18:43:24 +02:00
Bas Stottelaar
fbb490a2e0
cpu: efm32: add support for no DC-DC converter
2018-09-17 19:31:22 +02:00
Bas Stottelaar
e8a76acea5
cpu: efm32: adapt to new i2c interface.
2018-07-25 12:01:40 +02:00
938677cc83
cpu*: fix doxygen grouping
2018-06-11 19:12:02 +02:00
Bas Stottelaar
0c47233f97
cpu: efm32: add support for non-standard UART modes.
2018-06-04 18:16:41 +02:00
Bas Stottelaar
c3161ce524
cpu/efm32: efm32pg12b: add support
2018-06-03 16:48:04 +02:00
Bas Stottelaar
9b3f8ca047
cpu/efm32: efm32pg12b: add vendor headers
2018-06-03 16:48:04 +02:00
Bas Stottelaar
840de5139b
cpu: efm32: fix for cpp support.
2018-05-25 20:36:21 +02:00
Bas Stottelaar
bbb0606e33
cpu: efm32: mark rtc+rtt as conflict.
2018-04-11 18:39:59 +02:00
Bas Stottelaar
b40cf3075e
cpu/efm32: efr32mg12p: add support
2018-04-05 19:41:24 +02:00
Bas Stottelaar
9937f29eab
cpu/efm32: efr32mg1p: extend vendor headers
2018-04-05 19:40:41 +02:00
Bas Stottelaar
d1441be06b
cpu/efm32: efr32mg12p: add vendor headers
2018-04-05 19:40:34 +02:00
Bas Stottelaar
41347328ce
cpu: efm32: correct power modes
2018-04-04 21:29:20 +02:00
Bas Stottelaar
c2a7ee0c8c
cpu: efm32: update vendor files to 5.4.0
2018-04-03 19:02:03 +02:00
Bas Stottelaar
9117fe577a
cpu/efm32: efm32pg1b: add support
2018-03-16 16:26:58 +01:00
Bas Stottelaar
cbca0cc6ae
cpu/efm32: efm32pg1b: add vendor headers
2018-03-16 16:26:58 +01:00
Vincent Dupont
4f44778a42
cpu/efm32: use const pointer in flashpage
2018-03-14 16:28:32 +01:00
Gaëtan Harter
6f2eeca91b
cpu/efm32/periph/timer: remove timer_set duplicate
...
timer_set is already provided by 'periph_common' so does not need to be
provided by cpu/periph.
2018-03-01 17:31:15 +01:00
Joakim Nohlgård
d4e5bea0a3
efm32: Use different values for each unsupported ADC res
2018-02-23 09:36:57 +01:00
Bas Stottelaar
11638eb1d6
cpu: efm32: fix typo in cpus.txt
2018-02-22 15:38:13 +01:00
Bas Stottelaar
864839cb90
cpu/efm32: efm32lg: add support
2018-02-21 19:16:49 +01:00
Bas Stottelaar
1e3fdce1d7
cpu/efm32: efm32lg: add vendor headers
2018-02-21 19:16:49 +01:00
Francisco Acosta
25c818bef0
cpu/efm32: fix flashpage_erase
2018-02-16 18:21:49 +01:00
Bas Stottelaar
a68f47eca1
cpu/efm32: efm32gg: add support.
2018-02-16 13:57:17 +01:00
Bas Stottelaar
f9f1b9ebfa
cpu/efm32: efm32gg: add vendor headers
2018-02-16 13:57:17 +01:00
Bas Stottelaar
2329b84935
cpu: efm32: fix ADC resolution selection
...
The `res` argument is a combination of resolution and shifting, combined using `(y << 4) | x`. To yield x, `0x0F` should have been used.
2018-02-15 21:14:09 +01:00
Bas Stottelaar
2af38d749c
cpu: efm32: fix RTC for Series 0 MCUs.
...
Without fix:
Setting alarm to 12627-11-30 15:00:05
Alarm is set to 12722-01-25 07:13:03
With fix:
Setting alarm to 2011-12-13 14:15:17
Alarm is set to 2011-12-13 14:15:17
2018-02-15 21:12:40 +01:00
Bas Stottelaar
76ca2c9bb3
cpu: efm32: use static mutex initialization.
2018-02-14 09:30:08 +01:00
Bas Stottelaar
6a112bdf51
Merge pull request #8474 from basilfx/feature/efm32_pwm_mode
...
cpu: efm32: implement pwm modes.
2018-02-05 12:56:02 +01:00
Bas Stottelaar
91b2627539
cpu: efm32: implement pwm modes.
2018-01-31 23:39:42 +01:00
Gaëtan Harter
f7046f83fb
cpu/efm32: Fix 'cpu' module name conflict
...
Rename 'cpu/efm32/families/efr32mg1p' module to 'cpu_efr32mg1p' to don't
conflict with 'cpu'.
Also required to set the path to vectors.o as its not provided by cpu.
2018-01-30 11:55:05 +01:00
Bas Stottelaar
8f12b9896f
cpu: efm32_common + ef32mg1p: replace with generalized efm32 cpu
2017-12-19 20:04:37 +01:00