Commit graph

126,787 commits

Author SHA1 Message Date
Peter Mitsis
6656c02fe4 kernel: queue: Allow for fast return
Updates the queue code to both allow for a fast return path in a
few routines when the operation did not wake or signal another
thread.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2025-02-03 19:51:20 +01:00
Peter Mitsis
c6ed03f66a kernel: futex: Allow for fast return on k_futex_wake()
Updates k_futex_wake() to allow for a fast return path when no threads
were waiting.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2025-02-03 19:51:20 +01:00
Peter Mitsis
f5c343fc93 kernel: condvar: broadcast does not always need reschedule
When doing a condition variable broadcast, a full reschedule
is only needed if at least one thread was awakened.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2025-02-03 19:51:20 +01:00
Peter Mitsis
6e3f57118f kernel: Propagate z_handle_obj_poll_events() return
Propagates the return value from z_handle_obj_poll_events()
within the message queue, pipes, queue and semaphore objects.
This allows the kernel object code to determine whether it
needs to perform a full reschedule, or if it can perform a
more optimized exit strategy.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2025-02-03 19:51:20 +01:00
Peter Mitsis
70520e7a4d kernel: Change z_handle_obj_poll_events() return type
Changes the return type of z_handle_obj_poll_events() so that it
returns true if there were polling events to handle (false
otherwise).

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2025-02-03 19:51:20 +01:00
Lyle Zhu
790006f875 Bluetooth: L2CAP_BR: Support dynamic PSM allocation
In the function `bt_l2cap_br_server_register()`, the PSM cannot be
dynamic allocated. And only pre-set PSM is supported.

Improve the function `bt_l2cap_br_server_register()` to support the
dynamic PSM allocation if the passed PSM is zero.

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2025-02-03 19:50:56 +01:00
TOKITA Hiroshi
e3351279de tests: drivers: gpio: gpio_basic_api: Enable test on rpi_pico series
Add an overlay for `rpi_pico` and `rpi_pico2` to run this test.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2025-02-03 19:50:43 +01:00
TOKITA Hiroshi
460d9fad89 drivers: gpio: rpi_pico: Not support GPIO_DISCONNECTED config
If GPIO_DISCONNECTED is requested with gpio_pin_configure,
it will return -ENOTSUP since rpi_pico does not support it.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2025-02-03 19:50:43 +01:00
McAtee Maxwell
99783513be adc: add cyw920829m2evk_02 overlays to relevant adc samples/tests
- Add overlay for samples/.../adc_dt
	- Add overlay for tests/.../adc_api

Signed-off-by: McAtee Maxwell <maxwell.mcatee@infineon.com>
2025-02-03 19:50:11 +01:00
McAtee Maxwell
24eb735b24 adc: modifications to support adc on cyw920829m2evk_02 platform
- Modifications to adc driver
	- Modifications to clock_control driver
	- Add adc to board's yaml
	- Add adc to relevant dts file

Signed-off-by: McAtee Maxwell <maxwell.mcatee@infineon.com>
2025-02-03 19:50:11 +01:00
McAtee Maxwell
55ec415793 soc: modifications for cyw920829m2evk_02 mpu regions
- Modifcation to mpu information, in relation to functionality
	  in userspace

Signed-off-by: McAtee Maxwell <maxwell.mcatee@infineon.com>
2025-02-03 19:50:11 +01:00
Sylvio Alves
491bbcfcbd drivers: adc: esp32: delete line curve scheme
Make sure to delete line scheme instead of curve scheme
for socs that uses line scheme.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2025-02-03 17:00:04 +01:00
Cla Mattia Galliard
2153e34e14 net: ethernet: cleanup net-stats calls
There is no need to if-def away the net-stats function since there is a
shim available now.

