Commit Graph

222 Commits

Author SHA1 Message Date
Adam Wojasinski 4ee20fd6ca nrfx: Update to version 2.10.0
Update nrfx to the recently released version. See
https://github.com/NordicSemiconductor/nrfx/blob/v2.10.0/CHANGELOG.md
for a list of changes that this version introduces.

Origin: nrfx
License: BSD 3-Clause
URL: https://github.com/NordicSemiconductor/nrfx/tree/v2.10.0
commit: 23fb4437c08a9edfdf6d34f002322f693a15e8fe
Purpose: Provide peripheral drivers for Nordic SoCs
Maintained-by: External

Signed-off-by: Adam Wojasinski <adam.wojasinski@nordicsemi.no>
2022-11-03 09:15:27 +01:00
Artur Hadasz 249199ec5a drivers: nrf_802154: Update the IEEE 802.15.4 component
This commit updates the nRF 802.15.4 radio driver to feature
the latest changes.

sdk-nrf-802154 commit: b60ce8affe251110a8228caea9c8ba45f578b4a3

Signed-off-by: Artur Hadasz <artur.hadasz@nordicsemi.no>
2022-08-10 14:59:25 +02:00
Stephanos Ioannidis 2e1c828cf4 nrfx_clock: Disable array bounds warning for nrf_clock_is_running
This commit disables the array bounds warning (`-Warray-bounds`) for
the `nrf_clock_is_running` function because GCC 12 and above may report
a false positive due to the size of the write access to the memory
address pointed by the `p_clk_src` argument being variable depending on
the value of the `domain` argument.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-08-08 11:41:19 +02:00
Fabio Baltieri f6628a3058 include: add "zephyr/" include prefix
Add relevant "zephyr/" prefixes to allow building with
LEGACY_INCLUDE_PATH=n.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2022-07-20 10:29:12 +00:00
Nikodem Kastelik f5024df56c nrfx: Update to version 2.9.0
Update nrfx to the recently released version. See
https://github.com/NordicSemiconductor/nrfx/blob/v2.9.0/CHANGELOG.md
for a list of changes that this version introduces.

Origin: nrfx
License: BSD 3-Clause
URL: https://github.com/NordicSemiconductor/nrfx/tree/v2.9.0
commit: 16756cadac53aa72e4262dc3e17db73f6bda715c
Purpose: Provide peripheral drivers for Nordic SoCs
Maintained-by: External

Signed-off-by: Nikodem Kastelik <nikodem.kastelik@nordicsemi.no>
2022-07-19 16:15:42 +02:00
Andrzej Głąbek d892b442b0 nrfx_qspi: Correct IO3 line level used in nrfx_qspi_mem_busy_check()
Keep the line high during the custom instruction transfer. Otherwise,
its low level can be interpreted by the memory chip as an active
HOLD#/RESET# signal and in consequence the memory status can be read
incorrectly.
Add also related notes to descriptions of nrfx_qspi_cinstr_xfer() and
nrfx_qspi_lfm_start() to warn users that the default configuration
provided by NRFX_QSPI_DEFAULT_CINSTR() may not always be suitable.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2022-06-20 13:51:18 +02:00
Artur Hadasz d9e50d7287 drivers: nrf_802154: Update the IEEE 802.15.4 component
This commit updates the nRF 802.15.4 radio driver to feature
the latest changes.

sdk-nrf-802154 commit: ab78d8e836875e61a3715388281727c1feb4a225

Signed-off-by: Artur Hadasz <artur.hadasz@nordicsemi.no>
2022-06-06 09:05:44 +02:00
Nikodem Kastelik a85bb3676d nrfx: doc: remove references to nrfx_atomic Doxygen group
Building documentation in .rst format causes warnings due to
missing `nrfx_atomic` which is not used in `hal_nordic`.

Signed-off-by: Nikodem Kastelik <nikodem.kastelik@nordicsemi.no>
2022-05-04 19:17:12 +09:00
Nikodem Kastelik 4464a6f96b nrfx: Update to version 2.8.0
Update nrfx to the recently released version. See
https://github.com/NordicSemiconductor/nrfx/blob/v2.8.0/CHANGELOG.md
for a list of changes that this version introduces.

Origin: nrfx
License: BSD 3-Clause
URL: https://github.com/NordicSemiconductor/nrfx/tree/v2.8.0
commit: 55305292a2a8e4149869951451311452f4566e9a
Purpose: Provide peripheral drivers for Nordic SoCs
Maintained-by: External

