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

7314 Commits

Author SHA1 Message Date
Erik Ekman
2df7d499c8 tools/openocd: Export IMAGE_OFFSET only when flashing 2021-10-15 10:12:40 +02:00
Erik Ekman
d47aa2d550 cpu/esp32: Flash bootloader, partition and app via openocd
https://github.com/espressif/openocd-esp32 is needed.

Example config (when compiled from source):
export OPENOCD="~/esp/openocd-esp32/src/openocd -s ~/esp/openocd-esp32/tcl"
2021-10-15 10:00:57 +02:00
Erik Ekman
3d7d211157 cpu/esp: Always create app.elf.bin and partitions.bin
Even if programmer is not esptool
2021-10-15 09:59:38 +02:00
Marian Buschsieweke
32be74291c
Merge pull request #16790 from maribu/cpu/avr8_common/ldscripts
cpu/avr8_common: Fix link with binutils > 2.35.2
2021-10-15 09:59:14 +02:00
Marian Buschsieweke
696598ff9e
Merge pull request #16985 from gschorcht/cpu/esp/fix_doc
cpu/esp8266, boards/*esp*: fix documentation
2021-10-15 07:54:40 +02:00
Gunar Schorcht
a3ca9776c2 cpu/esp8266: fix documentation format
Fix various issues with incompatibilities of markdown supported by doxygen.
2021-10-15 02:50:21 +02:00
MrKevinWeiss
9b6a63a951
drivers/kconfig: simplify shared rtt/rtc hardware in kconfig 2021-10-14 11:28:46 +02:00
MrKevinWeiss
c7820cf7e5
*/rtt|rtc: Fix Kconfig modeling 2021-10-14 11:28:44 +02:00
Benjamin Valentin
cb18689712 cpu/avr8_common: call cpu_init() 2021-10-13 23:21:56 +02:00
Benjamin Valentin
bcb0df8e18 cpu/cortexm_common: call cpu_init() 2021-10-13 23:21:56 +02:00
Benjamin Valentin
86da174be2 cpu/msp430_common: call msp430_cpu_init() 2021-10-13 23:21:56 +02:00
Benjamin Valentin
0658c41d85 cpu/mips32r2_common: call cpu_init() 2021-10-13 23:21:56 +02:00
Benjamin Valentin
0f625eaebd cpu/riscv_common: call cpu_init() 2021-10-13 23:21:56 +02:00
benpicco
ffd1254eac
Merge pull request #16959 from bissell-homecare-inc/stm32g031-disco
boards/stm32g031-disco,examples,tests: Added STM32G031-DISCO board
2021-10-13 23:17:06 +02:00
Dave VanKampen
55ea8cfb97 boards/stm32g031-disco,examples,tests: Added STM32G031-DISCO board 2021-10-13 12:14:45 -04:00
Marian Buschsieweke
62d6a560b1
cpu/avr8_common: Fix link with binutils > 2.35.2
The xfa.ld script is incompatible with binutils > 2.35.2 and results
in firmwares that wont boot. Sadly, I couldn't figure out an elegant
way to fix the issue. Instead, I modified the linker script provided
by binutils to also include XFA.
2021-10-13 16:37:19 +02:00
benpicco
dcc2908a94
Merge pull request #16976 from benpicco/cpu/native-gcc11
cpu/native: fix build with gcc 11
2021-10-13 16:29:17 +02:00
Marian Buschsieweke
94921942d3
cpu/esp32/doc: Restore center alignment of tables 2021-10-13 14:56:00 +02:00
kl
0f2d10dfb7 cpu/stm32: add HWRNG support to CPU_LINE STM32F469XX 2021-10-13 11:22:45 +02:00
Benjamin Valentin
1a2984b786 cpu/native: fix build with gcc 11
This fixes the following warning with GCC 11.2:

    cpu/native/include/native_internal.h:153:13: error: variably modified ‘__isr_stack’ at file scope
      153 | extern char __isr_stack[SIGSTKSZ];
          |             ^~~~~~~~~~~
    cpu/native/include/native_internal.h:154:13: error: variably modified ‘__end_stack’ at file scope
      154 | extern char __end_stack[SIGSTKSZ];