Signed-off-by: Cla Mattia Galliard <cla-mattia.galliard@zuehlke.com>
2025-02-03 16:59:53 +01:00
Carles Cufi
dc7d8bbe16 scripts: runners: nrf: Implement the erase command
The `erase` command was being used but there was no "backend"
implementation for it in nrfutil nor nrfjprog. Simplify the syntax and
implement it for both tools.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2025-02-03 16:59:40 +01:00
Carles Cufi
4e8ec169fb scripts: runners: nrfjprog: Remove erasepage handling
This is no longer used at all.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2025-02-03 16:59:40 +01:00
Carles Cufi
fa66984c2b scripts: runners: nrf: Add UICR ranges for nRF54L
These are used to detect if the firmware image contains any values
inside the UICR for additional handling.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2025-02-03 16:59:40 +01:00
Carles Cufi
aaefaad898 scripts: runners: nrf: Remove the nRF5340 special handling
This is no longer necessary, because thanks to sysbuild we no longer
invoke a runner with a .hex file that is the result of merging builds
for more than one core.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2025-02-03 16:59:40 +01:00
Jordan Yates
bb6cb0f1dd lorawan: clock_sync: assert instead of error code
Assert that the size provided to `clock_sync_serialize_device_time` is
sufficient, instead of returning an error code. The condition is already
enforced by the calling code, and returning an error code is incorrect
when the return code is unconditionally being used to increment the
buffer offset by callers.

Fixes #84720.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-02-03 16:59:29 +01:00
Sergei Ovchinnikov
1d8ef88b95 drivers: npm2100: remove SHPHLD button reconfiguration
Do not reconfigure the SHPHLD button behavior by writing to the sticky
register in drivers: mfd, regulator: npm2100. This is removed to avoid
unexpected behaviors during or after the ship or hibernation modes.

Signed-off-by: Sergei Ovchinnikov <sergei.ovchinnikov@nordicsemi.no>
2025-02-03 14:03:00 +01:00
Sergei Ovchinnikov
5aeae417d8 drivers: mfd: npm2100: align formatting
Align formatting of defines at the top of the mfd_npm2100.c file

Signed-off-by: Sergei Ovchinnikov <sergei.ovchinnikov@nordicsemi.no>
2025-02-03 14:03:00 +01:00
Audun Korneliussen
7fd3472231 drivers: mfd: npm2100: Add hibernate_pt mode support
Extend mfd_npm2100_hibernate function with pass_through argument,
which is used to differentiate between hibernate and hibernate_pt
modes.

Signed-off-by: Audun Korneliussen <audun.korneliussen@nordicsemi.no>
2025-02-03 14:03:00 +01:00
Audun Korneliussen
db4d24df53 drivers: mfd: npm2100: Fix shiphold flag
Fix checking of shiphold active level.

Signed-off-by: Audun Korneliussen <audun.korneliussen@nordicsemi.no>
2025-02-03 14:03:00 +01:00
Carlo Weidinger
2b4474aa58 boards: Fixing rak4631 board by making pins default to IO
Setting pins P0.09 and P0.10 as IO no longer as NFC
rak4631 uses these pins as IO and not as NFC.
See wise block schematics.
Changing the UICR inside the overlay to achieve this.

Signed-off-by: Carlo Weidinger <carlo.weidinger@protonmail.com>
2025-02-03 14:02:45 +01:00
Łukasz Stępnicki
c02db33789 modules: hal_nordic: nrfs: callback when connected
User can assign callback functions to nrfs ipc backend
to be notified when connection is actually established.
Callbacks register needs to be done before nrfs is
initialized.

Signed-off-by: Łukasz Stępnicki <lukasz.stepnicki@nordicsemi.no>
2025-02-03 14:02:16 +01:00
Tran Van Quy
fc831ead04 drivers: clock_control: Add condition to verify the CPU clock config
- Add a condition to check the clock supplying the CPU to match with
CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC
- Correct CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC for EK-RA4W1

Signed-off-by: Tran Van Quy <quy.tran.pz@renesas.com>
2025-02-03 14:01:59 +01:00
Tran Van Quy
74f61fc081 board: renesas: Add support for on-board button on EK-RA4M1
Add gpio on-board key support for ek_ra4m1

Signed-off-by: Tran Van Quy <quy.tran.pz@renesas.com>
2025-02-03 14:01:59 +01:00
Tran Van Quy
6fbd01d01f dts: renesas: ra: Add support for gpio interrupt
Add support for gpio interrupt pins for r7fa4m1ab3cfp

Signed-off-by: Tran Van Quy <quy.tran.pz@renesas.com>
2025-02-03 14:01:59 +01:00
Tran Van Quy
68737489b0 boards: renesas: Add board device tree support for ADC on EK-RA4M1
Add dts property support for adc on ek_ra4m1

Signed-off-by: Tran Van Quy <quy.tran.pz@renesas.com>
2025-02-03 14:01:59 +01:00
Tran Van Quy
243b4d46af boards: renesas: Add board device tree support for SPI on EK-RA4M1
- Add board devicetree support for SPI driver on Renesas EK-RA4M1

