MCUX SDK drivers use DataQuickAccess, CodeQuickAccess, and
NonCacheable input sections for data, code, and NonCacheable
areas that require special placement.
The NXP HAL glue currently registers linker snippets for these
sections unconditionally on Cortex-M, which places them in the
default Zephyr SRAM-backed sections.
This prevents boards from using a memory layout where zephyr,sram
points to one memory region, such as OCRAM, while MCUX quick access
data or code must live in TCM. A board-provided linker snippet cannot
override the default placement because the HAL snippet consumes the
input section first.
Add Kconfig choices for MCUX DataQuickAccess, CodeQuickAccess, and
NonCacheable placement. The default selections preserve the existing
behavior, while new DTCM, ITCM, and CUSTOM options allow boards or
applications to place these sections explicitly.
Apply the same placement choices to both MCUX and S32 HAL glue paths,
since both use the shared MCUX linker snippets.
Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
To improve mapping of Kconfig to TF-PSA-Crypto options.
Make it default-enabled for now because MCUboot fails to
build without it (undefined `mbedtls_memory_buffer_alloc_init()`) and
there might be other consequences to disabling it by default.
Signed-off-by: Tomi Fontanilles <tomi.fontanilles@nordicsemi.no>
SLI_SI91X_ENABLE_OS and SL_SI91X_SI917_RAM_MEM_CONFIG are not specific to
the Network Co-Processor. They are also required by the Sleeptimer and for
deep sleep.
It is expected that Sleeptimer and Power Management will eventually be
usable without enabling the NWP. Move these definitions outside of the
CONFIG_SILABS_SIWX91X_NWP guard so they are always applied. This has no
impact on current builds since the NWP is always enabled alongside these
features today.
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Using Mbed TLS in the names wasn't accurate as it may be some other
PSA Crypto implementation.
Signed-off-by: Tomi Fontanilles <tomi.fontanilles@nordicsemi.no>
To allow specifying a different TF-PSA-Crypto paths when using
CONFIG_TF_PSA_CRYPTO_CUSTOM.
This is useful as Mbed TLS automatically compiles with include
directories pointing to TF_PSA_CRYPTO_DIR.
The Kconfig option is made available even when CONFIG_MBEDTLS
is disabled because there are tests that manually make use
of the TF-PSA-Crypto path, and enabling CONFIG_PSA_CRYPTO
makes them crash somehow (at least net.lwm2m.lwm2m_engine
on mps2/an385).
Signed-off-by: Tomi Fontanilles <tomi.fontanilles@nordicsemi.no>
Just as we have for Mbed TLS, provide the option for users that want
to bring their own TF-PSA-Crypto.
To that end, guard references to the tfpsacrypto CMake
library as well as the inclusion of zephyr_entropy.c
and zephyr_init.c behind CONFIG_TF_PSA_CRYPTO_BUILTIN.
Signed-off-by: Tomi Fontanilles <tomi.fontanilles@nordicsemi.no>
- Add Fast peripherals, GRTC CLCK pin, VPR121, VPR130
and MIPIRFFE Ctrlsel configuration to nRF9251.
- Add Trace port Ctrlsel support for nRF9251 and nRF9280.
- Simplify script by removing Family and rely only on SoC
number.
Signed-off-by: Aymen LAOUINI <aymen.laouini@nordicsemi.no>
Having an interface library named "mbedTLS" and the real library named
"mbedtls" (as provided by the Mbed TLS module) is misleading.
This commit replaces:
- mbedTLS -> mbedtls_iface for the CMake library. "mbedTLS" is still
available as alias to "mbedtls_iface" for backward
compatibility, but this should be removed in the future.
- mbedTLS -> Mbed TLS in comments and documentation.
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
Add missing include directory for the TF-M build.
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
Signed-off-by: Laura Carlesso <laura.carlesso@infineon.com>
- Add TFM_PUBLIC_KEY_FORMAT as Kconfig instead of CMake variable. It tells
in which format the public key is stored in the signed images.
Available options:
* full: store the public key in raw format;
* hash: store only the hash of the key.
- Modify all the boards that were previously setting TFM_PUBLIC_KEY_FORMAT
in their cmake files. Those changes were not required before because
"full" was already set by default when not otherwise specified, and
they are not needed now because that's the default for the Kconfig.
- Fix TF-M Cmake logic to properly set the key format used for the signing
key.
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
By default TF-M will installs TF-PSA-Crypto headers in the binary folder,
but this will duplicate what the TF-PSA-Crypto library already exports
in Zephyr. Disable this feature.
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
Prevent TF-M from signing images as this requires installing some extra
unnecesary Python packages (and it also wastes time), but keep generating
object files that are required to sign images.
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
Specify TF-PSA-Crypto path instead of the Mbed TLS 3.6 one. This is
required to build the crypto support in TF-M.
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
The serial-memory library allows to interact with the external flash but
its code needs to be relocated to RAM if the external flash is where the
code is executing from or it could cause faults.
Signed-off-by: Laura Carlesso <laura.carlesso@infineon.com>
Add a new Kconfig option to disable the stable BSP from build
and make part of the CMake file dependable on it to avoid conflicts
with external BSPs.
Also, remove remains of the old solution.
Signed-off-by: Magdalena Pastula <magdalena.pastula@nordicsemi.no>
When building with the address sanitizer and size optimizations on 32-bit
x86 (e.g. native_sim), the TF-PSA-Crypto bignum_core.c assembly fails
with: error: 'asm' operand has impossible constraints
A similar fix existed for the previous mbedtls 3.x integration (commit
691486de83) but was lost during the CMakeLists.txt rewrite for
Mbed TLS 4.x / TF-PSA-Crypto 1.x (commit 393350fd65).
Restore the workaround by forcing speed optimization (-O2) for
bignum_core.c when ASAN is enabled on 32-bit POSIX targets.
Signed-off-by: Jeremy Truttmann <jetstreeam.code@outlook.com>
- Modify Infineon module's CMakeLists.txt to include the correct .c
file, based on the devicetree flash node's "compatible" variable for
the supported, Infineon "edge" family platforms
- Add component name to kit_pse84_eval board's dtsi "flash" node
- Add component name to kit_pse84_ai board's dtsi "flash" node
- Update version of hal_infineon module in west.yml
Assisted-by: GitHub Copilot:claude-sonnet-4.6
Signed-off-by: McAtee Maxwell <maxwell.mcatee@infineon.com>
Make the per-family unicast route-table options user visible and
separate them more clearly from packet forwarding.
Expose NET_IPV4_ROUTE and NET_IPV6_ROUTE as the route-table support
symbols used for static routes, shell route commands, and host-side
route selection. Rename NET_IPV4_ROUTING and NET_IPV6_ROUTING to
NET_IPV4_FORWARDING and NET_IPV6_FORWARDING so the forwarding options
describe router behavior only.
Keep the old routing symbols as deprecated compatibility aliases,
move orig_iface packet metadata behind an internal helper symbol, and
update route test configs to select the route-table options
explicitly. Also add migration-guide notes so out-of-tree users know
how the old and new symbols map.
Assisted-by: Copilot:GPT-5.4
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Current upstream zephyr have enabled CONFIG_TFM_LOG_LEVEL_SILENCE
which will break the build when TFM_REGRESSION_S enabled. The reason
that it breaks is that the variable which shares the UART instance,
this is also aligning to other 54L soc, we can reenable it when
NCSDK-31930 is resolved.
Added nrf71 support for tf-m to use TFM_PERIPHERAL_UART30_SECURE when
SECURE_UART is enabled, aligning to 54L impplementation.
Signed-off-by: Travis Lam <travis.lam@nordicsemi.no>
Extend enum ieee802154_rx_fail_reason and map them
to OT errors. This ensures that otPlatRadioReceiveDone is
handled as per Openthread spec.
Signed-off-by: sree sreerajatha <sree.sreerajatha@silabs.com>
This key exchange was removed with Mbed TLS v4.0, but it was left by
mistake in Zephyr.
Signed-off-by: Tomi Fontanilles <tomi.fontanilles@nordicsemi.no>
This key exchange was removed with Mbed TLS v4.0, but it was left by
mistake in Zephyr.
Signed-off-by: Tomi Fontanilles <tomi.fontanilles@nordicsemi.no>
When writes are issued to the mram controller without verifying that it
is ready, it can cause the reads to be stalled until all writes finish.
Fix this by adding a wait busy loop before each MRAM_WORD aligned write
and disable autopowerdown before starting the write.
Signed-off-by: Riadh Ghaddab <riadh.ghaddab@nordicsemi.no>
Convert SMC driver inclusion from SOC-specific configuration to
devicetree-based configuration:
- CONFIG_SOC_SERIES_KINETIS_K2X → CONFIG_DT_HAS_NXP_SMC_ENABLED
- CONFIG_SOC_SERIES_KE1XZ → CONFIG_DT_HAS_NXP_SMC_ENABLED
Gate LLWU HAL driver on CONFIG_WUC_MCUX_LLWU (the Zephyr WUC driver
Kconfig) rather than DT node presence, since the DT node may exist
in disabled state without the driver being needed.
Signed-off-by: Holt Sun <holt.sun@nxp.com>
It doesn't really serve a purpose since the addition of
CONFIG_PSA_CRYPTO.
Replace remaining uses of the former by the latter.
TF-M now implies CONFIG_PSA_CRYPTO the same way as
CONFIG_MBEDTLS because otherwise we get build failures
if we build Mbed TLS without CONFIG_PSA_CRYPTO enabled.
Hopefully we can remove these two in a later PR.
Signed-off-by: Tomi Fontanilles <tomi.fontanilles@nordicsemi.no>
Simply make it depend on CONFIG_PSA_CRYPTO which allows to cover the
case where a PSA Crypto provider other than TF-M or Mbed TLS is used
and CONFIG_MBEDTLS_PSA_CRYPTO_C is not enabled.
Signed-off-by: Tomi Fontanilles <tomi.fontanilles@nordicsemi.no>
As the route API is IPv6 specific, rename the functions to reflect that.
Renaming routing related Kconfig options and files and add IPv6
prefix there as the routing calls are IPv6 specific.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Add a Zephyr counter driver for the NXP MCUXpresso System Counter
(SYS_CTR). The driver supports:
- 56-bit free-running up-counter
- Selectable clock source: 24 MHz base clock or 32 kHz slow clock
- Two compare frames (alarm channels) with a shared interrupt
- Standard Zephyr counter alarm API
Signed-off-by: Felix Wang <fei.wang_3@nxp.com>
When INPUT_MODE_THREAD is selected, default LV_Z_POINTER_INPUT_MSGQ_COUNT
to INPUT_QUEUE_MAX_MSGS so that the LVGL pointer queue depth matches the
input subsystem queue, preventing dropped touch/pointer events.
Signed-off-by: Muhammad Waleed Badar <walid.badar@gmail.com>
Parse DT information regarding NFCT pins and pass it as compiler flags
which are used by the MDK startup code.
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Introduce a new Kconfig option, MBEDTLS_PSA_ASSUME_EXCLUSIVE_BUFFERS,
to control the corresponding TF-PSA-Crypto configuration macro.
Previously, this option was implicitly enabled whenever
MBEDTLS_PSA_CRYPTO_C was set. This change makes the behavior explicit
and user-configurable through Kconfig.
The default remains 'y' to preserve existing behavior.
This option allows applications to disable the assumption of
non-overlapping input/output buffers when required, at the cost of
additional internal buffer handling.
Part of update-psa-crypto-build-symbols.
Signed-off-by: Sayed Naser Moravej <seyednasermoravej@gmail.com>
Extend the shared BFLB HCI driver with BL60x (BL602) support: BL60x
include paths, controller init macros, IRQ setup, and platform shim
forward declarations.
Kconfig adds BT_BFLB_BL60X with two controller variant choices
(m1s1, m8s1) and smart defaults based on enabled BT roles.
Signed-off-by: William Markezana <william.markezana@gmail.com>
If SD2PPI configuration for GPPI is used, it indicates that
external function for configuring PPIB need to be used.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Add Kconfig options to control whether the GRTC timer is stopped
and/or cleared when the driver is uninitialized (e.g. when
sys_clock_disable() is called).
Signed-off-by: Adam Kondraciuk <adam.kondraciuk@nordicsemi.no>
Introduces K_MEM_SLAB_DEFINE_TYPE() and K_MEM_SLAB_DEFINE_STATIC_TYPE()
helpers to allow the user to declare slabs for types without having to
manually ensure the alignment is correct.
Manual slab alignment was very error-prone and this change fixes several
instances of misalignment that would be trapped by the undefined
behavior sanitizer when running on 64-bit targets.
Signed-off-by: Egill Sigurdur <egill@egill.xyz>
Upstream CMSIS_6 is now consumable as a Zephyr module, but does
not provide CMake build files to preserve portability for
non-Zephyr users.
CMSIS Core is header-only, so integration only requires headers.
Drop add_subdirectory() and add the include path via
zephyr_include_directories().
Keep __PROGRAM_START handling in the Zephyr module integration layer.
Signed-off-by: Sudan Landge <sudan.landge@arm.com>
Handle optional `disk-name` for `st,stm32-sdmmc` entries in
FF_VOLUME_STRS to avoid build failures when the property is not present.
Signed-off-by: Mohammad Odeh <zephyr@exalt.ps>
Update hal_silabs to new HAL versions:
* SiSDK 2025.12.3
* WiSeConnect 4.0.2
This HAL update requires a minor change to the `memc` driver
for SiWx91x because an API has been renamed.
Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
The uarthci blob contains its own UART transport layer and does not
export bt_onchiphci_* symbols, making it incompatible with the Zephyr
HCI driver.
Signed-off-by: William Markezana <william.markezana@gmail.com>