1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2025-01-16 13:52:44 +01:00
Commit Graph

6819 Commits

Author SHA1 Message Date
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
Francisco
fc82e3916e
Merge pull request #15931 from haukepetersen/add_dbgpin3
sys: add `dbgpin` module for debugging and profiling (take 2)
2021-03-09 10:26:37 +01:00
benpicco
b09f799038
Merge pull request #16161 from madokapeng/nucleo722ze_CAN_support
boards/nucleo-f722ze: Add periph_can
2021-03-08 19:22:38 +01:00
madokapeng
905723be59 sys/include/can: Add loopback operation mode
tests/candev: Add loopback mode for testing purpose
2021-03-08 12:13:15 -05:00
Marian Buschsieweke
1a1a16eb7e
cpu/nrf5x_common: drop bogus rtt_set_counter()
rtt_set_counter() is implemented as noop for nRF5x. This drops this bogus
implementation and the corresponding feature.
2021-03-08 17:34:30 +01:00
benpicco
2614831c86
Merge pull request #16137 from maribu/stm32_rtt
drivers/periph_rtt: add periph_rtt_set_counter  feautre
2021-03-08 16:53:57 +01:00
Marian Buschsieweke
ab89234040
drivers/periph/rtt: add periph_rtt_set_counter feature
Some periph_rtt implementations do not provide `rtt_set_counter()`. This
adds `periph_rtt_set_counter` as feature to allow testing for its
availability. The feature is provided at CPU level if periph_rtt is
provided by the board for all CPUs implementing `rtt_set_counter()`.
2021-03-08 14:16:46 +01:00
madokapeng
a38cd1477e boards/nucleo-f722ze: Add periph_can support
cpu/stm32: Add CAN support for f722ze board

f722ze board has ONLY 1 CAN interface, fix compiling error which
treats f722xx has more than 1 CAN.
2021-03-05 23:22:44 -05:00
aa67d2150a
Merge pull request #16097 from fjmolinas/pr_nrf52_uart_nb
cpu/nrf52: add periph_uart_non_blocking to nrf52840
2021-03-04 19:37:15 +01:00
Marian Buschsieweke
b9cb75fedf
drivers/periph/rtt: add periph_rtt_set_counter feature
Some periph_rtt implementations do not provide `rtt_set_counter()`. This
adds `periph_rtt_set_counter` as feature to allow testing for its
availability. The feature is provided at CPU level if periph_rtt is
provided by the board for all CPUs implementing `rtt_set_counter()`.
2021-03-04 18:05:06 +01:00
Tobias Nießen
8a56692236
cpu/native: rename _get_promiscous/_set_promiscous 2021-03-03 17:50:19 +01:00
Marian Buschsieweke
720b350f6f
cpu/stm32: fix periph_rtt
For some reason rtt_get_alarm was never implemented. This adds the
missing function.
2021-03-03 17:02:59 +01:00
Francisco Molina
e2570f4d56
cpu/nrf52: add periph_uart_non_blocking to nrf52840 2021-03-03 08:12:12 +01:00
Hauke Petersen
ccca9855fe cpu/msp430_common/kconfig: add dbgpin feature 2021-02-26 11:34:52 +01:00
Hauke Petersen
91f9d7db62 cpu/atmega_common/kconfig: add dbgpin feature 2021-02-26 11:34:52 +01:00
Hauke Petersen
899fe63fe2 cpu/cortexm_common/kconfig: add dbgpin feature 2021-02-26 11:34:52 +01:00
Hauke Petersen
edb890ff93 cpu/kinetis: move IRQ name adaption to cpu_conf.h
Found and fixed the issue for the kinetis-based boards: The kinetis
code is using some macros to map some IRQ names, that differ in
some versions of vendor headers, to a RIOT wide unique name. The
doxygen of this mapping states, that this mapping must be done before
any vendor header is included. Unfortunately, the mapping was so far
placed in cpu/kinetis/vectors.c, before any other include statement.