Signed-off-by: Nikodem Kastelik <nikodem.kastelik@nordicsemi.no>
2022-04-05 16:26:43 +02:00
Artur Hadasz 626e3dd960 drivers: nrf_802154: Update the IEEE 802.15.4 component
This commit updates the nRF 802.15.4 radio driver to feature
the latest changes.

sdk-nrf-802154 commit: 7e896fbeca9a0dc5240e583e321c62393af705ea

Signed-off-by: Artur Hadasz <artur.hadasz@nordicsemi.no>
2022-03-31 10:21:01 +02:00
Rafał Kuźnia 1f9145e8c8 drivers: nrf_802154: Update the IEEE 802.15.4 component
This commit updates the nRF 802.15.4 radio driver to feature
the latest changes.

sdk-nrf-802154 commit: 11986be74d191f6ea4de17d059cfb87ff7f86dd9

Signed-off-by: Rafał Kuźnia <rafal.kuznia@nordicsemi.no>
2022-02-24 10:51:38 +01:00
Andrzej Kuros eab07c9d86 drivers: nrf_802154: Fix build with NRF_802154_DELAYED_TRX_ENABLED=0
Serialization on nrf5340 network core requested functions which are
removed from build by setting NRF_802154_DELAYED_TRX_ENABLED=0

Signed-off-by: Andrzej Kuros <andrzej.kuros@nordicsemi.no>
2022-02-22 10:15:31 -08:00
Andrzej Kuros c081c7be7c drivers: nrf_802154: Update the IEEE 802.15.4 component
This commit updates the nRF 802.15.4 radio driver to feature
the latest changes.

sdk-nrf-802154 commit: 453044a0e97ec2c8fa2d6d0135a093cbc5362eb2

Signed-off-by: Andrzej Kuros <andrzej.kuros@nordicsemi.no>
2022-02-22 10:15:31 -08:00
Andrzej Kuros b1db86f188 drivers: nrf_802154: nrf_802154_irq_init negative `prio` ZLI
This commit changes public API of `nrf_802154_irq_init` to allows
passing negative values of `prio` parameter. Negative values will
be used to encode ZLI priority.

Signed-off-by: Andrzej Kuros <andrzej.kuros@nordicsemi.no>
2022-02-03 11:22:32 +01:00
Andrzej Głąbek a42b016d7c nrfx_pwm: Fix incorrect check that suppresses pin configuration
The whole pin configuration function in the driver should be skipped
when both GPIO and PSEL skip flags are set, but the code that checks
this condition, despite the comment correctly explaining its purpose,
contains an unwanted negation. This commit fixes this embarrassing
copy-paste mistake.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2021-12-22 20:27:28 +01:00
Nikodem Kastelik f6b23344f6 nrfx: Update to version 2.7.0
Update nrfx to the recently released version. See
https://github.com/NordicSemiconductor/nrfx/blob/v2.7.0/CHANGELOG.md
for a list of changes that this version introduces.

Origin: nrfx
License: BSD 3-Clause
URL: https://github.com/NordicSemiconductor/nrfx/tree/v2.7.0
commit: 3521c97df0b9549daecf867fb588f62819c317b4
Purpose: Provide peripheral drivers for Nordic SoCs
Maintained-by: External

Signed-off-by: Nikodem Kastelik <nikodem.kastelik@nordicsemi.no>
2021-12-17 11:30:35 +01:00
Krzysztof Chruscinski 077031bf6e drivers: nrf_802154: Use header defines for PPI resources
Removed a file which was intializing global variables with
mask of PPI resources used by the ieee802154 radio driver.
nrfx is using macro masks directly.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2021-12-02 08:30:59 +01:00
Krzysztof Chruscinski 004b62c0b7 nrfx: Update to version 2.6.0
Update nrfx to the recently released version. See
https://github.com/NordicSemiconductor/nrfx/blob/v2.6.0/CHANGELOG.md
for a list of changes that this version introduces.

Origin: nrfx
License: BSD 3-Clause
URL: https://github.com/NordicSemiconductor/nrfx/tree/v2.6.0
commit: 58ac10d629a7ad9bc1f7a0efe63bb1f8e046975b
Purpose: Provide peripheral drivers for Nordic SoCs
Maintained-by: External

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2021-12-02 08:30:59 +01:00
Johann Fischer cad21db72a drivers: nrfx_usbreg: clear events on initialization
Clear USBREG events on driver initialization and
prevent spurious USBPWRRDY event right after initialization.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2021-11-04 11:38:38 +01:00
Andrzej Głąbek a6e5299041 mdk: Fix bitfield names in system_nrf53_approtect.h
This is a temporary change in a file imported from the nrfx repository
and it is supposed to be overwritten by the next update of nrfx.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2021-08-23 22:16:23 +02:00
Nikodem Kastelik f50f894098 mdk: fix DPPI_CH_NUM to 32 for nRF5340 Network
This is a temporary change in a file imported from the nrfx repository
and it is supposed to be overwritten by the next update of nrfx.

