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
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
Juergen Fitschen
6190738bf0
cpu/efm32: include periph_conf.h for system-related methods
...
This allows boards to define different crystal frequencies. The correct frequency is required by the system-related methods to ensure proper function of the underlying emlib.
2022-10-27 15:22:58 +02:00
Jue
ee2f5e981c
cpu/efm32: add efr32zg23 family
...
Generated with the EFM2RIOT tool: https://github.com/basilfx/EFM2RIOT
2022-10-24 23:16:39 +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
Jue
1c60c95733
cpu/efm32: setup EM4 mode for series 2 CPUs
2022-10-24 23:16:38 +02:00
Jue
775861510c
cpu/efm32: allow series 2 boards to setup clock trees flexibly
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
Juergen Fitschen
dc8fe69789
cpu/efm32: satisfy vera++
2022-10-18 23:30:08 +02:00
Jue
68625e5aa9
cpu/efm32/gpio: block power modes if IRQs are enabled
2022-10-18 23:30:08 +02:00
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