Commit Graph

118922 Commits

Author SHA1 Message Date
Can Wang
f4257e1318 tests: Bluetooth: BR: Add test suite of SC Only Mode for SMP
IUT works as an SM Initiator/Responder. The peer device,
SM Responder/Initiator, is a PC running bumble on it.

Add shell commands to create and manage L2CAP server and channel with
different security level.

In the test suite, there are 10 test cases. IUT is configured
with Secure Connections Only Mode. The peer device is configured with
Secure Connections Mode or Legacy Mode. The test matrix is:
| Case ID | Secure Connection Option | Security Level | Expected Result |
|---------|--------------------------|----------------|-----------------|
| BR_SM_SC_INIT_005 | SC Only with SC | Level 4 | Pass |
| BR_SM_SC_INIT_006 | SC Only with SC | Level 1 | Fail |
| BR_SM_SC_INIT_007 | SC Only with SC | Level 2 | Fail |
| BR_SM_SC_INIT_008 | SC Only with SC | Level 3 | Fail |
| BR_SM_SC_INIT_009 | SC Only with Legacy | Level 3 | Fail |
| BR_SM_SC_RSP_005 | SC Only with SC | Level 1 | Fail |
| BR_SM_SC_RSP_006 | SC Only with SC | Level 2 | Fail |
| BR_SM_SC_RSP_007 | SC Only with SC | Level 3 | Fail |
| BR_SM_SC_RSP_008 | SC Only with SC | Level 4 | Pass |
| BR_SM_SC_RSP_009 | SC Only with Legacy | Level 3 | Fail |

Signed-off-by: Can Wang <can.wang@nxp.com>
2025-07-10 10:11:01 -05:00
Can Wang
5e8046df2e tests: Bluetooth: BR: Add test suite of IO Capability for SMP
IUT works as an SM Initiator/Responder. The peer device,
SM Responder/Initiator, is a PC running bumble on it.

Add shell commands to create and manage L2CAP server and channel with
different security level.

In the test suite, there are 32 test cases. The peer device is
configured with "Display YesNo" IO capability. The test matrix
combines each local IO capability with each security level requirement:

| Case ID | Local IO Capability | Security Level | Expected Outcome |
|---------|---------------------|----------------|------------------|
| BR_SM_IO_CAP_INIT_001 | No Input No Output | Level 1 | Success |
| BR_SM_IO_CAP_INIT_002 | No Input No Output | Level 2 | Success |
| BR_SM_IO_CAP_INIT_003 | No Input No Output | Level 3 | Failure |
| BR_SM_IO_CAP_INIT_004 | No Input No Output | Level 4 | Failure |
| BR_SM_IO_CAP_INIT_005 | Display Only | Level 1 | Success |
| BR_SM_IO_CAP_INIT_006 | Display Only | Level 2 | Success |
| BR_SM_IO_CAP_INIT_007 | Display Only | Level 3 | Failure |
| BR_SM_IO_CAP_INIT_008 | Display Only | Level 4 | Failure |
| BR_SM_IO_CAP_INIT_009 | Keyboard Only | Level 1 | Success |
| BR_SM_IO_CAP_INIT_010 | Keyboard Only | Level 2 | Success |
| BR_SM_IO_CAP_INIT_011 | Keyboard Only | Level 3 | Success |
| BR_SM_IO_CAP_INIT_012 | Keyboard Only | Level 4 | Success |
| BR_SM_IO_CAP_INIT_013 | Display YesNo | Level 1 | Success |
| BR_SM_IO_CAP_INIT_014 | Display YesNo | Level 2 | Success |
| BR_SM_IO_CAP_INIT_015 | Display YesNo | Level 3 | Success |
| BR_SM_IO_CAP_INIT_016 | Display YesNo | Level 4 | Success |
| BR_SM_IO_CAP_RSP_001 | No input No output | Level 1 | Success |
| BR_SM_IO_CAP_RSP_002 | No input No output | Level 2 | Success |
| BR_SM_IO_CAP_RSP_003 | No input No output | Level 3 | Failure |
| BR_SM_IO_CAP_RSP_004 | No input No output | Level 4 | Failure |
| BR_SM_IO_CAP_RSP_005 | Display Only | Level 1 | Success |
| BR_SM_IO_CAP_RSP_006 | Display Only | Level 2 | Success |
| BR_SM_IO_CAP_RSP_007 | Display Only | Level 3 | Failure |
| BR_SM_IO_CAP_RSP_008 | Display Only | Level 4 | Failure |
| BR_SM_IO_CAP_RSP_009 | Keyboard Only | Level 1 | Success |
| BR_SM_IO_CAP_RSP_010 | Keyboard Only | Level 2 | Success |
| BR_SM_IO_CAP_RSP_011 | Keyboard Only | Level 3 | Success |
| BR_SM_IO_CAP_RSP_012 | Keyboard Only | Level 4 | Success |
| BR_SM_IO_CAP_RSP_013 | Display YesOrNo | Level 1 | Success |
| BR_SM_IO_CAP_RSP_014 | Display YesOrNo | Level 2 | Success |
| BR_SM_IO_CAP_RSP_015 | Display YesOrNo | Level 3 | Success |
| BR_SM_IO_CAP_RSP_016 | Display YesOrNo | Level 4 | Success |