In some cases, the vendor headers might be included before the
mapping macros in vectors.c, leading to the compilation errors down
the line. To fix this, the adaption defines are moved into
cpu/kinetis/cpu_conf.h, which is the file that actually includes
the vendor headers. This way it is ensured, that these adaption
macros are always defined before any vendor header is included,
and therefore preventing this kind of error for good.
2021-02-26 11:34:52 +01:00
Hauke Petersen
717a12507a cpu/msp430_common: add dbgpin initialization 2021-02-26 11:34:52 +01:00
Hauke Petersen
71e9a9e216 cpu/atmega_common: add dbgpin initialization 2021-02-26 11:34:52 +01:00
Hauke Petersen
47a031e483 cpu/cortexm_common: add dbgpin initialization 2021-02-26 11:34:52 +01:00
Jean Pierre Dudey
4ca37c96b3 net/ieee802154: add PHY mode capabilities
- Adds capabilities for each PHY mode. Converts the uint16_t caps field to an
uint32_t in order to hold all capability bits, size of the structure remains
unchanged due to alignment.
- Modifies the test application to configure the PHY mode using the shell
command. Also adds the PHY modes to the capabilities shell command.
- Updates the nrf802154 and cc2538 radio drivers to specify the PHY mode
supported.

Signed-off-by: Jean Pierre Dudey <me@jeandudey.tech>
2021-02-26 11:16:27 +01:00
a68cfacdd4
Merge pull request #16084 from yarrick/esp_link
esp32/eth: Don't overwrite queued event with RX packet
2021-02-26 09:52:27 +01:00
Dylan Laduranty
cf40e0bfed
Merge pull request #16069 from benpicco/cpu/sam0_common/periph/spi-revert
Revert "cpu/sam0_common: SPI: only mux MISO on spi_acquire()"
2021-02-25 19:15:09 +01:00
Francisco Molina
91443cb0f9
cpu/nrf5x_common/uart: power on correct UARTE 2021-02-25 14:26:12 +01:00
b5794c2a22
cpu/esp: set esptool as supported programmer 2021-02-24 13:29:56 +01:00
4dc8895093
cpu/cortexm_common: always add jlink as supported programmer 2021-02-24 13:27:04 +01:00
Erik Ekman
95196fb7e4 esp32/eth: Don't overwrite queued event with RX packet
If there is an event to be handled by _esp_eth_isr(), don't
overwrite it if a new packet has been received.

In my testing, all SYSTEM_EVENT_ETH_CONNECTED events except the first
are immediately followed by at least one SYSTEM_EVENT_ETH_RX_DONE event.
This causes the SYSTEM_EVENT_ETH_CONNECTED to not get handled, and the
IP stack will not be notified of the new link state.

Protect the other events by dropping the packet instead. If an earlier
unhandled SYSTEM_EVENT_ETH_RX_DONE event exists, overwrite it with the
newer packet.

