1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
Commit Graph

225 Commits

Author SHA1 Message Date
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