Commit graph

126,787 commits

Author SHA1 Message Date
Luca Burelli
701f5797fc llext-edk: merge target-specific file generation
This commit removes all CMake- or Makefile-specific variables from the
code and instead uses a single list for each type of flag. Where a
difference is needed between the two, a special marker is used.
These markers are replaced later in the target-specific area of the
write functions.

Escaping of problematic characters is also added to the write functions,
to ensure that quotes and backslashes in the flags are properly handled.

Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
2025-02-07 17:45:45 +01:00
Luca Burelli
162cdcb454 llext-edk: refact: move file generation into functions
This commit refactors the code that generates the Makefile and CMake
EDK files into functions that accept the file type as an argument.

No functional changes are introduced in this commit.

Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
2025-02-07 17:45:45 +01:00
Luca Burelli
aa8a617c3b llext-edk: refact: do not mix code and function definitions
Prepare the current code so that functions come before actual code.

Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
2025-02-07 17:45:45 +01:00
Luca Burelli
7fa1fb7181 cmake: support generator expressions in build_info()
This patch enables support for genexes in the 'build_info()' function by
identifying when arguments contain them and passing the GENEX flag to
'yaml_set()'.

Genexes are not supported in tag lists; using them will immediately
trigger an error by the schema checks.

They are also not currently supported with PATH entries, because the
actual contents of the list (whose paths are to be converted) are not
known until after the CMake code has been processed.

Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
2025-02-07 17:45:45 +01:00
Luca Burelli
8e66848418 cmake: yaml: use APPEND PROPERTY to shorten code
Use a more concise way to append to a list property, as suggested in a
previous PR review.

Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
2025-02-07 17:45:45 +01:00
Khoa Nguyen
786cd7fdd8 tests: drivers: adc: Correct the reference-mv in Kconfig
Correct reference-mv in Kconfig of adc_accuracy_test

Signed-off-by: Khoa Nguyen <khoa.nguyen.xh@renesas.com>
2025-02-07 14:46:00 +01:00
Tom Hughes
eff76caa17 ztest: mock: Fix typo
"Return value no used by mock" should be
"Return value not used by mock".

Signed-off-by: Tom Hughes <tomhughes@chromium.org>
2025-02-07 14:34:39 +01:00
Ingar Kulbrandstad
0330ff1ac0 Bluetooth: Host: Updated Kconfig description
Added warning to the BT_RECV_WORKQ_SYS description
to explain the dangers by using this option.

Signed-off-by: Ingar Kulbrandstad <ingar.kulbrandstad@nordicsemi.no>
2025-02-07 14:34:23 +01:00
Thomas Schranz
e105ae9d31 soc: atmel: sam0: name anonymous bit-fields with qualifiers
This conforms to CWG2229 and enables compilation with clang++.

Signed-off-by: Thomas Schranz <electronics@wandfluh.com>
2025-02-07 14:34:06 +01:00
Kamil Krzyzanowski
cd281ab40b logging: fs backend: simplify checking if file exists
In order to check if the desired log file exists, the backend would open
the directory, then go through all the files seeing if one of them matches
the correct filename. Simplify to just `fs_stat` the file instead.

This has the added side effect of lowering the time spent checking if the
file exists after every log. Some quick testing revealed the time spent
checking went down from ~150-300ms to ~10ms (on my specific board, with a
nRF9160 writing to a LittleFS on external flash).

Signed-off-by: Kamil Krzyzanowski <kamnxt@kamnxt.com>
2025-02-07 14:33:35 +01:00
Tomasz Moń
8348d9a2b7 drivers: udc_dwc2: Rework control endpoint feeding
In Completer mode SETUP data can always be received and therefore
endpoint 0 should only be enabled for OUT Data Stage and OUT Status
Stage.

In Buffer DMA mode, SETUP can only be received when endpoint is enabled
and therefore the software has to make sure that there is a buffer
available to receive SETUP data.