2021-10-12 14:56:11 +02:00
luisan00
af4c01bbc6 cpu/stm32: add stm32f469i to ADCs defs 2021-10-11 23:35:48 +02:00
Jean Pierre Dudey
b965feb5ba
Merge pull request #16968 from Mesh4all/cpu/stm32_duplicated_defs
cpu/stm32: duplicated ADC devices definitions
2021-10-11 12:58:05 +02:00
Marian Buschsieweke
1ba0bdfa9c
Merge pull request #16952 from maribu/esp32/doc
cpu/esp32,boards/*esp32*:  fix documentation
2021-10-11 08:57:58 +02:00
Marian Buschsieweke
8d1d00776c
cpu/esp32: Fix documentation format
Fix various issues with incompatibilities to flavor of markdown
supported by Doxygen and re-format text.
2021-10-10 21:35:30 +02:00
luisan00
6459d4c344 cpu/stm32: fix duplicated defs 2021-10-10 00:04:51 +02:00
Francisco
93bff48538
Merge pull request #16909 from leandrolanzieri/pr/cpu/riscv/model_kconfig
cpu/riscv: model Kconfig
2021-10-05 16:51:17 +02:00
benpicco
3b002cc4c8
Merge pull request #16821 from jia200x/pr/cc2538/rx_busy
cc2538_rf: remove RX Busy detection in request_set_trx_state
2021-10-05 00:08:40 +02:00
Leandro Lanzieri
a015508e77
cpu/gd32v: model Kconfig 2021-10-01 11:26:15 +02:00
Leandro Lanzieri
fe8e043c36
cpu/fe310: model Kconfig 2021-10-01 11:26:15 +02:00
Leandro Lanzieri
cf753c6790
cpu/riscv_common: model Kconfig 2021-10-01 11:26:15 +02:00
Marian Buschsieweke
35a1b60068
cpu/{atxmega,atmega_common}: fix invalid use of PSTR()
core_panic() doesn't expect the message to be in program memory, but
in data memory. Bad things will happen on AVR when the address is
interpreted as being in data address space, but the allocation is
done in program address space.
2021-09-30 17:15:39 +02:00
Marian Buschsieweke
7bfc1814ae
Merge pull request #16917 from maribu/cpu/avr8_common/cleanup
cpu/avr8_common: Clean up cpu_print_last_inscrution()
2021-09-30 13:29:01 +02:00
Marian Buschsieweke
417bc949ab
cpu/avr8_common: Clean up cpu_print_last_inscrution() 2021-09-30 10:39:21 +02:00
Leandro Lanzieri
b160e43233
Merge pull request #16837 from fjmolinas/pr_kconfig_nrf52
cpu/nrf52: initial kconfig modeling (no netif)
2021-09-30 09:57:11 +02:00
Jose Alamos
474838ba15
cc2538_rf: remove RX Busy detection in request_set_trx_state
This PR removes the RX Busy detection because it doesn't seem to be
reliable enough to ensure the radio is not locked. Some radios such as
nrf802154 don't provide RX Busy detection mechanisms, so this is not
uncommon. It's intended that the MAC layer takes care of this (e.g
slots, CSMA-CA with retransmissions, etc)
2021-09-29 16:05:34 +02:00
Francisco Molina
6b276af790 cpu/nrf52: initial kconfig modeling 2021-09-29 10:17:47 +02:00
Francisco Molina
c9de733c52 cpu/nrf52/Makefile.dep: move radio dependencies from boards/common 2021-09-29 10:16:31 +02:00
benpicco
6d9db1673d
Merge pull request #16902 from maribu/cpu/avr8_common/float
cpu/avr8_common: implement printf_float
2021-09-28 14:28:29 +02:00
Francisco
211c1a51d8
Merge pull request #16886 from bissell-homecare-inc/g030_ram_len
cpu/stm32: added RAM_LEN identifier for stm32g03x
2021-09-28 13:40:42 +02:00
Marian Buschsieweke
b12a8103e3
cpu/avr8_common: implement printf_float 2021-09-28 12:35:43 +02:00
José Alamos
1ee57f80a0
Merge pull request #15030 from jia200x/pr/lora/remove_xtimer
drivers/sx127x: remove ZTIMER_USEC dependency
2021-09-27 11:41:22 +02:00
benpicco
d1768e95a5
Merge pull request #16885 from bissell-homecare-inc/g0_adc
cpu/stm32: added ADC for g0
2021-09-25 18:32:19 +02:00
1b83ecdd5d
Merge pull request #16881 from bissell-homecare-inc/add_g0_apbmul
added APB12 bus multiplier entry for applicable cpus
2021-09-24 16:25:07 +02:00
Dave VanKampen
6414c64f89 cpu/stm32: added ADC for g0 2021-09-24 10:20:09 -04:00
Dave VanKampen
664f5d156d cpu/stm32: added RAM_LEN identifier for stm32g03x 2021-09-23 10:06:33 -04:00
Dave VanKampen
7ab8ec391a cpu/stm32: added APB12 bus multiplier entry for applicable cpus 2021-09-23 08:46:52 -04:00
benpicco
cc3df3ec85
Merge pull request #16822 from benpicco/cpu/native-stdio
cpu/native: make use of stdio_read() / stdio_write()
2021-09-22 20:47:45 +02:00
Benjamin Valentin
13e16fa34f cpu/native: make use of stdio_read() / stdio_write()
On `native` the functions stdio_read() / stdio_write() were not
used.
Those functions are intended for alternative stdio implementations.
As a result, no alternative stdio could be used on `native`.

To fix this, call the functions in `_native_read()` / `_native_write()`
when dealing with stdio fds.
2021-09-22 17:22:30 +02:00
Karl Fessel
baf07e881e cpu/fe310: add CPU_CORE information 2021-09-22 15:51:54 +02:00
Karl Fessel
fe03c4c059 cpu/riscv,gd32: match Kconfig to Makefile changes 2021-09-22 15:50:28 +02:00
Karl Fessel
645cb04c4d cpu/riscv,gd32v: add CPU_ARCH, CPU_CORE information
adds CPU_ARCH to riscv_common preparing to handle it like cortex-m does
adds CPU_CORE to gd32v
2021-09-22 14:39:44 +02:00
Joakim Nohlgård
b70a4b7694 riscv: Simplify reset trampoline
By loading the absolute address of _start_real we can unconditionally
jump to it regardless if the PC is somewhere at 0x0 or at ROM_START_ADDR
2021-09-22 10:37:23 +02:00
Francisco
0b7eb2bbc9
Merge pull request #16836 from fjmolinas/pr_kconfig_mtd
drivers/mtd: fix Kconfig dependencies
2021-09-22 10:08:14 +02:00
Francisco Molina
14ef09b8b4 drivers/mtd: fix Kconfig dependencies
Currently implementations of the MTD api are selecting the module,
this makes it easy for default backends to be selected. But the
correct modeling is simply selecting the MTD api and then selecting
a backend. BOARDs providing one of the backends can expose this and
then that backend can be selected by default.

There is also currently nothing preventing from using the MTD api
with no backend since a mock backend can easily be provided as is
done in all mtd tests.
2021-09-22 09:22:51 +02:00
Benjamin Valentin
97de8afaf6 cpu/cc2538: don't pollute global namespace with cc2538_rfcore.h
`cc2538_rfcore.h` contains enums with non-prefixed single-word constants.
Those cause ugly naming conflicts down the line.
Only include the file when needed, don't include it in `cpu_conf.h` which
gets pulled in everywhere.
2021-09-16 15:31:22 +02:00
Benjamin Valentin
f6950daf4c cpu/cc26x0_cc13x0: fix build 2021-09-14 14:58:03 +02:00
Jean Pierre Dudey
ffff68deaf
Merge pull request #16813 from jeandudey/doc1
cpu: fix doxygen grouping warnings
2021-09-13 11:30:27 +02:00
Jean-Pierre De Jesus DIAZ
d2a6745855 cpu/mips32r2_common: fix doxygen grouping warnings
Signed-off-by: Jean-Pierre De Jesus DIAZ <me@jeandudey.tech>
2021-09-11 12:45:15 +02:00
Jean-Pierre De Jesus DIAZ
d1f9cd0647 cpu/native: fix doxygen grouping warnings
Signed-off-by: Jean-Pierre De Jesus DIAZ <me@jeandudey.tech>
2021-09-11 12:45:15 +02:00
Jean-Pierre De Jesus DIAZ
3de8f247c3 cpu/lpc23xx: fix doxygen grouping warnings
Signed-off-by: Jean-Pierre De Jesus DIAZ <me@jeandudey.tech>
2021-09-11 12:45:15 +02:00
Jean-Pierre De Jesus DIAZ
209304ccb8 cpu/lpc1768: fix doxygen grouping warnings
Signed-off-by: Jean-Pierre De Jesus DIAZ <me@jeandudey.tech>
2021-09-11 12:45:15 +02:00
Jean-Pierre De Jesus DIAZ
8061e99be4 cpu/qnx908x: fix doxygen grouping warnings
Signed-off-by: Jean-Pierre De Jesus DIAZ <me@jeandudey.tech>
2021-09-11 12:45:15 +02:00
Jean-Pierre De Jesus DIAZ
63017413e9 cpu/msp430*: fix doxygen grouping warnings
Signed-off-by: Jean-Pierre De Jesus DIAZ <me@jeandudey.tech>
2021-09-11 12:45:15 +02:00
Jean-Pierre De Jesus DIAZ
22a7e1af03 cpu/riscv_common: fix doxygen grouping warnings
Signed-off-by: Jean-Pierre De Jesus DIAZ <me@jeandudey.tech>
2021-09-11 12:45:15 +02:00
Jean-Pierre De Jesus DIAZ
cedf0b061d cpu/kinetis: fix doxygen grouping warnings
Signed-off-by: Jean-Pierre De Jesus DIAZ <me@jeandudey.tech>
2021-09-11 12:45:15 +02:00
Jean-Pierre De Jesus DIAZ
5750dc0270 cpu/cc2538: fix doxygen grouping warnings
Signed-off-by: Jean-Pierre De Jesus DIAZ <me@jeandudey.tech>
2021-09-11 12:45:15 +02:00
Jean-Pierre De Jesus DIAZ
51bab0a5a9 cpu/cortexm_common: fix doxygen grouping warnings
Signed-off-by: Jean-Pierre De Jesus DIAZ <me@jeandudey.tech>
2021-09-11 12:45:15 +02:00
Jean-Pierre De Jesus DIAZ
0d9f6ca3f4 cpu/cc26xx_cc13xx: fix doxygen grouping warnings
Signed-off-by: Jean-Pierre De Jesus DIAZ <me@jeandudey.tech>
2021-09-11 12:45:15 +02:00
Jean-Pierre De Jesus DIAZ
35d1a2fc02 cpu/esp*: fix doxygen grouping warnings
Signed-off-by: Jean-Pierre De Jesus DIAZ <me@jeandudey.tech>
2021-09-11 12:45:15 +02:00
Jean-Pierre De Jesus DIAZ
480e22be66 cpu/sam*: fix doxygen grouping warnings
Signed-off-by: Jean-Pierre De Jesus DIAZ <me@jeandudey.tech>
2021-09-11 12:45:15 +02:00
Kevin "Tristate Tom" Weiss
4c6dc973c8
Merge pull request #16719 from MrKevinWeiss/pr/kconfig/cc2538
cpu/cc2538: Add Kconfig support
2021-09-09 08:21:09 +02:00
benpicco
69b7db2d94
Merge pull request #16802 from fjmolinas/pr_stm32_periph_rtc_mem
cpu/stm32: add rtc_mem
2021-09-08 19:11:55 +02:00
benpicco
bcaaaec66f
Merge pull request #16814 from dylad/pr/cpu/nrf9160_add_twi_and_spi_support
cpu/nrf9160: add twi and spi support
2021-09-08 19:11:37 +02:00
MrKevinWeiss
537c4c7096
cpu/cc2538: Add Kconfig cpu and radio 2021-09-08 12:40:31 +02:00
MrKevinWeiss
636c6c4cdb
cpu/cortexm: Use DEVELHELP to add stack guard 2021-09-08 12:40:30 +02:00
Francisco Molina
8e17b67a2f cpu/stm32: add rtc_mem 2021-09-07 10:06:31 +02:00
benpicco
f79207e217
Merge pull request #16744 from benpicco/gnrc_netdev_default
gnrc: deprecate gnrc_netdev_default, use netdev_default instead
2021-09-06 21:03:16 +02:00
dylad
1beda0f1e4 cpu/nrf9160: add TWI and SPI support 2021-09-06 20:15:18 +02:00
Benjamin Valentin
9a6fc85b16 treewide: replace gnrc_netdev_default with netdev_default 2021-09-06 15:43:40 +02:00
Marian Buschsieweke
5964dea70c
cpu/cc2538/periph/spi: move assert to spi_acquire 2021-09-06 10:52:35 +02:00
Jean-Pierre De Jesus DIAZ
9d1cff3b55 cpu/stm32: fix doxygen grouping warnings
Signed-off-by: Jean-Pierre De Jesus DIAZ <me@jeandudey.tech>
2021-09-05 20:39:15 +02:00
Jean-Pierre De Jesus DIAZ
1759014134 cpu/avr8_common: fix doxygen grouping warnings
Signed-off-by: Jean-Pierre De Jesus DIAZ <me@jeandudey.tech>
2021-09-05 20:38:52 +02:00
Jean-Pierre De Jesus DIAZ
8c9759063e cpu/arm7_common: fix doxygen grouping warnings
Signed-off-by: Jean-Pierre De Jesus DIAZ <me@jeandudey.tech>
2021-09-05 20:38:30 +02:00
benpicco
c98c488559
Merge pull request #16746 from jia200x/pr/hal/fb_lock
ieee802154/submac: reimplement using FSM
2021-09-03 18:13:58 +02:00
benpicco
3b304328f3
Merge pull request #16758 from benpicco/periph/rtc_mem
drivers/periph: define rtc_mem and implement it for sam0_common
2021-09-03 14:59:11 +02:00
Benjamin Valentin
3fbf473a07 cpu/sam0_common: implement periph_rtc_mem 2021-09-03 11:43:43 +02:00
Jose Alamos
0fb55b21c5
cc2538_rf: adapt radio HAL changes
This PR adapts the cc2538 to the new Radio HAL changes:
- Move RX FLUSH to the `read` function
- Add RX_CONTINUOS cap
2021-09-03 11:00:46 +02:00
Jose Alamos
0b5b896e70
cc2538_rf: fix race condition when changing state 2021-09-03 11:00:46 +02:00
Hugues Larrive
f292cfc8ce drivers/periph_spi: remove duplicated includes introduced in #15902 2021-09-02 09:40:31 +02:00
Francisco
a1cbcc9ede
Merge pull request #15902 from maribu/spi-api-change-1
drivers/periph_spi: let spi_acquire return void
2021-09-02 08:50:56 +02:00
benpicco
550565f052
Merge pull request #16783 from benpicco/avr8_clk_init
cpu/atmega_common: move clock init to common code
2021-09-01 22:28:14 +02:00
Marian Buschsieweke
f04b522601
cpu/periph_spi: update implementations to new API
Make all spi_acquire() implementations return `void` and add assertions to
check for valid parameters, where missing.
2021-09-01 21:38:40 +02:00
Benjamin Valentin
87f7e5a963 cpu/atmega_common: move clock init to common code
This code should not be in the realm of the board config, but in
common arch code.
2021-08-27 17:06:50 +02:00
Benjamin Valentin
f903ec90d4 drivers/flashpage: flashpage_page() takes a const argument
All addresses to flashpage_page() must be in flash. Flash memory is
`const`, therefore this function must also take `const` pointers.
2021-08-27 14:08:25 +02:00
Francisco
3db378e015
Merge pull request #11117 from haukepetersen/add_core_irqisen
core: add irq_is_enabled() function to irq interface
2021-08-26 18:41:02 +02:00
benpicco
19acd2e6a1
Merge pull request #16778 from benpicco/cpu/riscv-deps
cpu/riscv_common: cleanup dependencies
2021-08-26 16:37:37 +02:00
benpicco
0b69747389
Merge pull request #16023 from maribu/max_pdu_size
sys/net/netopt: Drop deprecated NETOPT_MAX_PACKET_SIZE
2021-08-26 14:40:18 +02:00
da140c251a
Merge pull request #16754 from kaspar030/native_deferred_yield_higher
cpu/native: fix thread_yield_higher() with IRQs disabled
2021-08-25 22:59:18 +03:00
benpicco
dde4772aa4
Merge pull request #16003 from benpicco/cpu/nrf52/saul-vddh
cpu/nrf52: add SAUL driver for VDDH sensor
2021-08-25 20:31:53 +02:00
Benjamin Valentin
39b81c332e cpu/stm32: remove ErrorStatus enum from vendor files 2021-08-25 18:42:40 +02:00
Benjamin Valentin
a75ae3c938 cpu/riscv_common: move C lib selection to common place 2021-08-25 10:53:00 +02:00
Benjamin Valentin
a9c83017ee cpu/riscv_common: only select PLIC for fe310
Not every RISC-V implements that interrupt controller, gd32v uses
CLIC instead.
2021-08-25 10:49:47 +02:00
Benjamin Valentin
e92a4b9628 cpu/gd32v: enable periph_timer_periodic 2021-08-25 10:48:48 +02:00
Hauke Petersen
7baf5b4a46 cpu/arm7: add irq_is_enabled() 2021-08-25 08:01:05 +02:00
Hauke Petersen
a2c4a73c51 cpu/mips32r2_common: implement irq_is_enabled() 2021-08-25 08:01:05 +02:00
Hauke Petersen
5cdef474c2 cpu/esp_common: implement irq_is_enabled() 2021-08-25 08:01:05 +02:00
Hauke Petersen
9a5edcf839 cpu/riscv: implement irq_is_enabled() 2021-08-25 08:01:05 +02:00
Hauke Petersen
48e2d6e8f9 cpu/atmega_common: implement irq_is_enabled() 2021-08-25 08:01:05 +02:00
Hauke Petersen
d4181b91fa cpu/native: implement irq_is_enabled() 2021-08-25 08:01:05 +02:00
Hauke Petersen
d65442a32b cpu/msp430: implement irq_is_enabled() 2021-08-25 08:01:05 +02:00
Hauke Petersen
65b7f84568 cpu/cortexm_common: implement irq_is_enabled() 2021-08-25 08:01:05 +02:00
benpicco
2de7dab0f4
Merge pull request #16288 from nandojve/xmega_ebi
cpu/atxmega/periph: Add ebi driver
2021-08-25 00:38:22 +02:00
benpicco
025770968b
Merge pull request #16036 from bergzand/pr/gd32vf103/initial
gd32v/seeedstudio-gd32: Initial support
2021-08-25 00:38:00 +02:00
f2787448e1 cpu/riscv_common: Move MCAUSE defines to riscv_common 2021-08-24 14:30:23 +02:00
3d470b0c12 cpu/gd32v: Initial include of the GD32VF103 device
This adds support for the gd32v class devices from Gigadevice. The
gd32vf103 contains an 108 MHz RISC-V core with similar peripherals as
the stm32f1 devices

Co-authored-by: Benjamin Valentin <benjamin.valentin@ml-pa.com>
2021-08-24 14:30:23 +02:00
Gerson Fernando Budke
307e8c7a17 cpu/atxmega: Add external bus interface
Introduce XMEGA EBI driver.  This enable EBI for use with all memory
supported by the device and peripherals. It include support to  SRAM,
SDRAM, LCDs or any other external bus access.

Note: This feature only works for A1/A1U series, which are, the series
with EBI hardware.

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2021-08-24 08:35:41 -03:00
48aa533639
cpu/riscv_common: Add CLIC peripheral driver
The CLIC is a next generation interrupt controller for the RISC-V
architecture.

Co-authored-by:
2021-08-24 10:30:18 +02:00
9239c2fe14
cpu/riscv_common: Add bit set and clear functions 2021-08-24 10:30:15 +02:00
c1d81cfb56
cpu/riscv_common: Jump to rom start on boot
With this the riscv start code jumps to the ROM start on boot when the
ROM area doesn't start at address 0x0.
2021-08-24 10:30:12 +02:00
87b49d04ab cpu/native: defer yield when IRQs are disabled.
This makes native behave like Cortex-M, which flags PENDSV, which then
gets triggered once IRQs are re-enabled.
2021-08-24 09:49:40 +02:00
benpicco
8ae782b98d
Merge pull request #16759 from jia200x/pr/nrf802154/fix_write
drivers/nrf802154: fix write return value and `__cplusplus` closing bracket.
2021-08-20 12:31:34 +02:00
Jose Alamos
5111bef5aa
drivers/nrf802154: fix write return value 2021-08-20 10:54:35 +02:00
Jose Alamos
8d049005de
drivers/nrf802154: add missing __cpluscplus closing bracket 2021-08-20 10:54:35 +02:00
benpicco
71953c984c
Merge pull request #16534 from jia200x/pr/detach_radio_hal_descriptor
ieee802154/radio_hal: detach hal descriptor from driver
2021-08-18 18:15:51 +02:00
Jose Alamos
ddc9c7c686
ieee802154/radio_hal: detach hal descriptor from driver 2021-08-18 15:24:10 +02:00
8f10f22b1f cpu/cortexm: ldscripts: bkup-ram -> bkup_ram
Fixes this error with binutils 2.37:

```
/usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/bin/ld:cortexm_base.ld:217: warning: memory region `bkup' not declared
/usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/bin/ld:cortexm_base.ld:217: syntax error
```
2021-08-18 10:29:38 +02:00
Gerson Fernando Budke
2d3f7bf17c cpu/atxmega: Fix features config
Update features definitions and configurations.  Now atxmega define
features that only are full available on all variations and do not
require any definition at periph_conf.h file.

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2021-08-17 12:42:59 -03:00
Jan Romann
4384795cb9
treewide: Remove excessive newlines 2021-08-13 19:50:38 +02:00
benpicco
acc9889ec8
Merge pull request #16716 from jia200x/pr/cc2538/fix_cca
drivers/cc2538_rf: fix deadlock when receiving too fast.
2021-08-10 18:41:54 +02:00
Benjamin Valentin
64846c0af4 avr_libc_extra: implement strerror()
Add a minimal implementation of `strerror()`.
All other targets use either newlib or picolibc and provide this
function, add it to AVR so we can rely on it in common code.
2021-08-09 16:24:04 +02:00
Jose Alamos
a6d0052ff0
drivers/cc2538_rf: don't poll internal FSM state 2021-08-09 11:39:00 +02:00
Jose Alamos
3fce21a62b
drivers/cc2538_rf: disable RX detection during CCA 2021-08-09 11:37:17 +02:00
Fabian Hüßler
e89ef368c1 cpu/rpx0xx: implement periph timer 2021-08-09 10:45:34 +02:00
Nicolas Harel
580b8d6561 cpu/nrf52: i2c: add support for 16-bit register addresses
Removed VLA


removed unused reg buffer


Added mutex 


Buffer comment correction
2021-08-06 11:06:59 +02:00
Benjamin Valentin
ddf96f7000 cpu/saml21: uart: disable fractional baud rate
SERCOM5 on SAM L21 does not support fractional baud rate mode.
Instead of special-casing it, just use arithmetic baud rate mode
in general on this CPU, as I'm not sure what the advantages of fractional
baud rate mode are.

fixes #16692
2021-07-30 11:28:02 +02:00
Dylan Laduranty
9582ec9b5c kconfig: add Kconfig support for nRF9160 cpu and nRF9160DK board 2021-07-28 20:11:26 +02:00
dylad
5b85a5750e cpu/nrf9160: add initial support 2021-07-28 20:11:26 +02:00
benpicco
feac187d54
Merge pull request #16506 from benpicco/drivers/dose-rx_start
drivers/dose: make use of start condition received interrupt
2021-07-28 17:21:29 +02:00
Benjamin Valentin
02269ef869 cpu/sam0_common: implement periph_uart_rx_start feature 2021-07-28 16:19:04 +02:00
benpicco
9645950e08
Merge pull request #16685 from fabian18/cpu_rp2040_fix_gpio_warnings
cpu/rpx0xx: fix minor gpio warnings
2021-07-27 18:28:51 +02:00
Fabian Hüßler
e9a1c61389 cpu/rpx0xx: fix C++ compatibility for gpio 2021-07-27 14:03:05 +02:00
benpicco
666a45729c
Merge pull request #16683 from dylad/pr/cpu/sam0/eth-fix
cpu/sam0: improve ethernet driver resilience
2021-07-27 14:02:31 +02:00
dylad
950c71cc10 cpu/sam0: improve ethernet driver resilience
In case of network heavy traffic on the Ethernet, interrupts
fire faster than the netdev thread can process them and we
run out of buffers. With this commit, we now check if we
don't have buffers available, so we can flush everything and
restart reception properly even if we did drop a few in the
operation
2021-07-27 12:52:07 +02:00
Fabian Hüßler
f7127fa2b7 cpu/rpx0xx: fix unused port warning due to GPIO_PIN macro 2021-07-27 11:26:30 +02:00
benpicco
775d6095bc
Merge pull request #16660 from fjmolinas/pr_lora_e5_dev
boards/lora-e5-dev: initial support
2021-07-21 14:36:58 +02:00
Francisco Molina
c62f6e0590
cpu/stm32/flashpage: adapt to non dual-core stm32wl 2021-07-21 11:28:16 +02:00
Francisco Molina
8a8e023d04
cpu/stm32/wl: common subghz debug pin initialization 2021-07-21 11:28:15 +02:00
Francisco Molina
f2995240d4
cpu/stm32: handle parsing stm32wlex CPU_MODELs 2021-07-21 11:23:47 +02:00
benpicco
4f905bfa8c
Merge pull request #15493 from benpicco/riotboot-serial
riotboot: implement serial flasher
2021-07-21 11:01:31 +02:00
Benjamin Valentin
a93deb4e95 cpu/stm32: usbdev: fix pm_layered include 2021-07-20 22:51:59 +02:00
aidiaz
5b9d8bd6c8 Update rtc_all.c for CPU_FAM_STM32L5 support. 2021-07-19 10:49:38 -04:00
benpicco
9c8b62aa1f
Merge pull request #16609 from maribu/cpu/rp2040
cpu/rpx0xx: port RIOT to the Raspberry Pi RP2040 MCU
2021-07-14 16:37:40 +02:00
Marian Buschsieweke
e3821480f1
cpu/rpx0xx: implement periph_uart
Co-authored-by: nickw96 <nick.weiler@st.ovgu.de>
Co-authored-by: MaestroOnICe <justus.krebs@st.ovgu.de>
Co-authored-by: Franz2000 <franz.freitag@st.ovgu.de>
2021-07-14 12:41:20 +02:00
Marian Buschsieweke
ea56dfc3ff
cpu/rpx0xx: add support for the RP2040 MCU
Co-authored-by: Fabian Hüßler <fabian.huessler@st.ovgu.de>
2021-07-14 12:41:20 +02:00
Marian Buschsieweke
6c4f0da7a7
cpu/esp_common: fix bootloop on ESP8266 2021-07-13 20:48:01 +02:00
José Alamos
934c875aba
Merge pull request #16579 from akshaim/pr/wl55jc_lorawan_final
drivers/sx126x: Add support for Nucleo -WL55JC
2021-07-09 14:48:11 +02:00
Jose Alamos
3f62db6042
nrfmin: avoid explicit cast to netdev 2021-07-09 11:35:21 +02:00
Akshai M
f58a021f6d cpu/stm32wl : Add HW Debug pins 2021-07-09 11:16:41 +02:00
Akshai M
a4bbf0cffc cpu/stm32 : APB3 and VDDTCXO config
Add APB3 disable, Enable VDDTCXO for Radio
2021-07-09 11:16:41 +02:00
Akshai M
f68dab9ccb cpu/stm32: add GPIO_AF_UNDEF 2021-07-09 11:16:41 +02:00
Akshai M
8156b13cc8 docs/doxygen : Add CPU section
Add section `CPU Configurations` in `config` group
2021-07-09 10:47:42 +02:00
Jose Alamos
97f20198a0
stm32/eth: avoid explicit cast to netdev 2021-07-09 10:38:35 +02:00
Jose Alamos
853b3a0918
netdev_tap: avoid explicit cast to netdev 2021-07-09 10:38:34 +02:00
Jose Alamos
4340047781
esp-wifi: avoid explicit cast to netdev 2021-07-09 10:38:34 +02:00
Jose Alamos
88dc962c3e
esp-now: avoid explicit cast to netdev 2021-07-09 10:38:34 +02:00
Jose Alamos
0e65605c39
esp-eth: avoid explicit cast to netdev 2021-07-09 10:38:34 +02:00
Jose Alamos
686c81caf7
socket_zep: avoid explicit cast to netdev 2021-07-09 10:38:33 +02:00
Jose Alamos
352e9431fe
nrf802154: avoid explicit cast to netdev 2021-07-09 10:38:32 +02:00
Jose Alamos
9c2258f97c
cc2538_rf: avoid explicit cast to netdev 2021-07-09 10:38:32 +02:00
Marian Buschsieweke
03670e6e86
Merge pull request #16630 from jia200x/pr/remove_nrf52840_legacy
drivers/nrf802154: remove nrf802154_rf_netdev_legacy
2021-07-09 09:53:41 +02:00
José Alamos
2500d15526
Merge pull request #16628 from jia200x/pr/remove_cc2538_legacy
drivers/cc2538_rf: remove cc2538_rf_netdev_legacy
2021-07-08 23:38:41 +02:00
Jose Alamos
670782a76b
drivers/nrf802154: remove nrf802154_rf_netdev_legacy 2021-07-08 18:43:54 +02:00
benpicco
9781414720
Merge pull request #16625 from akshaim/pr/spi_stm32_check
stm32/spi : Add check for GPIO_UNDEF
2021-07-08 15:45:05 +02:00
Jose Alamos
8f553488d1
drivers/cc2538_rf: remove cc2538_rf legacy 2021-07-08 15:37:42 +02:00
Akshai M
d3aa6ca00b stm32/periph/spi : Add check for GPIO_UNDEF 2021-07-08 13:38:07 +02:00
benpicco
1407559f33
Merge pull request #15773 from benpicco/tools/zep_dispatch-topology
tools/zep_dispatch: add support for advanced topologies
2021-07-07 12:14:43 +02:00
benpicco
9755b7ae12
Merge pull request #16608 from benpicco/cpu/kinetis-RAM_LEN
cpu/kinetis: fix RAM_LEN calculation
2021-07-05 09:47:55 +02:00
Benjamin Valentin
41765e6e4b cpu/kinetis: fix RAM_LEN calculation 2021-07-05 00:53:10 +02:00
MrKevinWeiss
02a2de4916
cpu/stm32: Add Kconfig dependency modeling 2021-07-02 15:11:05 +02:00
Jose Alamos
94d46e756e
cpu/fe310: fix RTT frequency 2021-07-02 14:53:22 +02:00
MrKevinWeiss
cead7a5877 cpu/sam0/i2c: Handle read with I2C_NOSTOP flag
When using the I2C_NOSTOP flag the bus should remain in control.
The current check assumes it must go to idle when reading.
This adds a condition checks if the nostop flag is active
and expects the bus status to be the owner of the bus.
2021-07-01 14:50:54 +02:00
Jose Alamos
d68b1a5f84
nrf802154: use ieee802154_dst_filter in netdev implementation 2021-06-23 16:44:08 +02:00
Leandro Lanzieri
2bde4b65b0
Merge pull request #16551 from MrKevinWeiss/pr/fix/kconfignativemtd
cpu/native: Add native mtd kconfig dep
2021-06-18 12:22:26 +02:00
MrKevinWeiss
9917b37c1c cpu/native: Add native mtd kconfig dep 2021-06-18 11:27:33 +02:00
Martine Lenders
7cad799afe
Merge pull request #15468 from jia200x/pr/rh/rev.13.11
ieee802154/hal: adapt frame filter and source address matching changes
2021-06-17 16:18:57 +02:00
Jose Alamos
44934d300c
cc2538_rf: adapt to Radio HAL changes 2021-06-17 10:07:42 +02:00
Francisco Molina
ca4ca1fac5
cpu/avr8_common: fix errno
avr only defines two errno MACROS, make sure RIOT header ERRNO match
the ones defined by avr.
2021-06-17 09:09:30 +02:00
Jose Alamos
4cfe62fc99
nrf52840: adapt to Radio HAL changes 2021-06-16 14:19:39 +02:00
Francisco
52f5746904
Merge pull request #16545 from aidiaz/periph_rtt_l5
cpu/stm32/periph/rtt_all: RTT peripheral support for CPU_FAM_STM32L5
2021-06-15 18:19:11 +02:00
aidiaz
fc1cd85c76 cpu/stm32/periph_rtt: RTT peripheral support for CPU_FAM_STM32L5 2021-06-15 09:49:55 -04:00
Francisco Molina
d9ee424b7c
cpu/kinetis: use LPTMR as rtt backend 2021-06-15 08:29:09 +02:00
Francisco Molina
92924ccad7
kinetis/rtc: use RTC directly 2021-06-11 17:21:01 +02:00
Rémy Grünblatt
deb8d34c43 cpu/stm32: Generate the irqs in a reproducible manner 2021-05-29 14:28:36 +02:00
Dylan Laduranty
596cee61e2
Merge pull request #15205 from benpicco/cpu/sam0_common-drop_inv_tx
cpu/sam0_common: UART: Revert "implement inverted RX & TX"
2021-05-23 21:40:16 +02:00
Jean Pierre Dudey
5fd6daac3e
Merge pull request #16319 from jue89/fix/stm32-gpio_all-isr
cpu/stm32/gpio_all: fix IRQ handler for G0/L5/MP1 families
2021-05-23 21:40:02 +02:00
Benjamin Valentin
5f002ced1f Revert "cpu/sam0_common: UART: implement inverted RX & TX"
This reverts commit 585dc15f99.

I did misunderstand this feature: This only inverts the data
bits (instead of `c` uart will transmit `~c`), not the whole
line level.

This is not very useful on it's own, so revert it.
2021-05-21 12:47:03 +02:00
Francisco
967cbcd7e1
Merge pull request #16478 from jue89/fix/stm32-gpio_f1-isr
cpu/stm32/gpio_f1: fix IRQ handler
2021-05-19 08:55:04 +02:00
benpicco
7cb5f31380
Merge pull request #16290 from nandojve/xmega_spi
cpu/atxmega/periph: Add spi driver
2021-05-15 15:02:23 +02:00
Hugues Larrive
1cf34afb76 cpu/stm32/periph/adc_f3.c: e-mail update 2021-05-15 05:53:45 +02:00
Gerson Fernando Budke
91316a879a cpu/atxmega/periph/spi: Add spi driver
Introduce SPI driver.

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2021-05-14 23:26:08 -03:00
Marian Buschsieweke
c210975108
Merge pull request #16443 from maribu/tests/malloc
sys/malloc_thread_safety: fix potential overflow in multiplication
2021-05-13 14:38:59 +02:00
Marian Buschsieweke
a9dea12eb8
cpu/esp_common: add overflow detection to calloc
If esp_idf_heap is not used, implement calloc through a custom wrapper
function on top of malloc to add overflow detection, which is not
present in the newlib forks with xtensa support yet.
2021-05-10 15:29:48 +02:00
Francisco
26b61d0254
Merge pull request #16457 from aabadie/pr/cpu/native_custom_thread_sizes
cpu/native: make thread stacksize defines overridable
2021-05-07 16:28:29 +02:00
136c630870
cpu/native: make thread size defines overridable 2021-05-07 13:12:01 +02:00
Dylan Laduranty
a1c3782e28
Merge pull request #16446 from ant9000/pr_cpu_saml21_slow_clock_fix_timers
CPU SAML21: fix timers frequency when using slow clocks
2021-05-06 20:17:02 +02:00
Antonio Galea
c6f6f925a0 cpu/saml21: moved GCLK_GENCTRL_SRC_MAIN define to top 2021-05-05 23:59:05 +02:00
benpicco
619a444741
Merge pull request #16347 from benpicco/drivers/rtt_rtc-rtc_get_time_ms
drivers/rtt_rtc: implement rtc_get_time_ms()
2021-05-05 19:13:21 +02:00
Antonio Galea
c03816f61f cpu/saml21: fix wrong timer for CORECLOCK at 48MHz 2021-05-05 16:34:01 +02:00
Sören Tempel
628c199f51 riscv_common: explicitly mark handle_trap as used
The handle_trap function is used internally by the trap_entry
implementation from the same file. However, the trap_entry
implementation calls handle_trap from inline assembly. This makes it
difficult for the compiler to infer that the handle_trap function is
used at all. This causes issues when LTO is enabled.

Without this patch compiling any RISC-V RIOT code with `LTO=1` causes
the following linker error:

	/home/soeren/src/RIOT/cpu/riscv_common/irq_arch.c:134: undefined reference to `handle_trap'
	/tmp/hello-world.elf.Nngidp.ltrans0.ltrans.o:cpu/riscv_common/irq_arch.c:134:(.text.trap_entry+0x34):
	  relocation truncated to fit: R_RISCV_GPREL_I against undefined symbol `handle_trap'

This commit fixes LTO support for RISC-V.

While at it, also mark the function as static as it is only used by the
trap_entry function from the same compilation unit.
2021-05-05 15:03:12 +02:00
Antonio Galea
8bd90aaf00 cpu/saml21: fix timer skew for slow clocks 2021-05-05 10:56:37 +02:00
benpicco
904ba673e4
Merge pull request #16442 from benpicco/cpu/atmega_common-rtc_fix
cpu/atmega_common: RTC: fix off-by-one second normalization & simplify rtc_get_time()
2021-05-05 10:21:27 +02:00
43103a65d5
Merge pull request #16438 from maribu/bad_alloc
pkg/tlsf,cpu/esp_common: fix possible overflow in calloc implementations
2021-05-05 09:53:00 +02:00
Marian Buschsieweke
2f08f676dc
cpu/esp_common: fix possible overflow in calloc implementation 2021-05-05 08:58:34 +02:00
Benjamin Valentin
7c1b5630d2 cpu/atmega_common: RTC: implement rtc_get_time_ms() 2021-05-04 23:17:05 +02:00
Benjamin Valentin
5ea85ca433 cpu/atmega_common: RTC: get rid of isr_flag 2021-05-04 23:14:35 +02:00
Dylan Laduranty
4af37a7751
Merge pull request #16433 from ant9000/pr_saml21_coreclock_enhancements
SAML21 CPU: support 4MHz, 8MHz, 12MHz CORE_CORECLOCK choices
2021-05-04 21:41:54 +02:00
Benjamin Valentin
2d706b3295 cpu/atmega_common: RTC: fix off-by-one normalisation 2021-05-04 17:56:13 +02:00
Benjamin Valentin
6d42c9fcfe cpu: make newlib_nano a DEFAULT_MODULE
This allows to disable nanospecs with

    DISABLE_MODULE += newlib_nano

if a full-features version of newlib is desired.
2021-05-04 12:12:36 +02:00
Dylan Laduranty
efbd867484
Merge pull request #16421 from benpicco/cpu/sam0_common-rtc_reorder
cpu/sam0_common: only include RTC/RTT symbols if module is used
2021-05-03 22:07:09 +02:00
Antonio Galea
99de702c87 SAML21 CPU: support 4MHz, 8MHz, 12MHz CORE_CORECLOCK choices 2021-05-03 18:56:51 +02:00
benpicco
bb6857b5cf
Merge pull request #16423 from aabadie/pr/cpu/stm32_genkconfig
cpu/stm32/dist: fix and improve genkconfig script
2021-05-03 12:05:53 +02:00
benpicco
0c28ec57f2
Merge pull request #16386 from iosabi/esp8266_i2c
cpu/esp_common: Support disabling I2C clock stretching in ESP8266
2021-05-03 11:31:54 +02:00
Benjamin Valentin
0991c28849 cpu/lpc23xx: implement rtc_get_time_ms() 2021-05-03 09:53:13 +02:00
iosabi
52107b2416 esp8266: Support UART1 and other UART0 pins.
The esp8266 CPU has actually two hardware UART peripherals. UART0 is
used by the boot ROM for flashing and serial output during boot,
typically at a baudrate of 74880 bps until the bootloader or application
sets the more standard 115200 baudrate. This UART0 device has two
possible pins for TXD, GPIO1 and GPIO2, which are both set to TXD by the
boot ROM. esp8266 modules will typically have GPIO1 labeled as the TX
pin, but it is possible to use GPIO2 for that purpose even while
flashing the device with esptool.py.

The second device, UART1, also has two options for TXD, GPIO2 and GPIO7,
and only one option for RXD, GPIO8. However, GPIO7 and GPIO8 are used
by the flash internally so those options are not very useful unless
maybe while running from IRAM with the flash disabled, for example for
a debugger over UART1.

This patch allows boards to override UART{0,1}_{R,T}XD in their
periph_conf.h to configure the uart selection. Defining UART1_TX will
make the UART_DEV(1) device available.

Tested with:

```CFLAGS='-DUART1_TXD=GPIO2' make -C tests/periph_uart BOARD=esp8266-esp-12x flash term```

* Connected one USB-UART to the standard GPIO1 and GPIO3 for flashing
  and console. After flashing we see the manual test output at 115200
  bps

* Connected a second USB-UART with RX to GPIO2 running at 74880.

Then run on the first console:
```
> init 1 74880
> send 1 hello
```

The word "hello" appears on the second UART connection.

Note that GPIO2 is used during boot for UART0's TX until the application
or bootloader set it to a regular GPIO, so some boot ROM messages at
74880 bps are visible. After running `init 1 74880` it is set to UART1's
TX.
2021-05-02 12:27:27 +00:00
127d6853c7
cpu/stm32/gen_kconfig: use openpyxl package instead of xlrd 2021-05-01 11:31:56 +02:00
d39fd7c773
cpu/stm32/genkconfig: make copyright year configurable 2021-05-01 11:31:11 +02:00
benpicco
08f1f9768d
Merge pull request #16418 from fjmolinas/pr_stm32_spi_param_order
cpu/stm32/periph/spi: fix wrong parameter order
2021-04-30 14:37:17 +02:00
benpicco
c1c374db02
Merge pull request #16420 from benpicco/periph/rtt_overflow
cpu: add periph_rtt_overflow feature
2021-04-30 14:37:09 +02:00
benpicco
76cd388dd0
Merge pull request #16304 from iosabi/esp_gdbstub
cpu/esp8266: Fix typo in esp_gdbstub config.
2021-04-30 14:36:50 +02:00
benpicco
b1f8dc3401
Merge pull request #16409 from benpicco/cpu/lpc23xx-flashpage
cpu/lpc23xx: implement periph/flashpage
2021-04-30 14:36:14 +02:00
Benjamin Valentin
d47a880915 cpu: add periph_rtt_overflow feature
The RTT overflow callback is not available on all RTT implementations.
This means it is either a no-op or `rtt_set_overflow_cb()` is a no-op
or it will overwrite the alarm set with `rtt_set_alarm()`.

This adds a feature to indicate that proper overflow reporting is available.
2021-04-30 11:58:00 +02:00
Benjamin Valentin
69b16dc8a2 cpu/sam0_common: only include RTC/RTT symbols if module is used
This allows to use the sam0 RTT together with the rtt_rtc module.
The idea is to use RTT as a monotonic counter, but still keep track
of the time with the virtual RTC module.
2021-04-30 10:39:51 +02:00
Francisco Molina
fc9fc5c057
cpu/stm32/periph/spi: fix wrong parameter order 2021-04-30 09:17:38 +02:00
4db2a86677
Merge pull request #16414 from seeseemelk/bugfix/late-fpu
Fix Cortex-M hard faults when building with -O3 or -Ofast
2021-04-29 14:21:45 +02:00
Sebastiaan de Schaetzen
e3c9b0c4ca cortexm: initialise fpu early 2021-04-29 13:19:47 +02:00
Benjamin Valentin
51d2dacc33 cpu/lpc23xx: implement periph/flashpage 2021-04-29 13:05:42 +02:00
Benjamin Valentin
49585fc517 cpu/stm32: flashpage: use common helper functions 2021-04-27 16:52:37 +02:00
Gerson Fernando Budke
1dec526d0a cpu/atxmega/periph/i2c: Add i2c driver
Add initial ATxmega i2c master driver.

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2021-04-25 22:06:23 -03:00
iosabi
b1bd7bed67 cpu/esp_common: Support disabling I2C clock stretching in ESP8266
In I2C, clock stretching occurs when the controller stops driving SCL
down but the peripheral continues to drive SCL down until the value of
SDA that is expected to be set by the peripheral is ready. This allows a
peripheral to communicate at a high speed but introduce a delay in the
response (like an ACK or read) in some specific situations. Not all I2C
peripherals require I2C stretching, and in many cases SCL is only an
input to these peripherals.

Clock stretching is the only situation where a peripheral may drive down
SCL, which technically makes SCL an open-drain with a pull-up like SDA.
However, if clock stretching is not needed, SCL can be configured as an
output removing the need for a pull-up and specially, allowing to use
as SCL GPIO pins that otherwise have a pull-down connected. In
particular, GPIO15 in the ESP8266 requires an external pull-down during
boot for the ESP8266 to boot from the flash.

This patch allows a board to define `I2C_CLOCK_STRETCH` to 0 to disable
clock stretching and allowing to use GPIO15 as SCL.
2021-04-26 00:36:12 +02:00
Benjamin Valentin
3f0459288c cpu/sam0_common: ethernet: fix RX detection
Detect RX of frame also when other bits of RSR are set.

fixes #16298
2021-04-23 17:46:36 +02:00
Francisco
9e29754fa9
Merge pull request #16361 from fjmolinas/pr_esp_add_coreclock
cpu/esp*: add CLOCK_CORECLOCK
2021-04-21 16:58:24 +02:00
Francisco
d5f9b99555
Merge pull request #16344 from kfessel/p-efm32-rtt-freq
cpu/efm32: add RTT_FREQUENCY support to efm32
2021-04-21 09:59:10 +02:00
Francisco Molina
5ae5c40f26
cpu/esp*: add CLOCK_CORECLOCK 2021-04-21 08:54:43 +02:00
Akshai M
1f7a10305a stm32/periph/flashpage: Reset cache
Co-authored-by: Francisco <femolina@uc.cl>
2021-04-20 21:04:36 +02:00
Akshai M
efb86039c6 cpu/stm32wl: Add RTT support 2021-04-20 21:04:36 +02:00
Akshai M
2cf081b509 cpu/stm32wl: Flashpage configuration 2021-04-20 21:04:36 +02:00
Akshai M
df1cae172c stm32/irqs: Adapt generators to support WL
Co-authored-by: Alexandre Abadie <alexandre.abadie@inria.fr>
2021-04-20 21:04:36 +02:00
Akshai M
b816c67bdd nucleo-wl55jc: Add Kconfig files 2021-04-20 21:04:35 +02:00
Akshai M
fd8ddd6161 boards: add nucleo-wl55jc
Co-authored-by: Kevin "Tristate Tom" Weiss <weiss.kevin604@gmail.com>
2021-04-20 21:04:29 +02:00
Akshai M
c485c774cf cpu/stm32: add stm32wl 2021-04-20 20:57:48 +02:00
Karl Fessel
fb50acd3f9 cpu/efm32: define rtt attributes 2021-04-20 11:12:45 +02:00
Karl Fessel
4ff30a31e5 cpu/efm32: add RTT_FREQUENCY support to efm32
make efm32 rtt frequency configurable by setting RTT_FREQUENCY
2021-04-20 11:12:45 +02:00
benpicco
bd6114ae9d
Merge pull request #16187 from benpicco/cpu/sam0_common/get_tamper
cpu/sam0_common: add rtc_get_tamper_event()
2021-04-13 14:11:46 +02:00
Benjamin Valentin
13fbb7c1a0 cpu/sam0_common: add rtc_tamper_pin_mask() 2021-04-13 10:45:16 +02:00
Benjamin Valentin
9d482c4448 cpu/sam0_common: RTC: only write TAMPCTRL when tamper is enabled
If we configure TAMPCTRL early, GPIO events will set bits in the
TAMPCTRL register.
That means that after a wake-up, we can't tell if the bit was set
because it was the wake-up source or if it was already set by a
run-time GPIO event.
2021-04-13 10:45:16 +02:00
Benjamin Valentin
73dbda99ac cpu/sam0_common: add rtc_get_tamper()
Add a function to query which tamper event woke the CPU from hibernation.
2021-04-13 10:45:16 +02:00
Jue
80360e5308 cpu/stm32/gpio_f1: fix IRQ handler 2021-04-12 18:45:04 +02:00
Jue
2f503f11fa cpu/stm32/gpio_all: fix IRQ handler for G0/L5/MP1 families 2021-04-12 17:01:33 +02:00
Hauke Petersen
e28ec7907b
Merge pull request #15806 from haukepetersen/opt_nrf5x_nrfblehfxo
cpu/nrf/radio/nrfble: request HFXO only on demand
2021-04-12 11:04:12 +02:00
iosabi
0c40158eac cpu/esp8266: Fix typo in esp_gdbstub config.
The extra `)` was a typo from the commit that changes the makefile
inline "if" to a multi-line "if" block.

Tested with `USEMODULE="esp_gdbstub" make BOARD=esp8266-esp-12x -C tests/lwip`
2021-04-10 22:49:23 +02:00
Marian Buschsieweke
ac774f3404
Merge pull request #16212 from nandojve/xmega_pm
cpu/atxmega: Add periph power management
2021-04-07 11:45:24 +02:00
Francisco
700046238f
Merge pull request #16261 from maribu/cpu/stm32/periph_eth
cpu/stm32/periph_eth: fix format specifier in DEBUG()
2021-04-07 09:32:09 +02:00
369868e7a2
cpu/lpc23xx: remove unused flashrom code 2021-04-05 17:07:29 +02:00
Gerson Fernando Budke
93ed3cd9d6 cpu/atxmega: Add periph power management
The current xmega don't have a way to disable peripherals that are
not in used.  Add peripheral management to allow enable only the mcu
blocks that will be used by application.  This saves power on active
and sleep modes.  By default, at clock initialization, all peripherals
are now disabled and each drive must activate at initialization phase.
The periph_timer and periph_uart were updated with this new feature.

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2021-04-02 14:24:31 -03:00
Francisco
e04dd4dcce
Merge pull request #16272 from jue89/fix/stm32_gpio_irq
cpu/stm32/gpio: fix IRQ handler
2021-04-02 13:07:39 +02:00
Francisco
9d1d2f9e21
Merge pull request #16172 from kfessel/p-zimer-sec
sys/ztimer: add ZTIMER_SEC, improve auto_init
2021-04-02 08:32:38 +02:00
Jue
43f83a520b cpu/stm32/gpio: fix IRQ handler 2021-04-01 19:31:27 +01:00
Karl Fessel
15f2d0008a native/rtc: ensure no struct tm extra information is used 2021-04-01 18:19:15 +02:00
Karl Fessel
72213ec99a native/rtc: avoid dealing with DST 2021-04-01 18:19:15 +02:00
dylad
99764b82ab cpu/sam0: correct periph_cpu_common.h documentation 2021-03-31 22:17:01 +02:00
Marian Buschsieweke
164aa72250
cpu/stm32/periph_eth: fix format specifier in DEBUG()
Use PRIu32 instead of lu to make LLVM happy.
2021-03-31 10:11:46 +02:00
chrysn
fa9a297e7c
Merge pull request #16250 from chrysn-pull-requests/nrf52-more-timers
cpu/nrf52: Expose more timers
2021-03-30 20:28:27 +02:00
Marian Buschsieweke
ca8641c213
Merge pull request #16258 from maribu/cpu/sam3/periph_rtt
cpu/sam3/periph_rtt: fix rtt_get_alarm()
2021-03-30 17:47:30 +02:00
chrysn
2b09d3162a cpu/nrf52: Expose more timers 2021-03-30 16:34:44 +02:00
Marian Buschsieweke
8919b2c847
Merge pull request #16257 from fjmolinas/pr_arduino_due_config_freq
boards/arduino-due: allow changing frequency
2021-03-30 16:17:43 +02:00
Marian Buschsieweke
d816666d84
cpu/sam3/periph_rtt: fix rtt_get_alarm()
Previously, the return value was off by one.
2021-03-30 14:49:11 +02:00
Francisco Molina
89c0b2a827
cpu/sam3: add unified RTT configuration 2021-03-30 14:28:58 +02:00
Marian Buschsieweke
5e5f86fdc1
Merge pull request #16241 from nandojve/xmega_fix_clk_sel_after_dfll_en
cpu/atxmega/atxmega_cpu: Fix clk sel after dfll en
2021-03-30 13:16:23 +02:00
Francisco
2b7a6acecf
Merge pull request #16252 from maribu/avr-ldscipts
cpu/avr8_common: move ldscripts from atmega_common
2021-03-30 12:13:28 +02:00
Marian Buschsieweke
5cc62437da
cpu/avr8_common: move ldscripts from atmega_common
The ldscripts are already used for both ATmega and ATxmega, so it
makes sense to have them in the common folder.
2021-03-30 10:50:09 +02:00
Karl Fessel
cf7078ab0a stm32/ptp: avoid creating a new rounding rule 2021-03-29 16:27:27 +02:00
Gerson Fernando Budke
53235dd2e2 cpu/atxmega/atxmega_cpu: Fix clk sel after dfll en
The current ATxmega clock_init enable DFLL to improve the accuracy of
the 2MHz and 32MHz internal oscillators.  In some ATxmega revisions,
after started DFLL the clock become unstable.  Add another sync point
for 32MHz internal oscilator.

Note:  If clock is not stable, system won't switch from 2MHz to 32MHz
as main clock.

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2021-03-28 11:40:39 -03:00
Marian Buschsieweke
28e6544748
Merge pull request #16236 from maribu/cpu/stm32/periph_eth
cpu/stm32/periph_eth: bugfix
2021-03-28 09:20:15 +02:00
Marian Buschsieweke
7b08b97eb6
cpu/stm32/periph_eth: bugfix & cleanup
Fix compilation with module `stm32_eth_link_up` when `stm32_eth_auto`
is not used by relying on the compiler to optimize unused functions
and variables out, rather than using the preprocessor.
2021-03-26 17:42:45 +01:00
Marian Buschsieweke
650559276f
cpu/stm32/periph_ptp: bugfix & better debug output
- Clear the PTP timer interrupt *after* the user callback is executed
    - Otherwise it would be possible that the ISR sets another super
      short timeout that triggers during ISR, which also gets cleared
    - This is a pretty nasty race condition :-/
- The debug output was a bit too verbose to be generally useful. Some
  noise is now silenced unless `DEBUG_VERBOSE` is `#define`d to 1
2021-03-23 22:58:10 +01:00
benpicco
ee5b70730b
Merge pull request #15758 from nandojve/avr8_xmega
Introduce ATxmega CPU and Boards
2021-03-20 22:09:07 +01:00
benpicco
9ea7f5b9ed
Merge pull request #16169 from benpicco/cpu/stm32/candev_cleanup
cpu/stm32: candev: derive number of CAN interfaces from vendor header
2021-03-18 11:47:33 +01:00
Benjamin Valentin
f3c1106c9e cpu/nrf52: add SAUL driver for VDDH sensor 2021-03-17 15:35:23 +01:00
Gerson Fernando Budke
699248c65f makefiles/arch/atmega.inc.mk: Rename to avr8.inc.mk
Atmel AVR-8 CPU was reworked to accomodate variants like ATxmega.
This rename to atmega.inc.mk to avr8.inc.mk to be compliant with
new directory structure.

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2021-03-15 20:16:10 -03:00
Gerson Fernando Budke
aa3af4e2fa cpu/avr8_common/avr8_cpu: Add xmega clock
ATxmega have many clock options.  This introduce clk_init into cpu_init
to allow user select between a default configuration or perform fine
clock tune.

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2021-03-15 20:16:10 -03:00
Gerson Fernando Budke
f1eaa4caf3 cpu/avr8_common/avr8_cpu: Enable xmega pmic
The XMEGA CPU have a Programmable Multilevel Interrupt Controller.
This enables all three PMIC levels.  By default, all interrupts are
preconfigured as LOW Level without Round Robin queue.  This works
as any MCU with interrupt enabled.

In order to get benefit from Multilevel Interrupts user need increase
the interrupt level by own.

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2021-03-15 20:16:10 -03:00
Gerson Fernando Budke
70c597620f cpu/avr8_common: Differentiate avr8 cpu cores
Current there is no way to split code between ATmega and ATxmega in
drivers.  This differentiate AVR8 cores into MEGAs and XMEGAs.

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2021-03-15 20:16:10 -03:00
Gerson Fernando Budke
facede13fd cpu/avr8_common: Rework and add xmega registers
The current context switch and thread stack init don't have a generic
way to save/restore registers for all AVR-8 variations.  This add
defines to check flash/data sizes and rework:

 - thread_stack_init
 - avr8_context_save
 - avr8_context_restore

The new implementation add missing RAMP D/X/Y registers that are used
by XMEGA variations.

The rules to add EIND, RAMP(D,X,Y,Z) register are:

 - EIND must be added if device have more than 128k flash.  This means,
   device can access more than 64k words in flash.
 - RAMP D/X/Y must be added if device have or can address more than
   64k data.
 - RAMPZ must be added if device can address more than 64k bytes of
   flash or data.

With above rules there is no necessity to check by device because it is
mandatory the registers for those MCU variations.

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2021-03-15 20:16:10 -03:00
Gerson Fernando Budke
8c1203c646 cpu/avr8_common: Add xmega reset cause register
Add missing ATxmega reset cause register.  This shares same definitions
from ATmega CPU.

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2021-03-15 20:16:10 -03:00
Gerson Fernando Budke
1a88f0bad6 cpu: Introduce Atmel xmega cpu
Add ATxmega common files and cpu definitions.

This works was originally developed by @Josar.  The 2018 version
were port to 2021 mainline.

This version changes original port to have only the atxmega CPU
definition. With that, all family can be accomodated.

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2021-03-15 20:16:10 -03:00
Gerson Fernando Budke
d041199825 cpu/avr8_common: Move irq_enable from board to cpu
Some mega boards enabling global irq at board_init.  This moves that
responsability to cpu/avr8_common to create a common point to all
variants.

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2021-03-15 20:16:10 -03:00
Gerson Fernando Budke
9081a3b7c7 cpu/avr8_common/include/cpu.h: Increase number of uart
The ATxmega can have up to 8 UARTs.  This increase from 2 up to 7 to
keep avr8_state flags with 8 bits wide.

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2021-03-15 20:16:10 -03:00
Leandro Lanzieri
246391a9fa
cpu/nrf52/nrf802154: use driver specific legacy pseudomodule
This introduces the nrf802154_netdev_legacy pseudomodule that switches
to the netdev-based implementation of the nrf802154 radio driver.
2021-03-10 14:18:12 +01:00
Leandro Lanzieri
f0e7dfdf76
cpu/cc2538/radio: use driver specific legacy pseudomodule
This introduces the cc2538_rf_netdev_legacy pseudomodule that switches
to the netdev-based implementation of the cc2538 radio driver.
2021-03-10 14:18:12 +01:00
Benjamin Valentin
dde3ca5f46 cpu/stm32: candev: derive number of CAN interfaces from vendor header
We can deduce the number of available CAN interfaces from the vendor headers
so no need to hard-code this number for individual part numbers.
2021-03-09 11:30:21 +01:00