Benjamin Valentin
0ddca68de9
cpu/fe310: use common names for heap markers
...
Other archs use `_sheap` and `_eheap` to mark the start and end of
the heap.
fe310 uses `_heap_start` and `_heap_end`, so platform independent
code that wants to make use of this will needlessly fail.
For compatibility with common code, name them the same on fe310.
2020-07-07 17:25:00 +02:00
Leandro Lanzieri
7a2e4c819d
cpu/esp8266: Add Kconfig symbols
2020-07-07 16:27:43 +02:00
Leandro Lanzieri
0b0a03bef9
cpu/esp32: Add Kconfig symbols
2020-07-07 16:27:35 +02:00
Leandro Lanzieri
e6b698c69b
cpu/esp_common: Add Kconfig symbols
2020-07-07 16:27:34 +02:00
Jean Pierre Dudey
3003cf737a
boards/common/esp32: move ESP features to cpu/esp_common
...
>All of them are features of each ESP SoC and have not to be configured by the
board definition.
Signed-off-by: Jean Pierre Dudey <jeandudey@hotmail.com>
Co-authored-by: Gunar Schorcht <gunar@schorcht.net>
2020-07-07 16:02:23 +02:00
Martine Lenders
60469026cf
Merge pull request #14434 from maribu/irq_cleanup
...
cpu/cortexm_common: Fix cpu_switch_context_exit()
2020-07-04 11:42:54 +02:00
Marian Buschsieweke
056100c1ca
cpu/cortexm_common: Fix cpu_switch_context_exit()
...
- Use `irq_enable()` over `bl irq_enable`, as `irq_enable()` is an inline
function and not a C function any more
- Drop `__attribute__((naked))` qualifier
- It must be used with the declaration of the function, but there it is
missing. (And it cannot be added there, as this function would need to
be implemented as "naked" by every platform; which is impossible for
platforms not supporting `__attribute__((naked))`.)
- Only functions consisting completely of basic asm may be marked as naked.
But both the assembly used to trigger the SVC interrupt as well as the
assembly used in `irq_enable()` are extended asm, not basic asm
- Use ` UNREACHABLE();` over a custom asm construct
2020-07-03 12:48:42 +02:00
Leandro Lanzieri
215e77f2ad
cpu/kinetis: Add Kconfig symbols
2020-07-02 14:41:41 +02:00
Leandro Lanzieri
6ea04d146b
cpu/kinetis: Provide features based on CPU series
...
Also, rename CPU_FAMILY to the standard CPU_FAM.
2020-07-02 14:41:39 +02:00
Francisco
772b638d2a
Merge pull request #14405 from aabadie/pr/cpu/mips_no_binfile
...
cpu/mips: disable BINFILE generation
2020-07-01 10:21:41 +02:00
Francisco
41888674a4
Merge pull request #14385 from aabadie/pr/make/appdeps_export
...
boards/mips: remove use of APPDEPS, un-export globally APPDEPS
2020-07-01 09:13:35 +02:00
b3e566bcd8
cpu/mips: disable BINFILE generation
2020-07-01 08:08:23 +02:00
Peter Kietzmann
2250c67240
Merge pull request #14388 from leandrolanzieri/pr/kconfig/ezr32wg_board_symbols
...
boards/slwstk6220a: Model features provided in Kconfig
2020-06-30 18:24:44 +02:00
Francisco
325b7a8d8e
Merge pull request #13631 from benpicco/cpu/sam0_common/spi-deinit
...
drivers/periph/spi: add periph_spi_reconfigure feature & implementation for sam0
2020-06-30 15:34:53 +02:00
Gunar Schorcht
028c0d4b3c
Merge pull request #14353 from fjmolinas/pr_reorder_makefiles_cleanup
...
Makefile: use normal conditionals
2020-06-30 09:59:02 +02:00
Francisco Molina
e98341da93
Makefile: use normal conditionals
2020-06-29 22:40:29 +02:00
Leandro Lanzieri
339432583c
cpu/ezr32wg: Add Kconfig symbols
...
Also define CPU_FAM in Makefile.features
2020-06-29 14:01:01 +02:00
ffa28e415a
cpu/mips_pic32_common: add cpu_model specific assembly symbols dependency
2020-06-28 12:13:32 +02:00
Gunar Schorcht
e247ced04c
cpu/esp: add feature arch_esp for all ESP SoCs
...
There are common features that can be used by ESP32 as well as ESP8266, for example the `esp_wifi` module. To be able to test for any ESP SoC, feature `arch_esp` is introduced.
2020-06-27 11:30:59 +02:00
Marian Buschsieweke
414e17b437
Merge pull request #14360 from aabadie/pr/cpu/fe310_inline_irq
...
cpu/fe310: migrate to inlined irq API
2020-06-26 13:00:22 +02:00
279f2aebed
Merge pull request #14224 from kaspar030/cortexm_remove_idle_thread
...
core: make idle thread optional
2020-06-26 11:04:19 +02:00
Francisco
a46adc3d44
Merge pull request #13742 from benemorius/pr/kinetis-pm_layered
...
cpu/kinetis: implement power modes for pm_layered
2020-06-26 10:51:12 +02:00
3d9421571c
cpu/fe310: migrate to inlined irq API
...
Co-authored-by: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
2020-06-26 10:48:56 +02:00
Marian Buschsieweke
c5c83cfe3c
cpu/msp430_common: Update to inline-able IRQ API
...
- Updated to inline-able IRQ API
- Improved robustness of functions
- Added memory barrier to prevent the compiler from moving code outside of
a critical section guarded by irq_disable() ... irq_restore()
- Reduced overhead of `irq_disable()`
- After clearing the global interrupt enable (GIE) bit, IRQs remain enabled
for up to one CPU cycle
- The previous implementation just added a nop to fill that cycle
- This implementation uses the cycle for masking the return value
- Reduced overhead of `irq_restore()`
- Now only one CPU cycle is needed
- `irq_disable()`, `irq_restore()`, and `irq_enable()` work now in constant time
2020-06-25 21:32:17 +02:00
0ff9e554eb
cpu/cortexm: implement sched_arch_idle() and disable idle thread
2020-06-25 16:02:28 +02:00
Francisco
903ad1e888
Merge pull request #14354 from miri64/drivers/cleanup/rm-NETOPT_IPV6_IID
...
netdev: remove NETOPT_IPV6_IID support for network devices
2020-06-25 15:53:33 +02:00
Francisco
c0d171a0a2
Merge pull request #14343 from leandrolanzieri/pr/kconfig/cc2538_based_symbols
...
boards/cc2538-based: Model features in Kconfig
2020-06-25 13:20:58 +02:00
Martine S. Lenders
78fc1e7654
nrfmin: remove NETOPT_IPV6_IID support
...
This option is handled in the `gnrc_netif`-layer without any access to
the driver's option since 7ae90564d9
.
2020-06-25 10:51:05 +02:00
Leandro Lanzieri
75f487d9ec
Merge pull request #14344 from fjmolinas/pr_mips_uhi_dep
...
cpu/mips32r2_common: include newlib_syscalls_mips_uhi in Makefile.dep
2020-06-24 16:30:04 +02:00
Bas Stottelaar
21f9afdb5b
Merge pull request #14318 from benpicco/cpu/stm32-TIMER_CHANNELS
...
cpu/stm32: use TIMER_CHANNEL_NUMOF for consistency
2020-06-24 15:32:22 +02:00
Francisco Molina
bdfda031c5
cpu/mips32r2_common: include newlib_syscalls_mips_uhi in Makefile.dep
2020-06-24 15:29:42 +02:00
Leandro Lanzieri
7d543fe091
cpu/cc2538: Add Kconfig symbols
...
Also specify CPU_FAM in Makefile.features
2020-06-24 15:15:43 +02:00
Francisco
b49bd9ffe5
Merge pull request #14276 from jue89/fix/samr30-xpro_ztimer_rtt_underflow
...
cpu/saml21: adjust RTT_MIN_OFFSET
2020-06-24 13:41:06 +02:00
Leandro Lanzieri
cd3b1515a0
Merge pull request #14338 from aabadie/pr/cpu/fe310_kconfig
...
cpu/fe310: boards/hifive1*: model features in Kconfig
2020-06-24 13:34:40 +02:00
Benjamin Valentin
06cdd30fcb
cpu/stm32: use TIMER_CHANNEL_NUMOF for consistency
2020-06-24 12:58:38 +02:00
Kevin "Tristate Tom" Weiss
2d5901dd69
Merge pull request #14340 from leandrolanzieri/pr/kconfig/msp430_boards_symbols
...
boards/msp430-based: Model features in Kconfig
2020-06-24 12:53:42 +02:00
b36b2ee748
cpu/fe310: add Kconfig configuration
2020-06-24 11:13:45 +02:00
Francisco
816d7c4d28
Merge pull request #14206 from leandrolanzieri/pr/kconfig/atmega256rfr2_based_boards
...
boards/atmega256rfr2-based: Model features in Kconfig
2020-06-24 11:06:04 +02:00
benpicco
cdacdd79e6
Merge pull request #14319 from benpicco/cpu/ezr32wg/TIMER_CHANNELS
...
cpu/ezr32wg: define TIMER_CHANNEL_NUMOF
2020-06-24 09:52:29 +02:00
Leandro Lanzieri
4abc4e7de7
cpu/msp430fxyz: Add Kconfig symbols
...
Also specify CPU_FAM in Makefile.features
2020-06-24 09:28:19 +02:00
Leandro Lanzieri
a73c03ed0c
cpu/cc430: Add Kconfig symbols
...
Also specify CPU_FAM in Makefile.features
2020-06-24 09:27:02 +02:00
Leandro Lanzieri
c86bf5074d
cpu/msp430_common: Add Kconfig symbols
...
Also specify CPU_ARCH and CPU_CORE in Makefile.features.
2020-06-24 09:26:05 +02:00
Francisco
48bdd7018a
Merge pull request #14302 from fjmolinas/pr_sam0_rtt_opt
...
cpu/sam0_common/rt%: use READREQUEST when accessing CLOCK/COUNT regs
2020-06-24 08:42:03 +02:00
Bas Stottelaar
6774f7e412
Merge pull request #14337 from benpicco/TIMER_CHANNEL_NUMOF
...
use TIMER_CHANNEL_NUMOF instead of TIMER_CHANNELS
2020-06-24 01:19:17 +02:00
Benjamin Valentin
97343af69d
cpu/ezr32wg: define TIMER_CHANNEL_NUMOF
2020-06-24 00:48:21 +02:00
Benjamin Valentin
96273b4df0
cpu/atmega_common: use TIMER_CHANNEL_NUMOF
2020-06-24 00:45:35 +02:00
Benjamin Valentin
51135a50fc
cpu/sam3: use TIMER_CHANNEL_NUMOF
2020-06-24 00:45:35 +02:00
Benjamin Valentin
c8ff026640
cpu/sam0_common: use TIMER_CHANNEL_NUMOF
2020-06-24 00:45:35 +02:00
Benjamin Valentin
3af4d38735
cpu/lpc2387: use TIMER_CHANNEL_NUMOF
2020-06-24 00:45:35 +02:00
Benjamin Valentin
5da1a9e577
cpu/esp*: use TIMER_CHANNEL_NUMOF
2020-06-24 00:45:35 +02:00
Francisco
a73b61e30b
Merge pull request #14320 from benpicco/cpu/sam0_common-gpio_gclk
...
cpu/sam0_common: GPIO always default to MAIN clock for EXTI, make configurable
2020-06-23 22:48:45 +02:00
Leandro Lanzieri
cc6a4929f4
cpu/atmega256rfr2: Add Kconfig symbols
2020-06-23 14:37:26 +02:00
Francisco
f63066974c
Merge pull request #14195 from leandrolanzieri/pr/kconfig/atmega32u4_boards_symbols
...
boards/arduino-leonardo: Model features in Kconfig
2020-06-23 14:08:27 +02:00
Juergen Fitschen
cc22324bd4
cpu/saml21: adjust RTT_MIN_OFFSET
2020-06-23 11:59:56 +02:00
d7c1510b0f
cortexm_common: Remove read in ICSR register operations
...
All bits in the ICSR register in the cortexm system control block are
either read-only or don't have an effect when writing a zero. A
read-modify-write cycle is thus not required when writing bit flags in
the register. This commit removes the reads in the read-modify-store
patterns for this register.
2020-06-23 11:53:53 +02:00
25c609f2d3
Merge pull request #12101 from OTAkeys/pr/fix_i2c_release
...
cpu/stm32_common: disable i2c in release
2020-06-23 10:21:15 +02:00
Leandro Lanzieri
1ea5fc6f06
cpu/atmega32u4: Add CPU-specific Kconfig symbols
2020-06-23 09:57:22 +02:00
Leandro Lanzieri
ed0743ddb3
cpu/atmega1281: Add Kconfig symbols
2020-06-22 17:09:03 +02:00
Leandro Lanzieri
a5dedf3c91
cpu/atmega1284p: Add Kconfig symbols
2020-06-22 17:08:59 +02:00
Leandro Lanzieri
6c184376d0
cpu/atmega128rfa1: Add Kconfig symbols
2020-06-22 16:10:40 +02:00
Leandro Lanzieri
873badcd76
cpu/atmega_common: Add ATmega128 family Kconfig symbol
2020-06-22 15:19:35 +02:00
Peter Kietzmann
332ae60e04
Merge pull request #14211 from leandrolanzieri/pr/kconfig/atmega2560_boards_symbols
...
boards/arduino-mega2560: Model features in Kconfig
2020-06-22 15:04:43 +02:00
Thomas Stilwell
ae7ec96731
cpu/kinetis: implement power modes for pm_layered
2020-06-21 21:51:16 -05:00
Bas Stottelaar
1bd0e32cb9
cpu/kinetis: remove reference of RTC_NUMOF.
...
These defines were globally removed in #12673 .
2020-06-21 21:29:23 +02:00
Benjamin Valentin
3e91914831
cpu/sam0_common: spi: implement the periph_spi_reconfigure feature
2020-06-21 21:19:17 +02:00
benpicco
27da7c2797
Merge pull request #14323 from bergzand/pr/kinetis/spi_scalar_array_size
...
kinetis/spi_scalar: Add local ARRAY_SIZE define
2020-06-21 18:00:08 +02:00
c2a7d23277
kinetis/spi_scalar: Add local ARRAY_SIZE define
...
The spi scalar calculation tool for the kinetis family is stand-alone
and doesn't use the RIOT headers. It doesn't include the ARRAY_SIZE
macro from the RIOT headers. This commit adds a local definition of the
ARRAY_SIZE macro
2020-06-21 17:09:32 +02:00
Benjamin Valentin
93b43e5753
cpu/samd5x: make SAM0_GCLK_TIMER configurable
2020-06-20 00:25:54 +02:00
Benjamin Valentin
fba3aab2f3
cpu/samd5x: rename GCLK defines
...
Now that the GCLK defines are not always at a fixed frequency, rename
them to better reflect this.
2020-06-20 00:25:54 +02:00
Benjamin Valentin
17304d390c
cpu/samd5x: use MHZ() macro
2020-06-20 00:25:53 +02:00
Benjamin Valentin
b5f407f9a4
cpu/samd5x: enable buck voltage regulator when possible
...
When an external oscillator is used and the internal fast oscillators
are off, we can enable the buck converter if the board supports it.
2020-06-20 00:25:53 +02:00
Benjamin Valentin
849c76578a
cpu/samd5x: allow to use XOSC as clock source
...
Allow to run the main clock and all peripheral clocks off XOSC.
This is necessary if we want to use the buck voltage regulator.
2020-06-20 00:10:08 +02:00
benpicco
a30d229b12
Merge pull request #14166 from aabadie/pr/cpu/stm32g4
...
cpu/stm32g4: add support + add nucleo-g474re board
2020-06-19 17:05:15 +02:00
Cenk Gündoğan
209248f3b2
Merge pull request #14310 from leandrolanzieri/pr/kconfig/efm32_boards_symbols
...
boards/efm32-based: Model features in Kconfig
2020-06-19 15:02:51 +02:00
f546c6238b
cpu/stm32: add support for stm32g4
2020-06-19 14:18:17 +02:00
Francisco Molina
bdda25c534
cpu/sam0_common/rt%: issue READREQUEST to access CLOCK/COUNT regs
...
read-synchronized register will stall immediatly when read, instead
issue READREQUEST and wait for sync to be unset.
2020-06-19 14:10:31 +02:00
Benjamin Valentin
c0203ad35c
cpu/sam0_common: GPIO default to MAIN clock for EXTI, make configurable
...
Currently only samd21 used the 32 kHz clock for EXTI which makes it miss fast events.
All newer members of the family use the MAIN clock.
While touching this, also make the clock source configurable to this can be overwritten,
e.g. in the board config if desired.
2020-06-19 13:27:48 +02:00
Francisco
a970163812
Merge pull request #14312 from benpicco/cpu/sam0_common/periph/uart-rxonly
...
cpu/sam0_common: UART: allow RX only configuration
2020-06-19 11:44:10 +02:00
benpicco
c3314e1a0c
Merge pull request #14303 from fjmolinas/pr_sam0_unified_rtt
...
cpu/sam0: unified rtt configuration
2020-06-19 11:30:06 +02:00
Francisco Molina
ff24aa61f3
cpu/sam0_common/periph/rtt: uncrustify
2020-06-19 09:16:24 +02:00
Francisco Molina
15bbd95b6a
cpu/sam0_common/rtt: add configurable RTT_FREQUENCY
2020-06-19 09:16:24 +02:00
Francisco Molina
36baec4512
cpu/samd5x: add unified rtt configuration
2020-06-19 09:16:23 +02:00
Francisco Molina
f41b43e263
cpu/saml21: add unified rtt configuration
2020-06-19 09:16:23 +02:00
Francisco Molina
bcfe4bac0b
cpu/saml1x: add unified rtt configuration
2020-06-19 09:16:22 +02:00
Francisco Molina
eefb3fa555
cpu/samd21: add unified rtt configuration
2020-06-19 09:16:22 +02:00
Benjamin Valentin
5c3ae77df9
cpu/sam0_common: UART: allow RX only configuration
2020-06-19 00:33:50 +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
Dylan Laduranty
00b14cce27
Merge pull request #14106 from benpicco/cpu/saml1x/pm_deep_flag
...
cpu/saml1x: pm: set deep flag
2020-06-17 22:02:34 +02:00
Dylan Laduranty
6bf0a41399
Merge pull request #13600 from benpicco/sam0-gpio
...
cpu/sam0_common: GPIO IRQ optimizations
2020-06-17 21:23:19 +02:00
Leandro Lanzieri
67ab640caf
cpu/atmega2560: Add Kconfig symbols
2020-06-17 12:44:30 +02:00
Francisco
112ff81f3e
Merge pull request #14176 from leandrolanzieri/pr/kconfig/atmega_boards_symbols
...
boards/atmega328p-based: Model features in Kconfig
2020-06-17 12:22:31 +02:00
07c78efc83
Merge pull request #14285 from fjmolinas/pr_uart_nb_race
...
sam0/stm32: fix possible uart_nonblocking deadlock
2020-06-17 12:14:25 +02:00
Francisco
4c05c0207f
Merge pull request #14300 from benpicco/cpu/sam0_common/uart_txinv
...
cpu/sam0_common: UART: implement inverted RX & TX
2020-06-17 11:44:46 +02:00
Leandro Lanzieri
981aecf9cc
cpu/atmega328p: Add Kconfig symbols
2020-06-17 10:52:24 +02:00