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

4588 Commits

Author SHA1 Message Date
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
5f6065f567
Merge pull request #12338 from cladmi/pr/make/cortexm/do_not_set_cpu_model
makefiles/arch/cortexm.inc.mk: removing setting CPU_MODEL
2019-10-01 15:25:16 +02:00
Gaëtan Harter
e73b4d2d24
cpu/lpc1768: explictly define CPU_MODEL
Define CPU_MODEL as it required by cortexm.inc.mk
The default setting will be removed from cortexm.inc.mk.
2019-10-01 11:38:35 +02:00
Gunar Schorcht
5009959610
Merge pull request #12346 from benpicco/esp32-thin_archives
cpu/esp32: unconditionally disable thin archives
2019-10-01 10:34:04 +02:00
benpicco
52bf448a3b
Merge pull request #12035 from gschorcht/cpu/esp32/fix_periph_flash
cpu/esp32: fix and improve periph/flash
2019-10-01 10:22:06 +02:00
Benjamin Valentin
0ca2ce0214 cpu/esp32: unconditionally disable thin archives
Thin archives also cause a boot loop when using the flash module.
To prevent further surprises, disable thin archives unconditionally
until the cause for this behaviour is known.
2019-10-01 09:28:33 +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
Benjamin Valentin
bf1eca338f cpu/cc2538: fix spi_transfer_bytes()
Always wait for RNE before reading DR.
Fixes always reading in the !out_buf case.
2019-09-30 13:11:11 +02:00
Bas Stottelaar
b2769c0857 cpu: efm32: move LOW_POWER_ENABLED to efm32-features.mk 2019-09-30 00:03:15 +02:00
benpicco
1543a8c438
Merge pull request #12276 from kenrabold/pr-fe310_intr_cleanup
cpu/fe310: interrupt handling cleanup
2019-09-28 19:14:07 +02:00
kenrabold
1d6e37a7f7 cpu/fe310: interrupt handling cleanup
Cleanup of FE310 interrupt handler code
Optimization of intr context frame
Reduce size of intr stack
Added unhandled trap output
Fix PR #12237
2019-09-27 13:32:43 -07:00
benpicco
3a3267916e
Merge pull request #12313 from haukepetersen/fix_nrfble_featuredecl
cpu/nrf5x: decelare radio_nrfble feat for all nrfs
2019-09-27 11:17:36 +02:00
benpicco
efa41ad094
Merge pull request #12222 from benpicco/samd5x-clock
cpu/samd5x: allow more flexible selection of CLOCK_CORECLOCK
2019-09-27 11:07:54 +02:00
benpicco
3e538c042d
Merge pull request #12292 from benpicco/esp_wifi-workaround
cpu/esp32: disable thin archives if esp_wifi is used
2019-09-27 10:50:35 +02:00
Benjamin Valentin
7e5aa7e775 cpu/sam0_common: uart: fix baud rate calculation
In fractional mode, 3 bits are used to store the fractional part.
Therefore we must multiply / divide by 8 instead of 10 in order to
get the correct values.
2019-09-27 10:49:43 +02:00
Benjamin Valentin
736e5e5a35 cpu/samd5x: allow more flexible selection of CLOCK_CORECLOCK
There are some constraints to the oscillators on the samd5x.

 - DFLL is fixed to run at 48 MHz
 - DPLL can run at 96 to 200 MHz

Always use DFLL for frequencies <= 48 MHz.
For frequencies >= 96 MHz, use DPLL directly.
For frequencies < 96 MHz, clock DPLL at twice the desired frequency
and use a divider.
2019-09-27 10:49:43 +02:00
Hauke Petersen
982d730adf cpu/nrf5x: decelare radio_nrfble feat for all nrfs 2019-09-27 10:00:06 +02:00
a7f6508109 cpu/cortexm: don't disable IRQs in cpu_jump_to_image() 2019-09-26 23:38:43 +02:00
e1e01e2617
Merge pull request #11250 from dylad/pr/samr34_support
board: add support for SAMR34-XPRO
2019-09-26 11:27:22 +02:00
dylad
e189d085b0 cpu/sam0: add support for SAMR34 MCU 2019-09-26 10:48:03 +02:00
dylad
c9bd7deea0 cpu/sam0: add SAMR34 vendor files 2019-09-26 10:48:03 +02:00
Francois Berder
1673f890ec cpu: mips32r2_common: Use stdio_uart to handle UHI write syscalls
Signed-off-by: Francois Berder <18538310+francois-berder@users.noreply.github.com>
2019-09-25 21:36:10 +01:00
Martine Lenders
57edabce96
Merge pull request #12269 from bergzand/pr/nrfusb/fix_control_write
nrfusb: Fix data stage handling of control writes
2019-09-25 18:08:08 +02:00
Benjamin Valentin
111fe80eb9 cpu/esp: disable thin archives if esp_wifi is used
For a yet unknown reason, both esp8266 and esp32 get stuck in a
reboot loop when thin archives are used.

