Commit graph

126,787 commits

Author SHA1 Message Date
Titan Chen
13a024218e drivers: i2c: add i2c dw support error checks.
support errors check for
1. tx_abrt: nack and sda stuck low
2. scl stuck low

Signed-off-by: Titan Chen <titan.chen@realtek.com>
2025-05-29 20:17:05 +02:00
Titan Chen
748789eadf drivers: i2c: rts5912 i2c dirver
base on DesignWare I2C driver to implement RTS5912 I2C driver.

1. support customize bus recovery function.
2. fix isr timing issue by enable tx empty control.
3. support stuck at low handle by enable bus clear feature.
4. support custom stuck at low timeout set from dts
5. disable block mode in rts5912 i2c.
6. support I2C_ALLOW_NO_STOP_TRANSACTIONS

Signed-off-by: Titan Chen <titan.chen@realtek.com>
2025-05-29 20:17:05 +02:00
Hake Huang
11c543e24c Revert "samples: counter: alarm: remove platform_allow filterring"
this sample needs add dts defines for each platform, so should not be
generally enabled.

fixes: #90714

This reverts commit 022962c90d.

Signed-off-by: Hake Huang <hake.huang@nxp.com>
2025-05-29 15:17:38 +01:00
Alberto Escolar Piedras
13fa0c5ebc tests/c_lib/common/src/test_sqrt: Fix code compliance issues
Fix several code compliance issues.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2025-05-29 15:17:32 +01:00
Alberto Escolar Piedras
37089cfc03 tests/c_lib/common/src/test_sqrt: Fix when double is not 64 bits
The combination of
3231269244
74c9e7afab
broke this test, when __SIZEOF_DOUBLE__ != 8.
In that case the test will fail to build,
as the variables the code uses are left ifdef'ed out.

Let's fix it.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2025-05-29 15:17:32 +01:00
Marcin Szymczyk
b5ca5b4147 soc: nordic: nrf54l: fix ordering in Kconfig
Application cores should be next to eachother.

Signed-off-by: Marcin Szymczyk <marcin.szymczyk@nordicsemi.no>
2025-05-29 15:16:52 +01:00
Marcin Szymczyk
b9d97aba21 drivers: misc: nordic_vpr_launcher: move SoC-specific config to DT
Targets that require setting secure attribute to VPR should specify
it in devicetree.

Signed-off-by: Marcin Szymczyk <marcin.szymczyk@nordicsemi.no>
2025-05-29 15:16:52 +01:00
Guðni Már Gilbert
f32223aac5 debug: ASSERT_VERBOSE depends on PRINTK
When both PRINTK and ASSERT are disabled, the firmware image will still
contain a symbol for assert_print function which increases the memory
footprint by 14 bytes. In this case the function doesn't do anything and
so these 14 bytes are not useful.

This change also reduces the memory footprint elsewhere such as in the
bluetooth subsystem which implements BT_ASSERT_VERBOSE. Now it will be
nop. On nRF52832 this is on the order of 300 - 400 bytes when configured
for peripheral only (just as an example).

Signed-off-by: Guðni Már Gilbert <gudni.m.g@gmail.com>
2025-05-29 15:16:41 +01:00
Chaitanya Tata
f6821fbc7e manifest: nrf_wifi: Fix the PR reference
The PR was merged pre-maturely, so, fix the PR reference.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2025-05-29 13:38:03 +01:00
Chaitanya Tata
5601af34b7 drivers: nrf_wifi: Rejig the statistics
Separate out host(local) and FW(remote) statistics and in case of a
FW statistics timeout, return success with a magic value in the FW
statistics, this way atleast host statistics would be handy for
debugging instead of sending failure up.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2025-05-29 12:07:09 +02:00
Chaitanya Tata
a26fff8c17 manifest: nrf_wifi: Pull fixes for stats timeout handling
Fixes a corruption when active traffic is run along with stats in the
background.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2025-05-29 12:07:09 +02:00
Loic Domaigne
a8eace10b3 drivers: sensor: bme280: fix "config" register intialization issue
A write to the "ctrl_meas" register can cause the sensor to transition
from sleep to normal mode (which is default Kconfig settings). As per
BME280 datasheet, writes to the "config" register in normal mode may be
ignored. This can lead to use BME280_STANDBY_05MS and BME280_FILTER_OFF
instead of the values set by the application. To fix this, write to the
"config" register before "ctrl_meas" in the sensor init function.

