4746 Commits

Author SHA1 Message Date
benpicco
f77e5a6c6a
Merge pull request #12673 from benpicco/purge-rtc_numof
boards: remove RTT_NUMOF/RTC_NUMOF
2019-11-12 11:33:16 +01:00
Benjamin Valentin
d21dc25cfe sam0/spi: Don't re-configure SPI device when not needed
Currently, spi_acquire() will always re-configure the SPI bus.
If the configuration did not change, this is entirely uneccecary
and makes SPI operations take longer than needed.

Instead, compare the current configuration with the new configuration
and skip the initialisation if it didn't change since the last call.
2019-11-12 11:31:41 +01:00
Benjamin Valentin
db2fa33660 sam0_common: rtc: use GCLK4 on SAMD21
The RTC expects to be clocked from a 1kHz source.
Previously it would re-configure GCLK2 from 32kHz to 1kHz when used.

Since GCLK2 is also used by EIC, this would break external interrupts
in strange and unexpected ways.

Dedicate a 1kHz clock to it to avoid the damage.
2019-11-12 11:30:02 +01:00
Benjamin Valentin
5fa234e435 sam0_common: wdt: use GCLK4 on SAMD21
GCLK4 will always run at 1kHz on SAMD21, so use it directly.
2019-11-12 11:29:25 +01:00
Benjamin Valentin
d92c079a90 cpu/samd21: configure GCLK4 with 1024 Hz
Both WDT and RTC expect a 1 kHz clock.
Source it from the same generator as the 32 kHz GCLK2.
2019-11-12 11:29:17 +01:00
Benjamin Valentin
89b987494e cpu/sam0_common: rtt: enable COUNTSYNC in CTRLA
From the data sheet:

> The COUNT register requires synchronization when reading.
> Disabling the synchronization will prevent reading valid
> values from the COUNT register.

Without this bit enabled, rtt_get_counter() will always return 0.
2019-11-12 11:28:08 +01:00
Benjamin Valentin
3ce6ddcdb2 cpu/atmega_common: cpuid: add a word of warning
The CPU ID only differs in byte 4 (RC calibration) between devices.

Add a word of warning to the documentation that this may not be very unique.
2019-11-11 18:07:09 +01:00
Benjamin Valentin
5b6d56efd5 atmega_common: provide CPU ID for every device
ATmega128RFA1/ATmega256RFR2 do not have a unique CPU ID.

Use the RC oscillator callibration byte as an impromptu CPU ID and rely
on bootlader constants present on all ATmega families for the remaining
bytes.

This way we can provide a faux CPU ID on all ATmega MCUs and typical hobbyists
with no access to JTAG adapters or high voltage programmer capable of writing
the user signature have a good chance that the CPU IDs of their device do not collide.
2019-11-08 16:58:03 +01:00
Benjamin Valentin
0ea2cbf1eb boards: remove RTT_NUMOF/RTC_NUMOF
Those macros are defined but never used.
2019-11-08 14:20:33 +01:00
Marian Buschsieweke
72714aefea
cpu/lpc2387: Added MCU provided features
Added features provided by the LPC2387 MCU to cpu/lpc2387/Makefile.features
2019-11-08 14:02:35 +01:00
Gunar Schorcht
dca6d59b60 cpu/esp_common: vendor files changed for RTOS SDK 2019-11-08 13:22:50 +01:00
Gunar Schorcht
a6d01fc2de cpu/esp8266: vendor files changed for RTOS SDK 2019-11-08 10:32:18 +01:00
Gunar Schorcht
464bb9f4c4 cpu/esp8266: vendor files that are no longer needed removed 2019-11-08 10:32:18 +01:00
Leandro Lanzieri
66d5e4d05f
Merge pull request #12637 from benpicco/lpc2387-uart
cpu/lpc2387: update the UART driver
2019-11-07 22:21:50 +01:00
Benjamin Valentin
9e68556393 boards/msba2: configure remaining UARTs
All UARTs on the MSBA2 are exposed through pin headers on the board.
Configure them according to the data sheet.
2019-11-07 21:55:25 +01:00
Benjamin Valentin
c544c41804 cpu/lpc2387: fix indent 2019-11-07 21:55:24 +01:00
Benjamin Valentin
d6a94d4e18 cpu/lpc2387: uart driver overhaul
This converts the hard-coded UART driver to the new ways.

 - allow the board to configure the RX & TX pins
 - allow for more than one UART
 - allow setting the baudrate
 - implement poweron()/poweroff() functions