Signed-off-by: Nikodem Kastelik <nikodem.kastelik@nordicsemi.no>
2021-08-19 10:56:18 +02:00
Paweł Kwiek 00fd2aa97a drivers: nrf_802154: Enable external temperature platform
Enable use of external temperature platform by removing default
implementaion.

Signed-off-by: Paweł Kwiek <pawel.kwiek@nordicsemi.no>
2021-07-23 09:27:14 +02:00
Jedrzej Ciupis d979c8dc31 drivers: nrf_802154: Update the IEEE 802.15.4 component
This commit adds the following:
- double-buffered encryption
- transmit API modifications
- extended support for retransmissions
- robust Enh-Ack generation

sdk-nrf-802154 commit: 17d8d2bb651c42a513f8463b120bab387ab89588

Signed-off-by: Jedrzej Ciupis <jedrzej.ciupis@nordicsemi.no>
2021-07-19 11:46:52 +02:00
Rafał Kuźnia 74b3b21f60 drivers: nrf_802154: Update the IEEE 802.15.4 component
This change adds the following:
- Thread link metric injection support
- key management API
- frame encryption and frame counter injection
- retransmission API

sdk-nrf-802154 commit: 6ed86a9af2a3b2c6d5a9ee5ae88497464f2a57d3

Signed-off-by: Rafał Kuźnia <rafal.kuznia@nordicsemi.no>
2021-06-09 13:39:50 +02:00
Nikodem Kastelik d533671f46 nrfx: doc: remove doc reference to nrfx_atomic
Doxygen group nrfx_atomic does not exist in hal_nordic
but was referenced in RST docs.

Signed-off-by: Nikodem Kastelik <nikodem.kastelik@nordicsemi.no>
2021-06-08 14:42:37 +02:00
Nikodem Kastelik 1868b49704 nrfx: add missing CHANGELOG.md
This file is referenced in docs and its absence caused
warnings during doc building.

Signed-off-by: Nikodem Kastelik <nikodem.kastelik@nordicsemi.no>
2021-06-08 14:42:37 +02:00
Nikodem Kastelik 574493fe29 nrfx_dppi: Fix variable used in logging function
Depending on the implementation of NRFX_CRITICAL_SECTION_ENTER
the 'channel' variable could be undefined in logging function.

Signed-off-by: Nikodem Kastelik <nikodem.kastelik@nordicsemi.no>
(cherry picked from the nrfx repository)
Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2021-05-06 15:54:36 +02:00
Andrzej Głąbek 0e7524962d nrfx: Update to version 2.5.0
Update nrfx to the recently released version. See
https://github.com/NordicSemiconductor/nrfx/blob/v2.5.0/CHANGELOG.md
for a list of changes that this version introduces.

Origin: nrfx
License: BSD 3-Clause
URL: https://github.com/NordicSemiconductor/nrfx/tree/v2.5.0
commit: 7eca6c2dc02b24cbdaa3ba0e63a7195e34ebe07c
Purpose: Provide peripheral drivers for Nordic SoCs
Maintained-by: External

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2021-05-06 15:54:36 +02:00
Jedrzej Ciupis 9bd5891e3c drivers: nrf_802154: Update the IEEE 802.15.4 component
This commit updates the nRF 802.15.4 radio driver to feature
the latest changes.

sdk-nrf-802154 commit: 9307dc01053c7f4ddb3081984a72a6d454ec8681

Signed-off-by: Jedrzej Ciupis <jedrzej.ciupis@nordicsemi.no>
2021-05-06 11:54:24 +02:00
Rafał Kuźnia fc301b9758 drivers: use new IEEE 802.15.4 subsystem integration scheme
This commit introduces new scheme for integrating nRF IEEE 802.15.4
radio driver with Zephyr project.

nrf_802154 commit: c89637d597d81ae2b2a5b5bf18f0ba9c51912380