Rework the EP0 buffer feeding to adhere to DWC2 Programming Guide.
Synchronize the accesses with driver mutex to avoid interrupt related
race conditions.

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2025-02-07 14:33:16 +01:00
Tomasz Moń
ea72b27f3d drivers: udc_dwc2: Stop OUT transfers on ZLP
The transfer is finished after ZLP is transmitted. Do not re-enable the
endpoint waiting for more data.

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2025-02-07 14:33:16 +01:00
Tomasz Moń
a61afc8eb1 drivers: udc_dwc2: Allocate multiple of bMaxPacketSize0
Control OUT buffers must be multiple of bMaxPacketSize0 in Buffer DMA
mode. While the transfer can be configured to smaller values, DMA will
write data past the buffer (and transfer size counter will underflow) if
the packet on the bus is larger or if there are multiple back-to-back
SETUP packets.

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2025-02-07 14:33:16 +01:00
Tomasz Moń
d4cc8de644 drivers: udc_dwc2: Add helpers to check operating mode
Use helper functions to check whether device is operating in Buffer DMA
or Completer mode. This allows compile time optimizations to remove DMA
handling code when DMA is disabled via KConfig symbol UDC_DWC2_DMA.

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2025-02-07 14:33:16 +01:00
Jamie McCrae
d4b2b749a8 mgmt: mcumgr: grp: img_mgmt: Limit scope of includes
Limits the scope of includes to only include some files if they
are needed, which is when a Kconfig is set

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2025-02-07 14:32:36 +01:00
Kamil Krzyzanowski
41f2c64e97 logging: fs backend: only fs_sync when done with a batch of logs
The previous behavior was to call `fs_sync` on the file after every log
item written. In many cases, log messages come in bursts, and `log_core`
already operates in batches, configurable using
`CONFIG_LOG_PROCESS_THREAD_SLEEP_MS` and
`CONFIG_LOG_PROCESS_TRIGGER_THRESHOLD`. Once the batch is done, the
backends get notified with `LOG_BACKEND_EVT_PROCESS_THREAD_DONE` if any
logs were processed. This is a nice time to `fs_sync` the written changes.

This change both speeds up the time spent writing logs and reduces the
amount of block erases done on the flash, as the previous implementation
erased blocks after each individual log message.

Signed-off-by: Kamil Krzyzanowski <kamnxt@kamnxt.com>
2025-02-07 14:32:06 +01:00
Joakim Andersson
dc97cc0cd5 tests: logging: Convert unit test to include the full FS backend
Convert testing of the logging backend for file-system to include the
full implementation.
Need to disable logging and just include the unit under test to make
this simpler.
The API functions for the backend can then be called on the backend
object.

Signed-off-by: Joakim Andersson <joerchan@gmail.com>
2025-02-07 14:32:06 +01:00
Adrian Warecki
2c5e18b971 sign: rimage: Include uuid-registry.h header in toml preprocessing
Add a function generate_uuid_registry that calls the gen-uuid-reg.py script
to generate the uuid-registry.h file. If signing an image without sof,
trigger the generation of the uuid-registry.h file.

Instruct the toml file preprocessor to also use the definitions from the
uuid-registry.h file. This will allow the values ​​placed in the
uuid-registry to be used in toml files.

Signed-off-by: Adrian Warecki <adrian.warecki@intel.com>
2025-02-07 14:31:48 +01:00
Khaoula Bidani
95179b24c7 tests : clock_control: clean "STM32_SRC_SYSCLK"
clean up usage of usage "#ifdef STM32_SRC_SYSCLK"
and code under the "#else" from
test_stm32_clock_configuration_adc.c.

Signed-off-by: Khaoula Bidani <khaoula.bidani-ext@st.com>
2025-02-07 10:25:52 +01:00
Khaoula Bidani
541c0959c3 drivers : clock_control: clean "STM32_SRC_SYSCLK"
clean up usage of usage "#ifdef STM32_SRC_SYSCLK"
and code under the "#else" from clock_stm32_ll_common.c.

Signed-off-by: Khaoula Bidani <khaoula.bidani-ext@st.com>
2025-02-07 10:25:52 +01:00
Chun-Chieh Li
069d439119 drivers: wifi: esp_at: handle IP unquoted parsing with ESP-AT version <2.0
This fixes parsing error on AT+CIPDINFO with ESP-AT version discrepancy.

Signed-off-by: Chun-Chieh Li <ccli8@nuvoton.com>
2025-02-07 10:25:35 +01:00
Chun-Chieh Li
d74cf047b1 drivers: wifi: esp_at: enable CONFIG_WIFI_ESP_AT_CIPDINFO_USE automatically
This fixes DNS resolve failure (CONFIG_DNS_RESOLVER) by enabling
CONFIG_WIFI_ESP_AT_CIPDINFO_USE (AT+CIPDINFO) automatically to get
peer ip-address and port, required by CONFIG_DNS_RESOLVER.

Signed-off-by: Chun-Chieh Li <ccli8@nuvoton.com>
2025-02-07 10:25:35 +01:00
Rubin Gerritsen
0f3e6fd3d6 boards: nrf_bsim: Document how to use the console with bsim
This commit describes how to build and run applications using
the console. This documentation is added because it may
not be obvious how this is done. That is, sometimes a user
may believe that the terminal launching the application is the
the console which is not the case.