Signed-off-by: Loic Domaigne <tech@domaigne.com>
2025-05-29 12:06:39 +02:00
Robert Lubos
38e00d1969 net: tcp: Fix user_data provided to accept callback
TCP implementation provided the parent net_context pointer to the
accept callback instead of the user_data pointer registered with
net_tcp_accept(). This worked fine with the socket integration, as
sockets explicitly registered parent context as user_data, however it
shouldn't be hardcoded like this at the TCP level.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2025-05-29 12:05:58 +02:00
Pieter De Gendt
b029d792c6 debug: coredump: coredump_backend_flash: Update checksum only on success
If the flash stream API fails to write a buffer, exclude it from the
calculated checksum.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2025-05-29 12:05:42 +02:00
Pieter De Gendt
125389ea32 debug: coredump: coredump_backend_flash: Keep error in context on flush
Do not override the last known value in backend_ctx.error with the result
of flushing.
Any previous error would be cleared and the coredump would appear to have
succeeded.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2025-05-29 12:05:42 +02:00
Yangbo Lu
600cae64c2 scripts: blobs: add auto-accept option for license click-through
Added auto-accept option for license click-through.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
2025-05-29 10:46:56 +02:00
Tim Lin
e1b5b8b5f9 drivers/i2c: ite: Add handling for read operation with 0-byte length
The current I2C driver assumes that at least one byte will be read in CQ
(command queue) mode. However, when a 0-byte read is issued
(e.g., by cmd_i2c_scan),
The read handler uses (len - 1) to set the command queue length.
When len is 0, this underflows to 0xFF, leading to an incorrect transfer
length and possible crash.

To fix this, add a check in cq_mode_allowed() for reads with length 0:

-Fallback to PIO mode in such cases.
-Properly handle 0-byte reads by issuing STOP (E_FINISH) when the slave
 address is acknowledged.
-Add appropriate handling for NACK conditions when the slave address is
 not acknowledged.

Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
2025-05-29 10:46:47 +02:00
Lyle Zhu
d1deb20b95 Bluetooth: Classic: L2CAP: Disconn channel if proposed MTU is invalid
Disconnect the L2CAP channel connection if the proposed MTU is less
than min MTU or more than local supported MTU.

The main scenes are as follows.
If the proposed MTU is less than MIN MTU.
1. The channel connection of client and server is established,
2. Client/server sends channel config REQ (MTU=50),
3. Peer replies channel config RQP (Unaccepted/success with MTU=30),
4. The client/server will repeat step 3~4 if the RSP is unacceptable.

With the change applied, the local will disconnect the L2CAP channel
connection in step 3.

If the proposed MTU is more than local supported MTU.
1. The channel connection of client and server is established,
2. Client/server sends channel config REQ (MTU=50),
3. Peer replies channel config RQP (Unaccepted/success with MTU=80),
4. The client/server will repeat step 3~4 if the RSP is unacceptable.

