Commit Graph

114 Commits

Author SHA1 Message Date
Łukasz Duda
2f8a8f72ea net: openthread: Add missing include for logging in diag.c
This commit adds logging.h header to the diag.c file to ensure all
symbols are declared.

Signed-off-by: Łukasz Duda <lukasz.duda@nordicsemi.no>
2025-06-26 11:02:54 -05:00
Łukasz Duda
1829c13c8a net: openthread: Make Radio workqueue priority configurable
This commit makes the Radio workqueue priority configurable by the
application. Additionally, the default priority has been adjusted to
allow transmit operations to occur before the entire RX queue is
processed.

Signed-off-by: Łukasz Duda <lukasz.duda@nordicsemi.no>
2025-06-18 07:40:36 +02:00
Pieter De Gendt
9983ff708e modules: openthread: platform: logging: Take kconfig into account
Currently all calls to otPlatLog with debug log level are printed.
Cleanup logging.c

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2025-06-10 12:26:04 +02:00
Adrian Gielniewski
e04f679093 openthread: Add Kconfigs for packet TX time and carrier functions
Add new Kconfig options to enable platform-specific features in
OpenThread:

- CONFIG_OPENTHREAD_PLATFORM_PKT_TXTIME enables support for packet TX
time when CONFIG_NET_PKT_TXTIME is selected.
- CONFIG_OPENTHREAD_PLATFORM_CARRIER_FUNCTIONS enables modulated and
continuous carrier functions when CONFIG_OPENTHREAD_DIAG and
CONFIG_IEEE802154_CARRIER_FUNCTIONS are enabled.

Update preprocessor conditionals to use the new options instead of
relying directly on CONFIG_NET_PKT_TXTIME and
CONFIG_IEEE802154_CARRIER_FUNCTIONS.

This change improves configurability and allows to reuse the platform
implementation when not using Zephyr networking.

Signed-off-by: Adrian Gielniewski <adrian.gielniewski@nordicsemi.no>
2025-05-30 16:35:39 +02:00
Adrian Gielniewski
201d92884f openthread: Add header for OpenThread module
* Add header with public API of OpenThread module.
* Add module include directory to Zephyr include directories.
* Use new header in platform implementation.

Signed-off-by: Adrian Gielniewski <adrian.gielniewski@nordicsemi.no>
2025-05-30 10:26:44 +02:00
Adrian Gielniewski
a6bfd920f7 modules: openthread: fix unused function error
Compile `log_translate` function only if `CONFIG_LOG` is defined.

Signed-off-by: Adrian Gielniewski <adrian.gielniewski@nordicsemi.no>
2025-05-09 15:41:13 +02:00
Arkadiusz Balys
ca40f410ac openthread: Change log level to PLATFORM in OpenThread platform
Stop using L2 log level in OpenThread platform files.

Signed-off-by: Arkadiusz Balys <arkadiusz.balys@nordicsemi.no>
2025-05-08 15:56:11 +02:00
Arkadiusz Balys
9a5f4b97bd openthread: Add possibility to initialize OpenThread in POST_KERNEL
The new CONFIG_OPENTHREAD_SYS_INIT Kconfig option allows OpenThread
to be automatically initialised during the Zephyr POST_KERNEL
initialisation stage.

If Zephyr's L2 layer OpenThread implementation is enabled, the
IEEE802.15.4 shim layer initialises OpenThread in the POST_KERNEL
phase. However, since Openthread may work without Zephyr's L2
layer, in this case, no object can initialise it automatically.
This new Kconfig option may help start OpenThread automatically
if the L2 Layer is disabled.

Signed-off-by: Arkadiusz Balys <arkadiusz.balys@nordicsemi.no>
2025-05-08 15:56:11 +02:00
Arkadiusz Balys
596844a2cb openthread: Move OpenThread implementation from net to modules
Move OpenThread-related code from
zephyr/subsys/net/l2/openthread/openthread.c to
zephyr/modules/openthread/platform/openthread.c.

The primary goal of this refactor is to enable the use
of OpenThread as an independent module, without the necessity
of Zephyr's networking layer.

This change is particularly beneficial for simple applications
that have their own implementation of the IEEE802.15.4 driver
and do not require a networking layer. These applications can
now disable Zephyr's L2 and IEEE802.15.4 shim layers and
directly use the OpenThread module, saving valuable kilobytes
of memory.

