Commit graph

118,807 commits

Author SHA1 Message Date
Erwan Gouriou
d37a365fe4 boards: nucleo_n657x0_q: Introduce variant for serial boot
Introduce a variant to allow loading and running firmware using
BootROM serial boot configuration.

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2025-02-03 19:56:49 +01:00
Erwan Gouriou
de426f2f90 boards: stm32n6570_dk: Introduce variant for serial boot
Introduce a variant to allow loading and running firmware using
BootROM serial boot configuration.

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2025-02-03 19:56:49 +01:00
Erwan Gouriou
06a4f1aabd boards: stm32n6: Fix flash configuration for twister
On STM32N6 based series, there is no flash available and tests
are performed using load and run in RAM.
From twister point of view, we should consider a flash is available
with the same size as RAM.
(We may tune these values later as the RAM will actually be shared
between code and variables).

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2025-02-03 19:56:49 +01:00
Erwan Gouriou
3c097d8662 soc: stm32n6: Add Boot serial option
This option should be used to load and run binary using "serial boot"
configuration for boot ROM.

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2025-02-03 19:56:49 +01:00
Erwan Gouriou
4ea07702b2 boards: st: Add script to perform power off/power
When flashing STM32N6 in USB-DFU mode, as required when running test
automation using twister, it is first required to power-off/power-on the
board to set board ready for USB-DFU (thanks to specific BootROM
configuration).
Provide a script that performs this operation using STM32CubeProgrammer.
This scipt could be provided in twister map.yaml file on 'pre_script'
property of board entry.

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2025-02-03 19:56:49 +01:00
Erwan Gouriou
b859423051 scripts: twister: Board id not needed for stm32cubeprog in BOOT-SERIAL
Flashing in BOOT-SERIAL mode with stm32cubeprogrammer doesn't support
using serial number.

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2025-02-03 19:56:49 +01:00
Erwan Gouriou
a37a9c323a scripts: stm32cubeprogrammer: Add 2 new options for start and download
Implement possibility to specify options for --start and --download
arguments.
These options are implemented as lists to better fit STM32CubeProgrammer
programming model.

This options are required to enable the programming of STM32N6 in USB-DFU
mode, which requires "-d my.bin 0x1 -s noack" arguments list.

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2025-02-03 19:56:49 +01:00
Titouan Christophe
6f3929ecce audio: codec_shell: add missing headphone left/right channel
Add the audio codec channels headphone left/right that were missing

Signed-off-by: Titouan Christophe <moiandme@gmail.com>
2025-02-03 19:53:30 +01:00
Marcin Niestroj
a984187c96 mgmt: mcumgr: rework create_socket() to use single sockaddr storage
Allocate only one 'struct sockaddr_storage', instead of two separate
'struct sockaddr_in' and 'struct sockaddr_in6'. This saves some space in
case both IPv4 and IPv6 are used. Additionally it reduced preprocessor
ifdef statements, resulting in more readable code.

This also solves '-Warray-bounds=' GCC warning (reproducible with
'native_sim' and GCC version 14.2.1 on Arch Linux):

  In function ‘create_socket’,
      inlined from ‘smp_udp_receive_thread’ at \
          subsys/mgmt/mcumgr/transport/src/smp_udp.c:242:7:
  subsys/mgmt/mcumgr/transport/src/smp_udp.c:205:37: warning: \
      array subscript ‘struct sockaddr[0]’ is partly outside array \
      bounds of ‘struct sockaddr_in[1]’ [-Warray-bounds=]
    205 |         tmp_sock = zsock_socket(addr->sa_family, SOCK_DGRAM, \
        |                                 ~~~~^~~~~~~~~~~
                                                        IPPROTO_UDP);
  subsys/mgmt/mcumgr/transport/src/smp_udp.c: In function \
      ‘smp_udp_receive_thread’:
  subsys/mgmt/mcumgr/transport/src/smp_udp.c:170:28: note: \
      object ‘addr4’ of size 8
    170 |         struct sockaddr_in addr4;
        |                            ^~~~~

Signed-off-by: Marcin Niestroj <m.niestroj@emb.dev>
2025-02-03 19:53:13 +01:00
Chris Friedt
7bd0e84d20 west: commands: blobs: fail on checksum error
If a blob checksum does not match what is recorded in the
associated module.yml file, `west blobs fetch` should
(eventually) fail.

Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
2025-02-03 19:52:58 +01:00
Fabio Baltieri
563f1f9e07 ci: do_not_merge: add the manifest specific dnm label to the list
Add "DNM (manifest)" to the "do not merge" labels. This is meant to be a
DNM controlled by the manifest action specific, so that the normal one
can be used by humans and the two are not going to fight with each
other.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2025-02-03 19:52:16 +01:00
Marek Matej
1772dc84b7 boards: espressif: Fix used partition type
Use the amp partition layout instead of default one.

Signed-off-by: Marek Matej <marek.matej@espressif.com>
2025-02-03 19:52:02 +01:00
Aksel Skauge Mellbye
bb381005b8 samples: drivers: adc: adc_dt: Add overlay for xg24_rb4187c
Add support for xg24_rb4187c to the ADC sample app. Configure two
channels, one measuring the AVDD supply against the 1.21V bandgap
reference, and one measuring pin PB1 (wired to button 0) against
the AVDD (VDDX) reference.

Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
2025-02-03 19:51:46 +01:00
Aksel Skauge Mellbye
140e2c229b tests: drivers: adc: Enable ADC tests on Silabs dev kits
Add overlays for xg24_dk2601b and xg27_dk2602a for the accuracy test.
Update the api test to use named macros for readability.

Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
2025-02-03 19:51:46 +01:00
Aksel Skauge Mellbye
2fa5b00971 dt-bindings: adc: Add bindings for Silabs Series 2
Add macros for use in devicetree to configure IADC on Silabs
Series 2 devices.

Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
2025-02-03 19:51:46 +01:00
Aksel Skauge Mellbye
2322cc92c5 drivers: adc: iadc_gecko: Use clock control
Use clock control driver instead of hard-coding HAL function calls
to configure clocks.

Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
2025-02-03 19:51:46 +01:00
Aksel Skauge Mellbye
117d7d1582 drivers: adc: iadc_gecko: Use pinctrl for bus allocation
Make use of ABUS support in the pinctrl driver to allocate
analog buses, rather than hard-coding bus 0 in the ADC driver.

Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
2025-02-03 19:51:46 +01:00
Peter Mitsis
c63b42d478 kernel: Fix k_wakeup() exit paths
z_reschedule() already has a check to determine if it is called from
the context of an ISR--no need to duplicate it in k_wakeup().
Furthermore, if the target thread is not sleeping, there is no need
to reschedule and we can do a fast return.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2025-02-03 19:51:20 +01:00
Peter Mitsis
48939cb44b kernel: msgq: Allow for fast returns
1. Fixes a performance issue in k_msgq_put() to allow for a fast return
path when handling a poll event does nothing.

2. Allows for a fast return path in k_msgq_purge() when no threads were
awakened.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2025-02-03 19:51:20 +01:00
Peter Mitsis
790d9dad59 kernel: Allow for fast return on k_sem_reset()
Do a fast return when resetting a semaphore if no threads were awakened.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2025-02-03 19:51:20 +01:00
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