Commit graph

118,807 commits

Author SHA1 Message Date
Oleg Zinovyev
2619fb0b9f doc: develop: tools: CLion: update link
Change the link.

Signed-off-by: Oleg Zinovyev <oleg.zinovyev@jetbrains.com>
2025-05-20 15:23:25 +02:00
Marcin Szymczyk
6bdd19bda3 drivers: clock_control: nrf2_fll16m: use HAL
HAL function for setting clock source in nrf_lrcconf is now available.

Signed-off-by: Marcin Szymczyk <marcin.szymczyk@nordicsemi.no>
2025-05-20 12:47:47 +02:00
Tomasz Moń
8b4c53e05a drivers: udc_dwc2: Optimize endpoint interrupt handling
SEGGER Ozone J-Trace Code Profile identified iterations over daint value
as hot path. The iterations show at the very top of code profile because
full iteration happens whenever there is any activity on endpoint.

Optimize daint handling loops so only set bits are iterated over. While
this optimization depends on find_lsb_set() efficiency, it seems to be
worth it solely on the basis that quite often only few bits are set.

After a bit deeper analysis, I was suprised that on ARM Cortex-M33 the
find_lsb_set() approach is faster than naive iteration even if all bits
are set (which is extreme case because USB applications are unlikely to
use all 16 IN and 16 OUT endpoints simultaneously). This is due to fact
that there is only one conditional jump CBNZ and find_lsb_set() - 1
translates to RBIT + CLZ and then clearing the bit uses LSL.W + BIC.W.
Whereas the naive itation uses ADDS + CMP + BNE for the loop handling
and also has LSR.W + LSLS + BPL (+ ADD.W instruction on each iteration
to add 16 for OUT endpoints) for the continue check. Therefore the
optimized code on ARM Cortex-M33 is never worse than naive iteration.

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2025-05-20 12:47:34 +02:00
Ederson de Souza
050b8a915c cmake/emu: Use SIMICS_PROJECT environment variable as working dir
Some simics dependencies live at its own directory, not application's.

Note we need to change it to its absolute path, because relative paths
for `add_custom_target` are relative to the build directory, while
relative SIMICS_PROJECT are more likely to be relative to ZEPHYR_BASE,
from where west or twister are normally run.

Signed-off-by: Ederson de Souza <ederson.desouza@intel.com>
2025-05-20 12:47:25 +02:00
Paul Schaetzle
9b1969a206 doc: dts: explain the usage of pre_dt_shield.cmake
Mention the possible use of pre_dt_shield.cmake in the devicetree and
shield documentation.

Signed-off-by: Paul Schaetzle <paulschaetzle@mailbox.org>
2025-05-20 12:47:00 +02:00
Paul Schaetzle
269799e0e9 cmake: modules: shields: pre_dt_shield.cmake file
Similar to the pre_dt_board.cmake, this is an optional file for
additional arguments that need to get passed to the devicetree compiler.

Signed-off-by: Paul Schaetzle <paulschaetzle@mailbox.org>
2025-05-20 12:47:00 +02:00
Fabio Baltieri
649eb6280d ci: pr_metadata_check: convert DNM logic to python
GitHub seems to have issue with workflow state caching that causes the
DNM step to not work properly in few cases and not detecting changes in
the DNM tag, forcing people to mess with tags or close/opening PRs,
which in turns restarts all workflows.

Convert the script to Python so that the tag data is guaranteed to be
fresh.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2025-05-20 10:17:19 +02:00
Samuel Quiniou
13808aee26 boards: stm32h573i_dk: add touch panel support
- The stm32h573i_dk board uses a ft3267 i2c controller for the touchscreen
connected on i2c4.
  - The zephyr driver ft5336 can control it.
- Use the I2C STM32 V2 Timing calculation.

Signed-off-by: Samuel Quiniou <samuel.quiniou@rtone.fr>
2025-05-20 10:17:06 +02:00
Marek Metelski
595fa2b2be boards: openocd: Use STM32-specific configuration for ST boards
The OpenOCD STM32-specific configuration was included into the common
configuration, which was then used in board files. Follow nRF5
convention instead: use manufacturer-specific config in boards.

Also due to the fact that the include of STM32-specific config was
placed *after* board_finalize_runner_args() it didn't really work
anyways.

Signed-off-by: Marek Metelski <marek@metelski.dev>
2025-05-20 10:16:33 +02:00
Oleh Kravchenko
4f69acc3d4 soc: stm32f1x: Add support for stop/standby modes
Add config and overlay to samples for testing stop/standby modes:

- samples/boards/st/power_mgmt/blinky
- samples/boards/st/power_mgmt/wkup_pins

