Commit graph

112349 commits

Author SHA1 Message Date
Yangbo Lu
3d109d65ee soc: nxp: imx95: enable multi-level interrupts for m7
Enabled multi-level interrupts for m7 since IRQSTEER is used.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
2025-03-25 05:59:30 +01:00
Yangbo Lu
95b638fcd2 dts: arm: nxp_imx95_m7: add NETC node and IRQSTEER node
Added NETC device tree node, and IRQSTEER node.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
2025-03-25 05:59:30 +01:00
Yangbo Lu
ded3ce2974 dts: arm: nxp_imx95_m7: add power domain node and definitions
Added power domain node and i.MX95 power domain header file.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
2025-03-25 05:59:30 +01:00
Yangbo Lu
605de63571 drivers: ethernet: eth_nxp_imx_netc: get irq from dts node
Added support to get irq from dts node, because some platforms may
use multi-level interrupts, and the system INTID may not be connected
directly to interrupt controller.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
2025-03-25 05:59:30 +01:00
Yangbo Lu
af7ba736df west.yml: update hal_nxp to support i.MX95 NETC
Updated hal_nxp to support i.MX95 NETC.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
2025-03-25 05:59:30 +01:00
Mahesh Mahadevan
bc5a60c812 boards: mimxrt700_evk: Fix USB failures
1. Update the USB clock init code
2. Pass a flag to USB HAL driver for cache
   management

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2025-03-25 00:32:14 +01:00
Sven Ginka
d7f6aa2f3c drivers: gpio: fixed - pin toggle (output reading)
Before that fix we read the inpupt register when toggling
gpios. With this fix, we now read the output register for
toggling a pin.

Signed-off-by: Sven Ginka <s.ginka@sensry.de>
2025-03-25 00:32:01 +01:00
Pisit Sawangvonganan
a89060be0d drivers: i2c: shell: use shell_fprintf_normal instead of shell_fprintf
Due to the introduction of `shell_fprintf_normal` in PR #77192, we can
minimize caller overhead by eliminating direct `color` parameter passing.

Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
2025-03-25 00:31:48 +01:00
Pisit Sawangvonganan
1991e57814 drivers: i2c: shell: align struct shell * argument name to sh
Aligned the `struct shell *` argument name from `shell_ctx` to `sh`
for consistency with other drivers' usage of `sh`, and to match
the `shell_cmd_handler` argument name.

Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
2025-03-25 00:31:48 +01:00
Benjamin Cabé
2587bc2aa3 doc: releases: Intermediate update for new 4.2 boards/samples/drivers
Add new boards, drivers, samples added to 4.2 to date.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-03-24 19:34:18 +01:00
Fabio Baltieri
a6fabc04dd doc: releases: add a note about the kscan removal
Add a note about the removal of the kscan subsystem.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2025-03-24 19:34:10 +01:00
Fabio Baltieri
f00e3bd6ae doc: releases: fix a markdown title issue
Something got in between a chapter and its marker in a commit, fix it.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2025-03-24 19:34:10 +01:00
Valerio Setti
13270a43c1 cmake: modules: dts: print error message if DTC fails
Currently stderr is printed only if dtc encounters warnings, but it's
not printed in case of errors. However this information can be useful
to quickly identify and resolve the problem.

To solve this let's add "COMMAND_ERROR_IS_FATAL ANY" to execute_process()
so that CMake will fail in case of errors and a proper message will be
printed on the output.

Signed-off-by: Valerio Setti <vsetti@baylibre.com>
2025-03-24 19:33:18 +01:00
Seppo Takalo
15b0f9033b modem: cmux: Do not return error on low buffer space
If we end up writing zero bytes to cmux output, we can return
zero instead of -ENOMEM as it would break various modules when
using small buffers. For example modem_chat.c does not tolerate
-ENOMEM but handles zero OK.

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2025-03-24 19:33:07 +01:00
Seppo Takalo
4501ca1afe modem: modem_cellular: Migration guide for CMUX
Add migration guide for configuring MTU for CMUX.

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2025-03-24 19:33:07 +01:00
Seppo Takalo
c78081e5cf modem: modem_cellular: Configurable MTU for CMUX
Allow configuring MTU for CMUX.
Some AT manual and specification define this as a
frame size. Linux ldattach default to 127 bytes,
3GPP TS 27.010 defaults to 31.

