Commit graph

126,787 commits

Author SHA1 Message Date
Sayooj K Karun
ff657071ce include: zephyr: sys: Assert in min_heap_get_element
Assert in `min_heap_get_element()` if heap is NULL

Signed-off-by: Sayooj K Karun <sayooj@aerlync.com>
2025-06-26 11:58:05 -04:00
Sayooj K Karun
e719ba239f include: zephyr: sys: simplify MIN_HEAP_FOREACH macro
Refactor the `MIN_HEAP_FOREACH` macro to use a cleaner
for-loop style removing the need for a third `body` argument.
Update the sample application with the new macro changes.

Signed-off-by: Sayooj K Karun <sayooj@aerlync.com>
2025-06-26 11:58:05 -04:00
Sayooj K Karun
964a832702 lib: min_heap: Refactor heapify_up/down functions
Remove using `swap()` which was using VLA and replace it
with `byteswp()`.
Reduce the scope of local variables in `heapify_up/down` to
the smallest necessary block.
Replace `while(true)` loop in `heapify_down()` with a bounded `for`
loop.

Signed-off-by: Sayooj K Karun <sayooj@aerlync.com>
2025-06-26 11:58:05 -04:00
Dave Joseph
cabf2c4d1d tests: power: tisci: TISCI power domains test
Test for power domains driver based on TISCI API added. This test is
for the target am243x_evm/am2434/r5f0_0.

Signed-off-by: Dave Joseph <d-joseph@ti.com>
2025-06-26 10:57:45 -05:00
Dave Joseph
cdea43c7c3 dts: arm: ti: PD support for AM243x EVM in DT
Adds power domain config for AM243x EVM to the device tree.

Signed-off-by: Dave Joseph <d-joseph@ti.com>
2025-06-26 10:57:45 -05:00
Dave Joseph
76905a8e54 drivers: power_domain: Power domain TISCI driver support
Support added for power domain regulation using TISCI added for
devices using the binding ti,sci-pm-domain.
This driver relies on the TISCI layer to make calls to the
device manager core to perform power management.

Signed-off-by: Dave Joseph <d-joseph@ti.com>
2025-06-26 10:57:45 -05:00
Rafał Kuźnia
558f26eaf9 modules: hal_nordic: nrf_802154: set clock startup latency
The clock startup latency is now obtained from the clock driver and the
nrf-802154 is now set to a value that matches hardware capabilities.

Signed-off-by: Rafał Kuźnia <rafal.kuznia@nordicsemi.no>
2025-06-26 10:57:12 -05:00
Rafał Kuźnia
d0a076984b boards: nordic: nRF54L15DK: set HFXO clock latency to 854
The HFXO used on nRF54L15 DK has the typical startup latency of 854us.

Signed-off-by: Rafał Kuźnia <rafal.kuznia@nordicsemi.no>
2025-06-26 10:57:12 -05:00
Rafał Kuźnia
0eb182a120 modules: hal_nordic: nrf_802154: CCA threshold config in dBm
The nrf-802154 component of hal_nordic is updated.
The CCA threshold configuration is now done in dBm units, instead of
hardware-dependent scale.
Fixed a bug, where the CONFIG_NRF_802154_CCA_ED_THRESHOLD units were
different from the NRF_802154_CCA_ED_THRESHOLD units. Now all
configuration is done in dBm.

Signed-off-by: Rafał Kuźnia <rafal.kuznia@nordicsemi.no>
2025-06-26 10:57:12 -05:00
Jeppe Odgaard
dffbd4fc88 license: fix copyright owner
Change license owner to Prevas due to initially wrong owner due to company
mix-up during co-development.

Signed-off-by: Jeppe Odgaard <jeppe.odgaard@prevas.dk>
2025-06-26 10:56:48 -05:00
Ryan McClelland
d0d9894070 drivers: sensor: bmm350: expose magnetic reset
This exposes a driver specific function to perform a
magentic reset by the application.

Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
2025-06-26 10:55:54 -05:00
Ryan McClelland
8cdaf1db99 drivers: sensor: bmm350: run clang-format
Run clang-format on files

Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
2025-06-26 10:55:54 -05:00
Ryan McClelland
dc6594997c drivers: sensor: bmm350: nit picky cleanup
There were a lot of places where the return value was sum'ed up
which can be slightly easier to read, but can give an odd return
value in the end. This changes it to just return immediately if
an error is seen.

There was also runtime NULL checking of input arguments that are
rather programmer clown prevention. Change these to asserts.

The return value didn't have a consistant type through the file,
make it consistently an int.