With the change applied, the local will disconnect the L2CAP channel
connection in step 3.

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2025-05-29 10:46:26 +02:00
Lyle Zhu
858e64cded Bluetooth: Shell: Classic: Add command select to select BR connect
Add a shell command `select` to select a specific BR connect according
to the given BR address.

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2025-05-29 10:46:12 +02:00
Lyle Zhu
1572277a2e Bluetooth: Shell: Classic: Add command info to get conn info
Add shell command `info` to get the BR connect info.

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2025-05-29 10:46:12 +02:00
Shrek Wang
744380a278 net: tcp: Use correct seqnum for tcp_out and tcp_out_ext
Based on TCP Spec., the outgoing TCP packets shoud use SND.NXT as
the seqnum. In Zephyr, the conn->seq works as the SND.UNA and the
conn->seq + conn->unacked_len works as the SND.NXT. Currently, it
uses SND.UNA in tcp_out() as the seqnum, which might get dropped
as old packets and could not deliver the message to the peer.
A few exceptions use SND.NXT - 1 as the seqnum are: keepalive,
zero-window-probe, FIN/SYN retransmissions. And, for closing a
connection, Zephyr won't send out FIN until all the data has been
ACKed, so the conn->unacked_len is 0 and it is ok to use conn->seq
as the SND.NXT.

Signed-off-by: Shrek Wang <inet_eman@outlook.com>
2025-05-29 08:42:20 +02:00
Tim Lin
022043c6f6 soc/ite/ec: it51xxx: Add a new SoC variant it51526bw
1. Add it51526bw SoC variant to it51xxx SoC series.
2. Create the .dtsi file with adjusted flash size for 512Kb (default = 1M).

Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
2025-05-29 08:42:08 +02:00
Joel Guittet
9d4530fb79 drivers: counter: introduce counter node in esp32 timers
Add counter device tree node to the esp32 timers.

Signed-off-by: Joel Guittet <joelguittet@gmail.com>
2025-05-29 08:41:59 +02:00
Davi Herculano
46f7313db1 board: esp32_eye: doc: fix link formatting in board page
Fixed link formatting from Markdown to reStructuredText.

Signed-off-by: Davi Herculano <davi.herculano@adam-audio.de>
2025-05-29 06:32:11 +02:00
Piotr Koziar
5545e5806b Revert "modules: hal_nordic: nrf_802154: emit hfclk_ready with timer on nRF54LM20A"
This reverts commit 3c050cfcfd.

Signed-off-by: Piotr Koziar <piotr.koziar@nordicsemi.no>
2025-05-29 06:31:58 +02:00
The Nguyen
bd87dbc368 driver: can: renesas: remove first can bus starting at init
Remove can bus starting at initial function

Signed-off-by: The Nguyen <the.nguyen.yf@renesas.com>
2025-05-29 06:31:47 +02:00
The Nguyen
990b000e31 drivers: can: renesas: avoid breaking driver instance access
Keep data instance inside of data structure.
Avoid accessing global data or using pointers to out of
data instance.

Signed-off-by: The Nguyen <the.nguyen.yf@renesas.com>
2025-05-29 06:31:47 +02:00
Lyle Zhu
ff41c71737 Bluetooth: Class: Shell: HFP_HF: Add auto_select_codec command
Add shell command `auto_select_codec` to select codec automatically
when codec negotiation callback is notified.

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2025-05-29 06:31:32 +02:00
Lyle Zhu
aaef7eb658 Bluetooth: Classic: HGP_AG: change get_ongoing_call() to async mode
Change the callback `get_ongoing_call()` of the AG from synchronous to
asynchronous mode. It will help to avoid the Bluetooth host stack be
blocked in the context of callback `get_ongoing_call()`.

Add a function `bt_hfp_ag_ongoing_calls()` to set the ongoing calls and
reply the AT command `AT+CIND?` after the callback `get_ongoing_call()`
has been notified.