We should limit our CMUX frames to a size that
remote end is capable of handling.
Linux silently drops oversized frames.

Also, remove MODEM_CELLULAR_CMUX_MAX_FRAME_SIZE as
this was only limiting a buffer sizes, and resulted
CMUX frames to be capped to same value.
Use MODEM_CMUX_WORK_BUFFER_SIZE and MODEM_CMUX_MTU instead.

Also rename CONFIG_MODEM_CELLULAR_CHAT_BUFFER_SIZES to
CONFIG_MODEM_CELLULAR_CHAT_BUFFER_SIZE as it is now
only used as a Chat module. DLCI pipes use
CONFIG_MODEM_CMUX_WORK_BUFFER_SIZE.

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2025-03-24 19:33:07 +01:00
Niek Ilmer
2df9e371f5 doc: Renesas: Remove manually inserted pictures
Get rid of the devkit pictures that where included in the old way

Signed-off-by: Niek Ilmer <niek.ilmer.aj@renesas.com>
2025-03-24 19:24:28 +01:00
Lyle Zhu
b78b855d04 Bluetooth: Classic: L2CAP: Fix building warnings
Use `UINT_TO_POINTER` to convert a number to pointer.
Use `POINTER_TO_UINT` to get a number from a pointer.

Fixes #87527.

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2025-03-24 19:24:16 +01:00
Roudy Dagher
c67f17de0e boards: st: nucleo_l152re: fix LED polarity in device tree
Fix incorrectly defined LED polarity (GPIO_ACTIVE_LOW → GPIO_ACTIVE_HIGH)
to match hardware schematic and ensure consistent GPIO API behavior.

Fixes: #87424
Link: https://www.st.com/en/evaluation-tools/nucleo-l152re.html#cad-resources

Signed-off-by: Roudy Dagher <roudy.dagher@gmail.com>
2025-03-24 19:24:06 +01:00
Daniel Hajjar
a4e139b9f8 drivers: intc_ioapic: Fix Out of Bounds shift
Hexadecimal integer literals are signed if they can fit into a signed int,
which causes undefined behavior.

This happens here because 0xFF can fit into a signed int and then gets
left-shifted by 24, undefined behavior for signed integers.

Signed-off-by: Daniel Hajjar <daniel.hajjar16@gmail.com>
2025-03-24 19:23:55 +01:00
Ingar Kulbrandstad
a65a16424b Bluetooth: Mesh: Fix proxy advertiser handling with GATT server enabled
When the GATT server is enabled the proxy advertiser
server need to be stopped. This solved a bug where the
Mesh Proxy Service is not restared.
This fix is done to fix several failing PTS test that
was failing when CONFIG_BT_MESH_ADV_EXT_GATT_SEPARATE
was enabled. Calling the stop_proxy_adv was left out
in a prevouis commit when doing code cleanup.

Signed-off-by: Ingar Kulbrandstad <ingar.kulbrandstad@nordicsemi.no>
2025-03-24 19:23:45 +01:00
Grzegorz Chwierut
3acfeafa35 doc: twister: update the quarantine section
Update the quarantine section in the twister.rst documentation
to include information about excluding specific platforms,
architectures, and simulators

Signed-off-by: Grzegorz Chwierut <grzegorz.chwierut@nordicsemi.no>
2025-03-24 19:23:31 +01:00
Grzegorz Chwierut
5d049b6451 twister: Fix quarantine filtering simulations
Quarantine filter was not correctly identifying the simulator name.
Now it uses the simulator name from the Platform object,
ensuring that quarantined tests are properly excluded or verified

