Commit graph

136,983 commits

Author SHA1 Message Date
Daniel Schaefer
e64a7a2817 boards: framework: Remove unnecessary figure
Requested during code review to remove.
Apparently zephyr:board:: automatically does it.

Signed-off-by: Daniel Schaefer <dhs@frame.work>
2026-01-17 20:29:34 +00:00
Daniel Schaefer
7bd6c0079b boards: framework: Add framework_ledmatrix board
The following examples build and work as expected:

> west build -p -b framework_ledmatrix samples/basic/button
> west build -p -b framework_ledmatrix samples/basic/minimal
> west build -p -b framework_ledmatrix samples/subsys/usb/console
> west build -p -b framework_ledmatrix samples/subsys/usb/cdc_acm
> west build -p -b framework_ledmatrix samples/subsys/input/input_dump

Signed-off-by: Daniel Schaefer <dhs@frame.work>
2026-01-17 20:29:34 +00:00
Felix Wang
63c2ea0054 tests: drivers: pwm: pwm_loopback: boards: Enabe test on lpcxpresso55s36
Add lpcxpresso55s36  board configuration file.

Signed-off-by: Felix Wang <fei.wang_3@nxp.com>
2026-01-17 17:05:00 +01:00
Felix Wang
e72d11e903 drivers: pwm: Add input capture support to nxp,sctimer-pwm
Implement PWM input capture functionality for the NXP SCTimer
driver with support for both pulse width and period measurement
in single-shot and continuous modes.

Signed-off-by: Felix Wang <fei.wang_3@nxp.com>
2026-01-17 17:05:00 +01:00
Felix Wang
3a5f9c886e dts: bindings: pwm: Add input capture properties to nxp,sctimer-pwm
Add input-channels and inputmux-connections properties to the
nxp,sctimer-pwm device tree binding to support SCTimer input
capture configuration.

Signed-off-by: Felix Wang <fei.wang_3@nxp.com>
2026-01-17 17:05:00 +01:00
Felix Wang
e7840a9d27 drivers: pwm: Fix polarity update on duty cycle change
1.Add mcux_sctimer_pwm_update_polarity() function to properly
reconfigure PWM output polarity when duty cycle is updated.
2.Update Match Reload Value register when Match register is
set.
3.Stop timer before update to prevent bus error

Signed-off-by: Felix Wang <fei.wang_3@nxp.com>
2026-01-17 17:05:00 +01:00
Felix Wang
c30ad66e46 tests: drivers: pwm: pwm_api: boards: Enable frdm_mcxa153 test
Add device tree overlay to enable PWM API testing on the frdm_mcxa153
board using ctimer0. The overlay configures:
- PWM test alias pointing to ctimer0
- Pin P2_12 (J2_12) as PWM output
- ctimer0 in PWM mode with prescaler set to 1

Signed-off-by: Felix Wang <fei.wang_3@nxp.com>
2026-01-17 17:04:44 +01:00
Felix Wang
fa48bee6c4 drivers: pwm: fix prescaler calculation for pwm_mcux_ctimer
The prescaler divides the clock by (prescaler + 1), not by the prescaler
value directly. Update the calculation to correctly account for this.

Signed-off-by: Felix Wang <fei.wang_3@nxp.com>
2026-01-17 17:04:44 +01:00
Felix Wang
d2c4dda0c6 dts: bindings: pwm: clarify prescaler description for ctimer pwm
Clarify that the prescaler value divides the clock by (prescaler + 1),
not by the prescaler value directly. This helps users understand the
actual clock division behavior.

Signed-off-by: Felix Wang <fei.wang_3@nxp.com>
2026-01-17 17:04:44 +01:00
Derek Snell
694ecafce2 boards: nxp: mimxrt1180_evk: enable CM7 execution from hyperram
* adds CM7 HyperRAM overlay and documentation
* removes hardcoded Kconfig settings for ITCM
* adds example cm33_sram_dtcm.overlay

Signed-off-by: Derek Snell <derek.snell@nxp.com>
2026-01-17 17:04:35 +01:00
Derek Snell
baaf468bc1 soc: nxp: imxrt1180: enable more CM7 memory execution options
Enables other RAM locations for CM7 instead of hardcoding to ITCM.

