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

4084 Commits

Author SHA1 Message Date
Schorcht
0230d077d4 cpu/esp8266: doxygen problem fix 2019-01-09 16:03:00 +01:00
Schorcht
323a3f9db7 cpu/esp8266: doc extended 2019-01-09 16:03:00 +01:00
Kevin "Bear Puncher" Weiss
0b23e8898e
Merge pull request #10641 from gschorcht/esp32_spi_revision
cpu/esp32: cleanup in periph/spi
2019-01-09 14:02:06 +01:00
Gunar Schorcht
6b045f14b7 cpu/esp32: cleanup of SPI interfaces in doc
Although ESP32 has four SPI controllers, only two of them can be effectively used (HSP and VSPI). The third one (FSPI) is used for external memory such as flash and PSRAM and can not be used for peripherals. FSPI is therefore removed from the API. In addition, the SPI0_DEV and SPI1_DEV configuration parameters are renamed SPI0_CTRL and SPI1_CTRL to better describe what they define and to avoid confusion with SPI_DEV (0) and SPI_DEV (1).
2019-01-09 13:03:56 +01:00
Gunar Schorcht
437f8b87b9 cpu/esp32: cleanup of SPI interfaces
Although ESP32 has four SPI controllers, only two of them can be effectively used (HSP and VSPI). The third one (FSPI) is used for external memory such as flash and PSRAM and can not be used for peripherals. FSPI is therefore removed from the API. In addition, the SPI0_DEV and SPI1_DEV configuration parameters are renamed SPI0_CTRL and SPI1_CTRL to better describe what they define and to avoid confusion with SPI_DEV (0) and SPI_DEV (1).
2019-01-09 13:03:22 +01:00
86c102e85b cpu/stm32_common: move dma attribute at end of config 2019-01-08 09:32:18 +01:00
8a9d9e70bc cpu/stm32f2: update CMSIS of stm32f207xx 2019-01-08 09:32:18 +01:00
Vincent Dupont
8c99edc18e cpu/stm32_common: fix UART ISR_TXE usage 2019-01-08 09:32:18 +01:00
Vincent Dupont
021697ae94 cpu/stm32_common: adapt DMA driver for f0/1/3/l0/1/4 2019-01-08 09:32:18 +01:00
Bas Stottelaar
28d0e46882 cpu: efm32: add support for 32-bit timers 2019-01-07 18:49:21 +01:00
Gunar Schorcht
3bb28c989b cpu/esp: esp_now timer restart for peer-scan moved
Timer restart was moved from esp_now_scan_peers_done to esp_now_scan_peers_start to avoid that the scan for peers isn't triggered anymore if the esp_now_scan_peers_done callback isn't called because of errors.
2019-01-07 18:36:35 +01:00
Gunar Schorcht
26cec66be5 cpu/esp: _get_iid removed in esp_now_netdev 2019-01-07 18:27:24 +01:00
ZetaR60
859ba1a71f
Merge pull request #10699 from MrKevinWeiss/pr/fixbaudmega2560
cpu/atmega_common/uart: Comment why brr calc is different from datasheet
2019-01-07 10:21:15 -05:00
MrKevinWeiss
3ce03df0ff cpu/atmega_common/uart: Comment why brr calc is different from datasheet
The brr calculation on the datasheet is different than what is implmented.
This is intentional since it provides better rounding due to truncation.
There was no comment explaining that so this comment should prevent confusion.
2019-01-07 08:40:21 +01:00
Gunar Schorcht
f7e524d18e
Merge pull request #10604 from gschorcht/esp32_esp_eth_fix
cpu/esp32: Fixes the maximum packet size of 255 bytes in the esp_eth netdev driver of ESP32 mcu.
2019-01-04 12:48:11 +01:00
Gunar Schorcht
dc2b1deff5 cpu/esp32: restructures _recv function in esp_eth 2019-01-04 12:12:28 +01:00
Gunar Schorcht
8318779bc2 cpu/esp32: replaces LOG_ERROR by DEBUG in esp_eth 2019-01-04 12:12:28 +01:00
Gunar Schorcht
1e3abebd86 cpu/esp32: fixes esp_net maximum packet size
Fixes the maximum packet size of 255 bytes in the esp_eth netdev driver of ESP32 mcu.

fixup! cpu/esp32: fixes esp_net maximum packet size
2019-01-04 12:12:13 +01:00
Kevin "Bear Puncher" Weiss
9554f751d8
Merge pull request #6630 from OTAkeys/pr/cortex-m4f-fpu
cortexm_common: add FPU support for cortex-m4f and cortex-m7
2019-01-04 11:56:18 +01:00
b6b1a6bd63
Merge pull request #10683 from basilfx/feature/efm32_gecko_sdk_update
pkg: gecko_sdk: bump version + vendor headers
2019-01-04 10:40:44 +01:00
Gunar Schorcht
56b3643ad6 cpu/esp: buffer in esp_now_netdev removed
Since it is not possible to reenter the function `esp_now_recv_cb`, and the functions netif::_ recv and esp_now_netdev::_ recv are called directly in the same thread context we can read directly from the `buf` and don't need a receive buffer anymmore.
2019-01-03 17:22:19 +01:00
Gunar Schorcht
3888c62f61 cpu/esp: ringbuffer removed from esp_now_netdev
Since it is not possible to reenter the function `esp_now_recv_cb`, and the functions netif::_ recv and esp_now_netdev::_ recv are called directly in the same thread context we only need a buffer which contains one frame and its source mac address.
2019-01-03 16:01:02 +01:00
Vincent Dupont
06f0c14460 cortexm_common: enable FPU on cortex-m4f 2019-01-03 15:24:20 +01:00
Gunar Schorcht
d8ee8020c6 cpu/esp: remove rx_lock mutex in esp_now_netdev
Since it is not possible to reenter the function `esp_now_recv_cb`, and the functions netif::_ recv and esp_now_netdev::_ recv are called directly in the same thread context, neither a mutual exclusion has to be realized nor have the interrupts to be deactivated.
2019-01-03 14:52:57 +01:00
Gunar Schorcht
00730b41e0 cpu/esp: direct call _recv in esp_now_recv_cb
Since the esp_now_recv_cb function is not called directly as an ISR through interrupts, it is not executed in the interrupt context. _recv can therefore be called directly. The treatment of the recv_event is no longer necessary.
2019-01-03 14:39:27 +01:00
Gunar Schorcht
a2f5c9d02f cpu/esp: avoid reentrance of esp_now_recv_cb
Although it should not be possible to reenter the function esp_now_recv_cb, this is avoided by an additional boolean variable. It can not be realized by mutex because it would reenter from same thread context.  If macro NDEBUG is not defined, an assertion is used.
2019-01-03 14:01:51 +01:00
Gunar Schorcht
9b5a77f1c4 cpu/esp: fix of lost esp_now_netdev ISR events 2019-01-03 13:36:21 +01:00
Gunar Schorcht
a36366f9a9 cpu/esp: api change in esp_now_netdev::_recv
Newest version of API requires to drop the frame when if parameter len is smaller than the received packet.
2019-01-03 13:35:09 +01:00
Gunar Schorcht
49c64c01a8 cpu/esp: simplified esp_now_netdev::_recv function
Simplifies the _recv receive function structure of esp_now_netdev according to the possible parameter values.
2019-01-03 13:33:25 +01:00
Kevin "Bear Puncher" Weiss
d9f26dbbe2
Merge pull request #10636 from aabadie/pr/cpu/nrf5x_gpio_common
cpu/nrf5x: move periph_gpio/periph_gpio_irq at an even more common level
2019-01-03 11:37:48 +01:00
Kevin "Bear Puncher" Weiss
2bf29dd99e
Merge pull request #10692 from aabadie/pr/boards/nucleo-f767_i2c
boards/nucleo-f767zi: use common STM32 i2c configuration
2019-01-03 10:17:44 +01:00
Francisco Acosta
e8660b2012 cpu/cortex_common: add support for multislot
A second slot is defined with a calculated size, from the
remaining flash after the bootloader and the first slot.
Both slots are defined as equal size, but it can be overriden.
2019-01-02 17:56:11 +01:00
f6985c5b31 cpu/stm32f0: update stm32f072xb CMSIS header 2019-01-02 16:08:56 +01:00
9a61febf5c cpu/stm32f7: update stm32f767zi cmsis header file 2019-01-02 16:06:34 +01:00
Bas Stottelaar
7372074223 cpu: efm32: update vendor headers 2018-12-30 23:35:57 +01:00
Timo Rothenpieler
6be81fbd93 esp_now: use custom netif instead of raw one
Avoids parsing IPv6 packets to determine destination address.
Allows using 6Lo over ESP-NOW, which is required due to the low MTU of
ESP-NOW.