Add a delayable worker to avoid the AT command `AT+CIND?` never being
replied. After the time exceeds
@kconfig{CONFIG_BT_HFP_AG_GET_ONGOING_CALL_TIMEOUT}, the response of
the AT command `AT+CIND?` will be replied.

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2025-05-29 06:31:32 +02:00
Lyle Zhu
d6dc7fbd66 Bluetooth: Classic: Shell: Add command ongoing_calls
Add shell command `ongoing_calls` to set the ongoing calls.

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2025-05-29 06:31:32 +02:00
Lyle Zhu
488d577910 Bluetooth: Classic: HFP_HF: Support ongoing calls before SLC
If the any value of Call, Call Setup, and Held Call indicators is not
zero in the response of `AT+CIND?`, get all calls via `AT+CLCC`.

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2025-05-29 06:31:32 +02:00
Lyle Zhu
09f3c31818 Bluetooth: Classic: HFP_AG: Remove unnecessary lock/unlock
For read-only access to fields, `lock/unlock` is unnecessary.

Remove unnecessary `lock/unlock` protection for read-only access
fields of AG.

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2025-05-29 06:31:32 +02:00
Lyle Zhu
2b4de08c7c Bluetooth: Classic: HFP_AG: Support ongoing calls before SLC
Support the case that there are some calls existed before SLC
established.

Add a callback to get the ongoing calls one by one from upper layer
when the response of the AT command `AT+CIND=?` from HF has been sent.

And set the Call, Call Setup, and Held Call indicators and report the
values int the response of AT command `AT+CIND?`. Then report all
ongoing calls in the `+CLCC` response.

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2025-05-29 06:31:32 +02:00
Jiawei Yang
dc20d44d69 Sample: bluetooth: Enable MIMXRT1170 EVKB for peripheral_ht
Enable MIMXRT1170 EVKB for peripheral_ht.

Signed-off-by: Jiawei Yang <jiawei.yang_1@nxp.com>
2025-05-29 06:31:20 +02:00
Benjamin Cabé
af46f628a0 include: kernel: doc: add doxygen for k_sem
It can be confusing for users browsing the API docs to not find any
documentation for the k_sem structure. This commit adds doxygen
comments so that it now shows up.

Fixes zephyrproject-rtos/zephyr#90608.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-05-28 21:29:37 +02:00
Derek Snell
c7e36f0169 boards: nxp: mcx_n9xx_evk_cpu0_qspi: boot directly from QSPI flash
Configures QSPI board variant to boot directly from external QSPI flash
on the FlexSPI.  Secondary bootloader is no longer required.  Moves the
MCUboot boot_partition to QSPI flash.

Signed-off-by: Derek Snell <derek.snell@nxp.com>
2025-05-28 21:29:29 +02:00
Derek Snell
19315f5173 boards: nxp: frdm_mcxn947_cpu0_qspi: boot directly from QSPI flash
Configures QSPI board variant to boot directly from external QSPI flash
on the FlexSPI.  Secondary bootloader is no longer required.  Moves the
MCUboot boot_partition to QSPI flash.

Signed-off-by: Derek Snell <derek.snell@nxp.com>
2025-05-28 21:29:29 +02:00
Derek Snell
7c77d0ea48 soc: nxp: MCXNx4x: enable booting from QSPI flash
The ROM bootloader has the option to boot from external QSPI flash on
the FlexSPI instead of internal flash.  Adds
CONFIG_NXP_FLEXSPI_BOOT_HEADER to include the FlexSPI boot ROM header
in the image.

Signed-off-by: Derek Snell <derek.snell@nxp.com>
2025-05-28 21:29:29 +02:00
Sreeram Tatapudi
33e5748a4f drivers: gpio: Update GPIO driver to support XMC7200
Update GPIO driver to support XMC7200

Signed-off-by: Sreeram Tatapudi <sreeram.praveen@infineon.com>
2025-05-28 21:29:20 +02:00
Sreeram Tatapudi
774a62e67b drivers: serial: Update UART driver to support XMC7200
Update UART driver to support XMC7200

Signed-off-by: Sreeram Tatapudi <sreeram.praveen@infineon.com>
2025-05-28 21:29:20 +02:00
Sreeram Tatapudi
1fe5cb5982 drivers: clock_control: update clock control driver to support XMC7200
update clock control driver to support XMC7200

