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

254 Commits

Author SHA1 Message Date
Jose Alamos
8d049005de
drivers/nrf802154: add missing __cpluscplus closing bracket 2021-08-20 10:54:35 +02:00
Jose Alamos
ddc9c7c686
ieee802154/radio_hal: detach hal descriptor from driver 2021-08-18 15:24:10 +02:00
Jan Romann
4384795cb9
treewide: Remove excessive newlines 2021-08-13 19:50:38 +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
Jose Alamos
352e9431fe
nrf802154: avoid explicit cast to netdev 2021-07-09 10:38:32 +02:00
Jose Alamos
670782a76b
drivers/nrf802154: remove nrf802154_rf_netdev_legacy 2021-07-08 18:43:54 +02:00
Jose Alamos
d68b1a5f84
nrf802154: use ieee802154_dst_filter in netdev implementation 2021-06-23 16:44:08 +02:00
Jose Alamos
4cfe62fc99
nrf52840: adapt to Radio HAL changes 2021-06-16 14:19:39 +02:00
Benjamin Valentin
f3c1106c9e cpu/nrf52: add SAUL driver for VDDH sensor 2021-03-17 15:35:23 +01: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
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
Francisco Molina
e2570f4d56
cpu/nrf52: add periph_uart_non_blocking to nrf52840 2021-03-03 08:12:12 +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
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
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
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
Hauke Petersen
cea6d8dd2d cpu/nrf/radio/nrf802154: request HFXO clock source 2021-01-29 11:10:15 +01:00
Marian Buschsieweke
253a634b85
Merge pull request #15636 from jia200x/pr/nrf802154/fix_rssi
radio/nrf802154: fix set_cca_threshold range
2021-01-14 15:28:29 +01:00
Jose Alamos
f2fa3ca12f
radio/nrf802154: fix set_cca_threshold range
This commit fixes the CCA threshold range for set_cca_threshold.
Without this commit the threshold overflows when using values below
the receiver sensitivity.
2021-01-14 14:33:56 +01:00
Jose Alamos
698df63cfb
nrf802154/hal: fix unwanted emissions at the end of ACK frame
This commit turns off the transceiver immediately after sending an ACK
frame in order to avoid unwanted emissions (see ERRATA ID 204).
When the radio stays in TX_ON without an explicit transition, the radio
keeps sending a spurious signal for some milliseconds.
2021-01-14 11:06:11 +01:00
José Alamos
2bf10413d0
Merge pull request #15397 from fjmolinas/pr_ieee802154_crc_error
sys/net/iee802154/radio: add IEEE802154_RADIO_INDICATION_CRC_ERROR
2021-01-14 10:29:17 +01:00
Francisco Molina
fe1e16cdc7
sys/net/iee802154/radio: add IEEE802154_RADIO_INDICATION_CRC_ERROR 2021-01-13 23:42:41 +01:00
Francisco Molina
6d4d00ebe9
cpu/nrf52/nrf802154_radio: fix rssi calculation 2021-01-13 19:45:13 +01:00
dylad
bca340d338 cpu/nrf52: update RIOTBOOT_LEN w/ MODULE_USBUS_DFU 2021-01-12 11:34:22 +01:00
benpicco
dd7a268ef8
Merge pull request #15527 from Einhornhool/pr/nrf52_i2c_reconfigure
cpu/nrf52: Add i2c reconfigure feature
2020-12-08 21:09:55 +01:00
Einhornhool
40d749644f cpu/nrf52: Add i2c reconfigure for use with CryptoAuth devices 2020-12-08 21:27:03 +02:00
benpicco
418aaa6e67
Merge pull request #15388 from benpicco/boards/e104-bt5010a-tb
boards/e104-bt5011a-tb: add support for the E104-BT5011A Test Board
2020-12-02 00:24:33 +01:00
Martine Lenders
e2af953cc8
Merge pull request #15132 from benpicco/nrf802154-submac
cpu/nrf52: nrf802154: default to netdev_ieee802154_submac
2020-12-01 12:23:42 +01:00
Benjamin Valentin
fea9e68b88 nrf802154: don't hard-code max TX power
The smaller family members only have 4dBm max output power.
2020-12-01 11:42:52 +01:00
Benjamin Valentin
264d0e3354 cpu/nrf52: nrf802154: default to netdev_ieee802154_submac
The basic nrf802154 driver lacks ACK handling and retransmissions,
which degrades it's usefulness.

The 802.15.4 Sub-MAC fixes all those issues.