Signed-off-by: Rafał Kuźnia <rafal.kuznia@nordicsemi.no>
2021-03-31 17:08:23 +02:00
Nikodem Kastelik 6667950c23 nrfx_gpiote: remove channel dealloc from nrfx_gpiote_init
GPIOTE channels allocated outside of the context
of the driver are no longer implicitly deallocated
during driver initialization.

Signed-off-by: Nikodem Kastelik <nikodem.kastelik@nordicsemi.no>
2021-03-18 09:28:25 +01:00
Rafał Kuźnia 46b65a5a6e drivers: Update IEEE 802.15.4 subsystem
IEEE 802.15.4 subsystem revisions:
nrf_radio_802154: 1c4a05fdc6677a46e9b17796209adfb90bfc4f25
nrf_802154_sl_opensource: 5d163dfaa96dfa1d542ddd3587f83110e184902c
nrf_802154_serialization: 1c66db451bf009c049504662049efa2a1ce8c73e

Signed-off-by: Rafał Kuźnia <rafal.kuznia@nordicsemi.no>
2021-03-05 11:25:58 +01:00
Rafał Kuźnia c8f03de563 build: Fix long path build problem on Windows
The paths to nrf_802154_serialization could have previously
exceeded the Windows limit on the path name, causing the build
to fail.

The zephyr_library() autogenerate library names, which may result
in very long build paths. Naming the library manually works around
this problem.

Signed-off-by: Rafał Kuźnia <rafal.kuznia@nordicsemi.no>
2021-02-19 10:49:43 +01:00
Jedrzej Ciupis f3434da644 drivers: Extend API to check capabilities in run-time
To ensure seamless integration of different variants of the 802.15.4
driver, this commit introduces a possibility to check for capabilities
in run-time. This way, the integration layer does not have to hardcode
them.

nrf_radio_802154:         3b8936c141e8d3af39b564803612f0416fc0d93e
nrf_802154_serialization: fc94a27d26abd79087d872518e21e4434ec4fb45
nrf_802154_sl_opensource: 2966ae8b4b3fcf2b64d8b987703cbf4ecc0dd60b

Signed-off-by: Jedrzej Ciupis <jedrzej.ciupis@nordicsemi.no>
2021-02-09 19:10:50 +01:00
Jedrzej Ciupis 7797f781d2 drivers: nrf_802154_serialization: Fix race conditions
The key-value map module currently does not protect the memory it stores
the map in from concurrent accesses. That leads to multiple race
conditions where elements in the map are modified from different
contexts at the same time. This commit makes all API functions of the
kvmap module execute within a critical section, which prevents
preemptions.

nrf_802154_serialization: 7b5f15aafdb2078ab0a832aa09030b90eec42dc2

Signed-off-by: Jedrzej Ciupis <jedrzej.ciupis@nordicsemi.no>
2021-02-09 19:10:50 +01:00
Hubert Miś a2e3b69da9 drivers: Update IEEE 802.15.4 subsystem
This commit updates the IEEE 802.15.4 subsystem to the
following commits:
nrf_radio_802154: 3f3f5cf974487e41c0433e807ea2e61a1b3374e6
nrf_802154_sl_opensource: 78a857f6ad696c7aa3d3112b3ae49d92db453b82
nrf_802154_serialization: 9baba9fd7ca18fe3cf204e8609308e36090754e9

Signed-off-by: Hubert Miś <hubert.mis@nordicsemi.no>
2021-02-03 19:44:27 +01:00
Adam Zelik e34f5d9bc0 drivers: nrf_radio_802154: Enable 802.15.4 resources validation
Provides bit masks which are intended for use in the nrfx_glue.h
to mark the (D)PPI channels used by the 802.15.4 driver as occupied
and thus unavailable for allocation through nrfx_ppi.

Verification if resources used by the 802.15.4 driver do not overlap
with those used by the mpsl (if mpsl enabled).

Signed-off-by: Adam Zelik <adam.zelik@nordicsemi.no>
2021-02-03 16:49:10 +01:00
Jedrzej Ciupis f0d54d8449 drivers: nrf_802514_serialization: Fix unused function warning
This commit removes an unused function and fixes related warning.

Signed-off-by: Jedrzej Ciupis <jedrzej.ciupis@nordicsemi.no>
2021-01-25 13:32:30 +01:00
Hubert Miś 74e4ab0185 drivers: 802154_serialization: Update RPMsg Service include path
Signed-off-by: Hubert Miś <hubert.mis@nordicsemi.no>
2021-01-19 19:33:16 +01:00
Hubert Miś 750df48f32 drivers: 802154_serialization: Use RPMsg Service as serialization backed
RPMsg Service allows registering multipe endpoints. Using this
module as serialization backend enables new use cases and simplifies
maintenance of the serialization component.