In this approach if the CONFIG_NET_L2_OPENTHREAD
Kconfig option is set, Zephyr's L2 and IEEE802.15.4 layers
will be used, and everything will function as before.
The main difference is the Zephyr's L2 layer now uses
the OpenThread module, no longer implementing it.

While most of the functions in include/net/openthread.h
have been deprecated, they are still available for use to
maintain backwards compatibility.

Signed-off-by: Arkadiusz Balys <arkadiusz.balys@nordicsemi.no>
2025-05-05 14:25:13 +02:00
Adrian Gielniewski
8661c3caea net: openthread: radio: fix otPlatRadioClearSrcMatch* return values
Fix the return values of `otPlatRadioClearSrcMatchShortEntry` and
`otPlatRadioClearSrcMatchExtEntry` to match the OpenThread API.

Signed-off-by: Adrian Gielniewski <adrian.gielniewski@nordicsemi.no>
2025-04-29 19:08:38 +02:00
Przemyslaw Bida
150af78d6c net: openthread: Add tcat platform function implementation
Commit add tcat related function implementation

Signed-off-by: Przemyslaw Bida <przemyslaw.bida@nordicsemi.no>
2025-04-15 11:24:40 +02:00
Robert Lubos
958872648a net: openthread: Fix ignored return values in platform diag module
Verify return values for otPlatRadio* functions and log the error
accordingly. For otPlatRadioTransmit() case, just log the error
and let the entire TX procedure proceed on the next timeout.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2025-04-11 14:53:59 +02:00
Robert Lubos
cbde1edc41 net: openthread: Remove unused function from radio.c
clear_pending_events() was not used anywhere.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2025-04-11 14:53:59 +02:00
Damian Krolik
ab09c522b5 modules: openthread: platform: optimize stack usage in crypto_psa
A PSA crypto operation object can be initialized in multiple
ways according to the documentation. For example,
1. Using a dedicated psa_xxx_operation_init() function that
   returns an initialized object.
2. Using memset() to zero out the operation object.

For some PSA crypto driver implementations, using the first
method causes an excessive stack usage if the operation
object is large and psa_xxx_operation_init() is not inlined.
Instead, it is better to stick to memset() for this purpose.

Signed-off-by: Damian Krolik <damian.krolik@nordicsemi.no>
2025-03-07 19:59:00 +01:00
Marcel Graber
e28a45f658 doc: fix wrong header guard code comment
Copy/Paste leftover from openthread POSIX platform.

Signed-off-by: Marcel Graber <marcel@clever.design>
2025-03-03 14:35:27 +01:00
Tomi Fontanilles
0c368e85b1 secure_storage: add a global registry header file for PSA key IDs
We need to make sure that within Zephyr different users of the PSA APIs
don't interfere with each other because of using the same numerical IDs
for persistent assets.

This takes care of the PSA key IDs when using persistent keys through
the PSA Crypto API.
See the comments in `<zephyr/psa/key_ids.h>` for more information.

This removes the recently-introduced Kconfig options that allowed changing
the base IDs subsystems were using for their persistent keys.

Signed-off-by: Tomi Fontanilles <tomi.fontanilles@nordicsemi.no>
2025-02-13 20:22:09 +01:00
Arkadiusz Balys
ba9f6279f5 openthread: Add Kconfig to set PSA ITS non-volatile offset
The offset value in the PSA ITS non-volatile space is dedicated to
OpenThread key reference IDs. This offset must not overwrite any
other ranges already in use within the PSA ITS non-volatile space.

Signed-off-by: Arkadiusz Balys <arkadiusz.balys@nordicsemi.no>
2025-02-10 14:34:13 +01:00
Maciej Baczmanski
1bd8e4459a net: openthread: fix otPlatBleEnable
If BLE has already been enabled, `bt_enable` returns immediately
and does not call passed callback function.
In this case, call `bt_conn_cb_register` to ensure that callbacks
are registered correctly.