I only saw this happen with lwIP and not with GNRC - I am not sure why.
But it still is a race waiting to happen. The nice long term solution
is probably to have a queue of unhandled events, allowing them all to
be processed once there is time.
2021-02-24 01:20:43 +01:00
Francisco
c91499997e
Merge pull request #16030 from benpicco/drivers/mtd_flashpage-fix_native
drivers/mtd_flashpage: fixes for native (and stm32l0, stm32l4)
2021-02-23 15:12:06 +01:00
Francisco
f85628cdb4
Merge pull request #16071 from benpicco/cpu/native/timer-periodic
cpu/native: timer: implement timer_set_periodic()
2021-02-23 13:26:53 +01:00
Benjamin Valentin
65093a47a3 cpu/native: timer: fix style issue 2021-02-23 09:52:05 +01:00
Benjamin Valentin
7eb159c2a2 cpu/native: timer: implement timer_set_periodic()
The native timer is not free running, so we can't honor it's flags.
But setitimer() already provides an interval option, we only have to enable it.
2021-02-23 09:51:53 +01:00
benpicco
d014f5e6d0
Merge pull request #14911 from OTAkeys/pr/can_stm32_deepsleep_opt
stm32/can: add option to enable deep-sleep per device
2021-02-22 22:52:46 +01:00
Dylan Laduranty
dc8b96f7a6
Merge pull request #16060 from benpicco/cpu/sam0_common/periph/adc-errata
sam0/adc: work around ADC errata on SAM D5x/E5x
2021-02-22 21:30:26 +01:00
Benjamin Valentin
a17686b551 Revert "cpu/sam0_common: SPI: only mux MISO on spi_acquire()"
This reverts commit 31bf0c5257.
2021-02-22 19:46:10 +01:00
Benjamin Valentin
56654478d4 sam0/adc: work around ADC errata on SAM D5x/E5x
The ADC SYNCBUSY.SWTRIG gets stuck to '1' after wake-up from Standby Sleep mode.
Ignore the ADC `SYNCBUSY.SWTRIG` status bit, this functionality is not used by
the driver anyway.
2021-02-22 12:39:32 +01:00
430770886b
make/esptool: fix FFLAGS inclusion order for qemu 2021-02-22 10:35:38 +01:00
Martine Lenders
de4ee0f934
Merge pull request #15562 from benpicco/socket_zep_register
socket_zep: register with netdev, provide EUI-64 as command line parameter
2021-02-20 20:32:01 +01:00
Hauke Petersen
72db395963 cpu/nrf5x/kconfig: add VDD_LC_FILTER_REGx features 2021-02-19 17:19:45 +01:00
Hauke Petersen
cc2df0c508 cpu/nrf5x: use IS_ACTIVE to enable the DCDC conv 2021-02-19 17:19:28 +01:00
benpicco
8a498cb9fd
Merge pull request #16041 from jeandudey/2021_02_17-ccdocs
cpu/cc26xx_cc13xx: add CPU documentation
2021-02-18 18:10:23 +01:00
15124e4769
Merge pull request #15002 from kaspar030/pr/xfa_v3
core: introduce crossfile arrays (xfa) v3
2021-02-18 14:49:22 +01:00
Benjamin Valentin
2bdc5cf6d7 cpu/stm32: fix FLASHPAGE_ERASE_STATE for stm32l4 2021-02-18 14:22:11 +01:00
Benjamin Valentin
033c0110d0 cpu/native: flashpage: sector-slign the flashpage area 2021-02-18 14:22:11 +01:00
Jean Pierre Dudey
5a17e1335f cpu/cc26xx_cc13xx: add CPU documentation
Signed-off-by: Jean Pierre Dudey <me@jeandudey.tech>
2021-02-18 11:28:06 +01:00
61d9f34748 cpu/lpc23xx: add XFA support 2021-02-18 10:46:08 +01:00
b3b04faadb cpu/fe310: add XFA support 2021-02-18 10:46:08 +01:00
858b5ca6ed xfa: remove obsolete empty xfa.ld 2021-02-18 10:46:08 +01:00
ee9d6c879a cpu/native: add XFA support 2021-02-18 10:46:08 +01:00
f411fd4814 cpu/msp430_common: add XFA support 2021-02-18 10:46:08 +01:00
06ec602782 cpu/esp8266: add XFA support 2021-02-18 10:46:08 +01:00
91b987acd6 cpu/esp8266: add ld/ to linker search path, use it 2021-02-18 10:46:08 +01:00
2474fa7af5 cpu/esp32: add XFA support 2021-02-18 10:46:08 +01:00
d8d34e033c cpu/cortexm_common: add XFA handling to linkerscript
The global core/ldscripts/xfa.ld doesn't match our cortexm_base.ld.
This commit directly adds the two XFA lines to cortexm_base.ld.
In addition to that, a dummy (empty) xfa.ld is added, which the linker will pick
instead of core/ldscripts/xfa.ld, effectingly not using it.
2021-02-18 10:46:08 +01:00
José Alamos
093272c562
Merge pull request #16000 from jeandudey/2021_02_12-ieee802154-bitcaps
net/ieee802154/radio: use bitflags for capabilities
2021-02-17 16:56:25 +01:00
benpicco
77035d6df3
Merge pull request #15900 from benpicco/cpu/stm32f1-gpio_test_and_clear
cpu/stm32: GPIO/f1: use bitarithm_test_and_clear()
2021-02-17 15:32:39 +01:00
Jean Pierre Dudey
243de6e501 net/ieee802154/radio: use bitflags for capabilities
Signed-off-by: Jean Pierre Dudey <me@jeandudey.tech>
2021-02-17 10:56:28 +01:00
Benjamin Valentin
17199dbb1c socket_zep: allow to specify MAC address of ZEP device
Add a command-line parameter for setting the EUI-64 of a ZEP device.
This allows a native node to use a persistent ZEP address across reboots.
2021-02-16 18:57:27 +01:00
bcb23da368
Merge pull request #16005 from benpicco/cpu/nrf52_gpio_count
cpu/nrf5x_common: make GPIO_PIN macro model independent
2021-02-16 16:18:29 +01:00
Joakim Nohlgård
a23b29d42e pic32_common: Add CPU specific xfa.ld variant 2021-02-16 14:55:26 +01:00
Joakim Nohlgård
6adeec09e9 atmega_common: add arch specific XFA ldscript to properly place .roxfa 2021-02-16 14:55:26 +01:00
Benjamin Valentin
eb89482a75 cpu/nrf5x_common: make GPIO_PIN macro model independent
We can use the `GPIO_COUNT` vendor macro to check if there is more than
one GPIO port on nRF52.
This is the case for nRF52840 and nRF52833.
2021-02-14 00:30:25 +01:00
Benjamin Valentin
5a11fd2c66 cpu/nrf51: define GPIO_COUNT
GPIO_COUNT is not defined in the vendor headers, but it's always one
for this family (one GPIO port).
2021-02-14 00:29:47 +01:00
Benjamin Valentin
a8fcc7b238 cpu/nrf5x: only enable DCDC for REG0 if REG0 exists
nRF52833 has POWER_MAINREGSTATUS_MAINREGSTATUS_High, but no POWER->DCDCEN0
register.

