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

4857 Commits

Author SHA1 Message Date
Benjamin Valentin
a9d1825e2e cpu/lpc2387: implement periph/pm
Enable IDLE and Deep Powerdown mode.

IDLE is pretty straightforward - insteady of busy waiting, the CPU will
enter an idle state from which it will resume on any event.

Deep Power Down shuts off the entite system except for the battery backup
power domain.
That means the CPU will reset on resume and can be woken by e.g. RTC.

SLEEP and POWERDOWN disable the PLL and the PLL and Flash respectively.
This requires some proper wake-up handling.

Since this turned out to be a major time sink and those modes are never
currently never used in RIOT outside of tests, I left this as an exercise
for a future reader.
2019-11-22 09:11:39 +01:00
Benjamin Valentin
9df377d699 cpu/sam*: pm: make use of DEBUG_PUTS()
`pm_set()` gets called by the idle thread whose stack is too small
for normal DEBUG()/printf().

Use DEBUG_PUTS() instead to print the static debug strings.
2019-11-22 01:30:03 +01:00
Gunar Schorcht
d55225eb29 cpu/esp32: remove SDK crypto dependency from doc 2019-11-21 18:34:08 +01:00
Gunar Schorcht
5f01d0a88f cpu/esp32: remove SDK crypto function dependency
Modules `crypto` and `hashes` have not be disabled any longer when module `esp_wifi` is used.
2019-11-21 18:34:08 +01:00
Gunar Schorcht
1a12f56fbd cpu/esp32: use renamed SDK crypto functions 2019-11-21 18:32:28 +01:00
Gunar Schorcht
d8f0399eaa cpu/esp32: rename SDK crypto function
Renames crypto functions of ESP32 SDK in vendor code to resolve the conflicts between `wpa-supplicant` crypto functions and RIOT's `crypto` and `hashes` modules.
2019-11-21 18:32:28 +01:00
Gunar Schorcht
f8c740c190 cpu/esp32: use SDK crypto headers from vendor code
Changes the include path for ESP32 SDK crypto function headers to find their modified version in vendor codefirst.
2019-11-21 18:32:28 +01:00
Gunar Schorcht
ee349edf3b cpu/esp32: add SDK crypto headers and rename
To resolve the conflicts between `wpa-supplicant` crypto functions (part of the ESP32 SDK) and RIOT's `crypto` and `hashes` modules, the crypto function headers from ESP32 SDK are added to vendor code and the crypto functions are renamed using the prefix `wpa_`.
2019-11-21 18:32:28 +01:00
c7825aa92e
Merge pull request #12508 from gschorcht/cpu/esp32/doc_adc2_and_wifi
cpu/esp32: note on using ADC2 and WiFi in documentation
2019-11-21 18:27:06 +01:00
178d0aace2
Merge pull request #12758 from gschorcht/cpu/esp32/fix_fs_tests
cpu/esp32: increase timeout for spiffs and littlefs tests
2019-11-21 17:10:16 +01:00
fe255a26d5
Merge pull request #12750 from gschorcht/cpu/esp32/esptools
cpu/esp32: use esptool.py from riot tools
2019-11-21 17:09:54 +01:00
Francisco Molina
4c0dd49603 cpu/sam3/periph/gpio.c: fix cpp.check shiftTooManyBitsSigned 2019-11-21 11:58:07 +01:00
Francisco Molina
061b494348 cpu/lpc1768/periph/gpio.c: fix cpp.check shiftTooManyBitsSigned 2019-11-21 11:58:07 +01:00
Francisco Molina
97dda76e7a cpu/native/irq_cpu.c: fix cpp.check unitialized variable 2019-11-21 11:58:07 +01:00
Gunar Schorcht
fe165738e7 cpu/esp32: doc changes for esptool.py 2019-11-21 10:18:56 +01:00
Gunar Schorcht
9080893f06 cpu/esp32: use esptool.py from riot tools
Use esptool.py from riot tools instead from ESP-IDF SDK to avoid that the SDK has to be installed to flash an image.
2019-11-21 10:18:56 +01:00
Gunar Schorcht
47a4ff05c0 cpu/esp32: increase timeout for spiffs and littlefs tests
The time it takes to erase the entire flash memory of an esp32 card requires increasing the timeout for tests/pkg_spiffs and tests/pkg_littlefs.
2019-11-21 10:15:38 +01:00
6cdf656d62
Merge pull request #12753 from gschorcht/cpu/esp32/fix_sched_prio
cpu/esp32: fix of thread priorities levels
2019-11-21 09:28:58 +01:00
bef34d400e
Merge pull request #12757 from gschorcht/cpu/esp32/fix_xtimer_deps
cpu/esp32: fix xtimer dependency
2019-11-21 09:23:19 +01:00
Gunar Schorcht
7b1ef78054 cpu/esp32: fix of thread priorities levels
A number of tests insist that the number of thread priority levels is 16. However, when using the WiFi interface, a number of high priority threads are required to handle the WiFi hardware. In this case, the number of thread priority levels must be 32. Solves the problem of tests `tests/shell`.
2019-11-21 06:55:41 +01:00
Gunar Schorcht
9a1742074a cpu/esp32: fix xtimer dependency
Removes the dependency of the module riot_freertos from module xtimer. This avoids that xtimer is used even if it is not really needed which in turn occupies the first timer device and tests/periph_timer fails.
2019-11-21 06:38:58 +01:00
Gunar Schorcht
3ab5e3ad66 cpu/esp32: fix heap command output
The heap command output has to have an output format that is compatible with the test.
2019-11-20 08:44:45 +01:00
Gunar Schorcht
327b9fd32e cpu/esp32: introduce module esp_log_tagged
ESP32 log output was always tagged with additional information by default. The tag consists the type of the log message, the system time in ms, and the module or function in which the log message is generated. By introducing module `esp_log_tagged`, these additional information are disabled by default and can be enabled by using module `esp_log_tagged`.
2019-11-20 08:42:27 +01:00
Gunar Schorcht
a3058291b7 cpu/esp32: colored log output
Log module of ESP32 supports colored log outputs when module `esp_log_color` is enabled. The generation of colored log outputs is realized by a extending the bunch of macros with an additional letter indicating the type of log message,
2019-11-20 08:42:22 +01:00
Gunar Schorcht
f2f07252fe cpu/esp32: bootloader versions with and w/o colors
For the implementation of the colored log output, two versions of the bootloader are introduced, one version with colored log output and one version without colors.
2019-11-20 08:42:14 +01:00
Marian Buschsieweke
8d0a9ead7b
cpu/atmega_common/periph: Fixed typo in gpio.c 2019-11-18 22:45:40 +01:00
MrKevinWeiss
5c085d711d cpu/native: Suppress cpu specific spi_clk_t in doxygen 2019-11-18 11:44:13 +01:00
MrKevinWeiss
d218b77ff7 cpu/esp8266: Suppress cpu specific i2c_speed_t in doxygen 2019-11-18 11:43:45 +01:00
MrKevinWeiss
02bd107722 cpu/esp8266: Suppress cpu specific gpio_flank_t in doxygen
The enumeration takes both the cpu and the driver, it should only show the driver enum
2019-11-18 11:43:12 +01:00
Kevin "Tristate Tom" Weiss
be39169bd4
Merge pull request #11108 from gschorcht/cpu/esp8266/esp-idf/pr
cpu/esp8266: complete reimplementation based on ESP8266 RTOS SDK
2019-11-18 09:34:49 +01:00
7d3a6fecee
cpu/efm32: provide arch_efm32 features 2019-11-16 14:07:53 +01:00
Yegor Yefremov
f2127391c4 doxygen/UART: don't include overridden typedefs
Add missing #ifndefs to overridden UART typedefs.

Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
2019-11-15 10:44:52 +01:00
Yegor Yefremov
df7e760588 doxygen/I2C: don't include overridden typedefs
Add missing #ifndefs to overridden I2C typedefs.

Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
2019-11-15 10:35:33 +01:00
Yegor Yefremov
cf65070b06 doxygen/GPIO: don't include overridden typedefs
Add missing #ifndefs to overridden GPIO typedefs.

Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
2019-11-15 10:35:33 +01:00
Yegor Yefremov
fa3b0ff04b doxygen/SPI: don't include overridden typedefs
Add missing #ifndefs to overridden SPI typedefs.

Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
2019-11-15 10:35:32 +01:00
Yegor Yefremov
5b0252b150 doxygen/ADC: don't include overridden typedefs
Add missing #ifndefs to overridden ADC resolution typedefs.

Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
2019-11-15 10:35:32 +01:00
Francisco
1018a6fa67
Merge pull request #12679 from jue89/bugfix/stm32f103rc-ramlen
cpu/stm32_common: fix RAM_SIZE for stm32f103xc, stm32f105xx and stm32f107xx
2019-11-14 22:28:43 +01:00
Francisco
2adc5a23c2
Merge pull request #12361 from haukepetersen/add_nimble_autoconn
pkg/nimble: add simple BLE connection manager: autoconn
2019-11-14 14:02:24 +01:00
Gunar Schorcht
555a7040db cpu/esp8266: reset tool to allow automatic tests 2019-11-14 13:58:48 +01:00
Gunar Schorcht
309eab9ae0 cpu/esp8266: enable colored output with log_color 2019-11-14 13:58:48 +01:00
Gunar Schorcht
fe028455e5 cpu/esp8266: esptool.py is provided as tool
The modified version esptool.py from RTOS SDK that is required for flashing an image, is now placed in `dist/tools/esptool.py` and used directly from there. The advantage is that `esptool.py` hasn't to be installed explicitly anymore. Having RIOT is enough. The documentation is adapted accordingly. The oly prerequisite is that python and the pyserial module are installed.
2019-11-14 13:58:48 +01:00
Gunar Schorcht
62922769b3 cpu/esp8266: high-priority threads creation
High priority thread for the WiFi interface are only created at startup when the WiFi interface is used.
2019-11-14 13:58:48 +01:00
Gunar Schorcht
405be02da4 cpu/esp8266: funcs must not be called in assert
In vendor startup code, initialization function were called as parameters of assert statement. With DEVELHELP, they are not called since the assert macro does nothing.
2019-11-14 13:58:48 +01:00
Gunar Schorcht
2c7b9b4fb4 cpu/esp8266: toolchain renamed
To make the migration progress to the new RTOS SDK easier, the new toolchain was renamed to xtensa-esp8266-elf. This makes it possible to have the new and the old toolchain installed in parallel.
2019-11-14 13:58:48 +01:00
Gunar Schorcht
b15d7df6dc cpu/esp8266: ESP8266_SDK_DIR renamed
To make the migration progress to the new RTOS SDK easier, the ESP8266_SDK_DIR variable was renamed to ESP8266_RTOS_SDK_DIR.
2019-11-14 13:58:44 +01:00
Gunar Schorcht
9facce8c02 cpu/esp8266: use default number of priority levels
If the WiFi module is used, a number of high priority tasks is created. To void priority collisions with netdev drivers, the number of priorities SCHED_PRIO_LEVELS has to be increased to 32. But in other cases, the default number should be used, also to keep automatic tests working.
2019-11-14 13:58:25 +01:00
Gunar Schorcht
afa02044f2 cpu/esp8266: required bootloader binaries 2019-11-14 13:58:25 +01:00
Gunar Schorcht
4f4d882f68 cpu/esp32: changes for RTOS SDK 2019-11-14 13:58:25 +01:00
Gunar Schorcht
ddc91df4ca cpu/esp8266: changes for RTOS SDK 2019-11-14 13:58:22 +01:00
Gunar Schorcht
a212228147 cpu/esp8266: files that are not needed any longer removed 2019-11-14 12:04:29 +01:00
Gunar Schorcht
28ea0a0914 cpu/esp8266: required vendor RTOS SDK components added 2019-11-14 12:04:21 +01:00
Kees Bakker
43670aee7b
Merge pull request #12615 from benpicco/samd21-1kHz_gclk
cpu/samd21: use dedicated 1kHz GCLK4 for RTC and WDT
2019-11-13 20:25:55 +01:00
Jue
b037bce7ab cpu/stm32_common: fixed RAM_LEN for stm32f105__ and stm32f107__ 2019-11-13 19:58:44 +01:00
Jue
ef9363a509 cpu/stm32_common: fixed RAM_LEN for stm32f103_c 2019-11-13 19:57:59 +01:00
Gunar Schorcht
f397a74948 cpu/esp8266: FreeRTOS adaption layer added for RTOS SDK 2019-11-13 19:00:39 +01:00
Hauke Petersen
4bf14822cb nrf5x: move nimble_ble feat. to cpu 2019-11-13 13:43:55 +01:00
Hauke Petersen
d87228dab1 cpu/nrf52: add feature 'ble_nimble_netif' 2019-11-13 13:05:34 +01:00
Dylan Laduranty
0e736b8879
Merge pull request #12675 from benpicco/sam0-rtt-fix
cpu/sam0_common: rtt: enable COUNTSYNC in CTRLA
2019-11-13 10:12:07 +01:00
Bas Stottelaar
0c18ef4f23
Merge pull request #12278 from benemorius/pr/efm32-uart-rx_cb
cpu/efm32/uart: fix handling of RX when no RX callback is configured
2019-11-12 21:33:07 +01:00
Dylan Laduranty
6ec6aaf4b0
Merge pull request #12393 from benpicco/sam0-spi_reconfig
sam0/spi: Don't re-configure SPI device when not needed
2019-11-12 20:51:53 +01:00
Marian Buschsieweke
ba26aed107
cpu/atmega_common: Restructured code
Moved macros and static inline helper functions needed to access ATmega GPIOs
to cpu/atmega_common/include/atmega_gpio.h in order to reuse them for the
platform specific low level part of the Neopixel driver.
2019-11-12 20:15:59 +01:00
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
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
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
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
fd2d30c6e7
cpu/stm32_common: fix i2c_1 build with llvm toolchain 2019-10-27 15:44:07 +01:00
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
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
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
acdb010669
sam0_common/usb: fix typo in comment 2019-10-23 10:35:47 +02:00
Marian Buschsieweke
cd5cda21d4
Merge pull request #12538 from gschorcht/cpu/esp32/fix_cs_handling
cpu/esp32: fix CS handling in spi_transfer_bytes
2019-10-22 15:35:48 +02:00
Gunar Schorcht
db945bdd86 cpu/esp32: fix CS handling in spi_transfer_bytes
If `SPI_CS_UNDEF` is given as the `cs` parameter, CS pin must not be handled by the driver. Furthermore, if `cont` parameter is true, CS pin must not be disabled at the end of one transfer.
2019-10-22 08:14:49 +02:00
Benjamin Valentin
6db9421057 cpu/stm32f0: add STM32F030x4 2019-10-21 15:30:22 +02:00
benpicco
80c00339a4
Merge pull request #12477 from francois-berder/mips-refactor
cpu: mips*: Reorganize headers
2019-10-21 15:26:45 +02:00
benpicco
0aa63f84c7
Merge pull request #12515 from bergzand/pr/stmclk/fix_sai_shift
stmclk: Fix M-factor shift for SAI PLL
2019-10-21 11:37:07 +02:00
5578740fc4
Merge pull request #12397 from fjmolinas/pr_CPU_ARCH_FAM
makefiles/vars.inc.mk: move definition and export of CPU_FAM and CPU_ARCH to vars.inc.mk
2019-10-21 08:23:51 +02:00
5eedd9c629
stmclk: Fix M-factor shift for SAI PLL 2019-10-20 18:22:18 +02:00
Gunar Schorcht
1cf163833b cpu/esp32: note on using ADC2 and WiFi in doc
The ADC2 controller of the ESP32 is used by the WiFi module. The GPIOs connected to the ADC2 controller cannot be used as ADC channels if the WiFi module is enabled. This is clarified by a note in the documentation.
2019-10-19 16:31:04 +02:00
Francois Berder
12c3a5472a cpu: mips_pic32mx: Include vendor header in cpu_conf.h
Signed-off-by: Francois Berder <18538310+francois-berder@users.noreply.github.com>
2019-10-18 18:57:42 +01:00
Francois Berder
89d43c3423 cpu: mips32r2_common: Remove useless includes
Signed-off-by: Francois Berder <18538310+francois-berder@users.noreply.github.com>
2019-10-18 18:57:42 +01:00
Francois Berder
3a62b620bc cpu: mips_pic32_common: Move cpu header to mips32r2_common
Signed-off-by: Francois Berder <18538310+francois-berder@users.noreply.github.com>
2019-10-18 18:57:42 +01:00
benpicco
e9d6a61439
Merge pull request #12489 from aabadie/pr/cpu/atmega_cleanup_dep
cpu/atmega: cleanup dependencies handling
2019-10-18 15:04:07 +02:00
14567ea973
Merge pull request #12494 from fjmolinas/pr_remove_OS
Makefile/include: use ony one call to `uname`
2019-10-18 15:03:10 +02:00
629003d042
cpu/atmega: cleanup dependencies handling 2019-10-18 12:40:34 +02:00
benpicco
29e5c3af67
Merge pull request #12490 from aabadie/pr/boards/efm32_common_periph_gpio
boards/efm32: move provided gpio features at cpu level
2019-10-18 11:19:33 +02:00
benpicco
34ee36d9e4
Merge pull request #12491 from aabadie/pr/boards/atmega_common_periph_gpio
boards/atmega: move provided gpio features at cpu level
2019-10-18 11:19:15 +02:00
Francisco Molina
45c8eafd42 Makefile.include: remove repeated OS declaration 2019-10-18 10:36:43 +02:00
174bb3feee
cpu/ezr32wg: provide gpio feature at cpu level 2019-10-18 09:32:48 +02:00
c618d9821f
cpu/efm32: provide gpio feature at cpu level 2019-10-18 09:32:48 +02:00
Francisco Molina
347a0fc804 cpu/ boards/: remove exports for CPU_FAM 2019-10-18 08:55:33 +02:00
Francisco Molina
b4f9b74e1a cpu/cc2*: remove immediate expansion of CPU_ARCH 2019-10-18 08:55:33 +02:00
Francisco Molina
5e9b92a326 cpu: remove CPU_ARCH exports 2019-10-18 08:55:33 +02:00
Francisco Molina
f3482de277 REMOVEME: add OS and OS_ARCH variable 2019-10-18 08:46:51 +02:00
cba293a9a9
cpu/cc2538: provide gpio feature at cpu level 2019-10-17 22:05:23 +02:00
9c442a3547
cpu/atmega_common: provide gpio feature at cpu level 2019-10-17 21:42:07 +02:00
Benjamin Valentin
6cf6dcb946 cpu/atmega256rfr2: small cleanup
GPIO_UNDEF is already defined in periph_cpu_common.h, so the
redefinition is never used.
2019-10-17 19:20:31 +02:00
Benjamin Valentin
b1ef68abf7 cpu/atmega_common: move periph/cpuid.c to common code
Both atmega128rfa1 and atmega256rfr2 implement it.
2019-10-17 19:20:31 +02:00
Benjamin Valentin
7d78e32b15 cpu/atmega128rfa1: ATmega128rfa1 MCU support 2019-10-17 19:20:31 +02:00
benpicco
bd0ba7f187
Merge pull request #12476 from basilfx/feature/efm32_uart_modes_cleanup
cpu/efm32: remove EFM32_UART_MODES
2019-10-17 18:22:37 +02:00
Sebastian Meiling
742a23c75b
Merge pull request #12007 from MrKevinWeiss/devfixi2cflag
cpu/stm32: Fix read bytes flag for i2c_2
2019-10-17 09:14:26 +02:00
Francois Berder
57377ded76 cpu: mips_pic32mz: Include vendor header in cpu_conf.h
Signed-off-by: Francois Berder <18538310+francois-berder@users.noreply.github.com>
2019-10-16 21:17:14 +01:00
Bas Stottelaar
2a5010f779 cpu/efm32: remove EFM32_UART_MODES 2019-10-16 22:05:08 +02:00
Frank Hessel
51194b9c0d
cpu/native: Implement hardware SPI access (Linux) 2019-10-16 14:32:53 +02:00
Sebastian Meiling
ea0b5ff0dd cpu: add missing arch features to fe310
Adds arch_32bit and arch_riscv to cpu/fe310 to allow for feature
requirements and blacklisting.
2019-10-14 17:40:23 +02:00
ebf43616b7 cpu: add arch_* features 2019-10-13 21:03:41 +02:00
Marian Buschsieweke
d749e2de5d
Merge pull request #12312 from kaspar030/cortexm_dont_disable_irq_in_cpu_jump_to_image
cpu/cortexm: don't disable IRQs in cpu_jump_to_image()
2019-10-08 11:20:06 +02:00
Dylan Laduranty
40b65c16e2
Merge pull request #12291 from keestux/sam0-refactor-adc0
boards/sam0: refactor ADC_0 into plain ADC
2019-10-07 09:20:38 +02:00
Thomas Stilwell
277459613b cpu/efm32/uart: uart_write(): block until TX is complete
This avoids breaking the last character if something unclocks
the UART immediately after uart_write() returns.
2019-10-06 18:33:59 -05:00
Thomas Stilwell
5fb6801cca cpu/efm32/uart: don't enable rx if no callback is configured 2019-10-06 18:33:57 -05:00
Thomas Stilwell
c8f34c705b cpu/efm32/uart: move reusable code into uart_poweron/off() 2019-10-06 18:30:00 -05:00
Thomas Stilwell
3541666956 cpu/efm32/uart: fix crash on rx with no callback configured 2019-10-06 17:56:30 -05:00
825303cc04
Merge pull request #12372 from aabadie/pr/cpu/nrf52_multiple_i2c
cpu/nrf52: allow accessing multiple i2c peripherals
2019-10-04 15:58:30 +02:00
Kevin "Tristate Tom" Weiss
4b7c5915ec
Merge pull request #10953 from gschorcht/sys/shell/heap_cmd/pr
sys/shell: add heap command
2019-10-04 13:49:57 +02:00
c1b95733b6
cpu/nrf52: allow accessing multiple i2c peripherals 2019-10-04 08:42:35 +02:00
Kees Bakker
04c84ed158 cpu/sam0: refactor ADC_0 into plain ADC
This change is for all boards with a sam0 cpu. This cpu just has one ADC.
It is unnecessary to have defines with ADC_0_ prefix as if multiple ADCs
are possible.

