Commit Graph

119676 Commits

Author SHA1 Message Date
The Nguyen
a5176adc41 manifest: update hal_renesas revision to latest
Update rev of hal_renesas to add support for CTSU

Signed-off-by: The Nguyen <the.nguyen.yf@renesas.com>
2025-07-29 11:19:20 +01:00
Jiafei Pan
8bdd114ad1 tests: arm64_gicv3_its: add imx95_evk support
Add imx95_evk support, as hardware limication, it only has 832 LPIs.

Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2025-07-29 11:18:50 +01:00
Jiafei Pan
4dcd2ae5a4 boards: imx95_evk: refine GIC and SCMI objects init priority
GIC ITS depends on kernel heap, so move GIC initialize to be behind of
heap which initialization priority is CONFIG_KERNEL_INIT_PRIORITY_OBJECTS
(it is 30 by default).

MU mailbox and SCMI objects depend on GIC, so set their init priority
to be same with GIC, the initialization sequence decided by the dts
dependency although they use the same init priority.

Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2025-07-29 11:18:50 +01:00
Jiafei Pan
2d62d3f605 soc: imx95: a55: enable GIC redistribute and its noncoherent
GIC redistribute and ITS on i.MX 95 is DMA noncoherent, so enable
CONFIG_GIC_V3_RDIST_DMA_NONCOHERENT and CONFIG_GIC_V3_GIC_DMA_NONCOHERENT.

Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2025-07-29 11:18:50 +01:00
Jiafei Pan
353a96b623 soc: imx95: a55: include LPI in irq number
In case of ITS is enabled, need to include LPI in the total number
of irq.

Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2025-07-29 11:18:50 +01:00
Jiafei Pan
602c6292c3 dts: arm64: imx95_a55: add gic v3 its dts node
Added dts node for GIC v3 ITS.

Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2025-07-29 11:18:50 +01:00
Jiafei Pan
3290777d40 boards: imx95_evk: a55: enlarge memory size
Enlarge the memory size to 10M bytes as it is not enough if run some
networking application.

Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2025-07-29 11:18:50 +01:00
Jiafei Pan
b210fa0237 drivers: intc_gicv3_its: fix sleep issue in pre-kernel
GIC v3 ITS is initialized in pre-kernel stage in which sleep function
can't work yet, so use busy delay in pre-kernel stage and use sleep
delay in post-kernel stage.

Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2025-07-29 11:18:50 +01:00
Jiafei Pan
970e0181f1 drivers: intc_gicv3_its: fix incorrect RDbase when PE number is used
For RDbase used by its command, When GITS_TYPER.PTA = 1, physicall address
is used, the RDbase field consist of bits[51:16] of the address, so need
to left shift the address by 16 bits. But when GITS_TYPER.PTA = 0, PE
number is used, no need to shit anymore.

Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2025-07-29 11:18:50 +01:00
Jiafei Pan
9bb6a82a86 drivers: gicv3_its: enable dma noncoherent support
Add DMA noncoherent support on GICv3 ITS driver.

Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2025-07-29 11:18:50 +01:00
Jiafei Pan
83c88cee19 drivers: intc_gicv3: enable dma-noncoherent support
GIC redistributor on Some platform are connected to a non-coherent
downstream interconnect, it need to use Non-cahable and Non-shareable
access atttributes to access external memory. And also flush the
data cache after CPU update related memory.

Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2025-07-29 11:18:50 +01:00
Robert Lubos
279de669b5 net: lwm2m: Stop the LwM2M engine in case of fatal network error
In case of fatal network error (i.e. when the LwM2M client runs out of
retries), call lwm2m_engine_stop() to cleanup any allocated resources
for the client. The engine is dead at that point anyway so the
application needs to recover.

If this isn't done, it is theoretically possible to restart the LwM2M
client (with lwm2m_rd_client_start() which does not report an error in
such case), which in turn could lead to resource leaks (like for
example the observer list is reinitialized) if the application
didn't call lwm2m_rd_client_stop() first. Calling lwm2m_engine_stop()
ensures that all resources are freed even if the application doesn't
call stop before restarting.

Stopping the engine is also needed when the network error occurs when
de-registering - in such case the engine goes straight into the IDLE
state, where it's possible to restart the client and thus reinitialize
the observer lists.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2025-07-29 11:18:36 +01:00
Dmitrii Sharshakov
5c1d4db845 drivers: udc_rpi_pico: move control endpoint enable/disable
Move control endpoint enable/disable calls to udc_enable()/udc_disable().
It does not change much during USB device support initialization, but
it seems to resolve an issue when starting from RAM, though the real
cause is unknown.

