Jue
f6016d3999
cpu/efm32: keep debug unit active during EM2 when DEVELHELP is active
2022-10-18 17:34:27 +02:00
Jue
bc51071d44
cpu/efm32: define EFM power modes for pm_layered
2022-10-18 17:34:27 +02:00
Jue
b3989bc11f
cpu/efm32: remove ADC defintion for CPUs without ADC
...
Gecko Series 2 is shipped with a new IADC peripheral which is backed by its own emlib driver.
2022-10-18 16:39:18 +02:00
Gunar Schorcht
550a599da9
cpu/efm32: fix RTT_MAX_VALUE selection
...
EFM32GG12 have both a RTC and a RTCC. `_RTC_CNT_MAX` is used as `RTT_MAX_VALUE` in this case.
2022-10-17 08:19:08 +02:00
Gunar Schorcht
ae98c3e6d3
cpu/efm32: add EFM32GG12 family (generated with EFM2RIOT)
2022-10-17 08:19:08 +02:00
Jue
f3d1773483
cpu/efm32/gpio: fix deprecated GPIO_IntConfig() call
2022-10-15 15:43:17 +02:00
Jue
65d4c046a8
cpu/efm32/efr32*: model librail integration
2022-10-15 15:43:17 +02:00
MrKevinWeiss
9b6036def3
cpu/efm32/periph: remove seriesn in kconfig
...
As this is not handled in the makefile.dep it does not need to be modeled in kconfig.
2022-08-17 14:37:23 +02:00
Marian Buschsieweke
16f859dafd
drivers/saul: use const qualifier for data to write
...
This makes life easier when calling e.g. `saul_reg_write()` with data
stored in flash.
As now the signatures for reading and writing differ (in that `const`
qualifier only), `saul_notsup()` is split into `saul_write_notsup()`
and `saul_read_notsup()`. However, one is implemented as a symbol alias
of the other, so that ROM consumption remains unchanged.
2022-05-23 08:35:27 +02:00
chrysn
d90e0f1e85
cpu/efm32: Support pull-up/-down resistors
2022-05-03 19:32:08 +02:00
chrysn
e9a577c384
cpu/efm32: Document what is and is not implemented
...
Collapsing strengths as they'll stay unused for the time being.
2022-05-03 19:32:08 +02:00
chrysn
ed9cfba747
cpu/efm32: Push-pull support for GPIO_LL
2022-05-03 19:32:08 +02:00
chrysn
3264a1d51d
cpu/efm32: Minimal support for gpio_ll
2022-05-03 19:32:08 +02:00
Benjamin Valentin
0340ac6129
cpu: include IDLE in PM_NUM_MODES
2022-04-06 12:29:25 +02:00
Leandro Lanzieri
202fb261fe
Merge pull request #17811 from fjmolinas/pr_xtimer_dep_rework_simple
...
sys/*timer: rework dependecies to ease backend switch, prefer ztimer_xtimer_compat over xtimer_on_ztimer
2022-03-18 08:17:24 +01:00
chrysn
facb5e633f
Merge pull request #17436 from Ollrogge/reserve_flash
...
cpu: add flash_writable section to linker script
2022-03-17 21:44:32 +01:00
Ollrogge
41f961a197
periph/flashpage: Add _in_address_space feature
2022-03-17 19:45:54 +01:00
Francisco Molina
d86828c53b
cpu/efm32: periph_rtt_series0/1 are not modules
2022-03-17 14:37:33 +01:00
Jue
4bb6a764ea
cpu/efm32: select series-specific drivers in periph Makefile
...
This will allow to share implementations across a subset of EFM32 series.
2022-02-17 11:09:24 +01:00
Kevin "Tristate Tom" Weiss
ed94dd7085
Merge pull request #17376 from leandrolanzieri/pr/makefiles/add_board_cpu_config_variables
...
makefiles/kconfig: add board & CPU config variables
2021-12-13 13:26:40 +01:00
Leandro Lanzieri
df7ce1c647
makefiles/kconfig: use two lists for boards and CPUs default configs
...
This introduces KCONFIG_BOARD_CONFIG and KCONFIG_CPU_CONFIG variable for
boards and CPUs (including common directories) to add default
configuration files to be merged. The current approach, as it uses
Makefile.features, would include boards first, not allowing them to
override CPU configurations.
2021-12-13 12:33:21 +01:00
Gunar Schorcht
7405df2607
cpu/efm32/periph/wdt: fix compilation with NDEBUG
2021-12-12 13:18:46 +01:00
Gunar Schorcht
007e29ebb5
cpu/periph/i2c: update implementations to new I2C API
...
Make all `spi_acquire` implementations return `void` and add assertions to check for valid device identifier where missing.
2021-11-29 06:35:25 +01:00
Leandro Lanzieri
805a77b13a
cpu/efm32: model Kconfig
2021-11-18 09:03:06 +01:00
MrKevinWeiss
9b6a63a951
drivers/kconfig: simplify shared rtt/rtc hardware in kconfig
2021-10-14 11:28:46 +02:00
Francisco
a1cbcc9ede
Merge pull request #15902 from maribu/spi-api-change-1
...
drivers/periph_spi: let spi_acquire return void
2021-09-02 08:50:56 +02:00
Marian Buschsieweke
f04b522601
cpu/periph_spi: update implementations to new API
...
Make all spi_acquire() implementations return `void` and add assertions to
check for valid parameters, where missing.
2021-09-01 21:38:40 +02:00
Jan Romann
4384795cb9
treewide: Remove excessive newlines
2021-08-13 19:50:38 +02:00
Benjamin Valentin
d47a880915
cpu: add periph_rtt_overflow feature
...
The RTT overflow callback is not available on all RTT implementations.
This means it is either a no-op or `rtt_set_overflow_cb()` is a no-op
or it will overwrite the alarm set with `rtt_set_alarm()`.
This adds a feature to indicate that proper overflow reporting is available.
2021-04-30 11:58:00 +02:00
Karl Fessel
fb50acd3f9
cpu/efm32: define rtt attributes
2021-04-20 11:12:45 +02:00
Karl Fessel
4ff30a31e5
cpu/efm32: add RTT_FREQUENCY support to efm32
...
make efm32 rtt frequency configurable by setting RTT_FREQUENCY
2021-04-20 11:12:45 +02:00
Marian Buschsieweke
ab89234040
drivers/periph/rtt: add periph_rtt_set_counter feature
...
Some periph_rtt implementations do not provide `rtt_set_counter()`. This
adds `periph_rtt_set_counter` as feature to allow testing for its
availability. The feature is provided at CPU level if periph_rtt is
provided by the board for all CPUs implementing `rtt_set_counter()`.
2021-03-08 14:16:46 +01:00
Marian Buschsieweke
b9cb75fedf
drivers/periph/rtt: add periph_rtt_set_counter feature
...
Some periph_rtt implementations do not provide `rtt_set_counter()`. This
adds `periph_rtt_set_counter` as feature to allow testing for its
availability. The feature is provided at CPU level if periph_rtt is
provided by the board for all CPUs implementing `rtt_set_counter()`.
2021-03-04 18:05:06 +01:00
Benjamin Valentin
9c1455d55f
cpu: make pm_layered a DEFAULT_MODULE
...
Allow to disable pm_layered in the bootloader to save some ROM.
2021-01-27 13:21:20 +01:00
Bas Stottelaar
d831a7e746
cpu/efm32: adapt MPU-capable cpus
2021-01-06 23:44:54 +01:00
Bas Stottelaar
ef8985fbbd
cpu/efm32: add support for efm32hg family
2021-01-06 23:44:53 +01:00
a1ca06d6f4
cpu/efm32: coretemp.h: add missing stdint.h include
2020-11-25 17:52:34 +01:00
1d5e2e9cd9
all: remove traces of kernel_types.h
...
Automatically removed using:
$ git grep -l kernel_types | xargs sed -i '/^#include .kernel_types/d'
2020-11-25 17:52:34 +01:00
benpicco
ba8c8e29ad
Merge pull request #15498 from kaspar030/efm32_fix_tim_t
...
cpu/efm32/periph/timer: fix timer_t -> tim_t
2020-11-23 16:22:04 +01:00
925056c829
cpu/efm32/periph/timer: fix timer_t -> tim_t
2020-11-23 12:33:28 +01:00
Bas Stottelaar
3881b2f0cd
cpu/efm32: add support for efr32mg1b
2020-11-23 00:21:32 +01:00
Bas Stottelaar
6f60185bfa
cpu/efm32: define Kconfig option for efm32_coretemp
2020-11-18 18:43:33 +01:00
Bas Stottelaar
431e6efdf6
cpu/efm32: add coretemp driver
2020-11-18 12:28:45 +01:00
benpicco
d9598a0f54
Merge pull request #15412 from bergzand/pr/flashpage/merge_raw
...
periph_flashpage: Make pagewise API optional
2020-11-12 22:32:21 +01:00
9a79124fba
efm32: Adapt to flashpage/flashpage_pagewise API
2020-11-11 23:16:39 +01:00
benpicco
38552ed41a
Merge pull request #15413 from benpicco/cpu/efm32_rtc_helper
...
cpu/efm32: RTC Series 0: use RTC helper functions
2020-11-11 17:19:59 +01:00
Bas Stottelaar
9f9f8637f3
cpu/efm32: add support for ezr32wg
2020-11-10 22:59:46 +01:00
Benjamin Valentin
bad385ab7c
cpu/efm32: RTC Series 0: use RTC helper functions
...
By using the RTC helper functions instead of POSIX mktime()/gmtime()
we can not only extend the RTC range beyond Y2038.
For tests/periph_rtc:
before:
text data bss dec hex filename
28028 248 2472 30748 781c stk3700/tests_periph_rtc.elf
after:
text data bss dec hex filename
19400 144 2424 21968 55d0 stk3700/tests_periph_rtc.elf
fixes #13277
2020-11-09 17:57:57 +01:00
Bas Stottelaar
6d472b5d23
cpu/efm32: extend timer isr
2020-11-04 22:11:49 +01:00
Marian Buschsieweke
125c892c03
drivers/periph/timer: Use uint32_t for frequency
...
For all currently supported platforms `unsigned long` is 32 bit in width. But
better use `uint32_t` to be safe.
2020-10-30 22:02:12 +01:00
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