Signed-off-by: Maciej Baczmanski <maciej.baczmanski@nordicsemi.no>
2025-01-30 14:07:46 +01:00
Maciej Baczmanski
341359568f openthread: fix logging configuration
Currently, `CONFIG_OPENTHREAD_LOG_LEVEL` is used to set log level
in OT and register log modules in Zephyr. OpenThread allows 5
levels, causing issues when `OPENTHREAD_LOG_LEVEL_DEBG` is
selected ad we are trying to register modules with unknown lvl.

This commit adds `CONFIG_OPENTHREAD_MODULE_LOG_LEVEL` which is
aligned for Zephyr's log levels.

Signed-off-by: Maciej Baczmanski <maciej.baczmanski@nordicsemi.no>
2025-01-28 14:13:31 +01:00
Andrzej Głąbek
f930739acf modules: openthread: ble: Update after BT_LE_ADV_CONN got deprecated
This is a follow-up to commit 8cfad44852.

Replace the deprecated BT_LE_ADV_CONN macro with BT_LE_ADV_CONN_FAST_2.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2025-01-23 16:32:10 +01:00
Maciej Baczmanski
74bbbdccf8 net: openthread: cleanup diag commands
After https://github.com/openthread/openthread/pull/11055,
platform is not required to check diagnostics mode while
processing commands.

Signed-off-by: Maciej Baczmanski <maciej.baczmanski@nordicsemi.no>
2025-01-14 08:59:22 +01:00
Maciej Baczmanski
712da726be net: openthread: radio: Add setting channel in diag mode
Add possibility to set channel in diag mode by implementing
`platformRadioChannelSet` API.

Signed-off-by: Maciej Baczmanski <maciej.baczmanski@nordicsemi.no>
2025-01-09 15:49:21 +01:00
Maciej Baczmanski
b46f72009a net: openthread: radio: Fix platform radio state machine
Fix platform radio state machine to be compliant with one shown in
OpenThread's `include/openthread/platform/radio.h`

Align twister tests to verify proper behavior of the
state machine.

Signed-off-by: Maciej Baczmanski <maciej.baczmanski@nordicsemi.no>
2025-01-09 15:49:21 +01:00
Przemyslaw Bida
e34f19a8ca net: openthread: Add openthread tcat multiradio config.
As per BHC-750 in TCAT case for now only allowed devices
are the ones that have either dual radio or multiplexed
radio capabilities. So the 'M' bit in BLE advertisement
should be always set to 1. In future specifications
devices without multiradio capabilities will be allowed
this is the reason why new Kconfig was introduced.

Signed-off-by: Przemyslaw Bida <przemyslaw.bida@nordicsemi.no>
2024-12-19 12:36:54 +01:00
Przemyslaw Bida
1512ed2d3c net: openthread: Adding diag transmit command.
Commit adds `diag transmit` used for transmission IEEE802154 packets
in specific amount and interval.

Signed-off-by: Przemyslaw Bida <przemyslaw.bida@nordicsemi.no>
2024-12-16 15:55:04 +01:00
Przemyslaw Bida
63e1bb41b1 net: openthread: Add modcarrier command to OT diag module.
Commit add `modcarrier` shell command for Openthread diagnostic mode.
Command can transmit modulated carrier out of device for test purposes.

Signed-off-by: Przemyslaw Bida <przemyslaw.bida@nordicsemi.no>
2024-12-04 12:10:11 +01:00
Kamil Kasperczyk
0b98834424 modules: openthread: Add of Kconfigs to change child timeouts
Introduced few Kconfigs that allow to change default values
of MLE child timeout and child supervision timeouts.

Signed-off-by: Kamil Kasperczyk <kamil.kasperczyk@nordicsemi.no>
2024-12-02 09:42:35 +01:00
Przemyslaw Bida
e0f94f8823 drivers: ieee802154: New API for modulated carrier wave transmission.
Added new API function to start modulated carrier wave transmission

Signed-off-by: Przemyslaw Bida <przemyslaw.bida@nordicsemi.no>
2024-11-29 21:46:46 +01:00
Jamel Arbi
ec4e0192fb modules: openthread: Add of spinel hdlc rcp host interface
Add a spinel support to an RCP design, the core of OpenThread lives on the
host processor connected to an RCP radio controller over a HDLC interface.