Signed-off-by: Rubin Gerritsen <rubin.gerritsen@nordicsemi.no>
2025-02-07 10:25:20 +01:00
Rubin Gerritsen
77de5935f2 boards: nrf_bsim: Set chosen console dts entry
This makes the bsim boards more similar to their corresponding DKs.
This makes it simpler to run samples and application requiring
the use of a console.

Signed-off-by: Rubin Gerritsen <rubin.gerritsen@nordicsemi.no>
2025-02-07 10:25:20 +01:00
Rubin Gerritsen
a2d1b28ba0 boards: nrf52_bsim: Remove disabling of LOG_BACKEND_UART
There seems like there is no good reason for having it disabled.
For bsim boards CONFIG_SERIAL is disabled by default, there will
anyways not be any logging on the UART.

Signed-off-by: Rubin Gerritsen <rubin.gerritsen@nordicsemi.no>
2025-02-07 10:25:20 +01:00
Carles Cufi
16f212d6f2 scripts: runners: nrf54H/92: Use RESET_HARD instead of RESET_SYSTEM
The nRF54H and the nRF92 series do not support the RESET_SYSTEM reset
kind. Instead one must use RESET_HARD, which this patch now implements.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2025-02-07 07:38:36 +01:00
Gerson Fernando Budke
0c4f1987c6 tests: watchdog: Add missing wdt_disable in API test
The current watchdog tests assume that watchdog can be configured once
it is running. This is a concept that do not work in practice becasue
most of watchdog once configured will be locked. The tests should take
that in consideration before enable another test. The other important
details is that even when a watchdog is running it should be disable in
some controllers to allow reconfigure.

This change was tested with SAM4L watchdog controller #83475 which
allows reconfigure the watchdog once it is enabled. To do the correct
configuration it is necessary execute the wdt_disable() call.

The change will validate if the watchdog can be disabled for those
cases were the controller is not locked and fallback the test on the
contrary.

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2025-02-07 07:38:26 +01:00
Remi Buisson
ad4ed55cba dts: bindings: sensor: Add invensense icp101xx properties
Replace icp10125.
tests: sensor: rename icp10125 to icp101xx

Signed-off-by: Remi Buisson <remi.buisson@tdk.com>
2025-02-07 07:38:06 +01:00
Remi Buisson
a4d863163b drivers: sensor: icp101xx: Add icp101xx support
Use official TDK Invensense driver for icp101xx sensor in tdk_hal module.

Signed-off-by: Remi Buisson <remi.buisson@tdk.com>
2025-02-07 07:38:06 +01:00
Remi Buisson
fe796a7e22 modules: hal_tdk: Add icp101xx support
icp101xx are barometric pressure and temperature sensors.
https://invensense.tdk.com/smartpressure

Signed-off-by: Remi Buisson <remi.buisson@tdk.com>
2025-02-07 07:38:06 +01:00
Gerson Fernando Budke
b9466d28b6 boards: atmel: sam0: Add rtc configs
Add configurations to allow use of RTC driver and tests.

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2025-02-07 07:37:56 +01:00
Gerson Fernando Budke
f2fa8f965e drivers: rtc: sam0: Add realtime clock driver
Add Atmel sam0 rtc calendar driver.

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2025-02-07 07:37:56 +01:00
Gerson Fernando Budke
d4fe29c542 soc: atmel: sam0: Configure GCLK[4] to RTC
Configure the Generic Clock Generator to be used as source to RTC.
The index 4 is now reserved to RTC.

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2025-02-07 07:37:56 +01:00
Gerson Fernando Budke
fb6079999d dts: rtc: sam0: Add clock properties
Add properties to differentiate the timer counter operating modes. This
properties are necessary to spetialize the driver to be used as a normal
16/32-bit counter or to provide the clock/calendar functions.

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2025-02-07 07:37:56 +01:00
David Leach
50a044a33d drivers: sensor: fxls8974: fix size misalignment memory access
Coverity identified out-of-bounds access. A uint8_t being cast to
an enum is undefined in that the enum can be allocated 4bytes.

Change the internal function to use the base type of the variable,
uint8_t to avoid potential compiler size alignement problems.

Fixes #81927

Signed-off-by: David Leach <david.leach@nxp.com>
2025-02-07 02:24:17 +01:00
David Brown
83a45f49cf modules: optional: Update rust for doc fix
Based on review feedback on #83715, bring in changes to rust documentation
to generate for a vendor neutral platform (qemu).  This also brings in a
small invalid link error that had somehow made it in.

