Commit graph

829 commits

Author SHA1 Message Date
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
Fabian Blatz 7cc46e6948 modules: lvgl: Update CMakeLists for 8.3.11
Update CMakeLists to include new files, sort existing ones.

Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
2024-01-22 14:02:40 +01:00
Henrik Brix Andersen 3436c93387 drivers: can: remove run-time RTR filtering, add build-time RTR filter
A growing number of CAN controllers do not have support for individual RX
hardware filters based on the Remote Transmission Request (RTR) bit. This
leads to various work-arounds on the driver level mixing hardware and
software filtering.

As the use of RTR frames is discouraged by CAN in Automation (CiA) - and
not even supported by newer standards, e.g. CAN FD - this often leads to
unnecessary overhead, added complexity, and worst-case to non-portable
behavior between various CAN controller drivers.

Instead, move to a simpler approach where the ability to accept/reject RTR
frames is globally configured via Kconfig. By default, all incoming RTR
frames are rejected at the driver level, a setting which can be supported
in hardware by most in-tree CAN controllers drivers.

Legacy applications or protocol implementations, where RTR reception is
required, can now select CONFIG_CAN_ACCEPT_RTR to accept incoming RTR
frames matching added CAN filters. These applications or protocols will
need to distinguish between RTR and data frames in their respective CAN RX
frame handling routines.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-01-21 11:00:31 +01:00
Eduardo Montoya 822e8d4cc4 net: openthread: remove unneded call to otLinkMetricsInit
Platforms calculate Link Metrics values internally after using
`otPlatRadioConfigureEnhAckProbing`.

Signed-off-by: Eduardo Montoya <eduardo.montoya@nordicsemi.no>
2024-01-19 09:48:03 +01:00
Krzysztof Chruściński 4fcf8e0630 modules: hal_nordic: nrfx: Add new UARTE options to Kconfig
Add Kconfig options to new configuration flags for nrfx_uarte.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2024-01-18 11:12:55 +01:00
Joakim Andersson 3a830433be tfm: Provide properties for selected TF-M toolchain for NS application
Provide properties for selected TF-M toolchain so that the NS
application will use the same toolchain as TF-M.

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
Signed-off-by: Markus Swarowsky <markus.swarowsky@nordicsemi.no>
2024-01-17 16:52:52 +01:00
Markus Swarowsky ad9cdf06c4 samples: tfm_psa_test: Adapt to TF-M split build
The sample now builds the psa-arch-tests itself and doesn't rely anymore
on the TF-M module CMakeFile.
Additionally it will not run the zephyr main.c anymore but therefore only
uses the tf-m non-secure application.

Signed-off-by: Markus Swarowsky <markus.swarowsky@nordicsemi.no>
2024-01-17 16:52:52 +01:00
Markus Swarowsky cac7f4058f modules: tf-m: Remove building of PSA arch tests
This removed the CMake code that builds the TF-M arch tests within the
TF-M CMakeFile. It will be moved to the tfm_integration/tfm_psa_test
sample CMakeFile.

Signed-off-by: Markus Swarowsky <markus.swarowsky@nordicsemi.no>
2024-01-17 16:52:52 +01:00
Joakim Andersson f48467a2a6 tfm: Update TF-M regression tests sample to build NS app
Update the TF-M regression tests sample to build the NS app
in the tf-m-tests repository as an external project.

The regression tests need to provide test configurations to both
TF-M an NS app.
Duplicate configuration done in the spe/CMakeLists.txt to configure
TF-M image for the regression tests.

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
Signed-off-by: Markus Swarowsky <markus.swarowsky@nordicsemi.no>
2024-01-17 16:52:52 +01:00
Joakim Andersson f49cbf13ca tfm: Remove TFM_BUILD_NS and update TFM_USE_NS_APP for NS build folder
TF-M no longer builds the NS app, but exports build files to api_ns
folder and expects the user to build the rest themselves.
Remove the option to build the NS app, and update the TFM_USE_NS_APP
to look for an output hex file in the tfm_ns folder.

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
Signed-off-by: Markus Swarowsky <markus.swarowsky@nordicsemi.no>
2024-01-17 16:52:52 +01:00
Joakim Andersson 6c927490d0 tfm: Add NS build support for zephyr out-of-tree nordic_nrf platform.
Add build of the NS application in the zephyr defined out-of-tree board
support for the nordic_nrf platform.

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
Signed-off-by: Markus Swarowsky <markus.swarowsky@nordicsemi.no>
2024-01-17 16:52:52 +01:00
Joakim Andersson 3398c98743 modules: mbedtls: Use TF-M PSA API headers
Use TF-M PSA API headers when compiling with TF-M enabled.