As a workaround, disable thin archives for now if esp_wifi is used.

fixes #12258
2019-09-25 07:48:07 +02:00
Martine Lenders
1598c8c6f8
Merge pull request #11950 from gschorcht/cpu/esp32/periph-gpio_read-fix
cpu/esp32: fix of gpio_read for output ports
2019-09-24 20:20:40 +02:00
Francisco
5ab2db71a4
Merge pull request #12282 from LordTy/esp32_build_fix
cpu/esp32: Use awk/printf instead of echo -n when flashing esp32
2019-09-24 18:38:35 +02:00
benpicco
3833e42426
Merge pull request #12092 from cladmi/pr/cpu_model/minor_changes_included
boards with side-effect: move CPU/CPU_MODEL definition to Makefile.features
2019-09-24 18:36:58 +02:00
Gaëtan Harter
8cebed6792
boards/common/esp: harmonize CPU/CPU_MODEL to other boards
* CPU files should already have 'CPU' defined by the board.
* Do not conditionally define CPU as it is not needed.

This is part of cleanup prior to moving the CPU/CPU_MODEL to
Makefile.features.
2019-09-24 17:29:37 +02:00
Thomas Stilwell
70084ab6aa cpu/efm32/uart: enable pullup on RX pin 2019-09-24 16:44:15 +02:00
Tim Broenink
35aa642e8a cpu/common/esp32: use 'awk/printf' instead of 'echo'
- replaces 'echo -n' and 'awk' with 'printf' and 'awk'
  - replaces rest of 'echo' statements with printf
2019-09-24 15:34:54 +02:00
Vincent Dupont
1a44d327cb
Merge pull request #11989 from gschorcht/cpu/esp32/periph-can
cpu/esp32: reimplementation of module esp_can as module periph can
2019-09-23 16:52:05 +02:00
40619d18ca
cpu/nrf5x_common: implement periph_wdt driver 2019-09-20 20:45:42 +02:00
Gunar Schorcht
d5bf41dba1 cpu/esp32: doc update for periph_can 2019-09-20 19:39:23 +02:00
Gunar Schorcht
fc5692d67c cpu/esp32: driver for ESP32 CAN as periph_can 2019-09-20 19:39:23 +02:00
Gunar Schorcht
c498ebd388 cpu/esp32: default device config for periph_can 2019-09-20 19:35:02 +02:00
Gunar Schorcht
49ecce9b81 cpu/esp32: periph_can device/conf type definitions 2019-09-20 19:35:02 +02:00
Gunar Schorcht
e0f1ab0a16 cpu/esp32: module esp_can removed
CAN controller driver for ESP32 is no longer realized as separate module.
2019-09-20 19:35:02 +02:00
Benjamin Valentin
c9f8ff1cf1 sam0_common: add Watchdog implementation 2019-09-20 19:04:41 +02:00
8bb98ba151
cpu/stm32f7: add support for stm32f723 cpu line 2019-09-20 13:41:12 +02:00
Francisco
bd5ceb58e7
Merge pull request #11984 from aabadie/pr/boards/p-l496g-cell02
boards/p-l496g-cell02: add support
2019-09-20 11:28:54 +02:00
711854562b
Merge pull request #12236 from twostairs/cpu_stm32_common_periph_gpip-pd
cpu/stm32_common/periph/gpio: Pull-down on gpio_init_af
2019-09-18 20:02:40 +02:00
07b3bc6918
nrfusb: Fix data stage handling of control writes 2019-09-18 08:11:44 +02:00
benpicco
d5c272ed86
Merge pull request #12199 from smlng/fix_timer_returns
periph/timer: Fix return codes of timer API
2019-09-17 23:04:46 +02:00
Martine Lenders
98482b67c0
Merge pull request #12263 from benpicco/esp_now-fix
esp_now: fix unused variable warning
2019-09-17 21:59:01 +02:00
Benjamin Valentin
9129ea7399 esp_now: fix unused variable warning
esp_now_pkt_hdr_t *hdr is only used if gnrc_sixlowpan is used,
so move it into the according #ifdef

