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

92 Commits

Author SHA1 Message Date
chrysn
664b209e7a cpu/efm32: pwm_init errors are zeros 2023-03-17 13:02:20 +01:00
chrysn
b04af7920c efm32/dac: Shift instead of masking
Closes: https://github.com/RIOT-OS/RIOT/issues/19317
2023-02-25 13:38:56 +01:00
Gunar Schorcht
6d233f1308 cpu/efm32: enable usbdev_synopsys_dwc2 driver as periph_usbdev 2022-12-07 16:34:34 +01:00
Juergen Fitschen
a6ff838a4b
Merge pull request #18933 from jue89/feature/cpu_efm32_series_2_adc
cpu/efm32: add periph_adc support for Gecko Series 2
2022-11-24 11:32:56 +01:00
Juergen Fitschen
18e9167c73 cpu/efm32/adc: add support for Gecko Series 2
Series 2 features IADCs instead of ADCs.
2022-11-22 14:44:56 +01:00
Jue
80b491d7dd cpu/efm32/uart: add modecfg support for Gecko Series 2 2022-11-21 23:17:52 +01:00
Jue
54e915e40d cpu/efm32/timer_series2: sync STATUS register
Make sure the STATUS register has been synced between the different clock domains.

Especially the LETIMER needs some time to update the STATUS register after it has been enabled. If the LETIMER is started and stopped with just a short delay, pm_layered gets confused because the timer seems to be inactive ...
2022-10-28 11:34:55 +02:00
Jue
e6d18af3ad cpu/efm32/timer_series2: fix timer_start() interaction with pm_layered
The timer hasn't been enabled yet, if the STATUS isn't RUNNING, yet ...
2022-10-28 11:34:55 +02:00
Jue
2ce1df5cd6 cpu/efm32/wdt: add series 2 support 2022-10-24 23:16:39 +02:00
Jue
ccf327a32b cpu/efm32/hwrng: add series 2 periph driver 2022-10-24 23:16:39 +02:00
Jue
53e444ebc7 cpu/efm32/i2c: add series 2 support 2022-10-24 23:16:39 +02:00
Jue
2c2790dde2 cpu/efm32/spi: add series 2 support 2022-10-24 23:16:39 +02:00
Jue
568448f68c cpu/efm32/timer: add series 2 periph driver 2022-10-24 23:16:39 +02:00
Jue
42c9a3c9f1 cpu/efm32/uart: add series 2 periph driver 2022-10-24 23:16:38 +02:00
Jue
2b1a260c43 cpu/efm32/gpio: fix clock enable sequence for series 2 2022-10-24 23:16:38 +02:00
Juergen Fitschen
67b380034a cpu/efm32/pm: add debug output 2022-10-19 18:17:43 +02:00
Juergen Fitschen
360b36af16 cpu/efm32/pm: allow blocking EM1
Aligns pm logic to #17883
2022-10-19 17:51:12 +02:00
Jue
68625e5aa9 cpu/efm32/gpio: block power modes if IRQs are enabled 2022-10-18 23:30:08 +02:00
Jue
bc51071d44 cpu/efm32: define EFM power modes for pm_layered 2022-10-18 17:34:27 +02:00
Jue
f3d1773483 cpu/efm32/gpio: fix deprecated GPIO_IntConfig() call 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
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
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
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
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
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
925056c829 cpu/efm32/periph/timer: fix timer_t -> tim_t 2020-11-23 12:33:28 +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
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
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
Bas Stottelaar
3e2303d30c
cpu/efm32: add watchdog peripheral 2020-10-07 09:01:41 +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
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
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
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