I've measured consumption for each low-power mode:
- stop (regulator in run mode) ~217 uA
- stop (regulator in low-power mode) ~206 uA
- standby mode ~3.5 uA

Low-power mode wakeup timings from the datasheet,
but it barely meets these in reality:
- stop (regulator in run mode) 3.6 us
- stop (regulator in low-power mode) 5.4 us
- standby 50 us

It's possible to use RTC as idle timer to exit from stop mode.

Signed-off-by: Oleh Kravchenko <oleg@kaa.org.ua>
2025-05-20 10:16:20 +02:00
Bansidhar Mangalwedhekar
90a48e814b nrf7002ek: dts: Add pull down to SPIM GPIO pins
Add a pull down to SPIM GPIO pins on nRF5340DK to ensure the i/o pins
on the nrf7002 device are not floating when SPI is inactive.

Signed-off-by: Bansidhar Mangalwedhekar <bansidhar.mangalwedhekar@nordicsemi.no>
2025-05-20 09:17:15 +02:00
Babak Arisian
021c96dcad Bluetooth: controller: Correct validation for CONNECT_IND interval
Previously, the interval was only checked for non-zero. Now it is
validated to be within the allowed range (BT_HCI_LE_INTERVAL_MIN
to BT_HCI_LE_INTERVAL_MAX) to avoid invalid values.

Signed-off-by: Babak Arisian <bbaa@demant.com>
2025-05-20 09:17:07 +02:00
Fabrice DJIATSA
598987ef6a tests: drivers: gpio: gpio_basic_api: update arduino pins header
Loopback with D4 <-> D5 to avoid a failed test with the error
"physical pull-down does not read low."
It looks like pins D2-D3 couldn't be configured to pull-up
for some reason.

Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
2025-05-20 09:16:56 +02:00
Jiafei Pan
999c4cb652 boards: imx93_evk: refine jlink runner
The ogirnal design is using a J-Link script, then the path of image
is saved into the script file during building, it will has issue
when generate twister artifacts and copy it to another path for
testing as path is changed. so refine it to use new parameter of
J-Link runner parameter "--flash-sram" to fix this issue.

Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2025-05-20 09:16:47 +02:00
Jiafei Pan
48ed1a74a6 scripts: runners: jlink: add support to flash to sram
Add new parameter "--flash-sram" for J-Link runner to flash the image
to SRAM and modify the PC register to start of SRAM.

Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2025-05-20 09:16:47 +02:00
jhan bo chao
31b756562a drivers: input: rts5912: clear pending irq when setup
clear pending irq when setup.

Signed-off-by: jhan bo chao <jhan_bo_chao@realtek.com>
2025-05-20 09:16:31 +02:00
Adrian Warecki
042bf2c3fa kernel: userspace: Fix memory leak in dynamic_object_create
If memory allocation for a dynamic object fails, an attempt is made to free
a null pointer instead of the allocated element of the dynamic object list.

Signed-off-by: Adrian Warecki <adrian.warecki@intel.com>
2025-05-20 00:26:30 +01:00
Sylvio Alves
b78d1a1c96 tests: build_all: video: add esp32s3_eye board
Make sure esp32s3 video driver is built during CI tests.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2025-05-19 21:55:32 +02:00
Sylvio Alves
b1ab17a015 driver: video: remove endpoint id in esp32 driver
Remove endpoint ID entry in esp32 video driver needed after
API changes.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2025-05-19 21:55:32 +02:00
Mahesh Mahadevan
dcad2e036e drivers: nxp_pint: Add power handlers for the NXP PINT driver
This is needed to restore state on wakeup from certain low power
modes.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2025-05-19 21:55:15 +02:00
Mahesh Mahadevan
b694af6576 drivers: gpio: Setup the pinctrl in the NXP LPC GPIO driver
The pinctrl register bits need to be restored to GPIO mode
after we exit from certain low power modes. We cannot rely
on the pin function to default to GPIO.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2025-05-19 21:55:15 +02:00
Vinayak Kariappa Chettimada
920117922b Bluetooth: Controller: nRF53x: Fix NRF_CCM MAXPACKETSIZE value
Fix NRF_CCM MAXPACKETSIZE value to mitigate Bus Faults.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2025-05-19 21:55:04 +02:00
Vinayak Kariappa Chettimada
20576597df Bluetooth: Controller: nRF54Lx: Fix MDATA length to avoid MIC failures
Fix MDATA length with extra bytes to mitigate MIC failures.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2025-05-19 21:55:04 +02:00
Vinayak Kariappa Chettimada
d720032a43 Bluetooth: Controller: Fix assertion establishing Peripheral ISO
Fix assertion observed establishing subsequent Peripheral
ISO connection due to a race between the new CIS context
being acquired into a CIG and LLL getting a CIS sorted by
CIS offset in that CIG. Get only active CISes from the CIG
in the LLL prepare.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2025-05-19 21:55:04 +02:00
Vinayak Kariappa Chettimada
0ef1d98ec8 Bluetooth: Controller: Fix max tx octets value used
Fix max tx octets value used as given to the Host by the
LE Read Buffer Size command response.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2025-05-19 21:55:04 +02:00
Vinayak Kariappa Chettimada
33a8a33d79 Bluetooth: Controller: Fix redundant ISO Rx size in ACL Rx
Fix missing removal of redundant ISO Rx size in ACL Rx PDU
allocation size.