Signed-off-by: Can Wang <can.wang@nxp.com>
2025-07-10 10:10:30 -05:00
Jiawei Yang
bea02a639b tests: Bluetooth: BR: Add test suite RFCOMM_server
IUT works as an RFCOMM Server. The peer device, RFCOMM Client, is a PC
running bumble on it.

Add shell commands to create and manage RFCOMM server with different
flow control mechanisms.

In the test suite, there are seven test cases:
Case 1: RFCOMM Server - Reject RFCOMM Session. IUT should properly
reject incoming RFCOMM session when BR connection is disconnected.
Case 2: RFCOMM Server - Forward compatible with Bluetooth devices that
do not send PN command. IUT should properly handle this case and use
FCON/FCOFF as flow control.
RPN, Test) and send NSC responses
Case 3: RFCOMM Server - Respond to Control Commands After DLC
Establishment. IUT should properly respond to control commands (RLS,
RPN, Test) and send NSC responses.
Case 4: RFCOMM Server - Information Transfer with Aggregate Flow
Control. IUT should handle information transfer with aggregate flow
control and properly issue flow control signals.
Case 5: RFCOMM Server - Information Transfer with Credit Based Flow
Control and Active Disconnection. IUT should handle credit-based flow
control and actively disconnect DLC.
Case 6: RFCOMM Server - Information Transfer with Credit Based Flow
Control and Passive Disconnection. IUT should handle credit-based flow
control and respond to DLC disconnection.

Signed-off-by: Jiawei Yang <jiawei.yang_1@nxp.com>
2025-07-10 10:09:13 -05:00
Titan Chen
7a8bd3dbe7 soc : realtek: ec: rts5912: fix VIN polarity issue
fix ulpm driver polarity issue.
when pin-pol set to falling need to set the POL bit to 1.
when pin-pol set to rising need to set the POL bit to 0.

Signed-off-by: Titan Chen <titan.chen@realtek.com>
2025-07-09 17:18:59 -05:00
Eve Redero
91c71dde8a doc: drivers: display: add basic controller info
Add basic controller information (techno, resolution, color depth...)
for display drivers.

Signed-off-by: Eve Redero <eve.redero@gmail.com>
2025-07-09 17:18:39 -05:00
Declan Snyder
f7853dfb16 tests: spi_loopback: Fix same_buf_cmd test
The tests was written wrong. It was meant to test using same spi bufs
for both rx and tx, as in tree many sensor and other spi device drivers
use this paradigm. But the 2nd buf setup call was overwriting the first.
Fix by not using the helper function for this case.

And for the write back test, test using same spi_buf_set.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2025-07-09 17:18:22 -05:00
Fabrice DJIATSA
1804eb7bc3 drivers: i2c: stm32: exclude stm32f7 family for PM
The STM32F7 family does not yet support power management in Zephyr.

Besides, LL_I2C_EnableWakeUpFromStop and LL_I2C_DisableWakeUpFromStop

are not implemented in the H7 HAL/LL drivers

Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
2025-07-09 17:16:16 -05:00
Khaoula Bidani
09778c36eb samples: sysbuild: update list of platforms
Add nucleo_u385rg_q boards to test the MCUboot builds.

Signed-off-by: Khaoula Bidani <khaoula.bidani-ext@st.com>
2025-07-09 17:15:56 -05:00
Khaoula Bidani
d469eb3a8d soc: stm32u3: Update ROM_START_OFFSET
Update offset to 0x400 o align with MCUboot image.

Signed-off-by: Khaoula Bidani <khaoula.bidani-ext@st.com>
2025-07-09 17:15:56 -05:00
Khaoula Bidani
926bf82ca3 boards: st: nucleo_u385rg_q: add flash partition
Define fixed partitions for bootloader (mcuboot),
primary and secondary images, and storage.