Some defines were not used, such as ADC_0_EN, ADC_0_CHANNELS,
ADC_MAX_CHANNELS, ADC_0_CLK_SOURCE, ADC_0_CHANNELS

Change all ADC_0_ prefixes to ADC_
2019-10-03 20:45:44 +02:00
Gunar Schorcht
5521a6c39d cpu/esp: fix conflicts after rebase 2019-10-02 14:21:35 +02:00
Gunar Schorcht
3c47cc571f cpu/esp32: fix conflicts after rebase 2019-10-02 14:21:35 +02:00
f85edaf82a
Merge pull request #10941 from keestux/update-samr30-vendor
cpu/samr30: update vendor files using ASF 3.35.1
2019-10-02 13:35:06 +02:00
Kevin "Tristate Tom" Weiss
5bbfe92c11
Merge pull request #12336 from benpicco/cc2538-spi_fix
cpu/cc2538: fix spi_transfer_bytes()
2019-10-02 10:52:16 +02:00
Dylan Laduranty
aed628f08b
Merge pull request #11486 from benpicco/saml21-lpram
cpu/saml21: Make Low-Power SRAM available to programs
2019-10-01 21:02:42 +02:00
benpicco
c4fa0842a2
Merge pull request #11940 from basilfx/feature/efm32_riotboot
efm32: add support for riotboot
2019-10-01 20:20:17 +02:00
Gunar Schorcht
02d81b717e
Merge pull request #12063 from maribu/i2c_release
drivers/periph/i2c: Updated i2c_release() to return void
2019-10-01 19:50:38 +02:00
Benjamin Valentin
84a8a26dde cpu/cortexm: pointer to .text should be const
A pointer to read-only ROM data should be const.
2019-10-01 18:42:56 +02:00
Benjamin Valentin
618449c7bd cpu/samd5x: hook up backup RAM 2019-10-01 18:39:40 +02:00
Benjamin Valentin
01b3484ffb cpu/saml21: add definitions for low power SRAM
SAML21 provides 2/4/8 kiB of Low Power SRAM that is retained
in backup mode.

