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