This breaks all builds on this MCU.

Fix the ifdef to fix the build.
2021-02-14 00:06:34 +01:00
benpicco
3e3c4d06fb
Merge pull request #15955 from aabadie/pr/boards/microbit-v2
boards: add support for microbit v2
2021-02-13 23:48:43 +01:00
benpicco
84e21e97f1
Merge pull request #15991 from haukepetersen/opt_nrf52_dcdc
cpu/nrf5x: enable DC/DC also for REG0 if VDDH is used
2021-02-13 23:09:12 +01:00
Hauke Petersen
9d7a37a571 cpu/nrf5x: also enable DCDC for REG0 if used 2021-02-12 10:37:43 +01:00
Hauke Petersen
905fb34408 cpu/nrf5x/nrfble: let driver requeset HFXO 2021-02-12 10:16:50 +01:00
4dc7f33b2b
cpu/fe310: set newlib as default libc 2021-02-11 21:49:43 +01:00
Marian Buschsieweke
efb2adf27a
Merge pull request #15977 from maribu/ptp-api-fix-adjust
drivers/periph_ptp: fix clock adjustment API
2021-02-11 17:28:02 +01:00
Hauke Petersen
63c23598b3 cpu/nrf52: add VDDHDIV5 as ADC input 2021-02-11 10:40:11 +01:00
41a89a31a9
boards: cpu: nfr52: fix typo in nrf52833 cpu model name 2021-02-10 13:39:51 +01:00
36ca3845c2
cpu/nrf5x_common: fix pin support for nrf52833xxaa model 2021-02-10 13:39:51 +01:00
Marian Buschsieweke
dbd241ef26
cpu/stm32/periph_ptp: update to new API 2021-02-10 10:09:26 +01:00
benpicco
a69da13d56
Merge pull request #15948 from jeandudey/2021_02_08-cc1350-launchpad
boards: add cc1350 launchpad
2021-02-09 23:34:58 +01:00
Jean Pierre Dudey
b289c698b8 cpu/cc26xx_cc13xx: define GPIO_PIN macro
This allows using the macro inside the periph_conf.h board files since the
periph/gpio.h header can't be included on the peripheral configuration.