Signed-off-by: Dmitrii Sharshakov <d3dx12.xx@gmail.com>
2025-07-29 11:18:28 +01:00
James Roy
2ebf82ca5f subsystem: usb: device_next: Fix unchecked return value in usbd_cdc_ecm
Fix unchecked return value scanned by Coverity.

Signed-off-by: James Roy <rruuaanng@outlook.com>
2025-07-29 11:18:20 +01:00
Tahsin Mutlugun
00e217da7d boards: adi: max32657evkit: Add adxl367 accelerometer
Add support for ADXL367 accelerometer connected to I3C bus.

Signed-off-by: Tahsin Mutlugun <Tahsin.Mutlugun@analog.com>
2025-07-28 21:06:00 -04:00
Tahsin Mutlugun
6320e504dd boards: adi: max32657evkit: Enable I3C peripheral
Add I3C node to MAX32657EVKIT board devicetree and add I3C to the list
of supported drivers.

Signed-off-by: Tahsin Mutlugun <Tahsin.Mutlugun@analog.com>
2025-07-28 21:06:00 -04:00
Tahsin Mutlugun
3885278b96 drivers: i3c: shell: Add shell support to MAX32 I3C
Enables shell support for MAX32 I3C driver.

Signed-off-by: Tahsin Mutlugun <Tahsin.Mutlugun@analog.com>
2025-07-28 21:06:00 -04:00
Tahsin Mutlugun
ac1152b0b6 dts: arm: adi: max32657: Add I3C instance
Add I3C instance to max32657.dtsi.

Signed-off-by: Tahsin Mutlugun <Tahsin.Mutlugun@analog.com>
2025-07-28 21:06:00 -04:00
Tahsin Mutlugun
d1d983dfdb drivers: i3c: Introduce MAX32 I3C driver
Add I3C driver for ADI MAX32 microcontrollers.

Signed-off-by: Tahsin Mutlugun <Tahsin.Mutlugun@analog.com>
2025-07-28 21:06:00 -04:00
Daniel Leung
4b15936329 tests: kernel/smp_boot_delay: workaround occassionally failures
test_smp_boot_delay sometimes fails due to thread started by IPI
not having started or not finished running:

* Using CPU mask to explicitly state which CPU to start the thread
  seems to fix the issue where the thread is not started quickly
  enough.
* When the host  system is under heavy load (e.g. twister-ing),
  emulators may not get enough CPU time to run the newly created
  thread. So extend the IPI delay a bit more to allow for this.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2025-07-28 21:03:43 -04:00
Phi Bang Nguyen
1edc97cd04 doc: migration guide: display: Mention rgb565/bgr565 fix
Mention that the RGB565 and BGR565 interchange issue has been fixed
in the display sample.

Signed-off-by: Phi Bang Nguyen <phibang.nguyen@nxp.com>
2025-07-28 16:45:33 -04:00
Phi Bang Nguyen
9e7596dce8 boards: shields: rk0xxx: Set default format to RGB565
The default supported format in these LCD is RGB565, not BGR565. It is
set to BGR565 because a wrong assumption about "byte swap" in Zephyr.

Signed-off-by: Phi Bang Nguyen <phibang.nguyen@nxp.com>
2025-07-28 16:45:33 -04:00
Phi Bang Nguyen
d69bea3c5e drivers: display: dcnano_elcdif: Fix RGB565/BGR565 format mismatch
Format is incorrectly forced from RGB565 to BGR565. Fix it.

Signed-off-by: Phi Bang Nguyen <phibang.nguyen@nxp.com>
2025-07-28 16:45:33 -04:00
Phi Bang Nguyen
d9513095d9 drivers: display: elcdif: Fix RGB565/BGR565 format mismatch
Format is incorrectly forced from RGB565 to BGR565. Fix it.

Signed-off-by: Phi Bang Nguyen <phibang.nguyen@nxp.com>
2025-07-28 16:45:33 -04:00
Phi Bang Nguyen
d0f7604b1a samples: drivers: display: Fix RGB565/BGR565 interchange issue
The RGB565 and BGR565 formats are interchanged in the sample. This leads
to wrong assumptions about "byte swap" in Zephyr and make display
drivers, shields and video sample follow it for a long time. Fix it.

Signed-off-by: Phi Bang Nguyen <phibang.nguyen@nxp.com>
2025-07-28 16:45:33 -04:00
Phi Bang Nguyen
2fdc051269 samples: drivers: video: Fix RGB565/BGR565 in display format
Formats should be coherently set between camera and display. Forcing
RGB565 to BGR565 will break some platforms.