2019-11-07 21:55:24 +01:00
Alexandre Abadie
7e42f6e4d5
Merge pull request #12659 from aabadie/pr/cpu/atmega_common_wdt
cpu/atmega_common: add implementation for watchdog
2019-11-07 12:32:46 +01:00
José Alamos
20ea18637f
Merge pull request #10485 from miri64/gnrc_netif/enh/default-init
gnrc_netif: assume `netif->ops->init()` to be set to at least a default
2019-11-07 11:41:05 +01:00
Alexandre Abadie
d22404b8b7
cpu/atmega_common: add implementation for watchdog 2019-11-07 11:35:29 +01:00
Martine Lenders
14a2f6bc18 gnrc: use gnrc_netif_default_init() for all implementations 2019-11-07 11:00:36 +01:00
Bas Stottelaar
d0ff9530d3 cpu/efm32: update vendor code 2019-11-06 23:25:53 +01:00
Benjamin Valentin
5ec9f62a0b cpu/lpc2387: add UART register map 2019-11-04 01:21:08 +01:00
benpicco
926bdc9a9f
Merge pull request #12579 from bergzand/pr/stm32/lpclk_en_dis
stm32/cpu: Add functions for low power mode clock config
2019-11-01 23:16:37 +01:00
Koen Zandberg
799823b630
stm32/cpu: Add functions for low power mode clock config 2019-11-01 20:19:41 +01:00
Anton Gerasimov
fa8c0578bf cpu/cc26xx_cc13xx: switch to cortexm.ld linker script
Signed-off-by: Anton Gerasimov <tossel@gmail.com>
2019-10-29 21:27:00 +01:00
Anton Gerasimov
9fad1e3b6d cpu/cc26xx_cc13xx: define uart_conf_t
Replaces older macro-based configuration

Signed-off-by: Anton Gerasimov <tossel@gmail.com>
2019-10-29 21:27:00 +01:00
Anton Gerasimov
6790e9e6ca cpu/cc26xx_cc13xx: Fix codespell issues
Signed-off-by: Anton Gerasimov <tossel@gmail.com>
2019-10-29 21:27:00 +01:00
Anton Gerasimov
1659a71ed0 cpu/cc13x2: Add support for cc13x2 MCUs
Signed-off-by: Anton Gerasimov <tossel@gmail.com>
2019-10-29 21:27:00 +01:00
Anton Gerasimov
1442561c8e cpu/cc26x0: Fix register map for WDT
Signed-off-by: Anton Gerasimov <tossel@gmail.com>
2019-10-29 21:27:00 +01:00
Anton Gerasimov
f6a3f14d22 cpu/cc26x0: Factor out code common for cc26xx/cc13xx family
Signed-off-by: Anton Gerasimov <tossel@gmail.com>
2019-10-29 21:27:00 +01:00
Martine Lenders
ea4b78654f
Merge pull request #12285 from JulianHolzwarth/pr/posix/pthread/pthread_reaper_fix
sys/posix/pthread/pthread.c: fix pthread reaper
2019-10-29 18:56:36 +01:00
Marian Buschsieweke
d4adcfd92d
Merge pull request #12581 from benpicco/lpc2387-xtal_select
cpu/lpc2387: allow for more flexible clock selection
2019-10-28 12:32:11 +01:00
Benjamin Valentin
d6ca62576d cpu/lpc2387: allow use of other XTALs
Currently the cpu/lpc2387 init code hard-codes a 16 MHz
external oscillator.
Instead, calculate the PLL multiplier based on the board define
and also allow to run without an external oscillator.
2019-10-28 11:11:40 +01:00
Leandro Lanzieri
073090b01e
Merge pull request #12580 from benpicco/lpc2387-fix_rtc
cpu/lpc2387: enable RTC on rtc_init()
2019-10-28 10:40:37 +01:00
Leandro Lanzieri
00926221fd
Merge pull request #12585 from aabadie/pr/cpu/stm32_common_fix_llvm_build
cpu/stm32_common: fix i2c_1 build with llvm toolchain
2019-10-28 10:03:48 +01:00
Marian Buschsieweke
4cf2151248
Merge pull request #12537 from benpicco/at86rfmega
drivers/at86rf2xx: add support for ATmegaRF MCUs
2019-10-28 09:22:02 +01:00
Alexandre Abadie
fd2d30c6e7
cpu/stm32_common: fix i2c_1 build with llvm toolchain 2019-10-27 15:44:07 +01:00
Alexandre Abadie
1c416185b6
cpu/sam0_common: fix potential undefined result with sercom_id
Scan-build detected that sercom_id could return -1 and the value of this function is affected to uint8_t variables. Since these variables are used for shitfing bit in registers, this could lead to undefined behavior
2019-10-27 12:02:47 +01:00
Benjamin Valentin
985fb53c9f cpu/lpc2387: enable RTC on init
All other CPU implementations have the RTC running after
rtc_init() was called.

