Commit graph

115350 commits

Author SHA1 Message Date
Peter Wang
8405754a30 boards: frdm_mcxa166, frdm_mcxa276: add i2c support
1. enable i2c support
2. verified tests/drivers/i2c/i2c_target_api

Signed-off-by: Peter Wang <chaoyi.wang@nxp.com>
2025-05-16 19:01:50 +02:00
Peter Wang
073e04ce32 boards: frdm_mcxa166, frdm_mcxa276: add adc support
1. enable adc support
2. verified samples/drivers/adc/adc_dt and tests/drivers/adc/adc_api

Signed-off-by: Peter Wang <chaoyi.wang@nxp.com>
2025-05-16 19:01:50 +02:00
Neil Chen
ee598f912e samples: sensor: Add support for temperature sensor on FRDM_MCXA153
Add sample.sensor.thermometer_i3c support for mcxa153

Signed-off-by: Neil Chen <cheng.chen_1@nxp.com>
2025-05-16 19:01:31 +02:00
Neil Chen
4a32f352cc boards: nxp: frdm_mcxa153: Support i3c for NXP frdm_mcxa153 board
Support i3c for NXP frdm_mcxa153 board.

Signed-off-by: Neil Chen <cheng.chen_1@nxp.com>
2025-05-16 19:01:31 +02:00
Neil Chen
960e015aba dts: arm/nxp: Add i3c nodes to NXP MCXA153 dtsi file
Add i3c nodes to NXP MCXA153 dtsi file

Signed-off-by: Neil Chen <cheng.chen_1@nxp.com>
2025-05-16 19:01:31 +02:00
Neil Chen
7ed7b3cc57 boards: nxp: frdm_mcxa153: Support lptmr for NXP frdm_mcxa153 board
Support lptmr for NXP frdm_mcxa153 board.
Test using tests/drivers/counter/counter_basic_api.

Signed-off-by: Neil Chen <cheng.chen_1@nxp.com>
2025-05-16 19:01:21 +02:00
Neil Chen
e66e545e06 dts: arm/nxp: Add lptmr nodes to NXP MCXA153 dtsi file
Add lptmr nodes to NXP MCXA153 dtsi file

Signed-off-by: Neil Chen <cheng.chen_1@nxp.com>
2025-05-16 19:01:21 +02:00
Neil Chen
4a0157f106 boards: nxp: frdm_mcxa153: Support ctimer for NXP frdm_mcxa153 board
Support ctimer for NXP frdm_mcxa153 board, correct Core clock
frequency to 96MHz.
Test using tests/drivers/counter/counter_basic_api.

Signed-off-by: Neil Chen <cheng.chen_1@nxp.com>
2025-05-16 19:01:21 +02:00
Neil Chen
e2ad92583f dts: arm/nxp: Add ctimer nodes to NXP MCXA153 dtsi file
Add ctimer nodes to NXP MCXA153 dtsi file

Signed-off-by: Neil Chen <cheng.chen_1@nxp.com>
2025-05-16 19:01:21 +02:00
Alex Rodriguez
e9fd7ecf69 tests: drivers: wdt: basic_reset_none: frdm_rw612: Enable standby mode
Enables system PM and standby mode to
verify that the wdt driver correctly handles
PM3 mode.

Signed-off-by: Alex Rodriguez <alejandro.rodriguezlimon@nxp.com>
2025-05-16 19:01:08 +02:00
Alex Rodriguez
64b8d9e0cf drivers: watchdog: wdt_mcux_wwdt: Add PM support for low power modes
Enables sleep mode (PM3) on RW61x. The driver
re-enables the wdt on wake-up based on the previous
configuration. Note that the wdt counter value always
resets to the max window value on wake-up

Signed-off-by: Alex Rodriguez <alejandro.rodriguezlimon@nxp.com>
2025-05-16 19:01:08 +02:00
Alex Rodriguez
dafdcab0fa dts: arm: nxp: rw6xx: add wwdt to power domain 3
Connect wwdt to power domain 3 to enable low
power management in the driver

Signed-off-by: Alex Rodriguez <alejandro.rodriguezlimon@nxp.com>
2025-05-16 19:01:08 +02:00
Martin Stumpf
7dd6f94e57 drivers: spi: nxp_lpspi: Fix race condition in ISR
There was a race condition where `lpspi_end_xfer` can be called multiple
times per transfer. There was the case where a TX interrupt gets
triggered without the RX interrupt being set, and TX finishes writing
its last byte. Then, `spi_context_rx_len_left() == 0` is true and
`lpspi_end_xfer` happens, but the RX interrupt is still active. Then,
when the RX interrupt happens, `lpspi_end_xfer` will get called again.