Co-authored-by: Gunar Schorcht <gunar@schorcht.net>
2018-12-29 13:15:44 +01:00
Timo Rothenpieler
34c42cbcc2 esp_now: code style amendments 2018-12-28 13:35:46 +01:00
Timo Rothenpieler
a46023a523 esp_now: remove unnecessary ifdef 2018-12-28 13:35:46 +01:00
Martine Lenders
9f0dfb5222 esp_now: fix doxygen groups 2018-12-28 12:14:16 +01:00
Martine Lenders
380d19e9d2
Merge pull request #10660 from aabadie/pr/periph/stm32_lpuart_l496zg
boards/nucleo-l496zg: use lpuart1 as stdio interface
2018-12-27 19:32:17 +01:00
Gunar Schorcht
797a894e40 cpu/esp32: esp_now netdev moved to esp_common 2018-12-27 17:31:34 +01:00
Gunar Schorcht
a352500476 cpu/esp_common: added for common files for ESP SoC 2018-12-27 17:28:46 +01:00
b2c3df3381 cpu/stm32/gpio: power up port G with L4
Co-authored-by: Vincent Dupont <vincent@otakeys.com>
2018-12-27 14:15:25 +01:00
8449324cf8
Merge pull request #10610 from MrKevinWeiss/pr/fix/stmi2c1
cpu/stm_common: Refactor and cleanup i2c_1
2018-12-21 14:55:35 +01:00
Dylan Laduranty
764c7d2cc1
Merge pull request #10069 from fedepell/sam0_flashwrite
sam0 flashpage_write: correct translation from RIOT pages to CPU pages writing
2018-12-21 14:17:20 +01:00
Federico Pellegrin
b8b8ffd163 sam0 flashpage_write: correct assert for last byte of flash + style 2018-12-21 13:11:38 +01:00
Vincent Dupont
5e67986775 cpu/stm32_common/pm: use CPU_LINE for L053-specific code 2018-12-21 11:24:43 +01:00
Vincent Dupont
4aadc1ed39 cpu/stm32l0: make use of CPU_LINE_ 2018-12-21 11:24:43 +01:00
Vincent Dupont
f28e7a9b01 cpu/stm32l0: use STM32_FLASHSIZE to generate FLASHPAGE_NUMOF 2018-12-21 11:18:43 +01:00
Vincent Dupont
1cea9871e0 cpu/stm32f1: remove ErrorStatus enum from vendor header
This enum conflicts with macro definitions from ccn-lite pkg.
2018-12-21 09:17:30 +01:00
Vincent Dupont
8cdc219e50 cpu/stm32f1: make use of CPU_LINE_ 2018-12-21 09:17:30 +01:00
Vincent Dupont
d133baca2c cpu/stm32f1: use STM32_FLASHSIZE to generate FLASHPAGE_NUMOF 2018-12-21 09:17:30 +01:00
MrKevinWeiss
f3b2a62c67 cpu/stm_common: Refactor and cleanup i2c_1
Refactor to use common read_regs.
Add error reporting and handling for unsupported low level commands.
Document hardware constraints.
2018-12-20 18:05:11 +01:00
ab061c4ae2
Merge pull request #10608 from MrKevinWeiss/pr/fix/stmi2c2
cpu/stm_common: Refactor and fix implementation for i2c_2
2018-12-20 13:51:39 +01:00
MrKevinWeiss
a2e059d18a cpu/stm_common: Refactor and fix implementation for i2c_2
Refactors i2c_2 to match the structure of i2c_1 better.
Corrects functionality issues.
Allows the common implementation of read_regs and write_regs.
Documents constraints of hardware.
Matches error messages with API.
2018-12-20 12:01:06 +01:00
Sebastian Meiling
c96021b039
Merge pull request #10637 from aabadie/pr/cpu/stm32_periph_gpio_common
boards*: move periph_gpio and periph_gpio_irq features from boards to cpu for STM32
2018-12-19 13:06:17 +01:00
Leandro Lanzieri
b32da1b13e
Merge pull request #10615 from MrKevinWeiss/pr/debug/init
cpu/stm32_common/uart: Prevent uart from sending if not initialized
2018-12-19 12:14:00 +01:00
Federico Pellegrin
a0054654ee sam0 flashpage_write: fix writes translation from RIOT to CPU pages 2018-12-19 04:54:44 +01:00
da3bb42d18 cpu/stm32_common: define periph_gpio/irq features at cpu level 2018-12-18 21:50:34 +01:00
220d16dc07 cpu/nrf5x: move periph_gpio features to common cpu level 2018-12-18 21:32:46 +01:00
7a6849ca17 cpu/cortexm_common: add riotboot and slot support
RIOTBOOT_SLOT_LEN is calculated as an hexadecimal value and
handles ROM_LEN defined as kilobytes like '512K'

This enables support for all the cortex-m0+/3/4/7 arch,
so most boards embedding these are potentially supported.
One needs just to ensure that the CPU can be initialised
at least twice.

Co-authored-by: Gaëtan Harter <gaetan.harter@fu-berlin.de>
2018-12-18 19:31:35 +01:00
9cfdf6e379 cpu/cortexm_common: introduce cpu_jump_to_image()
This new function allows to jump to another execution
environment (VTOR) located at a certain (aligned) address.
It's used to boot firmwares at another location than
`CPU_FLASH_BASE`.

The user needs to ensure that the CPU using this feature
is able to be initialised at least twice while jumping
to the RIOT `reset_handler_default` function, since it
initialises the CPU again (calls cpu_init()).