Signed-off-by: Jamel Arbi <jamel.arbi@nxp.com>
2024-11-27 10:37:21 -05:00
Adrian Gielniewski
9fd9e231df net: openthread: Add platform message management
* Add CONFIG_OPENTHREAD_PLATFORM_MESSAGE_MANAGEMENT to allow enabling
message management by the platform.
* Add implementation of `otPlatMessagePoolInit`, `otPlatMessagePoolNew`
and `otPlatMessagePoolFree`.

Signed-off-by: Adrian Gielniewski <adrian.gielniewski@nordicsemi.no>
2024-11-16 15:21:20 -05:00
Damian Krolik
11b6bd0ab1 net: openthread: support Wake-up End Device without CSL receiver
Make it possible to enable Wake-up End Device feature with
CSL receiver disabled (to receive wake-up frames on MED).

Signed-off-by: Damian Krolik <damian.krolik@nordicsemi.no>
2024-11-16 15:09:07 -05:00
Damian Krolik
8ce12aaa04 net: openthread: add wake-up coordinator support
Add Kconfig option `OPENTHREAD_WAKEUP_COORDINATOR` to enable
the Wake-up Coordinator role. Implement API to set Coordinated
Sampled Transmitting sample time and period for a driver that supports
`IEE802154_OPENTHREAD_HW_CST` capability.

The feature is be enabled on with ieee802154_nrf5 driver with option
by setting default value of CONFIG_IEEE802154_NRF5_CST_ENDPOINT.

Signed-off-by: Damian Krolik <damian.krolik@nordicsemi.no>
Co-authored-by: Andrzej Kuroś <andrzej.kuros@nordicsemi.no>
2024-11-16 15:09:07 -05:00
Andrzej Kuros
adf4e73d64 net: openthread: support Kconfig IEEE802154_SELECTIVE_TXCHANNEL
For transmit_message if the transmission is timed and underlying
driver supports `IEEE802154_HW_SELECTIVE_TXCHANNEL` then use
the selective txchannel feature for transmission.
This does not change the current `channel` at the moment of call,
the driver will transmit the message on the channel selected through
`net_pkt_set_ieee802154_txchannel` then (after receiving an ACK
if requested) it will return to the original channel.
When Kconfig option IEEE802154_SELECTIVE_TXCHANNEL is turned on,
the timed transmissions scheduled some time ahead on different
channel will not abort ongoing reception until the exact moment
of transmission comes.

Signed-off-by: Andrzej Kuroś <andrzej.kuros@nordicsemi.no>
2024-10-22 14:04:33 +02:00
Damian Krolik
5d69216cc9 net: openthread: add Kconfig for CSL request time ahead
Add OPENTHREAD_CSL_REQUEST_TIME_AHEAD Kconfig variable.

Signed-off-by: Damian Krolik <damian.krolik@nordicsemi.no>
2024-10-16 12:26:06 +02:00
Nick Ward
89b7336876 net: openthread: make receive sensitivity configurable
OpenThread route cost calculations are dependent on this
being accurate for the hardware design.

Signed-off-by: Nick Ward <nix.ward@gmail.com>
2024-10-15 04:06:08 -04:00
Maciej Baczmanski
9655c2f61b net: openthread: add OPENTHREAD_STORE_FRAME_COUNTER_AHEAD
Add `OPENTHREAD_STORE_FRAME_COUNTER_AHEAD` Kconfig option
and set it to 100000, as after calculations it appears to
be a more suitable value.

Signed-off-by: Maciej Baczmanski <maciej.baczmanski@nordicsemi.no>
2024-10-02 10:16:16 +02:00
Przemyslaw Bida
bd05d0032c net: openthread: Clean not used defines in OT platform.
Remove unused `DEVICE_NAME` from OT `ble.c`.

Signed-off-by: Przemyslaw Bida <przemyslaw.bida@nordicsemi.no>
2024-08-09 17:58:24 +01:00
Rubin Gerritsen
a4e43d013c Bluetooth: Samples: Use string printing functions for error codes
When developing Bluetooth applications, you typically run into some errors.
If you are an experienced Bluetooth developer, you would typically know
how to translate the error codes into string representations.
Others might not.

This commit to adds string printing of error codes for all
samples to make them more user-friendly.

Several formatting alternatives were considered. The chosen alternative
balances code readability and FLASH size (with and without string
printing).

Example output from the peripheral_hids sample when the
peer rejects pairing:

```
Bluetooth initialized
Bluetooth authentication callbacks registered.
Advertising successfully started
Connected 5E:67:02:D3:1C:DB (random)
Security failed: 5E:67:02:D3:1C:DB (random) \
level 1 err 6 BT_SECURITY_ERR_PAIR_NOT_ALLOWED
Disconnected from 5E:67:02:D3:1C:DB (random), \
reason 0x13 BT_HCI_ERR_REMOTE_USER_TERM_CONN
```

Other alternatives that were considered:

- Use of parantheses:
```
// strings enabled
Security failed: 5E:67:02:D3:1C:DB (random) level 1 \
err BT_SECURITY_ERR_PAIR_NOT_ALLOWED(6)
Disconnected from 5E:67:02:D3:1C:DB (random), reason \
BT_HCI_ERR_REMOTE_USER_TERM_CONN(0x13)
// strings disabled
Security failed: 5E:67:02:D3:1C:DB (random) level 1 err (6)
Disconnected from 5E:67:02:D3:1C:DB (random), reason (0x13)
```

- Spaces and parantheses:
```
// strings enabled
Security failed: 5E:67:02:D3:1C:DB (random) level 1 \
err BT_SECURITY_ERR_PAIR_NOT_ALLOWED (6)
Disconnected from 5E:67:02:D3:1C:DB (random), \
reason BT_HCI_ERR_REMOTE_USER_TERM_CONN (0x13)
// strings disabled
Security failed: 5E:67:02:D3:1C:DB (random) level 1 err  (6)
Disconnected from 5E:67:02:D3:1C:DB (random), reason  (0x13)
```

- Parantheses around everything:
```
// strings enabled
Security failed: 5E:67:02:D3:1C:DB (random) level 1 \
err (BT_SECURITY_ERR_PAIR_NOT_ALLOWED(6))
Disconnected from 5E:67:02:D3:1C:DB (random), \
reason (BT_HCI_ERR_REMOTE_USER_TERM_CONN(0x13))
// strings disabled
Security failed: 5E:67:02:D3:1C:DB (random) level 1 err ((6))
Disconnected from 5E:67:02:D3:1C:DB (random), reason ((0x13))
```

- Error code first, then string representation:
```
// strings enabled
Security failed: 5E:67:02:D3:1C:DB (random) level 1 \
err 6 (BT_SECURITY_ERR_PAIR_NOT_ALLOWED)
Disconnected from 5E:67:02:D3:1C:DB (random), reason \
0x13 (BT_HCI_ERR_REMOTE_USER_TERM_CONN)
// strings disabled
Security failed: 5E:67:02:D3:1C:DB (random) level 1 err 6 ()
Disconnected from 5E:67:02:D3:1C:DB (random), reason 0x13 ()
```

- Apostrophes around error printing:
```
// strings enabled
Security failed: 5E:67:02:D3:1C:DB (random) level 1 \
err "BT_SECURITY_ERR_PAIR_NOT_ALLOWED (6)"
Disconnected from 5E:67:02:D3:1C:DB (random), reason \
"BT_HCI_ERR_REMOTE_USER_TERM_CONN (0x13)"
// strings disabled
Security failed: 5E:67:02:D3:1C:DB (random) level 1 err " (6)"
Disconnected from 5E:67:02:D3:1C:DB (random), reason " (0x13)"
```

Signed-off-by: Rubin Gerritsen <rubin.gerritsen@nordicsemi.no>
2024-07-31 12:56:11 +02:00
Maciej Baczmanski
040a942a63 manifest: net: openthread: Regular openthread upmerge to e10a925.
Regular openthread upmerge to `e10a92570f94ff1e0bc5e0da9ecf0ee135d955a6`.

Additionally commit aligns platform implementation with diag changes:
https://github.com/openthread/openthread/pull/10354

based on:
https://github.com/openthread/ot-nrf528xx/pull/822

Signed-off-by: Maciej Baczmanski <maciej.baczmanski@nordicsemi.no>
2024-07-30 18:27:15 +01:00
Marcin Gasiorek
ac0a9d79ab net: openthread: Add NAT64 send and receive callbacks.
Packets are routed between OT and Zephyr net stacks.
For IPv4 these packets are managed by NAT64 by default.