Fix this for lpc2387.
2019-10-27 01:33:13 +02:00
Benjamin Valentin
14a8a53eb5 cpu/atmega256rfr2: Hook up at86rfr2 radio 2019-10-26 23:10:18 +02:00
Benjamin Valentin
25e9b24bc4 cpu/atmega128rfa1: Hook up at86rfa1 radio 2019-10-26 23:10:18 +02:00
Alexandre Abadie
60748aee5d
Merge pull request #12571 from MrKevinWeiss/pr/fix/stm32/i2c/rreadbytes
stm32_common/i2c_2: Fix repeated read condition
2019-10-25 12:20:06 +02:00
Gunar Schorcht
e38d3e24ec
Merge pull request #12548 from maribu/c11_atomcis_cpp_compat
sys: Basic C++ compatibility with C11 atomcis
2019-10-25 11:48:58 +02:00
MrKevinWeiss
df19d33b77 stm32_common/i2c_2: Fix repeated read condition
Fix the condition to return -ENOPNOTSUPP when i2c repeated read attempted.
Currently the error occures even if a read after write is attempted.
This is the standard way to i2c_read_reg which should be supported.
The -EOPNOTSUPP requires the previous R/W state to be reading.
This means a `I2C_SR2_TRA` must be checked to be 0.
2019-10-25 10:35:48 +02:00
Alexandre Abadie
7761169964
Merge pull request #11657 from Yanok35/pr-stm32-spi-af
boards/stm32-based: allow SPI signals routed on multiple alternate functions
2019-10-25 09:47:49 +02:00
Yannick Gicquel
d37adee32d boards/stm32-based: allow SPI signals routed on multiple alternate functions
There is no hardware limitation for custom boards based on STM32 to uses
SPI bus with signals coming from different PORT and alternate functions.

This patch allow alternate's function definition per pin basis, thus enable
the support of SPI bus signals routed on differents PORT.

Signed-off-by: Yannick Gicquel <ygicquel@gmail.com>
2019-10-25 06:27:41 +02:00
Marian Buschsieweke
314184adb5
cpu: Platform specific C11 atomics compat headers
Added headers to define platform specific sizes and types for the C11 atomics
compatibility module for C++.
2019-10-24 23:08:36 +02:00
Francisco Molina
1ae0873769 boards: change PORT used for flash/debug/reset to PROG_DEV 2019-10-24 12:58:12 +02:00
Koen Zandberg
acdb010669
sam0_common/usb: fix typo in comment 2019-10-23 10:35:47 +02:00