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