Signed-off-by: Marcin Gasiorek <marcin.gasiorek@nordicsemi.no>
2024-07-28 07:29:50 +03:00
Konrad Derda
ec0d6ab885 net: l2: openthread: set multicast loop by default
When multicast packet is forwarded to the OpenThread stack it has to
have its "multicast loop" flag enabled to be processed by the stack
itself instead of only propagating it further.

Signed-off-by: Konrad Derda <konrad.derda@nordicsemi.no>
2024-07-27 10:46:38 +03:00
Przemyslaw Bida
4c34e95904 net: openthread: Add implementation of TCAT advertisement.
Adds implementation of tcat advertisement API.

Signed-off-by: Przemyslaw Bida <przemyslaw.bida@nordicsemi.no>
2024-06-11 10:05:04 +02:00
Damian Krolik
42d928ee93 drivers: ieee802154: fix configuring CSL IE in ACK
The code was assigning a pointer to a scoped buffer to
an object outside that scope. This would cause the driver
would receive garbage instead of a well-formatted IE and
would likely reject the IE. This in turn caused CSL IE
not being included in enhanced ACKs (verified with
wireshark).

Signed-off-by: Damian Krolik <damian.krolik@nordicsemi.no>
2024-04-03 13:57:50 +03:00
Dave Lacerte
379ac5e394 modules: openthread: platform: radio: Time Sync OT Feature support
Add missing otRadioIeInfo structure and add plaform time to transmit frame

Signed-off-by: Dave Lacerte <lacerte.dave@hydroquebec.com>
2024-03-28 16:05:21 -05:00
Henrik Brix Andersen
33708c6b3d modules: openthread: platform: logging: catch up on log2_generic rename
The log2_generic() function was renamed to log_generic().

Fixes: 2155a9e5f7

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-02-15 10:02:40 +01:00
Maciej Baczmanski
85bc24eb07 net: openthread: Add PSA implementation for PBDKF2 genkey
Add implementation of openthread pbkdf2 generate key using PSA
functions.

Co-authored-by: Joakim Andersson <joakim.andersson@nordicsemi.no>

Signed-off-by: Maciej Baczmanski <maciej.baczmanski@nordicsemi.no>
2024-01-26 11:03:42 +01:00
Maciej Baczmanski
0f1747e4e7 net: openthread: upmerge to 7761b81
additionaly, implement `otPlatRadioResetCsl` functionality

Signed-off-by: Maciej Baczmanski <maciej.baczmanski@nordicsemi.no>
2024-01-26 10:48:02 +01:00
Maciej Baczmanski
36b7f44c1d drivers: ieee802154: fix handling of struct ieee802154_config
`struct ieee802154_config config` is a struct containing an
union. Members of `config` were accessed incorrectly in
`otPlatRadioEnableCsl`. Fix by initializing `config` with `0`
and accessing one member at a time.

Signed-off-by: Maciej Baczmanski <maciej.baczmanski@nordicsemi.no>
2024-01-26 10:48:02 +01:00
Maciej Baczmanski
d76bcd346c drivers: ieee802154: fix ACK header IE implementation
- In `set_vendor_ie_header_lm`, case when
`link_metrics_data_len == 0` has been ignored.
This commit fixes that by setting `header_ie->length = 0`
before returning.
- current implementation of enh ACK header IE returns
`-ENOTSUP` when `ack_ie.header_ie == NULL` or
`ack_ie.header_ie->length == 0`. This commit fixes that by
refactoring checks in `nrf5_configure`.

Co-authored-by: Przemyslaw Bida <przemyslaw.bida@nordicsemi.no>

Signed-off-by: Maciej Baczmanski <maciej.baczmanski@nordicsemi.no>
2024-01-26 10:48:02 +01:00
Przemyslaw Bida
a6184b9be3 net: openthread: Fix key import in case of ECDSA.
According to PSA specification in case of `PSA_KEY_TYPE_ECC_KEY_PAIR`
function `psa_import_key` takes private key from key pair as argument.
This commit adds extraction of Private key from ECDSA key pair.

Also removes not needed `otPlatCryptoEcdsaGetPublicKey`.

Signed-off-by: Przemyslaw Bida <przemyslaw.bida@nordicsemi.no>
2024-01-23 10:02:17 +01:00