Signed-off-by: Jean Pierre Dudey <me@jeandudey.tech>
2021-02-09 23:04:24 +01:00
benpicco
6929577c76
Merge pull request #15845 from benpicco/boards/adafruit-itsybitsy-m4
boards: add adafruit-itsybitsy-m4
2021-02-09 19:41:43 +01:00
Benjamin Valentin
73f58bfa04 cpu/samd5x: Kconfig: don't provide periph_eth on CPU level
It's up to the board to expose it.
2021-02-09 16:15:33 +01:00
benpicco
5fba2c8387
Merge pull request #14448 from benpicco/l2-peerstats-rebased
net/netstats: L1/L2 per neighbor statistics
2021-02-09 14:54:53 +01:00
benpicco
bd79f573c7
Merge pull request #15935 from benpicco/cpu/native-flashpage
cpu/native: add periph/flashpage implementation
2021-02-09 14:54:08 +01:00
Benjamin Valentin
cc9c58aae3 nrfmin: depend on gnrc_netif instead of gnrc_netdev_default
`gnrc_netdev_default` is a pseudomodule, what this driver really wants
is gnrc_netif.
2021-02-09 12:27:58 +01:00
Francisco Molina
85caf7cbc7
drivers/flashpage: add FLASHPAGE_ERASE_STATE definition 2021-02-09 11:11:46 +01:00
benpicco
64779b6f98
Merge pull request #15944 from jeandudey/2021_02_08-cc26x0-cc13x0
cpu/cc26x0: rename to cc26x0_cc13x0
2021-02-08 21:10:06 +01:00
Jean Pierre Dudey
aec0edbcb9 cpu/cc26x0_cc13x0: use SetupTrimDevice only on cc26x0
Signed-off-by: Jean Pierre Dudey <me@jeandudey.tech>
2021-02-08 17:25:42 +01:00
Jean Pierre Dudey
7db791476e cpu/cc26x0: rename to cc26x0_cc13x0
Signed-off-by: Jean Pierre Dudey <me@jeandudey.tech>
2021-02-08 17:25:42 +01:00
0b2810a856
riscv_common: make thread_yield_higher IRQ compatible 2021-02-08 11:04:18 +01:00
50cf93c719
Merge pull request #15718 from bergzand/pr/rv32i/fe310_rv32i_refactor
riscv_common: Refactor common fe310 code to riscv_common
2021-02-08 10:27:41 +01:00
Benjamin Valentin
1acbd6e560 cpu/native: add periph/flashpage implementation
Add a simple RAM-backed flashpage implementation for native, to
allow for easier testing of flashpage based applications / features.
2021-02-05 23:31:46 +01:00
2692957c0e
riscv_common: Refactor common fe310 code to riscv_common 2021-02-05 09:32:19 +01:00
b666b78602
Merge pull request #15914 from fjmolinas/pr_stm32_flashpage_fix_per
cpu/stm32/flashpage: reset PER after erase
2021-02-03 10:21:04 +01:00
Francisco
3b2a55a923
Merge pull request #15865 from benpicco/pm_layered-default
cpu: make pm_layered a DEFAULT_MODULE
2021-02-03 08:17:29 +01:00
Vincent Dupont
2edf37ed5b cpu/stm32/can: use en_deep_sleep_wake_up by default
Add en_deep_sleep_wake_up = true in default candev_conf in can_params.h
2021-02-02 15:39:27 +01:00
Vincent Dupont
eb0f6582c7 stm32/can: add option to enable deep-sleep per device
Deep-sleep was based on using rx pin as external interrupt to be able to
wake up from stop mode. If rx pin cannot be used as interrupt or user
does not need to wake up from stop from the CAN, an option is now
present. If en_deep_sleep_wake_up is set to false, setting the device to
sleep simply unblock stop mode. Otherwise the behavior is unchanged.
2021-02-02 15:32:25 +01:00
Francisco Molina
3d68406c5b
cpu/stm32/flashpage: reset PER after erase 2021-02-02 11:42:09 +01:00
Benjamin Valentin
4095eac9f2 cpu: mips32r2_common: set BITARITHM_HAS_CLZ
The MIPS ISA implements CLZ:

https://ti.tuwien.ac.at/cps/teaching/courses/cavo/files/MIPS32-IS.pdf

For `tests/periph_gpio` this shaves off 20 bytes on `6lowpan-clicker`.
2021-02-02 11:14:38 +01:00