This changes the name of the return value of fix_sign to be
signed_value differenating it from the ret name used elsewhere.

Use the sizeof(buffer) as the argument for reg reads and writes
rather than a hard number.

Some log messages ended with '\n'. Remove all these.

Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
2025-06-26 10:55:54 -05:00
Ryan McClelland
e636fb2dd1 drivers: sensor: bmm350: add pad ctrl and int ctrl dts config
Add configurations for setting the pad drive strength and the
interrupt active high/low and od/pp.

Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
2025-06-26 10:55:54 -05:00
Ryan McClelland
d2fdf52d43 drivers: sensor: bmm350: fix handling interrupt race condition
There is a race condition where an interrupt can fire before the
drdy_handler is registered. The drdy_handler will tradionaly
callback the sample get clearing the interrupt... but if it's not
configured and NULL, the interrupt will stay forever latched. Read
the interrupt status to clear the interrupt flag allowing it to
trigger again.

Also, move the serial api function helpers in to the header
allowing them to be used from other c files.

Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
2025-06-26 10:55:54 -05:00
Ryan McClelland
c7e1f0b3da drivers: sensor: bmm350: fix no averaging val for oversampling
Fix the oversampling value to be 1 from 0 for no oversampling to be
consistant with other sensor drivers.

Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
2025-06-26 10:55:54 -05:00
Ryan McClelland
b1dac48faa drivers: sensor: bmm350: add default odr/osr
Add a way to define the default odr and osr with devicetree for
the bmm350.

Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
2025-06-26 10:55:54 -05:00
Ryan McClelland
8720b2368e drivers: sensor: bmm350: add attr_get
Add the attr_get api. Also rename functions where they implied
accelerometer to imply magnetometer.

Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
2025-06-26 10:55:54 -05:00
Miguel Gazquez
68795fc021 boards: arduino_nano_33_ble: add lsm9ds1 magnetometer sensor to device tree
Describe the magnetometer part of the lsm9ds1 sensor, available in the
Arduino Nano 33 BLE through I2C.

Signed-off-by: Miguel Gazquez <miguel.gazquez@bootlin.com>
2025-06-26 10:55:11 -05:00
Miguel Gazquez
d3cae7ee92 drivers: sensors: add driver for the magnetometer in lsm9ds1
This driver supports the magnetometer in the ST lsm9ds1 sensor, on the
I2C bus.
This driver does not support the triggers.
This driver use the stmemsc HAL.

link: https://www.st.com/resource/en/datasheet/lsm9ds1.pdf

Signed-off-by: Miguel Gazquez <miguel.gazquez@bootlin.com>
2025-06-26 10:55:11 -05:00
Miguel Gazquez
8362e603bb dts: bindings: add DT bindings for the lsm9ds1 magnetometer
This commit adds a description for the magnetometer part of the lsm9ds1
sensor.

Signed-off-by: Miguel Gazquez <miguel.gazquez@bootlin.com>
2025-06-26 10:55:11 -05:00
David Jewsbury
0285cf4235 drivers: clock_control: update nrf2 lfosc_get_accuracy
Move lfosc_get_accuracy away from common library as
not all devices need this function.

Signed-off-by: David Jewsbury <david.jewsbury@nordicsemi.no>
2025-06-26 14:13:54 +02:00
David Jewsbury
bd5aefb58b tests: drivers: Update nrf2 clock control tests for nrf2_auxpll driver
Test added for new nrf2_auxpll driver. Frequency checks are
against known usecases of the auxpll (USB, CAN and AUDIO).
Also update test to be more modular, only running certain tests
if in the devicetree.

Signed-off-by: David Jewsbury <david.jewsbury@nordicsemi.no>
2025-06-26 14:13:54 +02:00
David Jewsbury
9087e82c9f drivers: can: update clock control to use nrf2_auxpll
Auxpll driver has been refactored to use nrf2 API instead.

Signed-off-by: David Jewsbury <david.jewsbury@nordicsemi.no>
2025-06-26 14:13:54 +02:00
David Jewsbury
49b0f1abb8 drivers: clock_control: refactor nrf_auxpll driver to nrf2
Refactor of previous clock_control_nrf_auxpll.c to use
the nrf2 clock control API

Signed-off-by: David Jewsbury <david.jewsbury@nordicsemi.no>
2025-06-26 14:13:54 +02:00
David Jewsbury
b4a9b8e3de dts: vendor: nordic: nrf54h20 update canpll to use auxpll binding
Added new binding for macros of possible auxpll frequency settings.