Signed-off-by: David Brown <david.brown@linaro.org>
2025-02-07 02:23:56 +01:00
Peter Mitsis
e55ac3ef65 kernel: Improve ordering in SMP k_thread_suspend()
The routine k_thread_suspend() has a fast path for non-SMP when
suspending the current thread. When SMP is enabled, it is expected
that the compiler drop the entire fast path checks because the whole
expression would always evaluate to false. However, the compiler has
been observed to only drop whole fast path check when the
"!IS_ENABLED(CONFIG_SMP)" condition appears at the beginning of the
fast path check.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2025-02-07 02:23:45 +01:00
Tom Hughes
01e412951b tests: posix: timers: Fix -Wsometimes-uninitialized warning
Building portability.posix.timers with clang warns:

tests/posix/timers/src/nanosleep.c:180:2: error: variable 'actual_ns' is
used uninitialized whenever switch default is taken
[-Werror,-Wsometimes-uninitialized]
        default:
        ^~~~~~~
tests/posix/timers/src/nanosleep.c:197:15: note: uninitialized use
occurs here
        zassert_true(actual_ns >= exp_ns, "actual: %llu expected: %llu",
                     ^~~~~~~~~                          actual_ns, exp_ns);
subsys/testsuite/ztest/include/zephyr/ztest_assert.h:275:41: note:
                                      ^~ expanded from macro 'zassert_true'
subsys/testsuite/ztest/include/zephyr/ztest_assert.h:194:14: note:
expanded from macro 'zassert'
        _zassert_va(cond, default_msg, COND_CODE_1(__VA_OPT__(1),
                    ^~~~               (__VA_ARGS__), (NULL)))