Signed-off-by: Derek Snell <derek.snell@nxp.com>
2026-01-17 17:04:35 +01:00
Felix Wang
c84fdef122 tests: pwm: pwm_loopback: Add board overlay for mimxrt1180_evk
Add device tree overlay for PWM loopback testing on the
MIMXRT1180EVK board using FlexPWM1 module.

Configuration includes:
- Pin configuration for PWM output (gpio_ad_00/J69-3) and input
  capture (gpio_ad_06/J70-1) using FlexPWM1 channels
- PWM loopback test node with output on channel 0 and input on
  channel 2
- Input filter settings with minimal count and period for testing
- Physical connection requirement between J69-3 and J70-1

Signed-off-by: Felix Wang <fei.wang_3@nxp.com>
2026-01-17 17:04:24 +01:00
Felix Wang
8dcd7579eb drivers: pwm: Add PWM capture functionality for pwm_mcux
Add support for PWM input capture functionality to the NXP MCUX PWM
driver. This enables measurement of pulse width and period of external
PWM signals.

Key features added:
- PWM capture configuration and control APIs
- Interrupt-driven capture with overflow handling
- Support for both pulse width and period measurement
- Configurable input filtering
- Support for continuous and one-shot capture modes

The implementation uses FlexPWM channel X as the dedicated input
capture channel, while channels 0 and 1 remain available for PWM
output. Capture functionality is conditionally compiled based on
CONFIG_PWM_CAPTURE configuration option.

Signed-off-by: Felix Wang <fei.wang_3@nxp.com>
2026-01-17 17:04:24 +01:00
Felix Wang
bf829e6476 dts: bindings: pwm: Add input filter properties for nxp,imx-pwm.yaml
Add device tree binding properties for PWM input capture filtering
functionality to the NXP i.MX PWM driver binding.

New properties added:
- input-filter-count: Configure number of consecutive samples
  required before accepting input transitions
- input-filter-period: Set sampling period in IPBus clock cycles
  for input capture filtering

These properties enable configuration of input filtering to reduce
noise and improve signal integrity for PWM capture operations.
Setting filter period to 0 bypasses the input filter entirely.

Signed-off-by: Felix Wang <fei.wang_3@nxp.com>
2026-01-17 17:04:24 +01:00
Felix Wang
f46f921b7f drivers: pwm: Fix ASSERTION FAIL in pwm_mcux
In PWM_SetupPwm implementation, there is a check:
    temp = pwmClock / pwmFreq_Hz;
    assert(temp <= 0xFFFFU);
Currently pwmFreq_Hz is 1, makes assert failed with
high frequency pwmClock. Since VALx values is set
directly for edge aligned PWM, the pwmFreq_Hz here is
a dummy value, set pwmFreq_Hz equal to pwmClock
frequency to pass assert check.

Signed-off-by: Felix Wang <fei.wang_3@nxp.com>
2026-01-17 17:04:24 +01:00
Tom Hughes
a0fdebcc90 tests: drivers: build_all: input: Fix warning
When building the drivers.input.adc_keys test with clang and
-Winitializer-overrides, it warns:

subsys/input/input_keymap.c:123:29: error: initializer overrides prior
initialization of this subobject [-Werror,-Winitializer-overrides]
  123 | DT_INST_FOREACH_STATUS_OKAY(INPUT_KEYMAP_DEFINE)
      | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
/include/zephyr/devicetree.h:5306:25: note: expanded from macro
'DT_INST_FOREACH_STATUS_OKAY'
 5304 |         COND_CODE_1(DT_HAS_COMPAT_STATUS_OKAY(DT_DRV_COMPAT),   \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 5305 |                     (UTIL_CAT(DT_FOREACH_OKAY_INST_,            \
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 5306 |                               DT_DRV_COMPAT)(fn)),              \
      |                               ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
 5307 |                     ())
      |                     ~~~

Signed-off-by: Tom Hughes <tomhughes@chromium.org>
2026-01-17 14:28:33 +01:00
Tom Hughes
a28b6f8ed7 arc: Use ARG_UNUSED instead of self-assignment to avoid clang warnings
clang warns about self assignment when -Wself-assign is enabled.