Signed-off-by: Grzegorz Chwierut <grzegorz.chwierut@nordicsemi.no>
2025-03-24 19:23:31 +01:00
Martin Durietz
022903f01b samples: boards: Add MCO support for nucleo_wl55jc
Added overlay and modified sample.yaml to support the nucleo_wl55jc
board in the MCO example.

Signed-off-by: Martin Durietz <martin.durietz@gmail.com>
2025-03-24 19:23:09 +01:00
Martin Durietz
17403aa14a dts: arm: st: wba: Add MCO1 peripheral to STM32WLdevice tree
Added MCO1 peripheral definition to the STM32WL device tree to enable
MCO functionality.

Signed-off-by: Martin Durietz <martin.durietz@gmail.com>
2025-03-24 19:23:09 +01:00
Martin Durietz
c7453da082 dt-bindings: clock: Add MCO register definition for STM32WL
Added MCO register definition to support MCO functionality in the STM32WL
series. This update also includes the addition of MCO_PRE_DIV and MCO_SEL
defines.

Signed-off-by: Martin Durietz <martin.durietz@gmail.com>
2025-03-24 19:23:09 +01:00
Michał Stasiak
1e97295622 tests: drivers: flash: extend support for nRF54L09 and nRF54L20
Added missing nodes, configurations and filters in
testcase.yaml.

Signed-off-by: Michał Stasiak <michal.stasiak@nordicsemi.no>
2025-03-24 19:22:56 +01:00
Derek Snell
b259b18752 drivers: serial: uart_mcux_lpuart: add DTR, DSR, and DCD signals
Add support for additional line control signals.  Improved configuring
uart_config_flow_control options.

Signed-off-by: Derek Snell <derek.snell@nxp.com>
2025-03-24 19:22:42 +01:00
Mathieu Choplain
7288223a28 drivers: entropy: stm32: clear data available IRQ flag on WB09
The STM32WB09 TRNG does not clear FIFO_FULL IRQ flag in hardware once the
FIFO is no longer full, a behavior which differs from all other series.
This results in spurious IRQs, as the TRNG IRQ line effectively remains
high forever once a single interrupt has been generated.

Clear the flag in software after reading from the FIFO on STM32WB09 SoC.

N.B.: the error IRQ flag is already handled properly, as this flag must
also be cleared by software on other series.

Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
2025-03-24 19:22:30 +01:00
Mathieu Choplain
6cdc3ada3c drivers: entropy: stm32: simplify WB0-related #ifdef in LL wrappers
CONFIG_SOC_STM32WB09XX implies CONFIG_SOC_SERIES_STM32WB0X, making it
pointless to assert the latter is defined before checking the former.

Simplify #ifdef checks in the entropy driver's LL wrappers thanks to
this observation, by removing unnecessary nesting.

Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
2025-03-24 19:22:30 +01:00
Khoa Tran
e1b90bf3d9 tests: i2c: add support for i2c sci-b on Renesas RA boards
Add Renesas RA board support for i2c test use sci_b_i2c:
- tests/drivers/i2c/i2c_api

Example for i2c use sci_b_i2c:

west build -b ek_ra8m1 tests/drivers/i2c/i2c_api/ -p always \
 -DDTC_OVERLAY_FILE=boards/ek_ra8m1_sci_b_i2c.overlay \
 -DCONF_FILE="boards/ek_ra8m1_sci_b_i2c.conf"

Signed-off-by: Khoa Tran <khoa.tran.yj@bp.renesas.com>
Signed-off-by: Thao Luong <thao.luong.uw@renesas.com>
2025-03-24 19:22:18 +01:00
Khoa Tran
ed65eb43d4 boards: renesas: add support for i2c sci-b driver on Renesas RA boards
Enable support of i2c sci-b driver on these boards: ek_ra8m1,
ek_ra8d1, mck_ra8t1

Signed-off-by: Khoa Tran <khoa.tran.yj@bp.renesas.com>
Signed-off-by: Thao Luong <thao.luong.uw@renesas.com>
2025-03-24 19:22:18 +01:00
Khoa Tran
be41f80e72 dts: arm: add i2c device node to sci device for Renesas RA family
This commit to add i2c device node to support i2c sci-b driver
on Renesas RA SoCs