subsys/testsuite/ztest/include/zephyr/ztest_assert.h:191:16: note:
expanded from macro '_zassert_va'
        _zassert_base(cond, default_msg, msg, ##__VA_ARGS__)
                      ^~~~
subsys/testsuite/ztest/include/zephyr/ztest_assert.h:180:14: note:
expanded from macro '_zassert_base'
                        z_zassert(cond, _msg ? ("(" default_msg ")") :
                                  ^~~~   (default_msg), __FILE__,    \
tests/posix/timers/src/nanosleep.c:152:20: note: initialize the variable
'actual_ns' to silence this warning
        uint64_t actual_ns;
                          ^
                           = 0

Not really necessary since there is a zassert_unreachable(), but doesn't
hurt to initialize the variable.

Signed-off-by: Tom Hughes <tomhughes@chromium.org>
2025-02-07 02:23:35 +01:00
Tom Hughes
9e85669482 tests: net: socket: Fix -Wsometimes-uninitialized warning
Building with clang warns:

tests/net/socket/tcp/src/main.c:377:13: error: variable 'c_sock' is used
uninitialized whenever 'if' condition is false
[-Werror,-Wsometimes-uninitialized]
        } else if (family == AF_INET6) {
                   ^~~~~~~~~~~~~~~~~~
tests/net/socket/tcp/src/main.c:396:15: note: uninitialized use occurs here
        test_connect(c_sock, s_saddr, addrlen);
                     ^~~~~~
tests/net/socket/tcp/src/main.c:377:9: note: remove the 'if' if its
condition is always true
        } else if (family == AF_INET6) {
               ^~~~~~~~~~~~~~~~~~~~~~~~
tests/net/socket/tcp/src/main.c:360:12: note: initialize the variable
'c_sock' to silence this warning
        int c_sock;
                  ^
                   = 0
tests/net/socket/tcp/src/main.c:377:13: error: variable 's_sock' is used
uninitialized whenever 'if' condition is false
[-Werror,-Wsometimes-uninitialized]
        } else if (family == AF_INET6) {
                   ^~~~~~~~~~~~~~~~~~
tests/net/socket/tcp/src/main.c:387:12: note: uninitialized use occurs here
        test_bind(s_sock, s_saddr, addrlen);
                  ^~~~~~
tests/net/socket/tcp/src/main.c:377:9: note: remove the 'if' if its
condition is always true
        } else if (family == AF_INET6) {
               ^~~~~~~~~~~~~~~~~~~~~~~~
tests/net/socket/tcp/src/main.c:361:12: note: initialize the variable
's_sock' to silence this warning
        int s_sock;
                  ^
                   = 0

Not really needed since we have zassert_unreachable(), but doesn't hurt
to initialize the variables.

Signed-off-by: Tom Hughes <tomhughes@chromium.org>
2025-02-07 02:23:24 +01:00
Tom Hughes
57f38844ee drivers: mfd: mfd_adp5585: Fix -Wsometimes-uninitialized warning
When building with clang it warns:

drivers/mfd/mfd_adp5585.c:59:6: error: variable 'reg_int_status' is used
uninitialized whenever 'if' condition is false
[-Werror,-Wsometimes-uninitialized]
        if (ret == 0) {
            ^~~~~~~~
drivers/mfd/mfd_adp5585.c:70:7: note: uninitialized use occurs here
        if ((reg_int_status & ADP5585_INT_GPI)
             ^~~~~~~~~~~~~~    && device_is_ready(data->child.gpio_dev)) {
drivers/mfd/mfd_adp5585.c:59:2: note: remove the 'if' if its condition
is always true
        if (ret == 0) {
        ^~~~~~~~~~~~~~
drivers/mfd/mfd_adp5585.c:54:24: note: initialize the variable
'reg_int_status' to silence this warning
        uint8_t reg_int_status;
                              ^
                               = '\0'

Signed-off-by: Tom Hughes <tomhughes@chromium.org>
2025-02-07 02:23:10 +01:00
Fabian Blatz
ff2cf4be16 modules: lvgl: Update OSAL implementation
The LVGL OSAL also tries to set the name of threads. Adjust the function
signature accordingly. Also deal with the fact that the type
`lv_thread_prio_t` is not part of the private api and requires a
LV_USE_PRIVATE_API symbol to be enabled.

Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
2025-02-07 02:22:52 +01:00
Fabian Blatz
5447252247 west.yml: Sync LVGL module to 9.2.x
Update the west yaml to point to the new LVGL version.

Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
2025-02-07 02:22:52 +01:00
Carles Cufi
182c47a1df boards: nordic: nrf54l15dk: Set the right --device flag for JLink
Starting in version 8.10f, Segger's JLink now supports the nRF54L15's
Cortex-M33 core natively, being able to flash it and debug it properly.
Use this new support in the Zephyr built-in board support.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2025-02-06 21:33:45 +01:00
Kurt Eckhardt
94c759d84e boards: arduino: nano_33_ble: Fix board pin map
Fix compliance check script.

Arduino nano BLE - connector.dtsi pin corrections

There were several pin mappings from Arduino pin to GPIO pin
which were not correct.

This includes Arduino pins: 7, 8, 18, 19, 21

Arduino NANO 33 BLE - init turn PWR LED on

default Power LED light on.

Signed-off-by: Kurt Eckhardt <kurte@rockisland.com>
2025-02-06 21:33:30 +01:00
Jeremy Bettis
e1cfd098a2 shell: Fix Kconfig dependencies
PR #84651 introduced new shell commands that don't compile if
CONFIG_THREAD_MONITOR=n

Add THREAD_MONITOR to new shell commands.

Signed-off-by: Jeremy Bettis <jbettis@google.com>
2025-02-06 21:14:01 +01:00
Aleksandr Khromykh
5e235bbf88 doc: update migration guide with mesh versions incompatibility
Commit adds description of key representation incompatibility
for mesh images built with different crypto libraries.

Signed-off-by: Aleksandr Khromykh <aleksandr.khromykh@nordicsemi.no>
2025-02-06 21:13:31 +01:00
Aleksandr Khromykh
a09fa5f7f3 Bluetooth: Mesh: remove deprecated field in cdb subnet
Commit removes deprecated filed in cdb subnetwork.

Signed-off-by: Aleksandr Khromykh <aleksandr.khromykh@nordicsemi.no>
2025-02-06 21:13:31 +01:00
Ludvig Jordet
5facb50fe9 Bluetooth: Mesh: add missing device key candidate PSA support
Commit adds PSA key support for device key candidate.

Signed-off-by: Ludvig Jordet <ludvig.jordet@nordicsemi.no>
2025-02-06 21:13:31 +01:00
Emil Gydesen
8e53592da8 Bluetooth: BAP: Fix issue with sink recv state notifications
There was a bug in pa_decode_base that would would spent time
parsing incoming BASEs and also update the receive
states, which caused some tests to fail.

This commit adds a simply check to verify that the BASE is
different before spending parsing the content and updating
the receive states.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2025-02-06 21:13:15 +01:00
Jilay Pandya
ed5132d707 docs: migration-guide-4.1: i2c: replace underscore with hyphen
migration guide entry after renaming device tree properties with hyphen
instead of underscore

Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
2025-02-06 21:13:04 +01:00