Will be used in future products also.

Signed-off-by: David Jewsbury <david.jewsbury@nordicsemi.no>
2025-06-26 14:13:54 +02:00
David Jewsbury
8b5ff6ab36 dts: bindings: clock: add nordic,nrf-auxpll
Introduce Nordic NRF AUXPLL binding include.

Signed-off-by: David Jewsbury <david.jewsbury@nordicsemi.no>
2025-06-26 14:13:54 +02:00
Jérôme Pouiller
18d16eb3bf boards: silabs: siwx91x: Fix PM with rb4342
Currently twister complains:

    benchmark.kernel.footprints.pm on siwx917_rb4342a/siwg917m111mgtba
    error (CMake build failure - warning: SILABS_SLEEPTIMER_TIMER (defined
    at soc/silabs/silabs_s2/Kconfig.defconfig:17,
    drivers/timer/Kconfig.silabs:4) has direct dependencies
    (SOC_FAMILY_SILABS_S2 || SOC_FAMILY_SILABS_SIWX91X) &&
    DT_HAS_SILABS_GECKO_STIMER_ENABLED && SYS_CLOCK_EXISTS with value n,
    but is currently being y-selected by the following symbols:)

So, SILABS_SLEEPTIMER_TIMER can't be selected because
DT_HAS_SILABS_GECKO_STIMER_ENABLED is not selected.

We just have to enable the proper timer in the DT of rb4342s to fix the
issue.

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
2025-06-26 14:09:25 +02:00
Jérôme Pouiller
3fe7c5706a manifest: Update reference for hal_silabs
The test benchmark.kernel.footprints.pm currently generate these warnings
during the link:

    [204/209] Linking C executable zephyr/zephyr_pre0.elf
    .../ld.bfd: warning: orphan section `.udma_addr1' from \
        `zephyr/libzephyr.a(UDMA.c.obj)' being placed in   \
        section `.udma_addr1'
    [209/209] Linking C executable zephyr/zephyr.elf
    .../ld.bfd: warning: orphan section `.udma_addr1' from \
        `zephyr/libzephyr.a(UDMA.c.obj)' being placed in   \
        section `.udma_addr1'

Last version of hal_silabs provide a workaround for this issue.

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
2025-06-26 14:09:25 +02:00
Aleksandr Khromykh
b6a0f4e072 bluetooth: mesh: remove unused functionality
Commit removes unused host hci custom functionality
that was moved to mesh by misinterpretation of it.

Signed-off-by: Aleksandr Khromykh <aleksandr.khromykh@nordicsemi.no>
2025-06-26 14:09:01 +02:00
Håkon Amundsen
e96a63ad82 soc: nordic: 54h20: fix typo ETX -> EXT
Fix typo in BICR schema

Signed-off-by: Håkon Amundsen <haakon.amundsen@nordicsemi.no>
2025-06-26 14:08:48 +02:00
Fin Maaß
da09ee1200 logging: fix storage size of 'tspec' isn't known
fix storage size of 'tspec' isn't known
struct timespec wasn't defined anymore.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2025-06-26 14:08:35 +02:00
Jukka Rissanen
9f46048159 tests: net: dhcpv4: client: Add DNS server deletion test
Make sure net_dhcpv4_stop() will generate DNS server deletion events.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2025-06-26 14:08:19 +02:00
Jukka Rissanen
29e0272454 tests: net: dhcpv4: client: Remove checks for DNS server removal
As the net_dhcpv4_stop() will now properly remove DNS servers, remove
the loop check so that the add event gets tested again.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2025-06-26 14:08:19 +02:00
Jukka Rissanen
405cb449c8 doc: migration-guide-4.2: Add DNS server reconfiguration info
Add information how the DNS reconfiguration API functions
dns_resolve_reconfigure() and dns_resolve_reconfigure_with_interfaces()
have changed.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2025-06-26 14:08:19 +02:00
Jukka Rissanen
f1a9ff97cb net: shell: dns: Print info about DHCP added servers
Print information which DNS servers were added by DHCP when
listing DNS servers in "net dns" command. This helps debugging
DNS server issues.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2025-06-26 14:08:19 +02:00
Jukka Rissanen
25084203c2 net: dhcp: Remove only added DNS servers when stopping
Make sure that we remove only the added DNS servers when
the DHCP is stopped.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2025-06-26 14:08:19 +02:00
Jukka Rissanen
cdc6c324d7 net: dns: Save info about source when configuring DNS servers
Remember which DNS server was added by a source like DHCPv4 or v6
message. This will allow system to remove DNS servers that were added by
that source. Then when stopping for example DHCP, we can remove those
specific DNS servers and not leaving DNS servers hanging in the system.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2025-06-26 14:08:19 +02:00
Sebastian Głąb
031040872e drivers: i2c: Support i2c23 and i2c24 instances
Extend I2C driver with possibility to use
- TWIM23, TWIM24,
- TWIS23, TWIS24.