Signed-off-by: Khaoula Bidani <khaoula.bidani-ext@st.com>
2025-07-09 17:15:56 -05:00
Khaoula Bidani
f02dc0d5e0 dts: arm: st: u3: fix flash erase block size and max erase time
- Change erase-block-size from 8192 to 4096 bytes to match
the 4 KB page size of STM32U3 flash.
- Update max-erase-time from 5 ms to 14 ms according to
datasheet specifications.
- These changes ensure correct flash erase behavior
and timing on STM32U3 devices.

Signed-off-by: Khaoula Bidani <khaoula.bidani-ext@st.com>
2025-07-09 17:15:56 -05:00
Magdalena Pastula
df52ba87d8 tests: drivers: mspi: api: make test generic
Add definition of MSPI_PORT for other platforms to make the test
generic.

Signed-off-by: Magdalena Pastula <magdalena.pastula@nordicsemi.no>
2025-07-09 17:15:19 -05:00
Van Petrosyan
4834201124 dts: bindings: mark power gpio in bg95 as optional
The Quectel BG95 binding currently marks mdm-power-gpios as
required.  This fits designs that expose the PWRKEY pin, but the
BG95-M3 in Mini PCIe form-factor boots automatically via its
on-module “Automatic Power-On Circuit” and does not route
PWRKEY to the card edge.

Signed-off-by: Van Petrosyan <van.petrosyan@sensirion.com>
2025-07-09 17:14:59 -05:00
Sylvio Alves
61147a3841 drivers: spi: esp32: fix volatile array zeroing to use explicit loop
Replace memset() with an explicit loop to zero the data_buf array,
which is part of a volatile struct. Standard memset does not guarantee
volatile stores, which can lead to incorrect hardware access.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2025-07-09 17:14:04 -05:00
Sylvio Alves
a7a4583e15 soc: esp32: loader: skip non-valid segment after the last valid one
Some ESP32 images may not end with a segment whose
load_addr is 0xFFFFFFFF, especially if the flash was not fully
erased or the image tool does not write an explicit end marker.
This can cause the loader to process leftover or unrelated data as
additional segments, resulting in boot failures.

Update the IS_LAST() macro to treat any segment not matching
a valid memory region as the end of the segment list.
This ensures only valid segments are loaded and any trailing
invalid data is safely skipped.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2025-07-09 17:13:54 -05:00
Mai Shimozato
0f8b7b7443 stdlib : strtoll : fix strtoll overflow handling with unsigned accumulator
ensure correct assignment of overflow values to unsigned accumulator

Signed-off-by: Mai Shimozato <mshimozato@tenstorrent.com>
2025-07-09 09:44:48 -05:00
Philipp Steiner
aa8b259167 samples: fuelgauge: resolve_merge_artifacts
moves adafruit_feather_esp32s3_tft_reverse_procpu.conf file
to the correct folder after PR was merged.

Signed-off-by: Philipp Steiner <philipp.steiner1987@gmail.com>
2025-07-09 09:44:35 -05:00
Khaoula Bidani
618044ed78 drivers: clock_control: fix PLL input frequency
Correct PLL input frequency calculation to consider
HSI clock divider in clock_stm32_ll_h7.c file.
For sake of simplicity, use PLLSRC_FREQmacro that
already considers the HSI clock divider when applicable.

Signed-off-by: Khaoula Bidani <khaoula.bidani-ext@st.com>
2025-07-09 09:44:25 -05:00
Guennadi Liakhovetski
05616c51b6 posix: fix posix clock undefined type
When built with the minimal libc while using POSIX clocks, Zephyr
compilation breaks with "error: unknown type name 'clockid_t'." Use
int instead of clockid_t to eliminate the dependency.

Suggested-by: Chris Friedt <cfriedt@tenstorrent.com>
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2025-07-09 09:43:52 -05:00
Gaetan Perrot
99b988b865 tests: arch: arc: arc_vpx_lock: remove unused variable
Remove the unused variable 'lock_id' from main.c in the arc_vpx_lock test.