Enable it by default for this driver to make it better behaved.
2020-11-23 13:09:32 +01:00
benpicco
d9598a0f54
Merge pull request #15412 from bergzand/pr/flashpage/merge_raw
periph_flashpage: Make pagewise API optional
2020-11-12 22:32:21 +01:00
e176649266
nrf5x: Adapt to flashpage/flashpage_pagewise API 2020-11-11 23:16:40 +01:00
Benjamin Valentin
d63141fb02 cpu/nrf52: remove softdevice linkerscripts
Support for softdevice was removed in 35b6ccedf3
Those linkerscripts were leftover, they are not used anymore.
2020-11-11 18:18:37 +01:00
Francisco Molina
c4edff3a59
boards cpu: move OpenWSN defintions to openwsn_defs.h 2020-11-10 07:46:35 +01:00
fd6f6e248c
cpu/nrf52: remove specific handling of softdevice 2020-10-29 09:02:12 +01:00
benpicco
e4164e3924
Merge pull request #15275 from jia200x/pr/radio/config_phy_amendment
ieee802154/radio: add TRX_OFF pre condition to config_phy
2020-10-26 23:28:45 +01:00
Jose Alamos
6c1ea917d6 nrf802154: adapt config_phy to TRX_OFF precondition 2020-10-26 17:04:48 +01:00
José Alamos
e8721ce415
Merge pull request #15145 from fjmolinas/pr_openwsn_radio_hal
pkg/openwsn: add ieee802154_hal based radio
2020-10-23 21:26:21 +02:00
Francisco Molina
6f6001900f
cpu/nrf52: add OpenWSN conf 2020-10-23 15:31:56 +02:00
Francisco Molina
82e06ef8f4
pkg/openwsn: add ieee802154 hal based radio 2020-10-23 15:31:55 +02:00
Bas Stottelaar
22243aec7a cpu/*: realign ENABLE_DEBUG 2020-10-23 00:46:26 +02:00
José Alamos
9fd49581e7
Merge pull request #15140 from fjmolinas/pr_tx_start_radio_hal
sys/net/ieee802154/radio: add IEEE802154_RADIO_INDICATION_TX_START
2020-10-22 16:57:27 +02:00
Francisco Molina
8236c8aef1
cpu/nrf52/radio: add FRAMESTART event 2020-10-22 14:59:06 +02:00
Bas Stottelaar
ab6188cea3 cpu/*: add missing include of assert.h 2020-10-22 11:13:08 +02:00
Francisco Molina
eb1cbeae1f
cpu/nrf52/radio: change internal state to idle after rx 2020-10-21 15:08:17 +02:00
Jose Alamos
15ba1c765b nrf802154: improve debug messages 2020-10-20 14:24:01 +02:00
Jose Alamos
967a288e74 nrf802154: fix "off" function 2020-10-20 14:24:01 +02:00
Jose Alamos
c269456245 nrf802154: fix wrong state transitions 2020-10-20 14:24:01 +02:00
Jose Alamos
fa0dd8b5e2 netdev_ieee802154_submac: set addresses using netdev_register 2020-10-19 15:18:35 +02:00
Jose Alamos
46600adf22 nrf802154: unify auto_init for HAL and netdev 2020-10-19 15:18:35 +02:00
benpicco
0f726b17d5
Merge pull request #15228 from jia200x/pr/hal_read_func
ieee802154/radio: add `read` function
2020-10-15 21:31:10 +02:00
Jose Alamos
ee5adad401 ieee802154/radio: replace indication mechanism 2020-10-14 18:07:28 +02:00
Francisco
df3ab9f161
Merge pull request #15138 from aabadie/pr/dist/codespell_fixes
dist/codespell: update the list of ignored words and fix all typos
2020-10-02 12:27:12 +02:00
Benjamin Valentin
c78ee2bf64 cpu/nrf52: provide radio_nrf802154 at CPU level
The presence of the 802.15.4 radio peripheral is a feature of the CPU,
not the board.
Move it to the right place and reduce code duplication.
2020-10-02 10:44:59 +02:00
9d0d07ecce
cpu/nrf52: fix typo 'substract' -> 'subtract' 2020-10-02 07:57:53 +02:00
chrysn
2053a1785a cpu/nrf52: Ensure that uninitialized PWM outputs are disabled 2020-09-30 13:16:59 +02:00
chrysn
65d4c88be8 cpu/nrf52: Warn against implicit 0 in PWM channels
Working with less-than-full PWMs has shown that a warning is indicated
here, as just missing an item would result in inadvertently driving
P0.00.
2020-09-30 13:15:18 +02:00
chrysn
8dd60286a7 cpu/nrf52: Fix PWM generation if <4 channels are used
The PWM decodeer, in LOAD=Single mode, loads data in groups of 4
half-words. Previously, if any channel was not connected to a pin (a
connection that's immaterial to the loader), a smaller number would be
given resulting in the decoder not loading anything at all.

See-Also: https://infocenter.nordicsemi.com/pdf/nRF52840_PS_v1.1.pdf#page=256
2020-09-30 13:14:47 +02:00
chrysn
65e63ffbbb cpu/nrf52: Don't touch pin modes on PWM startup
Once PWM is running, the active PWM module overrides the PIN_CNF state;
only when PWM is stopped the pin returns into its PIN_CNF state (which,
then, the board may set to whatever idle means there).

(Moreover, the code there only worked for P0 registers, not eg. the
P1.09 of the nrf52840dongle's RGB LED).
2020-09-30 13:14:47 +02:00
chrysn
5b97b49b1d cpu/nrf52: Remove unused static inline USB poweroff
The function was never in used, and this is breaking builds using LLVM
that treats unused static inlines as an error.
2020-09-15 15:55:05 +02:00
Francisco
858533e68e
Merge pull request #14994 from benpicco/nrf802154-register
nrf802154: register with netdev
2020-09-11 12:48:40 +02:00
Jose Alamos
377560f5cc nrf52840: add radio hal implementation 2020-09-10 17:01:14 +02:00
Benjamin Valentin
58dc106309 nrf802154: register with netdev 2020-09-10 00:05:25 +02:00
Leandro Lanzieri
d25fc243c4
treewide: change prefix for generated Kconfig symbols.
This changes the prefixes of the symbols generated from USEMODULE and
USEPKG variables. The changes are as follow:

   KCONFIG_MODULE_ => KCONFIG_USEMODULE_
   KCONFIG_PKG_ => KCONFIG_USEPKG_
   MODULE_ => USEMODULE_
   PKG_ => USEPKG_
2020-08-31 09:37:09 +02:00
Benjamin Valentin
f0e77840dc cpu/nrf52: spi_twi_irq add workaround for nRF52810 vendor file
Either nRF52810 should define SPIM_COUNT 2 or nRF52805 should
define SPIM_COUNT 1.
But as it nRF52805 defines SPIM_COUNT 2 and nRF52810 defines SPIM_COUNT 1
even though both have a single SPI and a single, separate TWI peripheral.

Re-define SPIM_COUNT to 2 on nRF52810 as this is the easiest solution.
2020-08-16 23:26:17 +02:00
Benjamin Valentin
5ecf2e8bb1 cpu/nrf52: ensure PWM is present
Not all members of the family have a PWM peripheral
2020-08-16 23:26:17 +02:00
Benjamin Valentin
899e97af30 cpu/nrf52: add definitions for remaining family members 2020-08-16 23:26:17 +02:00
Benjamin Valentin
91ad431e34 cpu/nrf52: fix nrf52811 vector definition
SWI2 was missing - compare with vendor/nrf52811.h
2020-08-09 21:46:06 +02:00
Benjamin Valentin
4980cb7abe cpu/nrf52: fix nrf52832 vector definition
The CPU has 39 interrupt vectors and the FPU interrupt is the last one.
(Yes this MCU has an FPU).

Compare with vendor/nrf52.h
2020-08-09 21:46:06 +02:00
Benjamin Valentin
3f8bb169c6 cpu/nrf52: fix nrf52840 vector definition
The CPU has 48 interrupt vectors and spi3 is the last one.
See vendor/nrf52840.h
2020-08-09 21:46:06 +02:00
Benjamin Valentin
ec67798cf0 cpu/nrf52: fix spi_twi_irq for nrf52805/10/11
These smaller parts have SPI1 mapped to TWI0 (if SPI1 exists at all).
2020-08-09 21:46:06 +02:00
Benjamin Valentin
ca2b7e1952 cpu/nrf5x_common: UART: capture whole nrf52 lineup 2020-08-09 21:46:06 +02:00
Benjamin Valentin
2f236cb092 cpu/nrf52: only enable instruction cache if available
The instruction cache is not available on all nrf52 MCUs.
2020-08-09 21:46:06 +02:00
Benjamin Valentin
ea2638dcac cpu/nrf52: split up vector definition
The interrupt vectors vary between each member of the family.
To retain sanity, split the vectors file up for each MCU.
2020-08-09 21:46:06 +02:00
Benjamin Valentin
307495985a cpu/nrf52: not all parts have a FPU 2020-08-09 21:46:06 +02:00
Benjamin Valentin
7a9e68af96 cpu/nrf52: add vendor files for nrf52805/10/20/33 2020-08-09 21:46:06 +02:00
Jose Alamos
5c824f6f12 nrf802154: fix set_tx_power function 2020-07-31 17:16:10 +02:00
Leandro Lanzieri
6a9c28aa72
cpu/nrf52: Add Kconfig symbols 2020-07-16 10:23:49 +02:00
Leandro Lanzieri
4d65bc8e0a
cpu: Rename CPU_ARCH to CPU_CORE 2020-06-16 12:05:40 +02:00
83a6ad182d
nrf52/i2c: Use mutex and IRQ for blocking
This commit enhances the I2C code of the nRF52 family to block on a
mutex while the I2C transfer is busy. The mutex is unlocked in the ISR
when it is trigger by either a stop condition or an error condition.
2020-06-02 10:24:40 +02:00
b15c4ef418
Merge pull request #14069 from benpicco/cpu/nrf52-cleanup
cpu/nrf52: update & fix vendor files, derive flash settings
2020-05-19 10:55:50 +02:00
720ccad7dd
nrf52: Add EasyDMA-based SPI periph driver 2020-05-18 19:16:17 +02:00
1139c0737f
nrf52: add common SPI/I2C IRQ code 2020-05-18 19:14:56 +02:00
Benjamin Valentin
bdf40d5ffa cpu/nrf52: fix NRF52811 vendor file
That `system_nrf52811.h` include must be removed.
2020-05-16 19:22:14 +02:00
Benjamin Valentin
d8a5f87aee cpu/nrf52: update vendor files 2020-05-16 19:21:56 +02:00
Benjamin Valentin
d34551e8da cpu/nrf52: use vendor defines for flash size
We don't need to define FLASHPAGE_SIZE and FLASHPAGE_NUMOF ourself if
the BPROT peripheral is present.
Now why nrf52840 doesn't have it, I don't know, but for nrf52832 and
nrf23811 the values in BPROT_REGIONS_SIZE and BPROT_REGIONS_NUM match
the values manually provided here before.
2020-05-12 18:10:15 +02:00
Benjamin Valentin
20a044c956 cpu/nrf52: fix nrf52811 interrupt vector table
SPI1 and TWI0 share the same IRQ, not SPI1 and TWI1
2020-05-12 15:10:06 +02:00
Benjamin Valentin
d53bc7bf73 cpu/nrf52: add peripherals.h vendor files
Those make our lives much easier.
2020-05-12 14:52:06 +02:00
Benjamin Valentin
fb2f2c456f cpu/nrf52: add nrf52811 vendor files 2020-05-12 14:49:26 +02:00
Philipp Blum
35dcf637f2 cpu/nrf52: add support for nrf52811 2020-05-10 17:10:33 +02:00
Akshai M
642fe16807 cpu/nrf52/include/nrf802154.h : Add Group
Add CT Params to netdev group in Config for Doxygen
2020-04-14 20:52:16 +05:30
Jose Alamos
77325b4cde ieee802154: add CONFIG_ prefix to config macros 2020-04-08 19:08:25 +02:00
Leandro Lanzieri
64552a3b9a
cpu/cortexm_common: Move common modules to Makefile.dep
This moves the following modules to a architecture-specific Makefile.dep
file:
- cortexm_common
- cortexm_common_periph
- newlib
- newlib_nano
- periph
2020-04-01 09:46:21 +02:00
fc6b586919
Merge pull request #13586 from bergzand/pr/nrf/dcdc
nrf5x: Add and enable configuration for the built-in DC/DC converter
2020-03-24 11:56:40 +01:00
Dylan Laduranty
0b15db3694 cpu/nrf5x: use generic hw fc module 2020-03-10 14:47:19 +01:00
64f04e4da9
nrf5x: Add built-in DC/DC converter enable function
The internal DC/DC converter is more efficient compared to the LDO
regulator.  The downside of the DC/DC converter is that it requires an
external inductor to be present on the board. Enabling the DC/DC
converter is guarded with NRF5X_ENABLE_DCDC, this macro must be defined
if the DC/DC converter is to be enabled.
2020-03-07 17:37:40 +01:00
Jose Alamos
3ad574a822 drivers/netdev: use netdev_trigger_event_isr function 2020-03-06 14:03:43 +01:00
68ec8b2c2b
Merge pull request #13391 from kaspar030/mpu_feature
cpu/cortex-m: turn MPU support into a feature
2020-03-04 07:09:40 +01:00
a3c527fdbc cpu/*: add cortex_mpu to known-to-support CPU families 2020-03-03 22:59:41 +01:00