Signed-off-by: Tom Hughes <tomhughes@chromium.org>
2026-01-17 14:28:18 +01:00
TOKITA Hiroshi
c4f1ccb960 boards: qnx: Add support for QNX Hypervisor virtual machine
Adding support for running Zephyr OS as a guest virtual machine
in the QNX Hypervisor environment.
This change introduces a new board configuration for ARM64-based
QNX Hypervisor VM.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2026-01-17 14:28:08 +01:00
Derek Snell
051940789d boards: nxp: mimxrt1040_evk: enable Ethernet
Tested with samples dhcpv4_client and http_server.

Signed-off-by: Derek Snell <derek.snell@nxp.com>
2026-01-17 14:27:35 +01:00
Neil Chen
eac5cfa0e4 boards: nxp: frdm_mcxn947,mcx_n9xx_evk: Update doc
Update frdm_mcxn947,mcx_n9xx_evk boards' Datasheet and
Reference manual link

Signed-off-by: Neil Chen <cheng.chen_1@nxp.com>
2026-01-17 14:27:09 +01:00
Chay Guo
0b30562497 doc: boards: mimxrt700_evk: fix build command for display
- Fix the build command for display samples.

Signed-off-by: Chay Guo <changyi.guo@nxp.com>
2026-01-17 14:26:47 +01:00
Yves Wang
334f5726b4 soc: nxp: unify DISABLE_WDOG condition
Aligh the macro to determine DISABLE_WDOG definition for nxp devices.

Signed-off-by: Yves Wang <zhengjia.wang@nxp.com>
2026-01-17 14:26:25 +01:00
Isabelle OGER
a2a14b548e boards: shields: add support for ST87M01 module.
Add support for the STMicroelectronics ultra-compact low-power NB-IoT
industrial ST87M01 module.

Signed-off-by: Isabelle OGER <isabelle.oger@st.com>
2026-01-17 14:25:46 +01:00
Isabelle OGER
69a826c7f5 tests: drivers: build_all: add support for ST87M01 module.
Add support for the STMicroelectronics ultra-compact low-power NB-IoT
industrial ST87M01 module.

Signed-off-by: Isabelle OGER <isabelle.oger@st.com>
2026-01-17 14:25:46 +01:00
Isabelle OGER
d6e3b49837 dts: bindings: add support for STMicroelectronics ST87M01 module.
Add support for the STMicroelectronics ultra-compact low-power NB-IoT
industrial ST87M01 module.

Signed-off-by: Isabelle OGER <isabelle.oger@st.com>
2026-01-17 14:25:46 +01:00
Isabelle OGER
bdf1e58a97 drivers: modem: introduce STMicroelectronics ST87M01 modem driver
The STMicroelectronics ST87M01 modem is an ultra-compact low-power
NB-IoT industrial module.
The ST87M01 is a high-performance, fully programmable, ultra-compact,
and low-power LTE Cat NB2 NB-IoT industrial module series,
offering comprehensive worldwide band coverage and advanced
security features.
Supporting a wide range of IoT protocols, the ST87M01 module includes
PDU SMS services and internet protocols such as TCP/IP, TLS/DTLS, CoAP,
LwM2M, MQTT, and HTTP/HTTPS, enabling versatile connectivity and
application scenarios.

This driver introduces support for AT commands to query modem
information and socket offloading for TCP/UDP transfers.

Signed-off-by: Isabelle OGER <isabelle.oger@st.com>
2026-01-17 14:25:46 +01:00
Fabio Baltieri
69c7befe26 drivers: eth_nxp_enet_qos: add promisc mode support
Add support for ETHERNET_CONFIG_TYPE_PROMISC_MODE.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2026-01-16 20:56:56 +00:00
Jason Yu
4808de2498 drivers: flash: soc_mcux: Fix ram function permission issue
Add workaround for MCUXSDK FTFX driver when FTFx_DRIVER_IS_FLASH_RESIDENT
is enabled.
The SDK places the run command function in data section which
is not executable when Zephyr configures memory permissions.
Implement a RAM function to replace the FTFX driver's run command function

Fixes: #98560