Signed-off-by: Khoa Tran <khoa.tran.yj@bp.renesas.com>
Signed-off-by: Thao Luong <thao.luong.uw@renesas.com>
2025-03-24 19:22:18 +01:00
Khoa Tran
d0c0f1d036 drivers: i2c: initial support for i2c sci-b driver on Renesas RA family
First commit to add support for Renesas RA i2c sci-b driver

Signed-off-by: Khoa Tran <khoa.tran.yj@bp.renesas.com>
Signed-off-by: Thao Luong <thao.luong.uw@renesas.com>
2025-03-24 19:22:18 +01:00
David Lim
459a078d22 drivers: spi: cc13xx_cc26xx: Allow clocks below 2 MHz
Remove unnecessary check that the SPI clock is being set to a frequency
above 2 MHz to allow devices running at common lower frequencies (i.e.
1.2 MHz and 400 kHz).

Replace with check that the frequency is not below the minimum frequency
supported by the chipset to prevent overflow error which can occur if
the HAL sets a frequency too low resulting in a SPI clock much larger
than expected.

Fixes #69986

Signed-off-by: David Lim <dlim04@qub.ac.uk>
2025-03-24 15:11:01 +01:00
Troels Nilsson
0448f4bd55 MAINTAINERS: Add Tronil as collaborator for Bluetooth Controller
Also removes mtpr-ot from collaborators (account is no longer active)

Signed-off-by: Troels Nilsson <trnn@demant.com>
2025-03-24 15:10:49 +01:00
Pavel Vasilyev
7592b049ef bluetooth: mesh: pb_adv: Fix resending Generic Transaction Ack PDU
The Generic Provisioning protocol requires that a transaction must be
acknowledged before the next Generic Provisioning PDU is processed
(section 5.3.3, MshPRT_v1.1).

In the current PB-ADV implementation, if there is an ongoing transaction
(link.tx.adv points to a valid advertisement), any received Generic
Provisioning Start and Continuation PDUs are ignored.

This creates a scenario where a remote device misses the Transaction
Acknowledgment PDU and retransmits the last PDUs, but they are ignored
by the local device because the local device has already started sending
the next Provisioning PDU.

In particular, in the observed failure, the Provisioner missed the
Generic Transaction Acknowledgment PDU during the transmission of the
Provisioning Data PDU.

This commit modifies the processing logic for Generic Provisioning Start
and Continuation PDUs by checking if the received PDU has already been
received. If so, it attempts to re-send the Generic Transaction
Acknowledgment PDU.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2025-03-24 15:10:39 +01:00
Tomasz Moń
2aa26ad261 drivers: udc_dwc2: Optimize endpoint event clear
There is no point in calling k_event_test() to determine what events are
posted and then passing that value to k_event_clear(). Simply pass
UINT32_MAX to k_event_clear() and use the return value to slightly
reduce overhead.

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2025-03-24 15:10:25 +01:00
Tomasz Moń
2395452656 drivers: udc_dwc2: Reset core on shutdown
OUT endpoint 0 cannot be disabled and therefore the only way to forcibly
reclaim the buffer is to reset the core. The reset does not finish if
PHY clock is not running, but just triggering the reset seems to be
enough to be able to reclaim the buffer.

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2025-03-24 15:10:13 +01:00
Tomasz Moń
437983e2c9 drivers: udc_dwc2: Ensure overlapping USBHS reset
Wait for PHY clock before triggering START task to ensure overlapped
reset for PHY and DWC2 core.

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2025-03-24 15:10:13 +01:00
Tomasz Moń
2be960ad2b drivers: udc_dwc2: Disable endpoint while hibernated
When the endpoint is disabled while the core is hibernated, there are
timeouts waiting for interrupts. It is not clear how the stack should
behave when class and/or application wants to disable the endpoint while
device is suspended. The problem was originally observed when the
endpoints were disabled as a result of usbd_disable() call.