No functional change intended.

Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
2025-07-09 09:43:25 -05:00
Lyle Zhu
e4569c434a Bluetooth: Classic: L2CAP: Fix retransmission timer restarting
When received the valid S frame, the retransmission timer should not
be restarted if unacknowledged I-frames have been sent but the
retransmission timer has not elapsed.

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2025-07-09 09:43:12 -05:00
Vinayak Kariappa Chettimada
f6495d8b43 Bluetooth: Controller: Fix Tx Ack FIFO index corruption under race
Fix Tx Ack FIFO's first index being advanced beyond a
recorded ack_last value in a node_rx when under race
between ll_rx_get() being pre-empted while executing the
`tx_cmplt_get()` and a call to `ll_rx_put()` in an
interrupt service routine.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2025-07-09 09:42:58 -05:00
Josuah Demangeon
e0b706b6c6 drivers: video: stm32_dcmipp: move video/ header directory to drivers/
During #89407 a driver-specific header stm32_dcmipp.h got introduced to
support new functionnalities not yet covered by video APIs.
Move this header into a new <include/zephyr/drivers/video/> include
direcctory like what other driver classes do.

Signed-off-by: Josuah Demangeon <me@josuah.net>
2025-07-09 09:42:43 -05:00
Simon Piriou
732a3a5c66 net: l2: ieee802154: shell: fix scan argc validation
Bump the argc check from 3 to 4 as the shell scan command has 3 required
parameters, the last being the scan duration:
- argv[0]
- passive|active
- channels
- per-channel duration in ms

Signed-off-by: Simon Piriou <spiriou31@gmail.com>
2025-07-09 00:26:29 -05:00
Gaetan Perrot
503011d0a2 arch: arm: core: cortex_a_r: mark unused function argument
Use ARG_UNUSED() to mark unused function argument.

Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
2025-07-09 00:26:17 -05:00
Gaetan Perrot
3aa477ba2e arch: arm: core: cortex_a_r: mark unused function argument
Use ARG_UNUSED() to mark unused function argument.

Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
2025-07-09 00:25:52 -05:00
Filip Stojanovic
f0b5911d0a sensor: bme280: Fix bad chip id read after power cycle
Fix an issue where the BME280 sometimes returns an incorrect chip ID
immediately after a power cycle. This causes sensor initialization to fail.

According to the datasheet, the sensor requires a 2 ms start-up delay after
power is applied. This patch introduces a sleep delay to ensure the
required start-up time is respected before reading the chip ID.

Signed-off-by: Filip Stojanovic <filipembedded@gmail.com>
2025-07-09 00:25:33 -05:00
Jordan Yates
9245f58b4c modules: hostap: fix connection termination report
If the disconnect event is raised before the network has been connected,
report the connection result as `WIFI_STATUS_CONN_FAIL`, instead of as
`WIFI_REASON_DISCONN_SUCCESS`, which is interpretted as
`WIFI_STATUS_CONN_SUCCESS`.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-07-09 00:24:36 -05:00
Emilio Benavente
0bdb9595b1 drivers: misc: mcux_flexio: Set the DOZEN bit
Setting the DOZEN bit in the flexio so the soc
does not force the peripheral to go into
low power mode when the soc is in idle.

Signed-off-by: Emilio Benavente <emilio.benavente@nxp.com>
2025-07-09 00:24:14 -05:00
Fin Maaß
809c855a62 mcuboot: cmake: only set write_block_size when needed
only set write_block_size when needed and don't output
a warning, when it's not needed

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2025-07-08 18:35:44 -05:00
Luis Ubieda
b0caaed43b rtio: workq: Restructure workqueue as a threads pool with a queue
Based on a discussion around P4WQ limitations for our application, it
was determined that the RTIO workqueue required the ability to use
additional threads from the pool in spite of work items blocked.
Since this is not covered, nor desired for the P4WQ, then remove this
dependency and re-implement it in a way that covers also this use-case.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-07-08 18:35:26 -05:00
Luis Ubieda
ee44416d88 tests: rtio: workq: Add test-case for same-prio items
Processed on separate worker threads. This test is expected to fail
as the P4WQ limits the number of active items assigned to worker
threads to the number of CPU cores the system has.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-07-08 18:35:26 -05:00
Gaetan Perrot
3e9eea2cc1 arch: arm: core: cortex_m: mark unused function argument
Use ARG_UNUSED() to mark unused function argument.

Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
2025-07-08 18:35:14 -05:00
Gaetan Perrot
eb7fe02aac arch: arm: core: elf: mark unused function argument
Use ARG_UNUSED() to mark unused function argument.

Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
2025-07-08 18:35:00 -05:00
Gaetan Perrot
a4fc6723ac arch: arm: core: cortex_m: mark unused function argument
Use ARG_UNUSED() to mark unused function argument.

Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
2025-07-08 18:34:49 -05:00
Oleh Kravchenko
35b8ff43f4 soc: stm32f1x: Remove redundant code and clear SB flag
There is no need to call stm32_pwr_wkup_pin_cfg_pupd() because
the SoC does not have a pull-up/pull-down on the WKUP pin.