Fixes: #43249

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
Signed-off-by: Markus Swarowsky <markus.swarowsky@nordicsemi.no>
2024-01-17 16:52:52 +01:00
Markus Swarowsky dc7613865d modules: mbedtls: Add a mbedtls_ms_time implementation
MbedTLS 3.5.0 requires a implementation of mbedtls_ms_time giving a
time in ms for TLS 1.3
Therefor adding an alternative implementation using zephyrs
k_uptime_get

Signed-off-by: Markus Swarowsky <markus.swarowsky@nordicsemi.no>
2024-01-17 16:52:52 +01:00
Markus Swarowsky fbee1c61ed modules: mbedtls: Rename of psa_crypto_driver_wrappers
psa_crypto_driver_wrappers.c got changed to
psa_crypto_driver_wrappers_no_static.c

Signed-off-by: Markus Swarowsky <markus.swarowsky@nordicsemi.no>
2024-01-17 16:52:52 +01:00
Joakim Andersson f5eecd500d tfm: nordic_nrf: Remove include of tfm_api.h, update install path
Update install path of tfm_ioctl_api.h, remove include of tfm_api.h

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
Signed-off-by: Markus Swarowsky <markus.swarowsky@nordicsemi.no>
2024-01-17 16:52:52 +01:00
Joakim Andersson d931dded11 tfm: Use PSA error codes instead of TFM error codes
The TFM error codes are no longer in the interface headers.
All TF-M functions return PSA status codes, so use this here as well.

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
Signed-off-by: Markus Swarowsky <markus.swarowsky@nordicsemi.no>
2024-01-17 16:52:52 +01:00
Joakim Andersson a14f42a817 modules: Update source, lib and include path for TF-M interface files
Update source lib and include path for TF-M interface files.

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
Signed-off-by: Markus Swarowsky <markus.swarowsky@nordicsemi.no>
2024-01-17 16:52:52 +01:00
Markus Swarowsky 8b257c058d modules: tf-m: Remove platform_ns target
The platform_ns library is no longer build with the split build anymore
so removing it.

Signed-off-by: Markus Swarowsky <markus.swarowsky@nordicsemi.no>
2024-01-17 16:52:52 +01:00
Markus Swarowsky 11175c3ad3 tf-m: Change NS include path for TF-M 2.0.0
The place where TF-M places its non-secure api header files has changed
Therefore changing it for for all applications that use it.

Signed-off-by: Markus Swarowsky <markus.swarowsky@nordicsemi.no>
2024-01-17 16:52:52 +01:00
Markus Swarowsky 78fd53fae7 modules: tf-m: nrf9160: Change to cpuarch.cmake
The preload.cmake was renamed to cpuarch.cmake in TF-M so change

Signed-off-by: Markus Swarowsky <markus.swarowsky@nordicsemi.no>
2024-01-17 16:52:52 +01:00
Markus Swarowsky 132bfc45b7 modules: tf-m: nrf9120: Change to cpuarch.cmake
The preload.cmake was renamed to cpuarch.cmake in TF-M so change

Signed-off-by: Markus Swarowsky <markus.swarowsky@nordicsemi.no>
2024-01-17 16:52:52 +01:00
Markus Swarowsky 21098acdec modules: tf-m: nrf5340_cpuapp: Change to cpuarch.cmake
The preload.cmake was renamed to cpuarch.cmake in TF-M so change

Signed-off-by: Markus Swarowsky <markus.swarowsky@nordicsemi.no>
2024-01-17 16:52:52 +01:00
Markus Swarowsky 85ecdd70e4 modules: mbedtls: Adapt source list to 3.5.0
remove hash_info.c and add ecp_curves_new.c

Signed-off-by: Markus Swarowsky <markus.swarowsky@nordicsemi.no>
2024-01-17 16:52:52 +01:00
Markus Swarowsky e53485c012 modules: mbedtls: Sort base src
Sort the list of source files for the mbedTLSBase library

Signed-off-by: Markus Swarowsky <markus.swarowsky@nordicsemi.no>
2024-01-17 16:52:52 +01:00
Eduardo Montoya fe9e306a83 net: openthread: fix otLinkMetricsInit usage
Remove usage of `otPlatRadioGetReceiveSensitivity` without the
`otInstance` parameter.