Avoid the timeouts by modifying the backup values instead of the real
registers (which are not accessible when hibernated).

Split the 32-bit txf_set variable into two 16-bit variables (txf_set and
pending_tx_flush) because maximum number of TxFIFO instances is 16.
The txf_set variable is used as-is, while the pending_tx_flush is used
to keep track of TxFIFOs that have to be flushed on hibernation exit.

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2025-03-24 15:10:13 +01:00
James Roy
afb75959e8 doc: releases: Add a new migration guide entry to espi
Add the following property renaming entries to
the migration:

* io_girq
* vw_girqs
* pc_girq
* poll_timeout
* poll_interval
* consec_rd_timeout
* sus_chk_delay
* sus_rsm_interval

Signed-off-by: James Roy <rruuaanng@outlook.com>
2025-03-24 15:10:06 +01:00
James Roy
32d5ad75c1 dts: bindings: espi: Change the property names in the DTS
Rename the following properties in bindings and DTS:

-- io_girq =>io-girq
-- vw_girqs => vw-girqs
-- pc_girq => pc-girq
-- poll_timeout => poll-timeout
-- poll_interval => poll-interval
-- consec_rd_timeout => consec-rd-timeout
-- sus_chk_delay => sus-chk-delay
-- sus_rsm_interval => sus-rsm-interval

Signed-off-by: James Roy <rruuaanng@outlook.com>
2025-03-24 15:10:06 +01:00
Evgenii Kosenko
c8e28d15b8 bluetooth: tester: btp_gap: adds set rpa timeout cmd
Adds BTP_GAP_SET_RPA_TIMEOUT command to btp, it allows dynamically set
Resolvable Private Address timeout.

Signed-off-by: Evgenii Kosenko <Evgenii.Kosenko@silabs.com>
2025-03-24 15:09:53 +01:00
Guillaume Gautier
3b8e472039 boards: st: stm32n6570_dk: enable xspi psram
Enables XSPI PSRAM on the STM32N6570-DK board.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2025-03-24 15:09:47 +01:00
Guillaume Gautier
3a7f4f70cc dts: arm: st: n6: add xspi1 node
Add XSPI1 node for STM32N6

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2025-03-24 15:09:47 +01:00
Guillaume Gautier
33b2b1481b drivers: memc: add driver for stm32 xspi psram
Add a driver for STM32 XSPI PSRAM in memory mapped mode.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2025-03-24 15:09:47 +01:00
Guillaume Gautier
d4153320de dts: bindings: memc: add bindings for stm32 xspi psram
Add bindings for STM32 XSPI PSRAM

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2025-03-24 15:09:47 +01:00
Lyle Zhu
9b8297545a tests: Bluetooth: BR: Add test suite sdp_server
IUT works as a SDP Server. The peer device, SDP client, is a PC with
running `bumble` on it.

Define 10 SDP records. 8 normal SDP records. one SDP record with large
service name that cannot be discovered by peer since the data length
exceeds the MTU of SDP. And one SDP record with large service name
that can be discovered by peer but `continuation state` needs to be
involved.

By default, no SDP record will be registered.
Add shell command `register_sdp` to register specific SDP record.
Add shell command `register_sdp_all` to register all normal SDP
records.
Add shell command `register_sdp_large` to register SDP record with
large service name that cannot be discovered by peer.
Add shell command `register_sdp_large_valid` to register SDP record
with large service name that can be discovered by peer.

In the test suite, there two test cases,
Case 1, discover the IUT.
Case 2, connect to the IUT. And send serial SDP discovery requests.

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2025-03-24 15:09:26 +01:00
Andre Heinemans
2338f8efc5 samples: openamp_rsc_table: enable support for imx95_evk
openamp_rsc_table will run on the i.MX95 M7 core and can communicate
to the A55 that runs linux-imx.

Signed-off-by: Andre Heinemans <andre.heinemans@nxp.com>
2025-03-24 12:17:53 +01:00