Related to commit 7c89f1fe9f ("Bluetooth: controller:
Support for separate ISO RX data path").

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2025-05-19 21:55:04 +02:00
Mahesh Mahadevan
84ba8d783b samples: lvgl: Enable PM for frdm_rw612 boards
Also enable Standy mode which maps to PM Mode 3

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2025-05-19 21:54:55 +02:00
Mahesh Mahadevan
6698f3b4e8 drivers: dma: Add PM handler for NXP LPC DMA driver
Add the PM handler. Reinitialize the DMA block in the
TURN_ON action, this is needed for some SoC's after the system
exits certain power modes.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2025-05-19 21:54:55 +02:00
Hank Wang
5379f4a16b drivers: sensor: tmp1075: add support for fractional threshold values
Previously, the TMP1075 driver only used the integer part (val1) of the
sensor_value when setting TLOW and THIGH thresholds. This limited the
precision of temperature threshold configuration and could be insufficient
in applications requiring fine-grained control.

This patch adds proper handling for the fractional part (val2) by encoding
it into bits [7:4] of the 12-bit temperature register according to the
TMP1075 datasheet. The decoding logic in get_threshold_attribute() is also
updated to recover the fractional value accurately.

Signed-off-by: Hank Wang <wanghanchi2000@gmail.com>
2025-05-19 21:54:45 +02:00
Alberto Escolar Piedras
6636d65ca5 manifest: Update nRF hw models to latest
Update the HW models module to:
c6296f600a6851bd652f207ab4908d339e1ce705

Including the following:
c6296f6 52/53 CCM: Remove warning on TASK_STOP
cb790ab hw_testcheat_if: Typo fix in comment
38956c4 RADIO: Add cheat interface to disable Tx or Rx

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2025-05-19 18:47:02 +01:00
Fabio Baltieri
0a14cc21cc serial: uart_bt: set the workqueue thread name
Set the bt_uart workqueue name so it does not show up as a mystery
thread on the thread list.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2025-05-19 18:39:16 +01:00
Fabio Baltieri
d79e9e7d3a serial: uart_bt: select SERIAL_SUPPORT_INTERRUPT
Select SERIAL_SUPPORT_INTERRUPT for uart_bt, this is required to have
the interrupt API available.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2025-05-19 18:39:16 +01:00
Damian Krolik
5ce7d05b70 manifest: update hal_nordic revision to pull in #293
Pull in clang compilation error fix.

Signed-off-by: Damian Krolik <damian.krolik@nordicsemi.no>
2025-05-19 18:39:12 +01:00
Mirko Bottarelli
6a791bd478 drivers/gpio: Fix issue in gpio_pca6416
Added the possibility of leaving the gpio-int property empty, in case
the corresponding pin is not connected.

Signed-off-by: Mirko Bottarelli <mirko.bottarelli@gmail.com>
2025-05-19 16:49:07 +01:00
Mirko Bottarelli
28052aa7f0 drivers: gpio: Fix PCA6416 configuration
Fix device initialisation, allowing for empty interrupt_gpios in the
dts, as suggested by the documentation.

Signed-off-by: Mirko Bottarelli <mirko.bottarelli@gmail.com>
2025-05-19 16:49:07 +01:00
Emil Gydesen
69b722566a tests: Bluetooth: Tester: Audio: Cleanup includes
Update the includes so that only what is actually used is included,
and so that everything is used is includes (IWYU).

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2025-05-19 16:48:53 +01:00
Jakub Wasilewski
dcda8089f0 samples: sensor: add sample for SHT4X
Add a new sample specifically for the SHT4X sensor.

Signed-off-by: Jakub Wasilewski <jwasilewski@internships.antmicro.com>
Signed-off-by: Filip Kokosinski <fkokosinski@antmicro.com>
2025-05-19 16:48:44 +01:00
Robert Lubos
011f2bc458 net: conn_mgr: Fix disconnect with CONN_MGR_IF_NO_AUTO_DOWN unset
Connection manager enforces non-blocking disconnect() behavior, yet in
case CONN_MGR_IF_NO_AUTO_DOWN flag is not set, it'd put the interface
down right after, disrupting the disconnect process.

As putting the interface down can be handled in the corresponding event
handler as well, when the interface is actually disconnected, remove the
conn_mgr_conn_if_auto_admin_down() call from conn_mgr_if_disconnect().
To make this work with persistence flag, introduce a new internal flag
indicating that the interface is in active disconnect.

Finally, since it isn't really necessary that disconnect() API call is
non-blocking, remove that requirement.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2025-05-19 16:37:07 +02:00
Mahesh Mahadevan
0abf4f589b drivers: input_gt911: Reinitialize interrupt GPIO on exit from PM
Certain power modes lose state of the GPIO, hence we need to
reconfigure the interrupt GPIO. This is managed using pm_notifiers

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2025-05-19 16:36:42 +02:00
Alberto Escolar Piedras
5c9c3497ed boards native bsim: Provide control of disconnection on exit
Allow either programatically from the test/code or from the command
line to chose if this executable exiting should terminate the
whole simulation, or if it should only disconnect the device.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2025-05-19 16:36:30 +02:00
Alberto Escolar Piedras
2673aa9755 manifest: Update bsim to version v2.6
Main changes since v2.5:
* ext_2G4_phy_v1: Now supports DISCONNECTS during abort re-evaluations
* ext_2G4_phy_v1: Also support bitrates multiple of 250Kbps and 333Kbps

Note: Like before, bsim remains fully backwards compatible

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2025-05-19 16:36:30 +02:00
Martin Hoff
34aff5ef7c boards: silabs: add missing tag for uart on siwx917 board
Add missing uart tag for siwx91x boards.

Signed-off-by: Martin Hoff <martin.hoff@silabs.com>
2025-05-19 16:36:21 +02:00
Martin Hoff
ea95e2d7f0 soc: silabs: siwx91x: add missing kconfig for ns16550 driver variant
The ns16550 UART driver has multiple variant Kconfig options. To
successfully run the uart_basic_api test, the correct variant must be
selected. This commit adds the missing Kconfig option.

Signed-off-by: Martin Hoff <martin.hoff@silabs.com>
2025-05-19 16:36:21 +02:00
Abderrahmane JARMOUNI
c6c5d315cd samples: lvgl: multi_display: add SDL Window titles
Add custom titles to SDL windows in native sim

Signed-off-by: Abderrahmane JARMOUNI <git@jarmouni.me>
2025-05-19 16:36:12 +02:00
Abderrahmane JARMOUNI
6be42eb2d3 drivers: display: sdl: add windows custom naming
Add the possibility to set a custom name for SDL window
in native simulator

Signed-off-by: Abderrahmane JARMOUNI <git@jarmouni.me>
2025-05-19 16:36:12 +02:00
Robin Kastberg
05401b3f44 modules: hal_rpi_pico: set -std=gnu11 in a toolchain independent way.
Set `-std=gnu11` in a more toolchain independent way.

Signed-off-by: Robin Kastberg <robin.kastberg@iar.com>
2025-05-19 16:36:04 +02:00
Sergei Ovchinnikov
1ef29d5218 dts: bindings: npm1300-charger: make vbus-limit-microamp required
Make the vbus-limit-microamp property of npm1300-charger required and
change its range to reflect the one actually supported by the device.

Signed-off-by: Sergei Ovchinnikov <sergei.ovchinnikov@nordicsemi.no>
2025-05-19 16:35:55 +02:00
Camille BAUD
26d170e9b6 tests: display: Fix SSD1327 Test
Adds new property

Signed-off-by: Camille BAUD <mail@massdriver.space>
2025-05-19 16:35:50 +02:00
Camille BAUD
23d1a8fd2d drivers: display: Re-introduce SSD1327
This makes SSD1327 use the new L8 display format.
It also fixes all displays that didnt support the undocumented
monochrome mode.
It also adds i2c and revamps the entire driver.

Signed-off-by: Camille BAUD <mail@massdriver.space>
2025-05-19 16:35:50 +02:00
Sergei Ovchinnikov
05c7fadf95 samples: shields: npm2100_ek sample
A sample show-casing the core functionalities of the nPM2100 PMIC using
the nPM2100 EK as a shield.

Signed-off-by: Sergei Ovchinnikov <sergei.ovchinnikov@nordicsemi.no>
2025-05-19 13:42:15 +02:00