Signed-off-by: Phi Bang Nguyen <phibang.nguyen@nxp.com>
2025-07-28 16:45:33 -04:00
Emil Gydesen
220571efcb Bluetooth: CCP: Check conn type before access by index
Ensure that the connection type of the provided bt_conn is
an LE connection.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2025-07-28 16:45:17 -04:00
Emil Gydesen
0347d92072 Bluetooth: BAP: SD: Add missing error checks for mutex locks
Add missing error checks for mutex locks after the mutexes
were changed to not use K_FOREVER which should not be done in
the BT RX thread.

A larger overhaul of how mutexes are using within the scan delegator
should be considered, as there are a lot of locks and unlocks when
handling the callbacks.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2025-07-28 16:44:58 -04:00
Jordan Yates
bd774ff98b tests: disk: disk_access: test STM32L4 DMA
Ensure that the shared DMA variant of the STM SDMMC driver is compiled
in CI.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-07-28 16:44:33 -04:00
Jordan Yates
3698507585 disk: sdmmc: support L4 series with shared DMA channel
Update the driver to support DMA operations on L4 series devices, with
a shared DMA channel. Split channels do not work on these chips, since
there is no dedicated TX and RX channels on the DMA, so configuring two
channels with SDMMC as the peripheral results in a non-functional
configuration.

Fixes #91216.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-07-28 16:44:33 -04:00
Armando Visconti
792b7e3570 rtio: add helper function rtio_read_transaction()
Add a helper function that constructs a rtio SQE chain with the purpose
to perform a bus read operation on a list of registers.

Usage:

  struct rtio_regs regs;
  struct rtio_reg_list regs_list[] = {{regs_addr1, mem_addr_1, mem_len_1},
                                      {regs_addr2, mem_addr_2, mem_len_2},
                                      ...
                                     };
  regs.rtio_regs_list = regs_list;
  regs.rtio_regs_num = ARRAY_SIZE(regs_list);

  rtio_read_regs_async(rtio,
                       iodev,
                       RTIO_BUS_SPI,
                       &regs,
                       sqe,
                       dev,
                       op_cb);

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2025-07-28 16:44:17 -04:00
Van Petrosyan
37d8ec295b drivers: led: Added PCA9533 to build_all overlay
PCA9533 is added to the overlay so the new driver
is compiled by the automated “build all LED drivers” test

Signed-off-by: Van Petrosyan <van.petrosyan@sensirion.com>
2025-07-28 16:43:48 -04:00
Van Petrosyan
7c845f14d4 drivers: led: Implemented PCA9533 driver with PM support
• Supports led_on/off, led_set_brightness (0–100 %, 152 Hz default),
  and led_blink (7 ms – 1.685 s) with automatic sharing of the two
  on-chip PWM engines; returns –EBUSY when a third distinct pair is
  requested.

• Includes basic runtime-PM boilerplate to honour power-domain control;
  the device itself has no dedicated low-power states.

Signed-off-by: Van Petrosyan <van.petrosyan@sensirion.com>
2025-07-28 16:43:48 -04:00
Van Petrosyan
aaada72b00 drivers: led: Added dt-binding for pca9533 led dimmer
Added DT binding for the PCA9533 LED Dimmer

Signed-off-by: Van Petrosyan <van.petrosyan@sensirion.com>
2025-07-28 16:43:48 -04:00
Cheng Chang
afcce53220 bluetooth: host: a2dp:error_code should be detailed in set_config_rsp
Error codes fall into two main categories:
case 1: NOT_SUPPORT_XXX. This means that the configuration of the
parameter is not supported locally.
case 2: INVALID_XXX. This means that the parameter is not configured or
duplicated in the set_config_req command.

Currently the protocol only supports SBC, so it is only checked for SBC
parameters.

Signed-off-by: Cheng Chang <cheng.chang@nxp.com>
2025-07-28 16:43:29 -04:00
Holt Sun
4618e86edd drivers: irtc: Updated rtc driver to support NXP RT700 device.
1. Update nxp irtc driver to fix issue in init and alarm function.
2. Update RTC device tree binding to support "share-counter".
3. Update RT700 dtsi to support rtc0 for cpu0 and rtc1 for cpu1.
4. Update readme.
5. Update unit test project conf for RT700.

Signed-off-by: Holt Sun <holt.sun@nxp.com>
2025-07-28 16:42:30 -04:00
Declan Snyder
fe8da67342 tests: spi_loopback: Specify expected CS on helper func
The helper function should have the flexibility to have different
expected CS counts. Namely, the test cases where the transfer is
essentially empty should not need to assert CS and many platforms are
failing on CS testing currently due to expecting CS assert and deassert
despite it being a 0 clock/bit transfer being specified.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2025-07-28 16:42:08 -04:00
Declan Snyder
285245c69a tests: spi_loopback: Use atmoic_t instead of sem for CS
Use an atomic_t instead of semaphore for counting the CS, semaphore is
too heavy and wrong choice for this variable.