To fix that, the architecture was adjusted to only call `lpspi_end_xfer`
once no interrupts are active any more, and the disabling of the
interrupts gets used to signal the end of the TX and RX part.

Minor adjustments were necessary to use the interrupt enable signals for
this purpose; the TX irq handler had its internal order reversed,
otherwise it wasn't guaranteed that the physical transfer is finished
when we disable the interrupt.

Also, the code where the RX interrupt gets disabled had to be moved out
of the RX irq handler, because the RX interrupt also needs to be
disabled if RX is finished but no RX interrupt is currently active.

Signed-off-by: Martin Stumpf <finomnis@gmail.com>
2025-05-16 19:01:01 +02:00
Frank Duerr
8079ef51e0 drivers: ptp clock: fixed invalid assertion
Assertion checked whether pointer is NULL.
Assertion should check whether pointer is *not* NULL.
Fixed by changing check in assertion.

Signed-off-by: Frank Duerr <frank.duerr@ipvs.uni-stuttgart.de>
2025-05-16 19:00:50 +02:00
Frank Duerr
3cd795ba59 drivers: ethernet: fixed calling mutex from ISR
The NXP ENET driver used a mutex inside an ISR.
Since mutexes are not allowed in ISR, an assertion had been triggered.
The mutex is not required since a semaphore ensures sequential writing
(in ISR) and subsequent reading (after eth_wait_for_ptp_ts()).
Fixed by removing calls to mutex.

Signed-off-by: Frank Duerr <frank.duerr@ipvs.uni-stuttgart.de>
2025-05-16 19:00:38 +02:00
Vit Stanicek
405ab182a9 drivers: intc_nxp_pint: Decouple from fsl_power.h
Add drivers/interrupt_controller/intc_nxp_pint/power.h abstracting
EnableDeepSleepIRQ and DisableDeepSleepIRQ invocations from
intc_nxp_pint.c. Modify intc_nxp_pint.c to use that file.

fsl_power.c and fsl_power.h can't be built on the
mimxrt685_evk/mimxrt685s/hifi4 target, so it's excluded from it in hal_nxp.

Signed-off-by: Vit Stanicek <vit.stanicek@nxp.com>
2025-05-16 19:00:30 +02:00
Hake Huang
0c5f13a599 tests: dma: enable dma test setting for NXP KE1XZ
NXP Ke1xz series need using mux starting from 60

Signed-off-by: Hake Huang <hake.huang@nxp.com>
2025-05-16 19:00:17 +02:00
Phi Bang Nguyen
7b421398c4 drivers: video: Rename signal variables to avoid compliance violation
Rename signal variables to sig to be compliant with code rule 21.2

Signed-off-by: Phi Bang Nguyen <phibang.nguyen@nxp.com>
2025-05-16 19:00:09 +02:00
Phi Bang Nguyen
9fa1aeea32 drivers: video: Add video_buf_type
M2M devices like ISPs or PxP have two separate buffer queues, i.e.
incoming and outcoming queues. For each API, the driver needs to
distinguish on which queue it needs to take action.

Add video buffer type to support this kind of devices.

- get_caps(), set/get_format(), enqueue()/dequeue(): the buffer type
is embeded in the video_caps, video_format and video_buffer structs

- video_stream_start/stop() : buffer type needs is sent as a parameter

Signed-off-by: Phi Bang Nguyen <phibang.nguyen@nxp.com>
2025-05-16 19:00:09 +02:00
Phi Bang Nguyen
b63fb91622 drivers: video: Drop video_endpoint_id
The video endpoints are already described in the devicetree. The
video_endpoint_id parameter in each video API is not necessary and has
no usage. Drop it.

Signed-off-by: Phi Bang Nguyen <phibang.nguyen@nxp.com>
2025-05-16 19:00:09 +02:00
Phi Bang Nguyen
579741e5e5 drivers: video: esp32: Fix flush callback
When stopping, the framework calls driver's stop callback then driver's
flush callback. Hence, driver's flush callback does not need to call
stop callback again.

