Wrap BT controller initialization with CONFIG_BT to prevent its
background thread from starting in non-Bluetooth applications.
This avoids unexpected preemption that causes kernel scheduler tests
like `priority_preemptible_wait_prio` to fail.
Signed-off-by: Zhiyuan Tang <zhiyuan_tang@realsil.com.cn>
Moved all `sys.path.insert` from twister's modules
to `twisterlib.__init__.py` to have only one place where all paths
are added.
Signed-off-by: Łukasz Fundakowski <lukasz.fundakowski@nordicsemi.no>
Setting NUM_IRQS on RISC-V core to only the IRQ's used (up to GPIOTE30_1)
where VREGUSB, LFXO, LFRC, HFXO64M, AUXPLL interrupts aren't
used in drivers.
This is because on RISC-V with CONFIG_RISCV_GP, the linker may relax
accesses to some globals into gp-relative instructions; the offset from
__global_pointer$ to each such symbol must fit in a 12-bit signed range
(+/-2 KiB). _sw_isr_table in RAM is NUM_IRQS × 8 bytes and sits between
small data and much of .bss, so a smaller NUM_IRQS shortens that gap
and can keep symbols such as _kernel within gp-relative range, avoiding
R_RISCV_GPREL_I relocation truncation at link time.
Signed-off-by: David Jewsbury <david.jewsbury@nordicsemi.no>
Prevent unused function warning that comes from having a control module
node but no ti,unlock-offsets property. Do this by checking for the
aforementioned property alongside already present compat string.
Signed-off-by: Amneesh Singh <amneesh@ti.com>
Drop a few mentions to new drivers appearing in an inappropriate section.
There is a dedicated "New Drivers" section for new drivers :)
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
This commit updates the list of boards, shields, samples, and bindings
added in Zephyr 4.4, aiming for completeness now that project has entered
the feature freeze phase.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Test was skipped if baudrate was too high. Test can actually
reconfigure the DUT device to use lower baudrate and run the test.
Initial baudrate is restored once test is completed.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Extend the most basic test (single read) to check supported data
bits sizes (5-8 bits). If driver does not support given configuration
then test is skipped.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Kinetis ke1xf (twr_ke18f/mke18f16) and k8x (frdm_k82f) select
CONFIG_HAS_MCUX_CACHE but previously fell through to the no-op
clear_flash_caches() path, meaning caches were not invalidated
after flash erase or write operations.
After the FTFE controller completes an erase or write, stale data
may remain in the instruction cache and (on some parts) the system
bus cache. Subsequent reads can return outdated values instead of
updated flash contents. This causes test_flash_erase,
test_flash_fill, and test_flash_flatten in
tests/drivers/flash/common to fail, with data read back as stale
values (e.g. 0xAA from a prior fill).
Rebased on top of #105918 and updated to use Zephyr's generic cache
API (sys_cache_instr_invd_all() / sys_cache_data_invd_all()) for
cache invalidation. This keeps the flash driver SoC-agnostic and
relies on the cache driver (e.g. LMEM) for hardware-specific
handling.
Fixes#98487
Signed-off-by: Mohit Talwar <talwarmohit2005@gmail.com>
Using the legacy mbedTLS user configuration file with mbedTLS 4.x
causes build failures due to removed legacy macros and incompatible
PSA configurations.
Remove the obsolete user config files and migrate the required
configuration to Zephyr Kconfig instead. This aligns with the
mbedTLS 4.x integration model, simplifies maintenance, and improves
debuggability.
Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
Add missing mbedTLS and PSA configuration dependencies required by
wpa_supplicant enterprise, DPP and TLS 1.3 support.
This ensures that the enabled crypto features select the necessary
mbedTLS legacy and PSA components, such as CTR_DRBG, ECDHE-ECDSA,
extended master secret, RSA-PSS certificate verification, and required
ECC optimizations.
Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
Add a new Kconfig option, MBEDTLS_X509_RSASSA_PSS_SUPPORT, to explicitly
enable verification of X.509 certificates signed using the RSASSA-PSS
(RSA-PSS) signature algorithm.
This allows Zephyr to support modern TLS 1.2 and TLS 1.3 deployments
that rely on RSA-PSS signed certificate chains, while keeping the
feature configurable through Kconfig instead of hard-coding it in
mbedTLS configuration headers.
Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
Turn on CONFIG_MBEDTLS_DEBUG in the NXP hostap debug overlay to aid
TLS and EAP authentication debugging during development.
Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
The legacy mbedTLS user config mechanism is not compatible with
mbedTLS 4.x and causes build failures.
Remove CONFIG_MBEDTLS_USER_CONFIG_* from the NXP hostap sample overlays
and rely on Zephyr Kconfig for mbedTLS configuration.
Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
NRPA should be rotated every TGAP(private_addr_int)
according to spec, which is also checked in PTS.
Signed-off-by: Artur Dobrynin <artur.dobrynin@nordicsemi.no>
RT1166 and RT1176 CM4 parts use the MCUX LMEM cache block
and expose both code and system-bus cache in their HAL
feature headers.
Select the LMEM cache driver path, advertise both ICACHE
and DCACHE, and default these CM4 builds to
CACHE_MANAGEMENT with the external cache driver.
Signed-off-by: Holt Sun <holt.sun@nxp.com>
The generic ARM MPU nocache-memory cleanup path assumes Cortex-M
SCB dcache support whenever it needs to clean and invalidate
cache state before programming MPU regions.
That is correct for integrated ARCH_CACHE systems, but not for
cache backends such as NXP LMEM on RT11xx CM4 targets. Those
targets can select CPU_HAS_DCACHE and NOCACHE_MEMORY while using
a non-ARCH cache backend, which makes the direct SCB dcache
symbols unavailable and breaks builds in z_arm_mpu_init().
Keep the direct CMSIS SCB_CleanInvalidateDCache() call under the
ARCH_CACHE guard — since we already test SCB->CCR the integrated
cache controller is known to be present — and use the generic
cache API for other cache backends. This preserves the existing
integrated-cache behavior while allowing non-ARCH cache backends
to participate in the same MPU cleanup path.
Signed-off-by: Holt Sun <holt.sun@nxp.com>
LMEM cache maintenance helpers can be called before the
underlying code or system cache has been enabled.
This becomes visible on RT11xx CM4 targets once the generic ARM MPU
nocache-memory cleanup path uses the generic cache API for non-ARCH
cache backends during early boot. In that case, LMEM maintenance
requests must not blindly access the hardware while ENCACHE is clear.
Check the corresponding LMEM enable bit before performing code or
system cache maintenance. Return -EAGAIN when the selected cache is
currently disabled, and keep disable requests as a no-op when the
cache is already off.
Signed-off-by: Holt Sun <holt.sun@nxp.com>
Add a compliance test for device driver APIs to make sure API
<class>_driver_api struct variables are put in the corresponding linker
section using the DEVICE_API macro.
Assisted-by: Claude:claude-opus-4.6
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
This code would fail to compile if compiled with
`-Werror=implicit-fallthrough=`. The fallthrough does not seem to be
intentional as it is handling 2 discrete events.
Signed-off-by: Benjamin Gwin <bgwin@google.com>
This commit introduces 2 changes:
- cleans up the mpu initialziation, the old function is not
required because the initialziation is done properly via
mpu_regions.c for all cores
- defaults to using SystemCoreClockSetup instead of
SystemCoreClockUpdate because the former takes the
input from DT whereas the latter would read the info
from the HF clocks which in case of TF-M are secured
and not directly accessible from the cm33/ns (if SRF is
not set up)
Signed-off-by: Laura Carlesso <laura.carlesso@infineon.com>
Now that cm33/ns support has been introduced, we have
to properly use the secure or non secure start up code from
the mtb-templates files for cm33.
Signed-off-by: Laura Carlesso <laura.carlesso@infineon.com>
In TF-M the SCB used for logging on the pse84 board
is marked as non secure, therefore we have to update
the default config for tf-m to not attempt to print any
logs otherwise the tf-m (which is secure) will fault
trying to access a non-secure resource.
Signed-off-by: Laura Carlesso <laura.carlesso@infineon.com>
The README of this code sample was really minimal and not giving justice
to the functionality nor making it easy for folks to try it out.
Assisted-by: Copilot:claude-opus-4.6
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
At the moment, the documentation is not explicitly clear
on the thread safety of the net packets. So we need to make
it clear that the packet handling will always be done by
a single thread.
Signed-off-by: Nikhil Namjoshi <nikhilnamjoshi@google.com>
Pygments latest release ships with multiple fixes in the Devicetree lexer
that we want to be able to use.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Introduce the CONNMON_LINK_UTILIZATION resource to the Connection
Monitoring object. Add backing storage, initialize it during instance
creation, and register it in the resource table.
Signed-off-by: Zafer SEN <zafersn93@gmail.com>
71aa3be37b removed the directive which used
to source these files but forgot to delete them - do so now.
Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
Somewhere between v4.2.0 and v4.3.0, color rendering broke on this
board (bisecting leads to d0f7604b1a).
This fixes things, tested on display sample and lvgl demo.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Use doxygen driver_ops commands to document counter driver operations and
mark required versus optional callbacks based on API usage.
Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
Co-authored-by: Benjamin Cabé <benjamin@zephyrproject.org>
The current code resets the refresh_pos pointer on write, but does not
clear the corresponding digit drive pin. This means that the next timer
iteration is going to set the gpio for digit 0, but any other digit may
still be selected, which would cause a glitch on that digit for the
cycle.
There's no real need to reset this pointer on write though so just drop
the line, then the timer refresh just catches up to the new string and
the display is stable.
Also drop the reset line from the clear function as it does not make
much sense there either, but reset on timer end so that the next cycle
starts from the first digit.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
- Fixes the build configuration in sample.yaml for the zbus proxy agent
IPC sample, making the snippet be applied correctly to the intended
image.
- Moves the SOC-specific Kconfig option to board-specific Kconfig file
instead of passing it as an extra argument in the sample.yaml
Signed-off-by: Trond F. Christiansen <trond.christiansen@nordicsemi.no>
Add test suite for the zbus multidomain proxy agent
implementation.
adds a mock backend to enable isolated testing without requiring
actual hardware.
Signed-off-by: Trond F. Christiansen <trond.christiansen@nordicsemi.no>
Remove unused code related to zbus_proxy_agent_backend_desc and run-time
backend registration left over from early development.
Signed-off-by: Trond F. Christiansen <trond.christiansen@nordicsemi.no>