Also, print what the actual value gotten was in case of error.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2025-07-28 16:42:08 -04:00
Vinit Mehta
1d44972a26 samples: bluetooth: pbp_public_broadcast: Fix PACS register issue
- Add sink PACS register for PBP public broadcast sink example to make
  it work with PBP broadcast source

Signed-off-by: Vinit Mehta <vinit.mehta@nxp.com>
2025-07-28 16:41:51 -04:00
Georgij Černyšiov
e0899d347e drivers: mipi_dbi: stm32: fmc: add bank address property
The driver gets FMC bank address using
`FMC_BANK1_<parent_register_value>` define.

This approach has some flaws:
- The parent (bank) register's value might not correspond
  sequentially to the expected bank number.
  For example: `STM32_FMC_NOSRAM_BANK3` maps to `FMC_BANK1_4`,
  instead of `FMC_BANK1_3`.
- Some families don't even define the necessary `FMC_BANK1_x` macros.

To address this, the commit adds an optional `bank-address` property,
providing a direct way to define the FMC bank address for the driver.

Signed-off-by: Georgij Černyšiov <geo.cgv@gmail.com>
2025-07-28 16:41:30 -04:00
Yishai Jaffe
7f3a728aaa soc: silabs: s2: make order in soc Kconfig's
Made some order in the Kconfig's for silabs series 2 socs.
Made a distinction between silabs "generic family" (e.g. xg21) and silabs
"device family" (e.g. efr32mg21).

Signed-off-by: Yishai Jaffe <yishai1999@gmail.com>
2025-07-28 16:40:58 -04:00
Cheng Chang
f4153476cd bluetooth: host: a2dp: Fix null ops before calling configured callback
If stream->ops is NULL and not checked, it works fail.

Signed-off-by: Cheng Chang <cheng.chang@nxp.com>
2025-07-28 16:40:39 -04:00
Vit Stanicek
8f37d3bf52 samples: rtxxx-amp: Remove POST_BUILD
Remove POST_BUILD directives from remote-dsp-imgs.cmake.

They raised warnings on CMake 3.31.6.

Signed-off-by: Vit Stanicek <vit.stanicek@nxp.com>
2025-07-28 16:40:02 -04:00
Fabio Baltieri
7ddefbf369 tests: arm: sw_vector_table: fix build on many non systick platforms
In 4c93fcd35b, the default use case has been changed to support setting
a custom handler, but it's written in a way to only support MCUX and
SYSTICK based platforms. For any other platform the build break because
of undefined TIMER_IRQ_HANDLER and TIMER_IRQ_NUM.

Fix the conditional so that the custom timer line is only entered if a
custom handler is defined. The test would probably stil not run on those
platforms until a custom case is defined pointing at the custom timer
interrput handler, but at least it won't break CI.

Also drop a closing endif comment as that clearly became misleading.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2025-07-28 16:39:44 -04:00
Luis Ubieda
49a1b2417e icm4268x: Fix typos on has_trigger API
Missed during icm42688 to icm4268x refactoring as it was mispelled
in the first-place.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-07-28 16:38:52 -04:00
Luis Ubieda
4e1add203f icm4268x: fix typo on ODR attribute for 16k
Otherwise this setting will be ineligible through run-time
attribute configuration.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-07-28 16:38:52 -04:00
Cla Mattia Galliard
a1f66f05d2 drivers: mdio: shell: Fix argument count
Need to have correct argument count to avoid crash.

Signed-off-by: Cla Mattia Galliard <cla-mattia.galliard@zuehlke.com>
2025-07-28 08:57:14 -04:00
Luis Ubieda
b9099918fa paa3905: Send led-control disabled sequence
Otherwise, a previous firmware build could have run into the chip and
keep led control enabled in spite of disabling it through
dts-property.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-07-28 08:55:56 -04:00
Gomaa Mohammed Eldebaby
01b14df31e samples: bluetooth: typo in project name
Corrected a typo in the project name within the Bluetooth
samples directory. The incorrect name was causing confusion
in documentation and build processes. This change updates
the relevant file(s) to use the correct project name, ensuring
consistency across the Zephyr repository.

Signed-off-by: Gomaa Mohammed Eldebaby <gomaaeldebaby2211@gmail.com>
2025-07-28 08:55:42 -04:00
Pavlo Hamov
684ff2b3c8 drivers: display: stm32_ltdc: mask irq if necessary
LTDC interrupt routine is used to reload frame buffer pointer
once full frame is finished flushing. As long as there is no
need to change buffer - there is no need to disturb CPU.
Thus: Enable LTDC interrupt only when new buffer is pending

Signed-off-by: Pavlo Hamov <pasha.gamov@gmail.com>
2025-07-28 08:55:06 -04:00