Signed-off-by: Jason Yu <zejiang.yu@nxp.com>
2026-01-16 20:56:50 +00:00
Gaetan Perrot
bc5f5f8829 boards: adi: fix evaluation typo in board names
Fix a spelling mistake in the board name description for ADI
evaluation boards.

No functional change.

Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
2026-01-16 18:08:51 +01:00
Malon Tian
16ffda989b scripts: west: fix typos and formatting in sdk help message
Specific fixes include:
- Add missing space after period in the disk space warning.
- Fix mismatched quotes in the --install-base example (usage of `...').
- Removed a typo double quote in the installation description.

This addresses the CLI help message issues reported.

Fixes #95609

Signed-off-by: Malon Tian <a3205153416@gmail.com>
2026-01-16 18:08:24 +01:00
Robert Lubos
602b91039a net: core: Queue loopback packets instead of processing directly
Instead of processing loopback packets from the TX thread directly,
queue them for further processing by RX thread (if possible), just as
regular packets. It's now possible as the information regarding the
packet is a loopback one or not is stored directly in the net_pkt
structure.

This allows to avoid unexpected stack consumption increases if packets
are sent for loopback destinations.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2026-01-16 18:07:57 +01:00
Mathieu Choplain
e0d6d425bd drivers: disk: sdmmc_stm32: error out when no domain clock is provided
If CONFIG_SDMMC_STM32_CLOCK_CHECK=y but the SDMMC node lacked domain clock,
the driver would perform an out-of-bounds access to priv->pclken[1] and
provide garbage as the "subsystem" in the call to clock_control_get_rate().

Detect this situation and error out with an explicit message instead to
prevent UB and help users.

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2026-01-16 18:07:27 +01:00
Tim Pambor
9066af6a70 soc: st: stm32: {h5, l5, u5, wbax}: Correct cache line size
STM32H5, STM32L5, STM32U5, and STM32WBAX series MCUs have external
ICACHE/DCACHE with a cache line size of 16 bytes. The previous
configuration incorrectly set the cache line size to 32 bytes (the
default cache line size for Cortex-M cores).

Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
2026-01-16 18:07:00 +01:00
Andrej Butok
46e1c2a52e boards: nxp: mimxrt1170_evk: unify the documentation title
Removed revision from the MIMXRT1170-EVK documentation title,
to be consistent with all other MIMXRT boards.

Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
2026-01-16 18:06:36 +01:00
Bjarki Arge Andreasen
e0481a1f30 drivers: i2c: i2c_nrfx: Use NRF_DT_INST_IRQ macros
Use NRF_DT_INST_IRQ_ macros which support building with and without
SW ISR table for all nordic socs.

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2026-01-16 18:06:06 +01:00
Bjarki Arge Andreasen
7f685ca60a drivers: gpio: nrfx_gpio: Use NRF_DT_INST_IRQ macros
Use NRF_DT_INST_IRQ_ macros which support building with and without
SW ISR table for all nordic socs.

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2026-01-16 18:06:06 +01:00
Bjarki Arge Andreasen
2e9586b33b drivers: spi: nrfx_spim: Use NRF_DT_INST_IRQ macros
Use NRF_DT_INST_IRQ_ macros which support building with and without
SW ISR table for all nordic socs.

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2026-01-16 18:06:06 +01:00
Bjarki Arge Andreasen
46a5734ece soc: nordic: common: Introduce NRF_DT_(INST)_IRQ_ utility macros
Introduce the NRF_DT_IRQ_DIRECT_DEFINE and NRF_DT_IRQ_CONNECT macros
which reduce provide a common way for nordic drivers to adapt to the
presence of the SW ISR table which is commonly excluded as it is not
required for nordic socs. Also adds device driver inst variants of
the macros.

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2026-01-16 18:06:06 +01:00
Andrej Butok
cd530875a5 boards: nxp: Fix NXP FRDM names in yaml
- Fixes NXP FRDM names in yaml files.
- The '-' was missed for some NXP FRDM boards.
- It caused an inconsistent board list in MCUx-VSCode extension.

Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
2026-01-16 18:05:35 +01:00
Thorsten Klein
de18a52a20 scripts: west_commands: tests: test_build: add tests for west build args
Add tests to ensure 'west build' arguments are correctly forwarded to
CMake in the correct order.

Signed-off-by: Thorsten Klein <thorsten.klein@bshg.com>
2026-01-16 18:05:26 +01:00
Thorsten Klein
fe13def7a5 scripts: west_commands: build: support cmake arguments via --cmake-opt
Support cmake options specified via argument --cmake-opt, in order to
avoid `--` in alias commands.

Signed-off-by: Thorsten Klein <thorsten.klein@bshg.com>
2026-01-16 18:05:26 +01:00
Thorsten Klein
47db2c6522 scripts: west_commands: build: remove shadowed function argument
Remove _run_cmake argument 'cmake_opts' which is never used and shadowed
by a local variable.

Signed-off-by: Thorsten Klein <thorsten.klein@bshg.com>
2026-01-16 18:05:26 +01:00
Neil Chen
1d2fe6ef0f tests: drivers: can: timing: enable full timing test
Enable the full range of CAN timing tests on the NXP FRDM-MCXA366,
FRDM-MCXA346 and FRDM-MCXA266 boards.

Signed-off-by: Neil Chen <cheng.chen_1@nxp.com>
2026-01-16 18:04:54 +01:00
Neil Chen
393d8807e3 boards: nxp/frdm_mcxaxx6: Support Flexcan for NXP frdm_mcxaxx6 board
Support Flexcan for NXP frdm_mcxa366,frdm_mcxa346,frdm_mcxa266 board

Signed-off-by: Neil Chen <cheng.chen_1@nxp.com>
2026-01-16 18:04:54 +01:00
Neil Chen
6b5489b850 dts: arm/nxp: Add Flexcan nodes to NXP mcxaxx6 dtsi file
Add Flexcan0,Flexcan1 node to NXP MCXA366,MCXA266 dtsi file
Add Flexcan0 node to NXP MCXA346 dtsi file

Signed-off-by: Neil Chen <cheng.chen_1@nxp.com>
2026-01-16 18:04:54 +01:00
Neil Chen
a52ff9a7bb drivers: syscon: update syscon driver to support mcxa flexcan clock
Add mcxa flexcan clock support

Signed-off-by: Neil Chen <cheng.chen_1@nxp.com>
2026-01-16 18:04:54 +01:00
Kate Wang
a600317285 MAINTAINERS: Add Kate Wang as collaborator for Display drivers
Add myself as a collaborator for the Display drivers subsystem.
I have been actively contributing to display driver implementations
and will continue developing and reviewing patches.

Signed-off-by: Kate Wang <yumeng.wang@nxp.com>
2026-01-16 11:43:59 +00:00
Kate Wang
d087bf9a25 MAINTAINERS: Add Kate Wang as collaborator for MIPI DBI/DSI
Add myslef as a collaborator for the MIPI DBI and MIPI DSI subsystems.
I have been actively contributing to MIPI DBI/DSI implementations
and will continue developing and reviewing patches.

Signed-off-by: Kate Wang <yumeng.wang@nxp.com>
2026-01-16 11:43:59 +00:00
Zhaoxiang Jin
e790de88c6 doc: releases: add migration guide for NXP compile flag scope changes
Document the scope changes for NXP compile flags that were
moved from global to local scope in PR #100252. Applications
that depended on these flags being globally available may need
to be updated.

The following flags have been moved to use
zephyr_library_compile_definitions():
- BOARD_FLASH_SIZE: moved to SoC layer CMake for RT10xx and RT11xx
- XIP_BOOT_HEADER_ENABLE: scoped to boards CMake or SoC layer as needed
- BOOT_HEADER_ENABLE: scoped to boards CMake, removed from RW61x boards
- XIP_BOOT_HEADER_DCD_ENABLE: scoped to boards CMake or SoC layer as needed

Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
2026-01-16 11:43:49 +00:00
Zhaoxiang Jin
a4b8d3ed7c boards: nxp: rd_rw612_bga: remove unused build flag
'BOOT_HEADER_ENABLE' is not used in RW61x build tree,
so should remove it from RW61x board CMakeLists.txt.

Note: if out-of-tree files still need to use this flag,
please add it in your own CMakeLists.txt.

Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
2026-01-16 11:43:49 +00:00