Signed-off-by: Sreeram Tatapudi <sreeram.praveen@infineon.com>
2025-05-28 21:29:20 +02:00
Sreeram Tatapudi
b3067bde98 board: infineon: add XMC7200 Eval board support
- Support for kit_xmc72_evk

Signed-off-by: Sreeram Tatapudi <sreeram.praveen@infineon.com>
Signed-off-by: Yurii Lozynskyi <yurii.lozynskyi@infineon.com>
2025-05-28 21:29:20 +02:00
Luis Ubieda
5cd3a7e79c sensor: afbr_s50: Add DTS configuration bindings
The following parameters are exposed through DTS bindings:
- ODR.
- Dual Frequency Mode.
- Measurement Mode.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-05-28 21:29:13 +02:00
Luis Ubieda
820975a409 sensor: afbr_s50: Add private channel to obtain pixel matrix
Each time this sensor gets a reading, it contains a matrix of 4 x 32
pixels containing distance readings, from which the 1-D result is
calculated. The private channel would expose this array through
Sensor APIs.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-05-28 21:29:13 +02:00
Luis Ubieda
f9d9e5bb6d modules: afbr: Add basic functionality
- Add AFBR module as a HAL.
- Platform layer to support running AFBR API using Zephyr.
- Ability to instantiate on device-tree.
- Samples in the module proving foundations works.
- Zephyr Sensor API support, by introducing:
    - Read/Decode for SENSOR_CHAN_DISTANCE (1-D results).
    - Streaming mode for DATA_READY (1-D results).

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-05-28 21:29:13 +02:00
Daniel Baluta
85b6ff0b0b drivers: dma: sdma: Make access to DMA channel stats atomic
DMA channel stats like pending_length or free is not protected
and can be modified in parallel by a consumer and a producer.

This can result in non-atomic updates which in turn will result
in using stale data.

Fix this by making regions of code accessing dma stats atomic.

Fixes: e94c86f395 ("drivers: dma: Add initial support for NXP SDMA")
Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
2025-05-28 20:02:31 +02:00
Daniel Baluta
312ff1c904 drivers: dma: sdma: Fix noise issue with pause/resume
Each time we configure an SDMA channel we also compute the total
allocated DMA buffer length but we assume is initialized with zero.

This is true each time a channel is requested. But if there are
multiple calls to configure without releasing the channel the buffer
length is not correctly computed.

So, we need to initialize it with zero each time we reconfigure the dma
channel.

Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
2025-05-28 20:02:31 +02:00
Gerson Fernando Budke
49990869a0 boards: doiting: Introduce dt_bl10_devkit board
Introduce dt_bl10_devkit board from doiting vendor.

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2025-05-28 20:02:17 +02:00
Gerson Fernando Budke
9048bd07ed dts: bindings: vendor-prefixes: Add doiting prefix
Add doiting vendor prefix.

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2025-05-28 20:02:17 +02:00
Daniel Leung
d31ee53b60 xtensa: allow flushing auto-refill DTLBs on page table swap
This adds a new kconfig and corresponding code to allow flushing
auto-refill data TLBs when page tables are swapped (e.g. during
context switching). This is mainly used to avoid multi-hit TLB
exception raised by certain memory access pattern. If memory is
only marked for user mode access but not inside a memory domain,
accessing that page in kernel mode would result in a TLB being
filled with kernel ASID. When going back into user mode, access
to the memory would result in another TLB being filled with
the user mode ASID. Now there are two entries on the same memory
page, and the multi-hit TLB exception will be raised if that
memory page is accessed. This type of access is better served
using memory partition and memory domain to share data. However,
this type of access is not prohibited but highly discouraged.
Wrapping the code in kconfig is simply because of the execution
penalty as there will be unnecessary TLB refilling being done.
So only enable this if necessary.

Fixes #88772

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2025-05-28 20:01:58 +02:00