fixes #12257
2019-09-17 19:02:47 +02:00
benpicco
e214dcbd2c
Merge pull request #11986 from kaspar030/mips_remove_nomips16
cpu/mips32r2: remove nomips16 attribute from _mips_handle_exception
2019-09-17 16:54:03 +02:00
b415588677 cpu/mips32r2: remove nomips16 attribute from _mips_handle_exception
A note says "The nomips16 attribute should not really be needed,
it works around a toolchain issue in 2016.05-03."

In fact, in 2018.09-03, the attribute leads to this error:

```cpu/mips32r2_common/thread_arch.c:191:1: error: ‘_mips_handle_exception’ redeclared with conflicting ‘nomips16’ attributes```

This this commit removes the attribute.
2019-09-17 15:59:10 +02:00
9b4755c3ba
Merge pull request #12196 from kenrabold/pr_thread_yield_higher
cpu/fe310: fixes for SW interrupt latency issues
2019-09-17 14:25:10 +02:00
benpicco
5a01a762c2
Merge pull request #12227 from maribu/mips32r2-early-stdio
cpu/mips32r2_common: Added call to stdio_init()
2019-09-17 10:46:10 +02:00
Marian Buschsieweke
8fa0c04e23
Merge pull request #12229 from benpicco/lpc238-cleanup
cpu/lpc2387: clean up the platform
2019-09-16 22:06:59 +02:00
benpicco
1d90617386
Merge pull request #12252 from cladmi/pr/esp8266/revert_uncompatible_option
Revert "cpu/esp8266: update deprecated flash_size argument"
2019-09-16 20:48:46 +02:00
kenrabold
547ebd1b27 cpu/fe310: use WFI to wait for SW interrupt 2019-09-16 09:32:27 -07:00
071c2b2c5f
Merge pull request #12109 from nmeum/pr/riscv_context_switch
cpu/fe310: don't call thread_yield when sched_active_thread is invalid
2019-09-16 16:51:39 +02:00
Gaëtan Harter
15ea073f64
Revert "cpu/esp8266: update deprecated flash_size argument"
This reverts commit 422644bd3a.

The option is only supported after 2.6 which is currently not the
version given with 'esp' toolchain.
It was a bit too early to switch to the new version.
Version 2.7 also supports the old option with only a warning.
2019-09-16 16:08:35 +02:00
Benjamin Valentin
e3b0874305 cpu/lpc2387: clean up the platform
- move clock setup from boards/ to cpu/
 - reduce code duplication