Signed-off-by: Eduardo Montoya <eduardo.montoya@nordicsemi.no>
2024-01-17 09:55:34 +01:00
Tomasz Moń 2dee952a95 modules: hal_nordic: nrfx: update API version to 3.3.0
Update i2s nrfx driver to pass buffer size alongside buffer pointers.
No functional changes.

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2024-01-15 13:54:13 +01:00
Damian Krolik 7b42e36c68 net: openthread: Print the actual assert location
When OpenThread application is built with CONFIG_ASSERT
and CONFIG_ASSERT_NO_MSG_INFO, OT_ASSERT() prints a location
that points to the otPlatAssertFail() function instead of
the code that actually failed an assertion.

This is confusing and CONFIG_ASSERT_NO_MSG_INFO sometimes
cannot be disabled because of flash size limitations.

Make otPlatAssertFail() always print the actual assert
location.

Signed-off-by: Damian Krolik <damian.krolik@nordicsemi.no>
2024-01-15 09:58:48 +01:00
Damian Krolik 36b7a3e701 net: openthread: Remove PSA crypto backend workarounds
Remove two workarounds in OpenThread's PSA crypto backend
that were required when Zephyr used pre-1.5 TF-M version:
1. psa_open_key() is no longer needed to reference
   a persistent key
2. psa_cipher_encrypt() can be used to simplify AES
   encryption

Signed-off-by: Damian Krolik <damian.krolik@nordicsemi.no>
2024-01-12 11:26:41 -06:00
Armando Visconti 765519ea92 drivers/sensor: fix some ST drivers dependency to HAL_ST module
In order to avoid build failures as described in issue #67242,
make all ST drivers using HAL_ST module dependent to HAL_STMEMSC
and HAS_STLIB libs, which need to be configured in all samples
referring to them.

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2024-01-12 12:55:46 +01:00
Mahesh Mahadevan 0a26da9b08 Revert "modules: hal_nxp: usb: enable sof notifications"
This reverts commit 2b91d62c0e.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2024-01-12 09:59:02 +01:00
Przemyslaw Bida 0018204091 net: openthread: Add new key and algorithm in PSA.
This commit adds new types of keys and algorithm to crypto_psa backend
of openthread.

Added options:
- `OT_CRYPTO_KEY_TYPE_ECDSA`
- `OT_CRYPTO_KEY_ALG_ECDSA`
- `OT_CRYPTO_KEY_USAGE_VERIFY_HASH`

Signed-off-by: Przemyslaw Bida <przemyslaw.bida@nordicsemi.no>
2024-01-11 15:40:55 -06:00
Maciej Baczmanski f32e686511 net: openthread: implement otPlatResetToBootloader
This commit implements `otPlatResetToBootloader` in two ways:

- trigger reset to bootloader using boot mode retention API
- trigger reset to bootloader by triggering GPIO pin (applicable
for nRF52840 Dongle)

Signed-off-by: Maciej Baczmanski <maciej.baczmanski@nordicsemi.no>
2024-01-11 15:37:58 -06:00
Andrzej Kuros c4ce235973 modules: hal_nordic: remove NRF_802154_ENERGY_DETECTED_VERSION
The macro `NRF_802154_ENERGY_DETECTED_VERSION` is no longer required
because transition of nrf 802154 API is done.

Signed-off-by: Andrzej Kuroś <andrzej.kuros@nordicsemi.no>
2024-01-10 20:55:05 -05:00
James Zipperer 2b91d62c0e modules: hal_nxp: usb: enable sof notifications
When building with CONFIG_USB_DEVICE_AUDIO, enable start of frame
notifications from the mcux sdk usb middleware

Signed-off-by: James Zipperer <jzipperer@fb.com>
2024-01-10 15:08:06 +01:00
Gerard Marull-Paretas 067f32731e modules: hal_gigadevice: use CONFIG_${ARCH} to select components
Instead of using custom SoC definitions. The selected components (e.g.
CMSIS), depend on the architecture selected by the SoC Kconfig options.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-01-10 15:05:54 +01:00
Andriy Gelman d540407fc8 drivers: mdio: Add xmc4xxx mdio drivers
Add mdio drivers for xmc4xxx SoCs.

Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com>
2024-01-09 10:00:47 +01:00
Jakub Zymelka ade49f081d modules: hal_nordic: nrfx: update API version to 3.2.0
Updated API version enables multi-instance GPIOTE driver.
Additionally obsolete symbol that was used to specify
API version in the past was removed.
Affected drivers have been adjusted and appropriate changes
in affected files have been made.

Signed-off-by: Jakub Zymelka <jakub.zymelka@nordicsemi.no>
2024-01-08 11:19:37 +01:00
Jakub Zymelka dfbcc8911a dts: arm: add new gpiote instances definition
Added GPIOTE0, GPIOTE1 instances for legacy devices,
GPIOTE20, GPIOTE30 for Moonlight and GPIOTE130,
GPIOTE131 instances for Haltium.