Signed-off-by: Tran Van Quy <quy.tran.pz@renesas.com>
2025-02-03 14:01:59 +01:00
Tran Van Quy
7396a5b2eb boards: renesas: Add support for Renesas EK-RA4M1 board
Add minimal support for Renesas EK-RA4M1 board with
basic gpio, pinctrl, uart, clock control and counter
drivers"

Signed-off-by: Tran Van Quy <quy.tran.pz@renesas.com>
2025-02-03 14:01:59 +01:00
Tran Van Quy
081911f576 dts: renesas: Add device tree support for Renesas RA4M1 SoC
- Add device tree support for Renesas r7fa4m1ab3cfp with basic
gpio, clock control, sci, counter drivers, adc
- Add clock-frequency in renesas,ra-cgc-pclk binding to use the
clock frequency for iclk

Signed-off-by: Tran Van Quy <quy.tran.pz@renesas.com>
2025-02-03 14:01:59 +01:00
Tran Van Quy
c91e0db1f7 dts: renesas: Update dts property for ra4-cm4-common
- Remove redundant node adc1 on ra4-cm4-common due to unsupported
- Update interrupt number for spi1

Signed-off-by: Tran Van Quy <quy.tran.pz@renesas.com>
2025-02-03 14:01:59 +01:00
Tran Van Quy
5c81b70442 soc: renesas: ra: Add SoC support for Renesas RA4M1
Add support for Renesas RA4M1 SoC series with r7fa4m1ab3cfp

Signed-off-by: Tran Van Quy <quy.tran.pz@renesas.com>
2025-02-03 14:01:59 +01:00
Alexandre Rey
769df0b579 boards: frdm_mcxc242: Add lpuart1 support
According to the quick start guide of the FRDM-MCXC242 board, PTE0/PTE1
should be used for lpuart1. Enable and configure it in board dts.

Signed-off-by: Alexandre Rey <alx.rey@icloud.com>
2025-02-03 11:19:08 +01:00
Jamie McCrae
98d5aa3792 mgmt: mcumgr: grp: img_mgmt: Fix calling confirm
Fixes calling the registered callbacks for image being confirmed
if the confirmation was not successful

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2025-02-03 11:18:25 +01:00
Ofir Shemesh
80e42f288b drivers: flash: flash_mcux_flexspi_nor: Add validation checks
Added area_is_subregion() to validate offset and size within bounds.
Ensured read, write, and erase operations check for valid memory regions.
Added null buffer check in read and write functions to prevent errors.

Signed-off-by: Ofir Shemesh <ofirshemesh777@gmail.com>
2025-02-03 11:18:11 +01:00
Mihira Madhava Bollapragada
484a513a99 doc: update zephyr path in docs generation
Under the documentation generation sections, the path to the docs folder
and the zephyr path is inconsistent with the getting started pages.
Update to match

Signed-off-by: Mihira Madhava Bollapragada <madhava@ti.com>
2025-02-03 11:17:55 +01:00
Krzysztof Chruściński
fe6a4d0f93 tests: drivers: uart: uart_async_api: Use 4Mbaud for nrf54h20dk uart120
Use high baudrate when testing uart120 on nrf54h20dk/nrf54h20/cpuapp.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2025-02-03 11:17:31 +01:00
Krzysztof Chruściński
38c129da39 tests: drivers: uart: uart_async_api: Tweak test_read_abort test
Test was staring a TX transfer and aborting it after 300 us from
the timer handler. Test was assuming that ongoing transfer will
not finish in those 300 us. This might not be true for higher
baudrates. Instead of using fixed timeout, a value is calculated
from the baudrate and targets to abort the transfer after approx.
20 bytes of 95 byte long transfer.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2025-02-03 11:17:31 +01:00
Krzysztof Chruściński
e235e7b384 drivers: serial: nrfx_uarte: Fix spurious RXTO event
Fast instance in nrf54h (uart120) can generate a spurious RXTO event
some time after RXTO event that indicates that RX path is disabled.
The time when event is generated depends on baudrate and when slower
baudrates are used peripheral is disabled on time to not notice it
in the test but with higher baudates issue become visible. In order
to avoid spurious interrupt, RXTO interrupt is disabled during RXTO
event handling and enabled when RX is enabled. This workaround is
applied only for fast instance to avoid unnecessary register
accesses for slower instances.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2025-02-03 11:17:31 +01:00
Krzysztof Chruściński
972ec824f1 drivers: serial: nrfx_uarte: Add support for higher baudrates
nrf54x devices have UARTE instance capable of using baudrate higher
than 1M. Higher baudrates does not have predefined values for
BAUDRATE register. A formula can be used to calculate BAUDRATE
value that shall be used for desired baudrate. Add UARTE_ANY_HIGH_SPEED
macro which is set when high speed is enabled (uart00 in nrf54lx or
uart120 in nrf54h20). For high speed instance use formula for getting
value that shall be written to BAUDRATE register.