Signed-off-by: Phi Bang Nguyen <phibang.nguyen@nxp.com>
2025-05-16 19:00:09 +02:00
Andrzej Głąbek
6b02c9f6a1 tests: drivers: clock_control: Add initial DVFS polling
Add a setup routine that waits until DVFS finishes its initialization
and during that time tries to constantly make requests that involve
DVFS. This polling ensures that the clock control driver can properly
recover after an unsuccessful request.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2025-05-16 17:32:35 +02:00
Andrzej Głąbek
c365fbb3f6 drivers: clock_control_nrf2_common: Add resetting of the on-off services
If an on-off service records an error while transitioning to the on
state, it stays in the error state and does not allow new requests
to be made until its state is reset. Add resetting of the services
associated with particular clock controllers so that requests can
be retried after failures.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2025-05-16 17:32:35 +02:00
Andrzej Głąbek
009201e0f2 tests: driver: nrf_clock_control: Verify that clocks are ready
Ensure that a given clock controller is ready before making requests
to it. Otherwise, if for some reason the clock controller fails to
initialize (for example, when BICR turns out to be not populated with
required values), the test may end up with an enigmatic bus fault.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2025-05-16 17:32:35 +02:00
Ping Wang
355a5525bc Bluetooth: Audio: fix BIS_Sync_State for BASS server
BASS server need to notify that both BIS and PA are no longer synced by
setting all required fields to 0 after client stops BIS by sending a
BIG control PDU with a BIG TERMINATED indication.

meanwhile BIG_Encryption in the notification should also be reset to be
BT_BAP_BIG_ENC_STATE_NO_ENC when BIS is not synced anymore.

Signed-off-by: Ping Wang <pinw@demant.com>
2025-05-16 17:32:28 +02:00
Mikolaj Klikowicz
8c3e937614 drivers: clock_control: clock_control_max32: Enable IPLL
Make enabling MAX78002 IPLL clock from dts possible

Signed-off-by: Mikolaj Klikowicz <mklikowicz@antmicro.com>
2025-05-16 17:32:09 +02:00
Benjamin Cabé
fd2a80e299 samples: net: cellular_modem: add test for mikroe_lte_iot10_click shield
Add a test for the mikroe_lte_iot10_click shield.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-05-16 17:31:58 +02:00
Benjamin Cabé
14db737d7b shields: add initial support for MikroE LTE IoT 10 Click
Add new shield featuring Sequans Monarch 2 GM02S modem.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-05-16 17:31:58 +02:00
Yonas Alizadeh
c186bffab8 drivers: flash: flash_stm32g4x: Fix STM32G4 unaligned read access
Due to source data pointer having no alignment constraint,
extra care needs to be taken when reading source data
as dword

Signed-off-by: Yonas Alizadeh <yonas.alizadeh@alfalaval.com>
2025-05-16 16:12:10 +02:00
Chun-Chieh Li
2a7ffe5f02 boards: numaker_m55m1: add BTN0/BTN1 buttons
Add BTN0/BTN1 buttons on numaker_m55m1 board for e.g. hid-mouse
sample test

Signed-off-by: Chun-Chieh Li <ccli8@nuvoton.com>
2025-05-16 16:11:54 +02:00
Chun-Chieh Li
7095608f7c drivers: usb: udc: support numaker m55m1x series soc
This supports nuvoton numaker m55m1x series soc. Besides, it also
has relevant modifications, including:
1. Fix failure to enable HICR48M, which is to clock usbd and phy
2. Support HWINFO for USB device serial number

Signed-off-by: Chun-Chieh Li <ccli8@nuvoton.com>
2025-05-16 16:11:54 +02:00
Chris Friedt
c32488f97b cmake: kconfig: auto-generate boolean board revision option
Automatically generate a boolean CONFIG_BOARD_REVISION_FOO=y Kconfig
option based on e.g. CONFIG_BOARD_REVISION="foo".

Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
2025-05-16 16:11:48 +02:00
Lars Segerlund
ffe52da2f0 bluetooth: Controller: Set sdu_max fixing ISO test mode sdu_max
For ISO test mode sdu_max to work it actually has to be set somewhere
and this does that.

Signed-off-by: Lars Segerlund <lrsu@demant.com>
2025-05-16 16:11:41 +02:00
Josuah Demangeon
084f0acb36 drivers: video: controls: add the BASE and CAMERA controls
Add all the base controls present like they are in Linux into Zephyr,
limited to those that can apply in the current system:
- Buttons are left as integer for now.
- Some description is modified to fit the Zephyr situation.
- For the minimum number of buffer, Zephyr uses a different mechanism.
- No audio support through the video subsystem.
- Homogenize the wording

Signed-off-by: Josuah Demangeon <me@josuah.net>
2025-05-16 16:11:32 +02:00
Vinayak Kariappa Chettimada
2fc54ae3bb Bluetooth: Controller: Fix nRF CCM disable on connection event abort
Fix missing nRF CCM disable on connection event abort.

There can be a problem on nRF SoC for example when a S8
"encrypted" reception is aborted, and a 2M "cleartext"
reception starts; slow CCM (that is not stopped as part of
radio disable) will corrupt a fast received "cleartext" when
the same current free rx buffer is reused in the Controller.
This is not a problem when the connection being abort-ee is
on a faster PHY than the abort-er.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2025-05-16 12:36:43 +02:00
Lukasz Mrugala
d2ebe9c6de ci: Expand BBox tests with Twister runs
Blackbox tests now shall include smoke tests,
that is Twister calls in the environment.