Co-authored-by: Kaspar Schleiser <kaspar@schleiser.de>
2018-12-18 19:31:35 +01:00
MrKevinWeiss
96f8438ea2 cpu/stm32_common/uart: Prevent uart from sending if not initialized
Due to the stdio getting called after periph_init the uart may send before initialized.
This adds a simple check so the uart does not get into a locked-up state.
2018-12-18 10:16:50 +01:00
c87f02149e cpu/sam0_common: provide gpio/gpio_irq feature at cpu level 2018-12-17 20:52:48 +01:00
Martine Lenders
a3864aa103
Merge pull request #9158 from aabadie/pr/periph/stm32_lpuart
cpu/stm32-common: add support for lpuart
2018-12-17 12:16:27 +01:00
MrKevinWeiss
d7eb070eb4 cpu/stm32f1: Add remap support for stm32f1 cpus and boards
This commit fixes configuration problems when trying to use i2c pins that need to be remapped.
All B8 and B9 pins for STM32F1 need to be remapped, so a check is done if the remappable pins are selected.
2018-12-14 09:16:37 +01:00
133968ce8a cpu/stm32_common: add support for lpuart 2018-12-13 12:39:00 +01:00
Leandro Lanzieri
0838753dce
Merge pull request #10529 from gschorcht/esp8266_adc_res_fix
cpu/esp8266: fix of adc_res_t
2018-12-06 13:05:31 +01:00
c97bedcd8b cpu/atmega_common: define eeprom clear byte value 2018-12-04 11:24:57 +01:00
Sebastian Meiling
bb20614c7f
Merge pull request #10530 from gschorcht/esp32_adc_res_fix
cpu/esp32: fix of adc_res_t
2018-12-04 09:35:47 +01:00
59ca49374a cpu/nrf51: define flashpage numof for NRF51X22XXAC 2018-12-04 08:37:00 +01:00
655fdae982
Merge pull request #10320 from gebart/kinetis/lpuart-osr-dynamic
kinetis: LPUART: Compute oversampling rate at init
2018-12-03 09:11:13 +01:00
Gunar Schorcht
b3b9f596a4 cpu/esp32: fix of adc_res_t
cpu/esp32/include/periph_cpu.h overrides the default definition of adc_res_t from periph/adc with a definition which contains only four resolution, two new resolutions and two resolutions defined by the default definition of adc_res_t. This gives compilation errors if an application uses other resolutions. According to the documentation, adc_sample should return -1 if the resolution is not supported. All other CPUs override adc_res_t either to add new resolutions or to mark resolutions as unsupported. But they all allow to use them at the interface. Therefore, esp32 overrides now the definition of adc_res_t with all resolutions that are defined by the default definition of adc_res_t and new platform specific resolutions. It returns -1 if a resolution is used in adc_sample that is not supported.
2018-11-30 18:06:51 +01:00
Gunar Schorcht
1865ee9359 cpu/esp8266: fix of adc_res_t
cpu/esp8266/include/periph_cpu.h overrides the default definition of adc_res_t from periph/adc with a definition which contains only one resolution. This gives compilation errorss if an application uses other resolutions. According to the documentation, adc_sample should return -1 if the resolution is not supported. All other CPUs override adc_res_t either to add new resolutions or to mark resolutions as unsupported. But they all allow to use them at the interface. Therefore, esp8266 uses now the default definition of adc_res_t and returns -1 if a solution is used in adc_sample that is not supported.
2018-11-30 17:56:33 +01:00
Kevin "Bear Puncher" Weiss
153759b926
Merge pull request #10498 from smlng/pr/adapt/7542
atmega: add periph_pwm (taken from #7542)
2018-11-29 15:54:51 +01:00
Martine Lenders
f71af3b0ec
Merge pull request #10509 from miri64/esp_now/fix/devtype
esp_now: use NETDEV_TYPE_ESP_NOW as device type
2018-11-29 15:25:21 +01:00
Kevin "Bear Puncher" Weiss
46bdbb6535
Merge pull request #10484 from smlng/pr/atmega/timer
atmega: fix periph timer configuration
2018-11-29 14:28:23 +01:00
Joakim Nohlgård
158a8300c4 kinetis: LPUART: Compute oversampling rate at init
By not forcing a fixed oversampling rate we can achieve better baud rate
accuracy than otherwise possible.
For example, when requesting 115200 with a module clock of 4 MHz,
picking an oversampling rate of 17 (instead of hardware
default 16) yields 117647 baud instead of 125000 baud as the best
matching rate. Better matching baud rate between receiver and
transmitter results in a lower probability of transmission errors.
2018-11-29 14:24:16 +01:00
Martine Lenders
03b91cbcb8 esp_now: use NETDEV_TYPE_ESP_NOW as device type 2018-11-29 13:35:20 +01:00
765de5a78a
Merge pull request #10486 from gebart/kinetis/fopt
kinetis: Allow FOPT settings other than 0xff
2018-11-29 11:23:24 +01:00
smlng
262a04c9cf atmega: fix periph timer configuration
- correct number of timers for atmega328p from 2 to 1
- correct number of timer channels for atmega328p from 3 to 2
- adapt atmega periph timer implementation accordingly
2018-11-29 09:30:44 +01:00
Victor Arino
2ebb187ca9 cpu/atmega-common: PWM implementation
Implementation of PWM with 8-bit timers
2018-11-28 16:00:54 +01:00
Victor Arino
01420152de cpu/atmega-common: add maps for 8-bit timers 2018-11-28 15:58:58 +01:00
Gunar Schorcht
061e32bad0
Merge pull request #10460 from gschorcht/esp32_fix_baslibs
cpu/esp32: fixes LINKFLAGS in Makfile.include
2018-11-28 15:49:25 +01:00
Sebastian Meiling
4eaf1d8135
Merge pull request #10384 from bergzand/pr/netdev/ref_nid
netdev_ieee802154/radios: refactor PAN ID reset to generic ieee802154 reset
2018-11-28 12:15:45 +01:00
7ed3f80989
zep: Remove PAN ID initialization from reset 2018-11-28 11:31:02 +01:00
da0866a6a0
cc2538_rf: Remove PAN ID initialization from reset 2018-11-28 11:31:02 +01:00
Gunar Schorcht
0c289a8f31 cpu/esp32: fixes LINKFLAGS in Makefile.include
removes the duplicate entry of -lg in LINKFLAGS
2018-11-28 10:44:54 +01:00
Joakim Nohlgård
870385530d kinetis: Allow override of FOPT setting in fcfield.c 2018-11-28 00:21:35 +01:00
Joakim Nohlgård
d63672798e kinetis: Allow FOPT settings other than 0xff
These bits configure some early boot options and may be necessary to
use on certain boards to ensure a robust boot sequence.
2018-11-27 16:00:42 +01:00
Hauke Petersen
ac50b4a052
Merge pull request #10243 from aabadie/pr/board/common_nrf51
boards/common: add common place for nrf51 based boards
2018-11-26 10:07:31 +01:00
Martine Lenders
7a8469f1aa
Merge pull request #10426 from bergzand/pr/cc2538_rf/undedup_channel
cc2538_rf: Don't use netdev_ieee802154_t for channel
2018-11-25 13:26:57 +01:00
897044623a
cc2538_rf: Don't propagate channel to 802154 layer 2018-11-25 10:38:13 +01:00
40b4af1905
cc2538_rf: Add NETOPT_CHANNEL to getters 2018-11-25 10:38:08 +01:00
Gunar Schorcht
9bba4b9aa5 cpu/esp32: fixes LINKFLAGS in Makfile.include
This commit adds the ESP32 vendor libraries for WLAN to the BASELIBS variable. This avoids having to define an additional archive group in the LINKGFLAGS variable which contains these vendor libraries and again RIOT module archive files with the symbols that are refered by these vendor libraries.
2018-11-23 18:04:19 +01:00
Martine Lenders
3771e6a2c4
Merge pull request #10425 from bergzand/pr/cc2538_rf/undedup_address
cc2538_rf: Don't use netdev_ieee802154_t for link layer address
2018-11-22 12:45:52 +01:00
Gunar Schorcht
54492ef4d9
Merge pull request #10451 from leandrolanzieri/pr/esp8266/i2c_buses_array
cpu/esp8266: Fix i2c buses array #ifdef
2018-11-22 10:21:11 +01:00
MichelRottleuthner
1be4d15a4e
Merge pull request #10390 from PeterKietzmann/pr_mega2560_puf_seed
cpu/atmega_common: add mega2560 puf_sram feature
2018-11-22 09:57:19 +01:00
Leandro Lanzieri
566ef9f117 cpu/esp8266: Fix i2c buses array definition 2018-11-22 08:09:35 +01:00
Juan I Carrano
68d68d18b4
Merge pull request #10362 from gschorcht/esp32_compile_fix
cpu/esp32: fixes compile problems
2018-11-21 14:18:15 +01:00
PeterKietzmann
8d11ca417f cpu/atmega_common: add mega2560 puf_sram feature 2018-11-20 09:45:32 +01:00
MichelRottleuthner
e0e02c04c8
Merge pull request #10386 from PeterKietzmann/pr_puf_variables_move
sys/puf_sram: CPU specific variable allocation
2018-11-20 09:21:25 +01:00
PeterKietzmann
0be350e352 sys/puf_sram: CPU specific attributes for variables 2018-11-20 08:34:53 +01:00
Gunar Schorcht
2a7c33bdf6 cpu/esp32: fixes compile problems 2018-11-20 00:49:33 +01:00
08dd9a1df8
cc2538_rf: Don't propagate address to 802154 layer 2018-11-17 22:38:18 +01:00
ffe6aed83e
cc2538_rf: Add NETOPT_ADDRESS{,_LONG} to getters 2018-11-17 22:38:17 +01:00
Semjon Kerner
ee3ef1927d cpu/nrf5x: fix event hang 2018-11-14 12:48:32 +01:00
Schorcht
16f0bf4fdc cpu/esp32: fixes compile problems 2018-11-10 14:14:49 +01:00
f3fa8b5ecd
Merge pull request #8558 from gebart/pr/kinetis-gpio-interrupt
kinetis: Optimize GPIO interrupt handler
2018-11-08 22:27:38 +01:00
Joakim Nohlgård
8bb73f237d kinetis: GPIO: avoid dup calls to cortexm_isr_end on KW41Z
Devices with combined IRQs would call the cortexm_isr_end handler twice
when it is part of the irq_handler routine.
2018-11-08 14:52:10 +01:00
Joakim Nohlgård
b9ceac5ccc kinetis: Optimize GPIO IRQ handler
Measurements show that the time from pin edge until return from
interrupt is reduced from 22 us to 6.1 us for KW41Z running at
41.94 MHz. The measurements used a no-op GPIO callback for testing and
were measured using an external logic analyzer.
2018-11-08 14:52:10 +01:00
Semjon Kerner
1e9c0b8d21 cpu/nrf51: update vendor headers 2018-11-08 14:09:41 +01:00
Semjon Kerner
d8a30eeedf cpu/nrf52: update vendor headers 2018-11-08 14:09:33 +01:00
José Alamos
296356fe4e
Merge pull request #10325 from gschorcht/esp32_doxygen_fix
cpu/esp32: doxygen fix for periph/gpio
2018-11-05 14:58:32 +01:00
Gunar Schorcht
100a4c666e cpu/esp32: doxygen fix
Removes architecture specific includes from documentation of module  Peripheral Driver Interface / GPIO.
2018-11-05 11:27:00 +01:00
Gunar Schorcht
ffd69868c6 cpu/esp8266: doxygen fix
Removes architecture specific includes from documentation of module  Peripheral Driver Interface / GPIO.
2018-11-05 11:23:40 +01:00
Francisco Acosta
b2fc9b197e cpu/atmega*: remove unnecessary code (already factored out)
cpu.c and startup.c were redundant in most platforms, except for
atmega256rfr2. The common code is now in cpu/atmega_common/cpu.c
and cpu/atmega_common/startup.c. cpu_conf.h is also removed as
it's now in cpu/atmega_common/include thus shared by all atmega
based platforms.
2018-11-02 16:23:48 +01:00
Francisco Acosta
4f28407af8 cpu/atmega_common: use the same cpu_conf for all atmega based boards
Removes redundancy of code since all the boards were defining
the same variables. Moreover, the stack sizes are unified per
architecture, as required.
2018-11-02 16:23:48 +01:00
Francisco Acosta
feac98cc97 cpu/atmega_common: add cpu.c and startup.c common code
Removes duplicated code for atmega platforms. They were all
basically the same, only with the exception of atmegarfr2,
for which there is an #if statement to use the code in the
same file.
2018-11-02 16:23:47 +01:00
Francisco Acosta
0d95cc877b
Merge pull request #10273 from snej/master
cpu/esp32: allow explicit ESP32 crystal freq configuration
2018-11-01 14:04:57 +01:00
Jens Alfke
ce1fe776cf cpu/esp32: allow explicit ESP32 crystal freq configuration
Some ESP32 boards (like my SparkFun ESP32 Thing) have a main clock
crystal that runs at 26MHz, not 40MHz. RIOT appears to assume 40MHz.
The mismatch causes the UART to not sync properly, resulting in
garbage written to the terminal instead of log output.

I’ve added:

* A new board configuration constant ESP32_XTAL_FREQ that defaults
  to 40, but can be overridden by a board def or at build time to
  force a specific value (i.e. 26).
* Some code spliced into system_clk_init() to check this constant and
  call rtc_clk_init() to set the correct frequency.
* A copy of the rtf_clk_init() function from the ESP-IDF sources.

Fixes #10272
2018-10-30 16:42:07 -07:00
c71c27cf5c cpu/nrf51: add gpio to features provided 2018-10-27 09:47:42 +02:00
MrKevinWeiss
3e1fd9f494 cpu/stm32_common/i2c: Fix error handling in i2c_1.c
Errors flags could not clear making the i2c unusable after error.
This fix removes the error check in start so the error flags can clear and does proper checking for status bits before _bus_check.
2018-10-26 09:56:35 +02:00
Juan I Carrano
4d85bcf510
Merge pull request #10062 from cladmi/pr/make/cpu/fe310/features
cpu/fe310: rtc depend on the rtt feature and hifive1 update
2018-10-23 13:28:17 +02:00
Kevin "Bear Puncher" Weiss
cb09092c0b
Merge pull request #10125 from gschorcht/esp8266_cpu_freq
cpu/esp8266: cpu frequency settings feature added
2018-10-19 14:53:45 +02:00
Schorcht
0d796d6eec cpu/esp8266: cpu frequency settings 2018-10-19 13:08:32 +02:00
Hauke Petersen
86b4a41466
Merge pull request #10158 from silkeh/fix-nrf5x-gpio
nrf5x_common: gpio: fix port 1 functionality
2018-10-17 17:17:46 +02:00
Kevin "Bear Puncher" Weiss
0628345364
Merge pull request #10093 from aabadie/pr/drivers/periph_eeprom_refactor
drivers/periph_eeprom: refactor implementation and test application
2018-10-16 16:30:40 +02:00
Kevin "Bear Puncher" Weiss
7187bbf8cf
Merge pull request #9426 from gschorcht/esp32
ESP32 port
2018-10-16 15:24:25 +02:00
Semjon Kerner
5b0152f4f7 drivers/netdev_ieee802154: drop NETOPT_MAX_PKT_SIZE 2018-10-16 13:28:03 +02:00
e9a6ebc409 cpu: drivers/eeprom: refactor periph_eeprom implementation 2018-10-16 10:39:10 +02:00
Peter Kietzmann
b2c791c6cb
Merge pull request #10135 from miri64/cpu/enh/periph-gpio-irq-closing-endif
cpu, periph_gpio: mark closing #endif for MODULE_PERIPH_GPIO_IRQ
2018-10-15 13:41:02 +02:00
Gunar Schorcht
5ef7adfbcb cpu/esp32: fix problem with tests/thread_race
The problem seemed to be a pipelining problem of write and read instructions when swapping the context. An isync instruction when returning from a context switch solves the potential pipelining problem.
2018-10-14 15:08:31 +02:00
Gunar Schorcht
df1b6521f4 cpu/esp32: fixes the problem with tests/pthread_*
Reason for the problem was that tast_exit function in thread_arch.c tried to release the thread a second time although it was already released in sched_task_exit. A simple check whether the thread is already released (sched_active_thread == NULL) solved the problem.
2018-10-14 13:55:43 +02:00
Gunar Schorcht
fddfe86a4b cpu/esp32: fixes dependency problem for timer
Xtensa newlib version requires pthread_setcancelstate as symbol. Therefore, the module pthread was always used, which in turn requires the module xtimer. The xtimer module, however, uses TIMER_DEV(0). Therefore, tests/timers failed for TIMER_DEV(0).
2018-10-14 13:50:38 +02:00
Silke Hofstra
58e39da255 nrf5x_common: gpio: fix port 1 functionality
Pins on GPIO port 1 were not correctly set.
This is resolved by using the (previously unused) pin_num function.
2018-10-12 18:12:22 +02:00
Silke Hofstra
8efeb4a4f1 Revert "Merge pull request #9699 from miri64/nrf5x_common/fix/gpio-unused-function"
This reverts commit 2d10390b56, reversing
changes made to 2f480efb60.
2018-10-12 17:46:43 +02:00
cladmi
e0a5860bb7
cpu/stm32_common: remove inadapted periph_flash_common
The `periph_flash_common` feature was only defined here to trigger
inclusion of a source file with common functions.
It even only defines private symbols `_lock` and `_unlock` so no reason
to expose it to the build system.
And in practice, all stm cpus providing `periph_flashpage` or
`periph_eeprom` were required to provide `periph_flash_common` to allow
including it.

The previous implementation was only parsing in the modules were in
`FEATURES_REQUIRED` wich did not take cases of `FEATURES_OPTIONAL` into
account.
And also, in the same time, as the dependencies was declared in
`Makefile.include` it was processed before `Makefile.dep` so never handled
cases where a module could depend on `periph_flashpage` or
`periph_eeprom` feature.

It is replaced by selecting the common source file when module using it
are included.

The now useless feature `periph_flash_common` is removed from
`FEATURES_PROVIDED`.
2018-10-11 15:20:44 +02:00
cladmi
d8080a66e4
cpu/stm32_common: Do not use USEMODULE to select i2c implem
`cpu/stm32_common/Makefile.dep` was never included by the global
`Makefile.dep`, so declaring this `USEMODULE +=` here was never shown to
the build system and never exported as `MODULE_PERIPH_I2C_X` variables.

In fact, `USEMODULE` was only used to trigger the `periph.mk`/`SUBMODULES`
mechanism to add matching source files names to `SRC` and so select
the implementation for each CPU type.

It is replaced by just explicitly selecting the right source file.
2018-10-11 15:20:25 +02:00
Hauke Petersen
5f50db07e8 misc: use correct hauke.petersen@fu email address 2018-10-11 12:20:37 +02:00
Kevin "Bear Puncher" Weiss
9a75ee0d47
Merge pull request #10127 from gschorcht/esp8266_i2c_fix
cpu/esp8266: improvements of I2C implementation
2018-10-10 17:13:34 +02:00
Gunar Schorcht
4fcfb7ca06 cpu/esp8266: i2c improvements
The commit
- improves the timing of the SDA and SCL signals that fixes communication problems with some slaves (#10115),
- introduces the internal function _i2c_clear which clears the bus when SDA line is locked at LOW, and
- renames internal _i2c_*_sda and _i2c_*_scl functions to function names that are more clear, e.g., _i2c_clear_sda to _i2c_sda_low.
2018-10-10 12:17:20 +02:00
Martine Lenders
7994f35c7a stm32f1: mark closing #endif for MODULE_PERIPH_GPIO_IRQ 2018-10-09 15:11:01 +02:00
Martine Lenders
92c5a7824a stm32_common: mark closing #endif for MODULE_PERIPH_GPIO_IRQ 2018-10-09 15:11:00 +02:00
Martine Lenders
98ddcdc783 sam3: mark closing #endif for MODULE_PERIPH_GPIO_IRQ 2018-10-09 15:11:00 +02:00
Martine Lenders
95819c660b sam0_common: mark closing #endif for MODULE_PERIPH_GPIO_IRQ 2018-10-09 15:11:00 +02:00
Martine Lenders
67122b51f3 nrf5x_common: mark closing #endif for MODULE_PERIPH_GPIO_IRQ 2018-10-09 15:11:00 +02:00
Martine Lenders
0ed57df4b5 lpc2387: mark closing #endif for MODULE_PERIPH_GPIO_IRQ 2018-10-09 15:11:00 +02:00
Martine Lenders
f1b16fcb32 lpc1768: mark closing #endif for MODULE_PERIPH_GPIO_IRQ 2018-10-09 15:11:00 +02:00
Martine Lenders
896212e320 lm4f120: mark closing #endif for MODULE_PERIPH_GPIO_IRQ 2018-10-09 15:11:00 +02:00
Martine Lenders
53a9797e56 kinetis: mark closing #endif for MODULE_PERIPH_GPIO_IRQ 2018-10-09 15:11:00 +02:00
Martine Lenders
769bf572a0 fe310: mark closing #endif for MODULE_PERIPH_GPIO_IRQ 2018-10-09 15:11:00 +02:00
Martine Lenders
aa0f93067f ezr32wg: mark closing #endif for MODULE_PERIPH_GPIO_IRQ 2018-10-09 15:11:00 +02:00
Martine Lenders
ce12d4cefb esp8266: mark closing #endif for MODULE_PERIPH_GPIO_IRQ 2018-10-09 15:11:00 +02:00
Martine Lenders
ff54112f82 efm32: mark closing #endif for MODULE_PERIPH_GPIO_IRQ 2018-10-09 15:10:59 +02:00
Martine Lenders
4431f8ee0a cc26x0: mark closing #endif for MODULE_PERIPH_GPIO_IRQ 2018-10-09 15:10:59 +02:00
Martine Lenders
73061ae70e cc2538: mark closing #endif for MODULE_PERIPH_GPIO_IRQ 2018-10-09 15:10:59 +02:00
Martine Lenders
0eebda0958 atmega_common: mark closing #endif for MODULE_PERIPH_GPIO_IRQ 2018-10-09 15:10:59 +02:00
Martine Lenders
4e92c2a424
Merge pull request #10007 from haukepetersen/fix_gpioirq_fe310
cpu/fe310/gpio: use gpio_irq feature
2018-10-09 14:22:43 +02:00
Martine Lenders
328d305215
Merge pull request #10001 from haukepetersen/fix_gpioirq_esp8266
cpu/esp8266/gpio: use gpio_irq feature
2018-10-09 13:40:48 +02:00
Francisco Acosta
5d9b980769
Merge pull request #9993 from haukepetersen/fix_gpioirq_ezr32wg
cpu/ezr32wg/gpio: use gpio_irq feature
2018-10-09 13:28:30 +02:00
Martine Lenders
2f944f4c79
Merge pull request #10006 from haukepetersen/fix_gpioirq_sam3
cpu/sam3/gpio: use gpio_irq feature
2018-10-09 13:11:37 +02:00
Martine Lenders
7b581a4b1c
Merge pull request #10004 from haukepetersen/fix_gpioirq_lm4f120
cpu/lm4f120/gpio: use gpio_irq feature
2018-10-09 13:11:15 +02:00
Martine Lenders
15603d689b
Merge pull request #10002 from haukepetersen/fix_gpioirq_atmega
cpu/atmega/gpio: use gpio_irq feature
2018-10-09 12:02:40 +02:00
Schorcht
4c516aa1ad cpu/esp32: scope for GPIO_IRQ submodule added 2018-10-09 11:41:59 +02:00
Martine Lenders
f6ef19a5ea
Merge pull request #9999 from haukepetersen/fix_gpioirq_cc26x0
cpu/cc26x0/gpio: use gpio_irq feature
2018-10-09 11:41:07 +02:00
Schorcht
73d0670b80 cpu/esp32: pwm initialization fixed 2018-10-09 11:27:54 +02:00
Martine Lenders
8e3a43b309
Merge pull request #9997 from haukepetersen/fix_gpioirq_lpc2387
cpu/lpc2387/gpio: use gpio_irq feature
2018-10-09 11:22:11 +02:00
Martine Lenders
96e2a3d657
Merge pull request #9995 from haukepetersen/fix_gpioirq_lpc1768
cpu/lpc1768/gpio: use gpio_irq feature
2018-10-09 11:01:17 +02:00
Schorcht
3a63945621 cpu/esp32: i2c speed values finetuned 2018-10-09 10:59:40 +02:00
Martine Lenders
aa12006da3
Merge pull request #10003 from haukepetersen/fix_gpioirq_stm32_common
cpu/stm32_common/gpio: use gpio_irq feature
2018-10-09 10:20:38 +02:00
Schorcht
841d2790e6 cpu: add esp32 2018-10-08 14:40:43 +02:00
Schorcht
3ac99877ac cpu: add esp32 2018-10-08 12:20:49 +02:00
Schorcht
32e602680b cpu: add esp32 vendor files 2018-10-08 12:20:49 +02:00
Hauke Petersen
1b62f7cd40 cpu/efm32/gpio: use gpio_irq feature 2018-10-04 18:43:24 +02:00
Martine Lenders
44910a4f61
Merge pull request #10008 from haukepetersen/fix_gpioirq_stm32f1
cpu/stm32f1/gpio: use gpio_irq feature
2018-10-04 14:13:01 +02:00
13654a950b cpu/samr30: add support for samr30g18a
Co-authored-by: biboc <bapclenet@gmail.com>
2018-10-01 10:15:08 +02:00
f2d28f88c5
Merge pull request #10066 from gebart/pr/netdev_tap-Wshadow
native/netdev_tap: Rename variable to fix -Wshadow warning
2018-09-28 10:13:20 +02:00
Joakim Nohlgård
4a5ef1d2f6 native/netdev_tap: Rename variable to fix Wshadow warning 2018-09-28 09:57:30 +02:00
Kevin "Bear Puncher" Weiss
e36cd53945
Merge pull request #10061 from cladmi/pr/cpu/esp8266/cleanup
cpu/esp8266: remove duplicate 'CPU' variable
2018-09-28 09:35:42 +02:00
Kevin Weiss
df7468a2f0
Merge pull request #10017 from gschorcht/esp8266_i2c_fix
cpu/esp8266: periph/i2c fix
2018-09-28 08:17:05 +02:00
cladmi
4bf7ab5dd0
cpu/fe310: rtc depend on the rtt feature
It is the role of boards based on 'cpu/fe310' to give the configuration
for the rtc/rtt.

The fe310/periph/rtc implementation depends on having periph/rtt configured
by the board so depends on the board 'providing' the periph_rtt feature
and declaring the required macros.

It should not simply depend of the 'periph_rtt' module as this does not
enforce having a configuration for the module in the board.

In practice, when compiling, it would result in undefined 'RTT' symbols,
instead of the build system detecting it.
2018-09-27 18:11:16 +02:00
Schorcht
6307ace126 cpu/esp8266: periph/i2c fix 2018-09-27 17:48:20 +02:00
cladmi
8f68e69da3
cpu/esp8266: remove duplicate 'CPU' variable 2018-09-27 17:42:53 +02:00
Hauke Petersen
272ae30d26
Merge pull request #10005 from haukepetersen/fix_gpioirq_nrf
cpu/nrf5x/gpio: use periph_gpio_irq feature
2018-09-26 17:58:59 +02:00
Hauke Petersen
45f2a59e13
Merge pull request #9994 from haukepetersen/fix_gpioirq_cc2538
cpu/cc2538/gpio: use gpio_irq feature
2018-09-26 17:05:48 +02:00
Martine Lenders
f53c4c076a
Merge pull request #10043 from PeterKietzmann/pr_msp430_inc_ipstack
cpu/msp430: increase default stacksize for gnrc_ipv6 thread
2018-09-26 13:13:02 +02:00
Joakim Nohlgård
7a857a939c
Merge pull request #9807 from gebart/pr/kinetis-adc-average
kinetis: ADC: Add hardware averaging configuration
2018-09-26 12:54:29 +02:00
PeterKietzmann
df58b7293b cpu/msp430: increase default stacksize for gnrc_ipv6 thread 2018-09-26 11:06:05 +02:00
Hauke Petersen
e71281943a cpu/kinetis/gpio: use gpio_irq feature 2018-09-26 09:53:30 +02:00
smlng
59e299635b cppcheck: add/correct reason for cppcheck-suppress
Adding and correcting description/rational on why certain cppcheck
warnings or errors are intentionally suppressed.
2018-09-25 12:03:58 +02:00
Hauke Petersen
2267499873 cpu/nrf5x/gpio: use periph_gpio_irq feature 2018-09-21 09:19:08 +02:00
Hauke Petersen
25e901ef73 cpu/stm32f1/gpio: use gpio_irq feature 2018-09-21 08:20:04 +02:00
Hauke Petersen
a956d71a67 cpu/stm32_common/gpio: use gpio_irq feature 2018-09-21 08:19:51 +02:00
Hauke Petersen
e53abca10a cpu/sam3/gpio: use gpio_irq feature 2018-09-21 08:19:41 +02:00
Hauke Petersen
6afd0efdd8 cpu/sam0_common/gpio: use gpio_irq feature 2018-09-21 08:19:31 +02:00
Hauke Petersen
72986ecb9b cpu/lpc2387/gpio: use gpio_irq feature 2018-09-21 08:19:15 +02:00
Hauke Petersen
4913dfaa9f cpu/lpc1768/gpio: use gpio_irq feature 2018-09-21 08:18:55 +02:00
Hauke Petersen
1a7978000e cpu/lm4f120/gpio: use gpio_irq feature 2018-09-21 08:18:42 +02:00
Hauke Petersen
be94b99eda cpu/fe310/gpio: use gpio_irq feature 2018-09-21 08:18:14 +02:00
Hauke Petersen
15ca5e8c93 cpu/ezr32wg/gpio: use gpio_irq feature 2018-09-21 08:18:04 +02:00
Hauke Petersen
8ff5c91d9f cpu/esp8266/gpio: use gpio_irq feature 2018-09-21 08:17:52 +02:00
Hauke Petersen
84066ea11d cpu/cc26x0/gpio: use gpio_irq feature 2018-09-21 08:17:26 +02:00
Hauke Petersen
36d88c2c40 cpu/cc2538/gpio: use gpio_irq feature 2018-09-21 08:16:37 +02:00
Hauke Petersen
94ff02f3c4 cpu/atmega/gpio: use gpio_irq feature 2018-09-21 08:11:20 +02:00
Hauke Petersen
c7e6d15990
Merge pull request #9976 from haukepetersen/fix_native_gpioirqfeatureremove
native: remove feature `periph_gpio_irq`
2018-09-20 15:18:21 +02:00
Hauke Petersen
a965532d07 cpu/native/gpio: remove empty gpio irq func stubs 2018-09-20 14:51:19 +02:00
Hauke Petersen
da899dafbf cpu/mips_pic32/gpio: remove gpio_init_int stub 2018-09-20 14:50:32 +02:00
1022050dc7
Merge pull request #9923 from cladmi/pr/cleanup/duplicate_includes
boards/cpu: cleanup duplicate includes
2018-09-19 16:08:37 +02:00
Francisco Acosta
3721f193d0
Merge pull request #9816 from leandrolanzieri/lobaro_port
boards/lobaro-lorabox: Add support for Lobaro LoraBox board
2018-09-18 19:35:59 +02:00
Leandro Lanzieri
bd1b309c39 cpu/stm32l1: Add support for stm32l151cb CPU 2018-09-18 18:05:34 +02:00
Bas Stottelaar
fbb490a2e0 cpu: efm32: add support for no DC-DC converter 2018-09-17 19:31:22 +02:00
Joakim Nohlgård
dd2fad6b9b kinetis: ADC: Add hardware averaging configuration
This allows a board configuration to select which kind of averaging
should be applied to the pin instead of always using 32 sample average.
Very high impedance sources may need to disable hardware averaging in
order to give correct values, the on-chip temperature sensor is one such
signal source.
2018-09-12 16:32:48 +02:00
cladmi
28d3ba64d4
cpu/cc430: remove duplicate include
Includes of $(CPU)/include is already included in the main Makefile.include
in the line before including this file.
2018-09-11 16:32:34 +02:00
Peter Kietzmann
25868d1e04
Merge pull request #9885 from dylad/sam0_fix_spi_mode
sam0/spi: fix SPI mode assignment
2018-09-10 08:42:30 +02:00
smlng
da8cee0cb9 cpu/mips32r2_generic: fix PERIPH_TIMER_PROVIDES_SET
Do not set PERIPH_TIMER_PROVIDES_SET to 1, this is not required and
inconsistent with its usage in other CPUs.
2018-09-07 22:15:51 +02:00
smlng
740eafe93b cpu/fe310: add missing PERIPH_TIMER_PROVIDES_SET 2018-09-07 22:15:13 +02:00
smlng
9468feeaaf cpu/esp8266: add missing PERIPH_TIMER_PROVIDES_SET 2018-09-07 22:14:32 +02:00
Andreas "Paul" Pauli
dc6eb82406
Merge pull request #9722 from smlng/pr/cc2538/adc
cpu/cc2538: enhance periph ADC
2018-09-06 14:12:03 +02:00
Francisco Acosta
fad4d9be19
Merge pull request #9781 from cladmi/pr/toolchain/avr/linkerscript
atmega_common: allow defining rom and ram length for link.
2018-09-05 16:00:33 +02:00
cladmi
9720d9c51c
cpu/atmega_common: Allow specifying a reserved space in ROM
It is defined using the `ROM_RESERVED` variable.

This should allow supporting arduino bootloader that is stored at the
end of the ROM.
2018-09-05 12:20:36 +02:00
cladmi
493cad03da
atmega_common: make rom and ram length definition mandatory
Now all atmega cpu define them so use them by default.
2018-09-05 12:20:33 +02:00
cladmi
e4635004f7
cpu/atmega1284p: configure RAM and ROM length
Info taken from https://www.microchip.com/wwwproducts/en/atmega1284p

TODO: update "board not enough memory".
2018-09-05 12:20:31 +02:00
cladmi
2ff7137733
cpu/atmega256rfr2: configure RAM and ROM length
Info taken from https://www.microchip.com/wwwproducts/en/atmega256rfr2

TODO: update "board not enough memory".
2018-09-05 12:20:28 +02:00
cladmi
c6a45e4082
cpu/atmega328p: configure RAM and ROM length
Info taken from https://www.microchip.com/wwwproducts/en/atmega328p

TODO: update "board not enough memory".
2018-09-05 12:20:26 +02:00
cladmi
ef20b035bd
cpu/atmega1281: configure RAM and ROM length
Info taken from https://www.microchip.com/wwwproducts/en/atmega1281

TODO: update "board not enough memory".
2018-09-05 12:20:23 +02:00
cladmi
b22832b4cd
cpu/atmega2560: configure RAM and ROM length
Info taken from https://www.microchip.com/wwwproducts/en/atmega2560

TODO: update "board not enough memory".
2018-09-05 12:20:20 +02:00
cladmi
098770aeda
atmega_common: use binutils 2.26 ldscript for older versions
This allows configuring __TEXT_REGION_LENGTH__ and __DATA_REGION_LENGTH__
for previous versions (ubuntu xenial for example).
2018-09-05 12:20:17 +02:00
Gaëtan Harter
56a1ac4f2b
cpu/atmega: add avr-binutils 2.26 linkerscripts
Generated by extracting the output of

    avr-gcc -Wl,--verbose --mmcu=$(CPU)

With avr-binutils 2.26
2018-09-05 12:08:33 +02:00
cladmi
6e148bcf1b
atmega_common: allow defining rom and ram length for link.
Allow configuring __TEXT_REGION_LENGTH__ and __DATA_REGION_LENGTH__ linkerscript
variables using ROM_LEN and RAM_LEN makefile variables.
2018-09-05 12:08:31 +02:00
Schorcht
e4ca897661 cpu: add esp8266 2018-09-05 02:39:50 +02:00
Schorcht
e528fb8e2d cpu: add esp8266 vendor files 2018-09-05 02:39:50 +02:00
dylad
4e6d3d1f92 sam0/spi: fix SPI mode assignment
Signed-off-by: dylad <dylan.laduranty@mesotic.com>
2018-09-04 13:58:51 +02:00
Dylan Laduranty
8871e5aaa6
Merge pull request #9876 from fedepell/sercomid-9875
sam0_common: fix sercom_id return value for SERCOM5 (#9875)
2018-09-04 09:10:06 +02:00
ZetaR60
db7734261c
Merge pull request #9823 from fesselk/patch-1
atmega_common/gpio_init: fix pull-up settings for GPIO_IN_PU
2018-09-03 20:30:53 -04:00
Federico Pellegrin
d3cd2b71c0 sam0_common: fix sercom_id return value for SERCOM5 (#9875) 2018-09-03 18:57:18 +02:00
smlng
214ddc4fc4 cpu/cc2538: adapt and cleanup periph/hwrng
Some minor adaptions due to cleanup in periph/adc and usage of
    vendor header files.
2018-09-03 09:01:42 +02:00
smlng
d40cfab95a cpu/cc2538: enhance periph ADC
Adapt the periph ADC implementation to use vendor defines where
    ever possible. Remove duplicate or obsolete defines and adapt
    board configuration as required.
2018-09-03 09:01:42 +02:00
Federico Pellegrin
bfdafe877e sam0_common: correct sercom_set_gen for sercom5. it assumes SERCOM5 GEN clock is in sequence, but is not, need to put a specific if test 2018-09-02 13:39:08 +02:00
Joakim Nohlgård
efc5f2a95c msp430fxyz: Disable GPIO ISRs when periph_gpio_irq is not selected 2018-08-29 08:53:20 +02:00
Joakim Nohlgård
8996cbe313 make: Introduce new feature flag periph_gpio_irq 2018-08-29 08:53:20 +02:00
Pekka Nikander
6aa0a48558 cpu/cortexm_common/cortexm_init: Allow piecewise calling
Refactor cortexm_init to allow bits and pieces of
   it to be called separately, while retaining the
   current API, too.  Needed for non-standard
   Cortex-M initialisation, such as with nRF52
   SoftDevice.
2018-08-28 14:07:50 +03:00
Karl Fessel
d9aac6a7d4 atmega_common/gpio_init: fix pull-up settings for GPIO_IN_PU
This Patch makes gpio_init precalculate the pin mask once,
This Patch makes gpio_init of atmega_common configure the pin as an input and configure the pullup in the case of GPIO_IN_PU.
GPIO_IN_PU and GPIO_IN need to change pullup so they need to change output (this is coverd by the not touching outputs is not guaranteed statement)
(this is a special case for atmega the pull_up is configured by writing 1 to the port_register which is also the level of the output if the pin is configured to output).

This fix makes it more compliant to comments in periph/gpio.h
2018-08-27 20:34:10 +02:00
c0fdce22b3
netdev_tap: declare netdev_driver struct as const 2018-08-23 17:31:45 +02:00
Hauke Petersen
c2184f3454 boards/cpu/drivers/sys: use generic stdio_ if 2018-08-22 10:54:25 +02:00
Semjon Kerner
2063e98b13 cpu/nrf52: initial PWM implementation 2018-08-21 11:28:23 +02:00
d94d1854ec
Merge pull request #9234 from kYc0o/move_eeprom_to_periph
drivers/periph_common/eeprom: move EEPROM definitions to periph_cpu.
2018-08-21 10:25:44 +02:00
MichelRottleuthner
2db68b600b
Merge pull request #9505 from PeterKietzmann/pr_puf_stm32
cpu/stm32_common: add PUF SRAM feature to makefile
2018-08-17 13:08:21 +02:00
Gaëtan Harter
623e3e156d
Merge pull request #9730 from miri64/make/enh/toolchain-supported-list
make: provide support for listing supported and blacklisting toolchains
2018-08-16 17:11:26 +02:00
Martine Lenders
c0a7da3068 native: Mark llvm and gnu as supported toolchains 2018-08-16 16:41:58 +02:00
Martine Lenders
b305ee4b41 cortexm_common: Mark llvm and gnu as supported toolchains 2018-08-16 16:41:58 +02:00
Francisco Acosta
8776df7423 cpu/atmega*: move EEPROM definitions to periph_cpu.h 2018-08-15 15:27:03 +02:00
Francisco Acosta
11b36a7184 stm32l1/0: move EEPROM config to periph_conf.h 2018-08-15 15:27:03 +02:00
Francisco Acosta
73ae563973 eeprom: Makefile.features: reorder features
They should be sorted alphabetically
2018-08-15 14:53:56 +02:00
Martine Lenders
e7b554bad2
Merge pull request #9773 from maribu/lpc2387
cpu/lpc2387: Fixed documentation and bugs preventing use of LLVM
2018-08-14 16:20:52 +02:00
Marian Buschsieweke
f31375a152
cpu/lpc2387: Use PRIu32 in DEBUG() in mci 2018-08-14 15:35:12 +02:00
Marian Buschsieweke
6358e75f01
cpu/lpc2387: Fixed bug and readability in IAP
- Previous cast was to a function pointer was not legal
- Using already present function pointer to store the IAP entry point to improve
  readability. (Which also fixes the cast issue.)
2018-08-14 15:31:43 +02:00
Martine Lenders
9478274bd9 stm32_common/eeprom: fix DEBUG formatting
This fixes compilation for `periph_eeprom` with LLVM/clang and also is
more in accordance with our [coding conventions].

[coding conventions]: https://github.com/RIOT-OS/RIOT/wiki/Coding-conventions#-wformat
2018-08-14 14:56:44 +02:00
Marian Buschsieweke
18ae7652a9
cpu/lpc2387: Fixed doc and attribute of arm_reset
- arm_reset was completely undocumented, even though technical details buried
  deeply in the data sheet of the LPC2387 are involved in the code
- The attribute "naked" is misplaced, it should only be used when no C code
  is present. However, the function consists of C code only
- The attribute "noreturn" has to be used in the declaration [1] of a function,
  not in the implementation. Otherwise the caller is not informed and code using
  the function will not be optimized.

[1]: https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html
2018-08-14 10:40:09 +02:00
Martine Lenders
426cfbeea6 kinetis: timer: #ifdef unused functions
Another issue revealed by compiling several apps with LLVM/clang for
the `teensy31` board.
2018-08-13 18:38:13 +02:00
Semjon Kerner
9e63671eab cpu/nrf51: fix formatting uint to PRIu32 2018-08-13 17:56:05 +02:00
Peter Kietzmann
a05e2f22e2
Merge pull request #9693 from smlng/pr/cc2538/timer
cc2538: cleanup and optimisation of periph timer
2018-08-13 08:40:51 +02:00
Gaëtan Harter
7dad2e7096
cortexm_common/ldscript: allow defining FW_ROM_SIZE
Allow defining a specific rom length to use for linking the firmware,
_fw_rom_length, instead of the default configuration to use the whole rom from
_rom_offset to the end.

 * Add cortexm_common/Makefile.include FW_ROM_SIZE configuration
 * Add an assertion that _fw_rom_length still respects _rom_length
2018-08-11 11:34:01 +02:00
Gaëtan Harter
c84539fdb3
cortexm_common: allow defining ROM_OFFFSET in a compilation rule
Define _rom_offset with a conditional evaluated at execution time to allow
setting it in compilation rules and generate in the same make instance different
elf files with different configurations.
2018-08-11 11:33:55 +02:00
Gaëtan Harter
9103dcaeda
cortexm_common: refactor the definition test
The variables should all always be defined.
2018-08-11 11:33:52 +02:00
Gaëtan Harter
83a617261a
cortexm_common/ldscript: add _fw_rom_length variable
It will help testing if it is taken into account and for defining for outside
after.
2018-08-11 11:33:47 +02:00
Gaëtan Harter
d9db258411
cortexm_common/ldscript: re-use _rom_offset variable name
Inspired by kaspar030 version to removing the new _boot_offset variable.

cbf324a66d/cpu/cortexm_common/ldscripts/cortexm.ld
2018-08-11 11:33:39 +02:00
smlng
d9c9c9479e cpu/cc2538: add debug output in periph/spi 2018-08-10 10:38:51 +02:00
smlng
e246c19fe1 cpu/cc2538: adapt periph/spi to gpio API
Rework SPI periph driver to use proper RIOT GPIO API functions.
    Also cleanup header files by using vendor defines and remove
    obsolete code. Further, adapt board config accordingly.
2018-08-10 10:38:51 +02:00
smlng
d8e2611ed9 cpu/cc2538: refine gpio_init_mux
Introduces a define to inidicate an unused function parameter.
2018-08-10 10:38:51 +02:00
Martine Lenders
9bb33b9294
Merge pull request #9697 from miri64/kinetis/enh/gpio-unused-function
kinetis: uart: fix unused-function warning
2018-08-08 10:33:22 +02:00
Martine Lenders
376c10feff kinetis: uart: fix unused-function warning
When compiling with LLVM (should also be seen `-Wunused-function` in
GCC), I get an error for `frdm-k22f`. This should fix that.
2018-08-08 10:02:53 +02:00
Vincent Dupont
824e10b52e cpu/stm32f0: update stm32f091 vendor header 2018-08-07 14:47:40 +02:00
smlng
459f7ebce0 cpu/cc2538: generalise SPI clock configuration
The SPI bus frequency/clock is calculated relative to the MCUs
    core clock. Currently all boards use the default 32MHz, hence
    prescaler settings for SPI are all the same. This PR moves the
    default config for 32MHz to the CPU and allows to be overriden
    by board config if needed.
2018-08-07 12:15:45 +02:00
smlng
7ff2e44821 cpu/cc2538: cleanup periph timer headers and code
Remove unused or obsolete defines in headers, due to usage of
    vendor headers. Also remove register bit definition in timer
    struct because they where not used in the implementation.
2018-08-07 08:13:47 +02:00
smlng
b7ab6b4b36 cpu/cc2538: cleanup periph timer implementation
Refine periph timer implementation to use vendor header defines
    where possible, remove unnecessary structs and general cleanup.
2018-08-07 08:13:47 +02:00
3e7c5423e5
Merge pull request #8917 from aabadie/pr/cpu/flashpage_l4
cpu/stm32l4: add support for flashpage
2018-08-06 14:11:45 +02:00
MichelRottleuthner
43e65ff5c8
Merge pull request #9500 from PeterKietzmann/pr_puf_nrfx
cpu/nrf5x_common: add PUF SRAM feature to makefile
2018-08-06 13:06:33 +02:00
d1a214ca74 cpu/stm32l4: configure flashpage 2018-08-06 12:33:03 +02:00
a008b983b3 cpu/stm32_common: add flashpage support for stm32l4 2018-08-06 12:33:03 +02:00
Martine Lenders
233935c539
Merge pull request #9700 from miri64/stm32_common/fix/unused-function
stm32_common: i2c_2: fix for -Wunused-function
2018-08-03 18:43:06 +02:00
Martine Lenders
6f78a7f331 stm32_common: i2c_2: fix for -Wunused-function
This came up when compiling an application for a STM32-based board
with LLVM/clang. The function is not used if I²C is not provided.
2018-08-03 16:12:52 +02:00
Martine Lenders
1ca6df3313 nrf5x_common: gpio: remove unused pin_num() function
This came up when compiling an application for an NRF5x-based board
with LLVM/clang. The function does not seem to be used throughout the
file so I just removed it.
2018-08-03 16:09:38 +02:00
smlng
df37e69b90 cpu/cc2538: add TI vendor headers
Currently the cc2538 is based on from-scratch adaption which is
    not feature complete and thus lacks defines etc. Introducing the
    official vendor header will ease future extension and adaptions
    of the CPU and its features.
2018-08-03 08:29:32 +02:00
Sebastian Meiling
26c689ffbb
Merge pull request #9548 from RIOT-OS/new_i2c_if3
I2C: introduce and adapt new I2C interface (2nd attempt)
2018-08-02 12:00:59 +02:00
Martine Lenders
ad133da209 native: ignore -Wformat-nonliteral for formatting syscalls
The point of that call is to wrap the actual host system's formatting
functions, so the non-literal formatting string is alright here.
2018-08-01 09:03:01 +02:00
dylad
69297a0939 cpu/stm32_common: remove scl_af/sda_af attribut for STM32F1 2018-07-25 15:17:43 +02:00
smlng
0b9a54f184 cpu/kinetis: suppress selfAssignement warning by cppcheck
cppcheck raises a warning due to self assignment. As this is
    intentional to clear all IRQ on register status flags, this
    warning is suppressed now.
2018-07-25 12:01:40 +02:00
smlng
e39ebb1623 cpu/sam0: add doxygen group around i2c_speed_t 2018-07-25 12:01:40 +02:00
smlng
90f66a1952 cpu/sam0_common/i2c: fix ambiguous reg assignment
The value assigned to the register was unclear due to usage
    of bit-comparison and ternary operator, added parentheses to
    make it explicit.
2018-07-25 12:01:40 +02:00
Bas Stottelaar
e8a76acea5 cpu: efm32: adapt to new i2c interface. 2018-07-25 12:01:40 +02:00
5f1d5e0d83 cpu/stm32_common: various improvements in i2c_1 driver
- dont send stop if bus is busy and before any action is done on bus
- and bus check that looks for bus error, arbitration and nack events
- check for ACK (TXIS) before writing bytes on bus and not between each write
2018-07-25 12:01:39 +02:00
Laurent Navet
c7fed1526c cpu/atmega_common: adapt to new i2c api
Rework atmega i2c to match new i2c interface.
Only i2c_read_bytes and i2c_write_bytes are implemented.
2018-07-25 12:01:39 +02:00
3e6336ce89 cpu/nrf51: adapt to new I2C api 2018-07-25 12:01:39 +02:00
MrKevinWeiss
e8c56ceadc cpu/stm32_common/i2c: Fix return error code 2018-07-25 12:01:39 +02:00
Joakim Nohlgård
31b461d71c kinetis: Interrupt based I2C transfers 2018-07-25 12:01:39 +02:00
Joakim Nohlgård
175f398b58 kinetis: Refactor I2C driver 2018-07-25 12:01:39 +02:00
Joakim Nohlgård
3ac45b5aa2 kinetis: Reflow text in doc.txt 2018-07-25 12:01:38 +02:00
MrKevinWeiss
6016266c77 cpu/stm_common/i2c: Fix error code 2018-07-25 12:01:38 +02:00
MrKevinWeiss
6a3f9f35dc cpu/stm32_common/i2c: Fix extra clear_addr 2018-07-25 12:01:38 +02:00