When runtime configuration is not used then same formula is used to
calculate fixed BAUDRATE value.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2025-02-03 11:17:31 +01:00
Krzysztof Chruściński
1573be5e9f drivers: serial: nrfx_uarte: Rename FAST to FAST_PD
Rename UARTE_ANY_FAST to UARTE_ANY_FAST_PD. There are 2 types of
'fast' UARTE instances. In nrf54h20 instance uart120 is in fast
power domain that requires additional power and clock management
of that domain. In nrf54lx fast uart00 instance does not require
that. Add _PD to indicate fast power domain.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2025-02-03 11:17:31 +01:00
Krzysztof Chruściński
e737895368 dts: bindings: serial: nordic,nrf-uart-common: Extend baudrate enum
Add faster baudrates (2M, 4M and 8M).

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2025-02-03 11:17:31 +01:00
Christian Galante
2fdfa973ee tests: drivers: build_all: comparator: add silabs_acmp test configurations
Add build test configurations for the silabs_acmp comparator. Enable this
build testing on all series 2 silabs boards that currently support the
comparator driver.

Signed-off-by: Christian Galante <christian.galante@silabs.com>
2025-02-03 11:16:57 +01:00
Christian Galante
270db3c40d tests: drivers: comparator: gpio_loopback: extend to xg24 and xg29 boards
Add board overlays to execute the comparator gpio_loopback testsuite on
xg24_dk2601b and xg29_rb4412a. The testsuite was executed and was seen
to pass on both boards locally with twister.

Signed-off-by: Christian Galante <christian.galante@silabs.com>
2025-02-03 11:16:57 +01:00
Christian Galante
7d4e972f4a boards: silabs: update board support for comparator driver
The xg24_dk2601b, xg24_ek2703a, xg27_dk2602a, xg23_rb4210a,
xg24_rb4187c and xg29_rb4412a board yaml files were updated
to support the comparator driver. Documentation hardware
support was updated for each of these boards as well to
mention support for the ACMP hardware block and comparator
driver.

Signed-off-by: Christian Galante <christian.galante@silabs.com>
2025-02-03 11:16:57 +01:00
Christian Galante
a1aaa6b8f2 drivers: comparator: implement the silabs_acmp compatible driver
This implements the comparator driver for silabs acmp peripherals
using the silabs,acmp compatible binding.

Signed-off-by: Christian Galante <christian.galante@silabs.com>
2025-02-03 11:16:57 +01:00
Christian Galante
9f563b4685 dts: arm: silabs: instantiate acmp nodes for xg2x parts
Defines an acmp node for xg21, xg23, xg24, xg27 and xg29
parts, which are all compatible with the silabs,acmp
binding.

Signed-off-by: Christian Galante <christian.galante@silabs.com>
2025-02-03 11:16:57 +01:00
Christian Galante
dc4929c9c3 dts: bindings: comparator: define silabs,acmp bindings
Defines bindings that are compatible with silabs acmp.
`input-positive` and `input-negative` are required
properties to be configured by an application.
It is recommended to use the bindings generated in
`include/zephyr/dt-bindings/comparator/silabs_acmp.h`
and reference your part's design book when configuring
values for these properties.

Signed-off-by: Christian Galante <christian.galante@silabs.com>
2025-02-03 11:16:57 +01:00
Christian Galante
78163b9717 include: zephyr: dt-bindings: comparator: silabs: generate acmp
Generates bindings that define acmp inputs. These bindings can be
used in devicetree sources to configure the acmp's
input-positive and input-negative properties. Depending on the
part, some inputs may not be available as positive and/or
negative inputs to the ACMP, therefore always reference your
part's design book when selecting these inputs.

Signed-off-by: Christian Galante <christian.galante@silabs.com>
2025-02-03 11:16:57 +01:00