Signed-off-by: Sebastian Głąb <sebastian.glab@nordicsemi.no>
2025-06-26 14:07:55 +02:00
Bjarki Arge Andreasen
652635fab9 drivers: pinctrl: nrf: patch pin retain to follow lp mode
Pins can be configured to retain their config even when the power
domain they belong to is suspended. Update pinctrl_nrf to enable
retain only if the pin has been configured and is not in use
(pincnf is low-power/sleep), disable retain otherwise.

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2025-06-26 14:07:43 +02:00
Bjarki Arge Andreasen
691b3356f8 drivers: gpio: nrfx: extend pin retain to every pin
The usage of nrf_gpio_port_retain_disable/_enable, in cases where
the soc pins support retention, every pin must be
retained/unretained regardless of what power domain the pad is in.

This patch ensures retain is applied to all pins in all domains by
the gpio_nrfx device driver, not only pins specifically in the
fast_active_1 domain. Without this patch, pinctrl will correctly
retain pins, while gpio_nrfx will fail to unretain them when
again.

We no longer check the output state either, which was passed with
the flags arg of gpio_nrfx_gpd_retain_set() so this arg has been
removed.

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2025-06-26 14:07:43 +02:00
Julien Racki
d418512473 drivers: clock_control: stm32: Fix STM32MP13 gate clock disable
The STM32MP13 clock control has set and clear registers
for the clocks. So clearing the set register won't have any effect.
Instead, we should write on the clear register.

Signed-off-by: Julien Racki <julien.racki@st.com>
2025-06-26 14:07:25 +02:00
Krzysztof Chruściński
0b9b6b4b85 debug: cpu_load: Fix overflow when measurement window is long
Use 64 bit values for accumulating idle time and measurement window
as it was possible to get overflow if window was long enough.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2025-06-26 14:07:12 +02:00
Duy Nguyen
5465fc3f8c boards: renesas: Doc update for RSK-RX130 boards with SDK 0.17.1
From Zephyr SDK 0.17.1 the RX architecture is supported so
update the documentation of RX130 board to reflect this

Signed-off-by: Duy Nguyen <duy.nguyen.xa@renesas.com>
2025-06-26 14:07:03 +02:00
Duy Nguyen
f2d30ab55b tests: kernel_workq: Excluding test for qemu_rx
Excluding this test for qemu_rx because it's failing randomly
Root cause not identified yet, #92213 is created to keep track
of this
This test case is working fine on actual RX HW so issue might be
in the inside the qemu environment

Signed-off-by: Duy Nguyen <duy.nguyen.xa@renesas.com>
2025-06-26 14:07:03 +02:00
Duy Nguyen
75c5043d36 boards: renesas: rsk_rx130: Add missing ioport node define
Board device tree is missing ioport3 status set okay for
button. Add missing ioport3 enable

Signed-off-by: Duy Nguyen <duy.nguyen.xa@renesas.com>
2025-06-26 14:07:03 +02:00
Duy Nguyen
8322b22391 CMakeList: Disable gapfill for RX target
Ignore gapfill for RX target as some RX toolchains generate wrong
output image when running gapfill for binary format.

Signed-off-by: Duy Nguyen <duy.nguyen.xa@renesas.com>
2025-06-26 14:07:03 +02:00
Duy Nguyen
cda7ff7ebd github: hello_world_multiplatform: Adding rx-zephyr-elf
Adding rx-zephyr-elf for testing rx target

Signed-off-by: Duy Nguyen <duy.nguyen.xa@renesas.com>
2025-06-26 14:07:03 +02:00
Duy Nguyen
c9ac0d406c dts: rx: Update interrupt-controller node
Update interrupt controller node to be compatible with new
binding configuration

Signed-off-by: Duy Nguyen <duy.nguyen.xa@renesas.com>
2025-06-26 14:07:03 +02:00
Duy Nguyen
28d8e5b5d7 boards: renesas: Add zephyr toolchain to rsk_rx130 board
Add zephyr toolchain support to rsk_rx130 board

Signed-off-by: Duy Nguyen <duy.nguyen.xa@renesas.com>
2025-06-26 14:07:03 +02:00