Signed-off-by: Jakub Zymelka <jakub.zymelka@nordicsemi.no>
2024-01-08 11:19:37 +01:00
Maciej Baczmanski d0283f9b15 net: openthread: add missing cmake option
Added `OT_PLATFORM_POWER_CALIBRATION` and set to always off
as in Zephyr power calibration is handled by Radio Driver.

Signed-off-by: Maciej Baczmanski <maciej.baczmanski@nordicsemi.no>
2024-01-08 10:09:13 +01:00
Eduardo Montoya 5767998d4f drivers: ieee802154: nrf: make selective tx power the default
Remove `IEEE802154_SELECTIVE_TXPOWER` option.

Cache the tx power value in nRF5 driver and make use of it on each
operation.

Signed-off-by: Eduardo Montoya <eduardo.montoya@nordicsemi.no>
Signed-off-by: Jędrzej Ciupis <jedrzej.ciupis@nordicsemi.no>
2024-01-05 09:04:17 +01:00
Maciej Baczmanski 11613e08e7 net: openthread: increase TCAT stack size
Running TCAT with PSA crypto API  causes stack overflow.
Increased stack size.

Signed-off-by: Maciej Baczmanski <maciej.baczmanski@nordicsemi.no>
2024-01-03 19:01:05 +00:00
Jędrzej Ciupis 57ee911891 modules: hal_nordic: new nrf_802154 configuration option
This commit adds a new Kconfig for the nRF 802.15.4 radio driver that
allows the user to specify the number of encryption keys the driver can
simultaneously store.

Signed-off-by: Jędrzej Ciupis <jedrzej.ciupis@nordicsemi.no>
2024-01-03 10:18:56 +01:00
Jędrzej Ciupis 054353a75d modules: hal_nordic: reorganize nrf_802154 Kconfig
There are multiple Kconfig symbols that are only available when the
radio hardware is present. As a result, the nRF 802.15.4 radio driver
is more difficult to configure on multicore architectures. Also, such
solution goes against the principle of hiding the details of the
platform behind the driver's interface.

This commit moves all the Kconfig options that correspond to settings
present in common nRF 802.15.4 configuration header so that they're
available no matter if the API is serialized.

Signed-off-by: Jędrzej Ciupis <jedrzej.ciupis@nordicsemi.no>
2024-01-03 10:18:56 +01:00
cyliang tw 9ad8e1ab74 drivers: adc: support Nuvoton numaker series
Add Nuvoton numaker series adc controller, including async read feature.

Signed-off-by: cyliang tw <cyliang@nuvoton.com>
2024-01-02 10:10:27 +01:00
TOKITA Hiroshi 2b24a5c90c modules: hal_rpi_pico: Remove unused drivers
Remove drivers that not been referenced.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2023-12-20 11:14:24 +01:00
Erwan Gouriou 6ed002ddae modules: Kconfig.stm32: Add Kconfig symbol for RAMCFG
RAMCFG will be required for STM32WBA BLE support.

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2023-12-18 17:31:08 +00:00
Przemyslaw Bida b6d8d2715c net: openthread: Add cmake makro to openthread cmake lists.
This commit introduces `kconfig_to_ot_option` to simply fye the way of
adding openthread related kconfigs.

Signed-off-by: Przemyslaw Bida <przemyslaw.bida@nordicsemi.no>
2023-12-18 12:25:12 +01:00
Adam Wojasinski a7a6b5654a modules: hal_nordic: Add possibility to specify own source of the nrfx
Introduce possibility to override `NRFX_DIR` sybol from hal_nordic's
CMakeLists.txt file that specifies source dir for the nrfx drivers.

Signed-off-by: Adam Wojasinski <adam.wojasinski@nordicsemi.no>
2023-12-15 11:41:02 +00:00
Armando Visconti 1badec4bfd drivers/sensor: add support to LIS2DU12 accelerometer
The LIS2DU12 is a linear 3-axis accelerometer with advanced digital
functions whose MEMS and ASIC have been expressly designed to build
an outstanding ultralow-power architecture in which the anti-aliasing
filter operates with a current consumption among the lowest in the
market.
This driver is based on stmemsc HAL i/f v2.3

https://www.st.com/en/datasheet/lis2du12.pdf

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2023-12-14 09:28:52 +01:00
Anas Nashif d398e9631b lib: heap: build heap_info conditionally
Only build when needed and adapt existing users to pull this in when
needed.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-12-13 17:27:54 -05:00