Additionally, those smoke tests will run
on multiple platforms.

Signed-off-by: Lukasz Mrugala <lukaszx.mrugala@intel.com>
2025-05-16 12:36:35 +02:00
Francois Ramu
97855afc23 tests: drivers: flash common testing in non SPI-NOR
Set an overlay to build tests/drivers/flash/common/
drivers.flash.common.disable_spi_nor when the SPI NOR exists
but test does not use it

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2025-05-16 12:36:26 +02:00
Alex Apostolu
6e34acc4e2 Bluetooth: Host: Use macro for nanoseconds per second
Use the macro NSEC_PER_SEC defined in sys_clock.h for nanoseconds per
second when updating write stats.

Signed-off-by: Alex Apostolu <apostolu240@gmail.com>
2025-05-16 09:38:47 +02:00
Luca Burelli
fe7f71ba16 dtlib: add test for lineno/filename comments
Tweak the existing filename_and_lineno test to also check the generated
comments in the string representation of the devicetree match expected
contents and alignment.

Using tmpdir as the base directory simplifies the comparison by avoiding
directory separator issues.

Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
2025-05-16 09:38:35 +02:00
Luca Burelli
c1603b3163 gen_edt: use workspace dir as base for relative paths in comments
This commit allows comments to reference files with paths that are relative
to the Zephyr workspace root. This is done by adding a new argument
'--workspace-dir' to the 'gen_edt.py' script, which is passed to the
'EDT' and 'DT' classes and used instead of the current working directory.

The workspace directory is set to WEST_TOPDIR if West is in use,
otherwise it is set to the parent directory of ZEPHYR_BASE so that
Zephyr files have a 'zephyr/' prefix.

Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
2025-05-16 09:38:35 +02:00
Luca Burelli
a63cb8e74d dtlib: fix double empty line before root node
The root node is the first node in the DTS string representation, and is
currently separated from the headers by two empty lines.

Adjust the spacing so that only one line is printed in all situations. A
small adjustment is added to the test suite to keep the current expected
outputs unchanged.

Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
2025-05-16 09:38:35 +02:00
Benjamin Cabé
afdb62d1e2 dtlib: add lineno/filename to string representation of a DT
Output lineno/filename as comments in the string representation of a DT
to help with debugging DT issues. Also, remove the added comments when
comparing the string representation of a DT to a reference string in the
DT testsuite.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
2025-05-16 09:38:35 +02:00
Luca Burelli
6b325daa2a dtlib: wrap array properties in string representation
List each element of a property array in a different line to improve
the readability of the generated DTS file.
Update the test suite's expected outputs accordingly.

Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
2025-05-16 09:38:35 +02:00
Luca Burelli
4b8be385c0 dtlib: fix 'phandle' property's filename and line number
The phandle property is auto-generated when parsing the DTS, so there is
no 'source information'. This commit sets the filename and line number
of the phandle property to be the same as the first reference to the
target node.

Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
2025-05-16 09:38:35 +02:00
Luca Burelli
90b7c4750a manifest: update zephyr-lang-rust with DTS comment support
Update the manifest for the 'zephyr-lang-rust' module to include
the commit that adds support for comments in the Rust DTS parser.

Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
2025-05-16 09:38:35 +02:00
Luis Ubieda
6c8ec97384 shields: pmod_acl: Set default ODR and watermark values
So applications working with this shield will continue to work
as before.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-05-16 09:37:28 +02:00
Luis Ubieda
8e0e99b9dd sensor: adxl345: Formatting improvements on macrobatics
No functional changes, only formatting changes.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-05-16 09:37:28 +02:00
Luis Ubieda
9a044aaacb sensor: adxl345: Optimize RTIO SQE/CQE pool based on fifo-watermark
Since it's directly related (we can't just burst-read the fifo at
once). This patch includes a comment block explaining this rationale.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-05-16 09:37:28 +02:00
Luis Ubieda
36917d4809 sensor: adxl345: Allow fifo-watermark configurable through dts
Allow for users to define the fifo-watermark on a per-instance basis
through device-tree properties. This setting is validated at build
time, so missing it when required, or setting an invalid value should
not end up in a run-time errror (as in: it runs but nothing happens).

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-05-16 09:37:28 +02:00
Luis Ubieda
4243ad20ca sensor: adxl345: rename ADXL345_ODR_12HZ to ADXL345_ODR_12_5HZ
To better reflect the actual ODR setting.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-05-16 09:37:28 +02:00