Co-authored-by: Pawel Kwiek <pawel.kwiek@nordicsemi.no>
Signed-off-by: Hubert Miś <hubert.mis@nordicsemi.no>
2021-01-19 16:40:14 +01:00
Andrzej Głąbek f163c53b88 zephyr: Set hal_nordic as the name of this module
To avoid it being named just "nordic" by default (after the last part
of the path modules/hal/nordic).

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2021-01-19 10:34:42 +01:00
Andrzej Głąbek b1dd432233 glue: Move nrfx glue code to main Zephyr repository
Update definition of this module so that CMakeLists.txt and Kconfig
for it are taken from external module root (modules/nordic/ in Zephyr).
Move all nrfx related glue files to the modules/nordic/nrfx/ directory
in the main Zephyr repository.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2021-01-19 10:34:42 +01:00
Pawel Kwiek 9b3a4bc5ad drivers: Add CMake file list variables for IEEE 802.15.4
This commit introduces file list variables providing an abstraction for
files required for IEEE 802.15.4 driver to be built.

Signed-off-by: Pawel Kwiek <pawel.kwiek@nordicsemi.no>
2021-01-13 15:34:43 +01:00
Adam Zelik db3d1ae2b8 drivers: nrf_radio_802154: Add callout for custom initialization part
This commit introduces nrf_802154_custom_part_of_radio_init callout.
Application can override weak empty implementation to provide some additional
operations to be performed at the beginning of each new timeslot.

Signed-off-by: Adam Zelik <adam.zelik@nordicsemi.no>
2021-01-07 16:36:10 +01:00
Pawel Kwiek 8e132fee97 drivers: Fix several radio driver related bugs
Fix #1:
Transmission failure would cause to leave an allocated buffer resulting
in a serialization failure leading to an assert, which was seen as a
timeout error on APP core side.

Fix #2:
It is possible for nrf_802154_spinel_send function to be preempted
resulting in the static frame buffer being reused. The buffer size was
reduced accordingly to 802.15.4 frame size and possible additional data.

Fix #3:
Radio driver's API call using serialization can be preempted after
issuing a serialized call request to NET core, but before preparing
the notifier for an awaited property. This results in receiving a
property that no one waits for and dropping the property as an unwanted.
In current implementation the awaited property is prepared during the
notifier lock.

Re-fix #4:
The issue which manifests itself in disabled NVIC interrupts in SED
roles.

Signed-off-by: Pawel Kwiek <pawel.kwiek@nordicsemi.no>
2020-12-16 15:37:42 +01:00
Marcin Niestroj 031065e8f9 nrfx_glue: Support PWM SW based on RTC
PWM SW driver implementation allows now to use RTC instead of TIMER. RTC
uses 3 instead of 2 channels, so adjust PPI channel macros to match
that.

Signed-off-by: Marcin Niestroj <m.niestroj@grinn-global.com>
2020-12-15 13:52:42 +01:00
Jedrzej Ciupis 7430036d4f drivers: nrf_802154_sl_opensource: Fix naming in FEM implementation
This commit fixes naming issues introduced in the MPSL FEM API
implementation in the previous commits.

Signed-off-by: Jedrzej Ciupis <jedrzej.ciupis@nordicsemi.no>
2020-12-08 12:48:02 +01:00
Jedrzej Ciupis b94fe9280c drivers: nrf_802154_sl_opensource: Introduce MPSL FEM support
This commit replaces 802.15.4-specific FEM implementation with stubbed
MPSL FEM API implementation.

Signed-off-by: Jedrzej Ciupis <jedrzej.ciupis@nordicsemi.no>
2020-12-07 15:42:43 +01:00
Jedrzej Ciupis e1950ce2b2 drivers: nrf_radio_802154: Introduce MPSL FEM support
This commit replaces calls to 802.15.4-specific implementation of FEM
with calls to MPSL FEM API.

Signed-off-by: Jedrzej Ciupis <jedrzej.ciupis@nordicsemi.no>
2020-12-07 15:42:43 +01:00
Czeslaw Makarski 6d5e27d099 drivers: nrf_802154_sl_opensource: Tune RSCH priority handling
This PR fixes the issue which manifests itself in disabled
NVIC interrupts in SED roles.

Signed-off-by: Czeslaw Makarski <Czeslaw.Makarski@nordicsemi.no>
2020-12-07 10:36:41 +01:00