This adds definitions to make that memory availiable to RIOT.
2019-10-01 18:39:40 +02:00
Benjamin Valentin
2c09d9bd5b cpu/cortexm_common: Make Low-Power SRAM available to programs
Many MCUs contain some Backup or Low Power SRAM that is retained'even
in the deepest sleep modes.

In such sleep modes the MCU is essentually turned off with only the RTC
still running.
It can be woken by a GPIO or a RTC alarm. When this happens, a reset is
triggered and the normal startup routine is invoked.

This adds bss & data section for this memory in the linker script.
This allows for structures to be placed in it e.g.:

e.g.:

    static uint8_t persistent_buffer[64] __attribute__((section(".backup.bss")));
    static uint32_t persistent_counter __attribute__((section(".backup.data"))) = 1234;
2019-10-01 18:39:40 +02:00
Benjamin Valentin
c9b827e5d5 sam0_common: export flag that tells if the CPU woke from deep sleep
It is often useful to know whether the CPU was just powered on afresh
or if it was woken from a deep sleep state, e.g. by RTC or GPIO event.
2019-10-01 18:39:40 +02:00
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
Gaëtan Harter
1e561e9f63 cpu/lpc2387: increase 'pthread_reaper' stacksize
At the time of configuration, the pthread-reaper uses '164' bytes of
stack when 'idle' stack is only '160'. By having double it gives some
margin.

ps
        pid | name                 | state    Q | pri | stack  ( used) | base addr  | current
          1 | idle                 | pending  Q |  15 |    160 (  128) | 0x4000007c | 0x4000009c
          2 | main                 | running  Q |   7 |   2560 ( 1232) | 0x4000011c | 0x4000095c
          3 | pthread-reaper       | bl rx    _ |   0 |    320 (  164) | 0x40000bac | 0x40000c48
            | SUM                  |            |     |   3040 ( 1524)
2019-09-25 16:17:01 +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