2019-09-16 13:08:56 +02:00
Marius
e87529b4e4
Pull-up on RX pin 2019-09-15 23:55:39 +02:00
Marian Buschsieweke
95a2081cfa
Merge pull request #12225 from maribu/esp8266-early-stdio
cpu/esp8266: Moved stdio_init before periph_init
2019-09-14 12:34:45 +02:00
Marian Buschsieweke
baf911bd7d
cpu/esp8266: Moved stdio_init before periph_init
- This guarantees that DEBUG() is available early in boot process
- Forgotten in https://github.com/RIOT-OS/RIOT/pull/11367, this fixes broken stdio
2019-09-14 12:17:14 +02:00
Marian Buschsieweke
5fd6652865
cpu/mips32r2_common: Added call to stdio_init()
Fixed bug introduced in https://github.com/RIOT-OS/RIOT/pull/11367
2019-09-14 11:42:15 +02:00
Marian Buschsieweke
2750dc2000
cpu/esp32: Moved stdio_init() before periph_init()
- This guarantees that DEBUG() is available early in boot process
- Forgotten in https://github.com/RIOT-OS/RIOT/pull/11367, fixes broken stdio
2019-09-14 11:12:32 +02:00
aed12b4853
Merge pull request #11252 from fjmolinas/pr_wdg_stm32
cpu/stm32_common: add watchdog for stm32
2019-09-13 09:16:18 +02:00
Dylan Laduranty
88fe7afe2b
Merge pull request #12121 from benpicco/sam0-fix_exti
cpu/sam0_common/gpio: don't hard-code number of ports
2019-09-12 20:17:11 +02:00
Francisco Molina
f54c2dbbda cpu/stm32_common: add watchdog for stm32 2019-09-12 19:07:40 +02:00
Gunar Schorcht
4469dadb7f cpu/esp32: _esp_wifi_dev exposed for lwIP
To be able to access the single esp_wifi network device from lwIP adaptation layer, static keyword was removed from esp_wifi_dev variable.
2019-09-12 18:39:46 +02:00
benpicco
e589cfbf6c
Merge pull request #10760 from gschorcht/esp32_esp_eth_link_opt
cpu/esp32: support of NETOPT_LINK_CONNECTED in esp_eth_netdev
2019-09-12 18:14:44 +02:00
Benjamin Valentin
b1724a7d1b periph/rtc: normalize struct tm before usage
A naive implementation may set a RTC alarm in 30s by calling

	struct tm now;
	rtc_get_time(&now);
	now.tm_sec += 30;
	rtc_set_alarm(&now, _cb, NULL);

This works for RTC implementations that use a RTT internally and call
mktime() to convert the struct tm to a unix timestamp, as mktime() will
normalize the struct in the process.

Call rtc_tm_normalize() when the RTC uses separate registers for time / date
components to ensure it is normalized.

This also modifies tests/periph_rtc to exercise this case.
2019-09-12 11:32:31 +02:00
benpicco
729ba07e9a
Merge pull request #11229 from maribu/msp430_cleanup
cpu/msp430_common: Cleanup
2019-09-11 20:12:55 +02:00
benpicco
c12b88ef59
Merge pull request #12188 from jcarrano/sam0_rtt_fix_flags
cpu/sam0_common/../rtt: correcly clear flags.
2019-09-11 15:24:46 +02:00
Sebastian Meiling
ddd97001c1 cpu/lm4f120: fix uninit var in periph/timer 2019-09-11 14:15:51 +02:00
Sebastian Meiling
0629d076eb cpu/sam3: adapt timer to return 0 on success
Adapt periph/timer implementation of sam3 based MCUs
to return 0 on success for all functions.
2019-09-11 13:53:04 +02:00
Sebastian Meiling
49acf98841 cpu/sam0: adapt timer to return 0 on success
Adapt periph/timer implementation of sam0 based MCUs
to return 0 on success for all functions.
2019-09-11 13:52:28 +02:00
Sebastian Meiling
af529531a4 cpu/nrf5x: adapt timer to return 0 on success
Adapt periph/timer implementation of nrf5x based MCUs
to return 0 on success for all functions.
2019-09-11 13:51:53 +02:00
Sebastian Meiling
935bb51e14 cpu/native: adapt timer to return 0 on success
Adapt periph/timer implementation of native based MCUs
to return 0 on success for all functions.
2019-09-11 13:51:02 +02:00
Sebastian Meiling
22f4ec81b0 cpu/mips32r2: adapt timer to return 0 on success
Adapt periph/timer implementation of mips32r2 based MCUs
to return 0 on success for all functions.
2019-09-11 13:48:12 +02:00
Sebastian Meiling
ddcbfce391 cpu/lpc1768: adapt timer to return 0 on success
Adapt periph/timer implementation of lpc1768 based MCUs
to return 0 on success for all functions.
2019-09-11 13:47:32 +02:00
Sebastian Meiling
fd900357fc cpu/lm4f120: adapt timer to return 0 on success
Adapt periph/timer implementation of lm4f120 based MCUs
to return 0 on success for all functions.
2019-09-11 13:46:55 +02:00
Sebastian Meiling
84e6d1571a cpu/kinetis: adapt timer to return 0 on success
Adapt periph/timer implementation of kinetis based MCUs
to return 0 on success for all functions.
2019-09-11 13:46:15 +02:00
Sebastian Meiling
c4fcb241b1 cpu/cc26x0: adapt timer to return 0 on success
Adapt periph/timer implementation of cc26x0 based MCUs
to return 0 on success for all functions.
2019-09-11 13:45:29 +02:00
Sebastian Meiling
cabaaebff4 cpu/cc2538: adapt timer to return 0 on success
Adapt periph/timer implementation of cc2538 based MCUs
to return 0 on success for all functions.
2019-09-11 13:44:46 +02:00
Sebastian Meiling
1d24709674 cpu/atmega_common: adapt timer to return 0 on success
Adapt periph/timer implementation of atmega based MCUs
to return 0 on success for all functions.
2019-09-11 13:41:44 +02:00
Juan Carrano
f7279c84bb cpu/sam0_common: rtt: correcly clear flags.
The INTFLAGS register is cleared by writing a 1 to the corresponding interrupt
flag bit. From the samr21's manual:

> Writing a zero to this bit has no effect.
> Writing a one to this bit clears the Compare 0 interrupt flag.

This is a common pattern in flag registers.

This RTT driver is using or-equal to clear the flags, which means it can
possibly clear other interrupts. There's a small chance that one event is
missed if it happens very close to another event.

Credits to @benpicco, @dylad for pointing out missing fixes.
2019-09-11 12:55:10 +02:00
benpicco
b6fe0e25fe
Merge pull request #10020 from gebart/pr/kinetis-lptmr-reload
kinetis: lptmr reload instead of spinning
2019-09-11 10:12:58 +02:00
benpicco
6f63ef42a7
Merge pull request #11920 from maribu/lpc2387
cpu/lpc2387: Cleanup
2019-09-11 10:12:26 +02:00
benpicco
410e6edf58
Merge pull request #11882 from maribu/arm7_buildsystem
cpu/arm7_common: Moved compiler flags here
2019-09-11 10:12:14 +02:00
benpicco
85798e831b
Merge pull request #11887 from maribu/arm7_thread_yield_higher
cpu/arm7_common: Fix thread_yield_higher in ISR
2019-09-11 10:11:57 +02:00
Marian Buschsieweke
7092566f1f
cpu/arm7_common: Moved compiler flags here
- Moved compiler & linker flags from boards/common/msba2 to cpu/arm7_common
- Moved dependency to newlib nano to cpu/arm7_common
- Moved config to link in cpu/startup.o to cpu/arm7_common
2019-09-11 01:02:41 +02:00
Juan I Carrano
c50d8fada1
Merge pull request #11646 from cladmi/pr/esp/programmer_update
esp*: updates to the programmer configuration
2019-09-10 17:58:20 +02:00
Marian Buschsieweke
b87ab96d17
Merge pull request #10661 from miri64/gnrc_netif_hdr/enh/netif_setter
gnrc_netif_hdr: add setter for netif
2019-09-10 16:14:28 +02:00
Juan I Carrano
abc25f0715
Merge pull request #11452 from maribu/atmega_irq
cpu/atmega_common: Bugfixes in irq_arch.c
2019-09-10 13:39:53 +02:00
Martine Lenders
50a3238ee0 esp-now: use gnrc_netif_hdr_set_netif() 2019-09-10 12:37:32 +02:00
benpicco
3aa8bc0d70
Merge pull request #12150 from jcarrano/compress-debuginfo
toolchain/cflags: enable dwarf compression (save 50% HDD)
2019-09-10 10:31:45 +02:00
3d8c4d52d1
Merge pull request #12100 from OTAkeys/pr/fix_uart_poweroff
cpu/stm32_common/uart: fix rare uart failure
2019-09-10 10:25:46 +02:00
88e07c06d2
Merge pull request #11367 from maribu/arm_early_stdio
cpu: Moved stdio_init() prior to periph_init() for ARM targets
2019-09-09 16:52:30 +03:00
d08d6a409c
Merge pull request #12181 from fjmolinas/pr_stm32f7_lsi
cpu/stm32_common: fix STM32F7 LSI_CLOCK definition
2019-09-09 14:47:57 +02:00
Francisco Molina
516e62688a cpu/stm32_common: fix STM32F7 CLOCK_LSI definition 2019-09-09 10:11:57 +02:00
Francisco
6d800ed85a
Merge pull request #11366 from maribu/early_stdio_atmega
cpu/atmega_common: Moved atmega_stdio_init() to cpu_init()
2019-09-09 10:22:53 +03:00