Call LL_PWR_ClearFlag_SB() before entering StandBy power mode.

Signed-off-by: Oleh Kravchenko <oleg@kaa.org.ua>
2025-07-08 18:34:22 -05:00
Anas Nashif
ce119f5d07 tracing: do not mark thread as switched_out in case of no reschedule
If z_get_next_switch_handle determines no reschdule is needed, do not
mark thread as switched_out in set_curent() where new and old thread are
the same.

See zephyrproject-rtos/zephyr#88596 for more details.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2025-07-08 18:34:11 -05:00
Anas Nashif
7f282f7928 xtensa: tracing: instrument thread switching
Add missing call to thread_switched_in for the purpose of tracing.

Fixes zephyrproject-rtos/zephyr#76057

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2025-07-08 18:34:11 -05:00
Petri Pitkanen
808ee1713d drivers: bluetooth: silabs: Fix indicating support for 2M phy
Previously we always had driver to support 2M PHY regardless of
configuration. As this was fixed the missing support statemenent
caused 2M support to miss regardless of configuration.

Signed-off-by: Petri Pitkanen <petri.pitkanen@silabs.com>
2025-07-08 13:44:51 -05:00
Loic Domaigne
a0a47a4b6d Bluetooth: ASCS: fix uninitialized pointer read
Fix uninitialized pointer read reported by Coverity.
Coverity CID: 529879

Signed-off-by: Loic Domaigne <tech@domaigne.com>
2025-07-08 13:44:37 -05:00
Gaetan Perrot
36fe97f2ee samples: net: mqtt_sn_publisher: Remove shadowed variable
Avoids shadowing the outer 'err' variable by reusing it instead of
redeclaring it inside a conditional block.

This improves code readability.

Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
2025-07-08 13:44:28 -05:00
Conor Paxton
404c43af6e lib: smf: fix function name typo "share_paren"
looks like a typo and should be share_parent. quick fix

Signed-off-by: Conor Paxton <conor.paxton@microchip.com>
2025-07-08 13:41:59 -05:00
Anas Nashif
f5e9586d42 MAINTAINERS: fix labels for intel platforms
'platform: Intel' goes to general X86 platforms.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2025-07-08 13:41:48 -05:00
Lyle Zhu
d48e2bb4f4 Bluetooth: Classic: L2CAP: Fix issue that pending chan cannot be sent
When the returned buffer is a `NULL` of the pull function, it means
there is not any data needs to be sent. However maybe there is any
frame pending on other L2CAP channel needs to be sent over the same
ACL connection.

Re-trigger the TX processor. It will call the pull function again
and the pending buffer will be pulled from following L2CAP.

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2025-07-08 13:41:39 -05:00
Marcin Szymczyk
d487601379 MAINTAINERS: exclude Wi-Fi related drivers from nRF Platform
Separate entry (see `Drivers: Wi-Fi as nRF Wi-Fi`) handles
Wi-Fi related reviews. Add files-exclude to decrease noise.

Signed-off-by: Marcin Szymczyk <marcin.szymczyk@nordicsemi.no>
2025-07-08 13:41:28 -05:00
Jukka Rissanen
69fddf8f0b net: dns: Check interfaces to be NULL before use
Make sure interfaces variable is not NULL before using it.

Coverity-CID: 529857

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2025-07-08 13:41:11 -05:00
Benjamin Cabé
4d98db4a45 doc: doxygen: update doxygen awesome to v2.3.4
No major changes but compatibility is improved with Doxygen 1.12.0.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-07-08 13:41:02 -05:00
Benjamin Cabé
5b56e4dc02 .github: workflows: Bump Doxygen to 1.14 from 1.12
Doxygen 1.14 comes with really useful UX improvements which we want to
benefit from in our API documentation so update the CI job accordingly.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-07-08 13:41:02 -05:00
Benjamin Cabé
86bea343b1 Bluetooth: BAP: fix bad doxygen @cond placement
Move `@cond INTERNAL_HIDDEN` comment where it belongs (fixing what was
probably a copy-paste/refactoring error).
This also makes the previously `bap_iso`, `group`, `_prev_seq_num`
visible again.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-07-08 13:41:02 -05:00
Fabrice DJIATSA
24af0c8ee1 drivers: pwm: stm32: add stm32h7rs bus prescalers
The clock tree of the STM32H7RS series uses the ppre1
and ppre2 naming convention instead of apb1_prescaler
and apb2_prescaler for bus prescaler.

Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
2025-07-08 13:40:50 -05:00