Commit Graph

83738 Commits

Author SHA1 Message Date
Aron Lander 89c866ab68 modules: Add DFM and move Tracerecorder into percepio module
This commit adds the DFM (DevAlert target side code) module and
moves the TraceRecorder module into the percepio module, which
results in the TraceRecorder module definition being removed
from the west manufest and module definition within zephyr.

Signed-off-by: Aron Lander <aron.lander@percepio.com>
2023-09-12 10:19:37 -04:00
Bjarki Arge Andreasen 4129b10b69 modem: tests: Add test case for partial matches
This commit adds a test for the partial matches.

Signed-off-by: Bjarki Arge Andreasen <bjarkix123@gmail.com>
2023-09-12 14:50:17 +02:00
Bjarki Arge Andreasen 840f2e40b5 modem: chat: Add partial match feature to modem_chat
This commit adds support for partial matches for the modem_chat
module. A match is a combination of an expected response to a
request along with delimiters to use and a handler for the
parsed response.

The usual behavior of the modem_chat script is to continue to
the next step when any expected response is received. The partial
flag indicates that the script should not proceed to the next
step if the response matches the match. This is useful for
commands which respond with an unspecified number of lines,
followed by an "OK". This flag allows the script to essentially
run in a "while" loop until OK is received.

Along with this addition, a more scalable macro for initializing
the modem_chat match struct, MODEM_CHAT_MATCH_INITIALIZER().
Without this macro, we will need 4 different macros to initialize
the 4 variants of a chat_match, and 8 when the next feature is
added...

Signed-off-by: Bjarki Arge Andreasen <bjarkix123@gmail.com>
2023-09-12 14:50:17 +02:00
Erwan Gouriou 9b56e8ac63 Revert "drivers/spi: stm32: fix TX-only mode"
This reverts commit 31cd3b1f61.

This change is causing regression in SPI loopback tests.

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2023-09-12 14:45:37 +02:00
Marek Pieta 44c723e65d drivers: gpio_nrfx: Allow to disable interrupt support
Change introduces a new configuration option that can be used to disable
GPIO interrupt support to reduce memory footprint.

Signed-off-by: Marek Pieta <Marek.Pieta@nordicsemi.no>
2023-09-12 14:38:06 +02:00
Jamie McCrae 20d2bbdbf0 cmake: modules: host tools: Bump minimum version to 0.16
Some tests require the zephyr toolchain version 0.16 or newer to
be able to use picolibc functionality.

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-09-12 13:47:23 +02:00
Carles Cufi 85d2202e43 action: manifest: Use the new Git tree checkout feature
Use the feature introduced in:
https://github.com/zephyrproject-rtos/action-manifest/pull/8

This requires a West workspace to be initialized, since it uses
Manifest.from_file().

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2023-09-12 06:15:10 -04:00
Markus Fuchs ba57c1880c drivers: bluetooth: slz_hci: Set Number of Completed Packets threshold
Configure the Number of Completed Packets event threshold to 1, so the
SiLabs Bluetooth controller will always send the Number of Completed
Packets HCI event to the host, even for small numbers of transmitted
packets.

Fixes #62279

Signed-off-by: Markus Fuchs <markus.fuchs@ch.sauter-bc.com>
2023-09-12 11:23:14 +02:00
Markus Fuchs c33492655f drivers: bluetooth: slz_hci: Adapt to library BLOBs version 4.2.4
Make HCI driver compatible to the updated versions of the
EFR32 Bluetooth library BLOBs consisting of:
* libbluetooth_controller
* libbgcommon
* librail

Signed-off-by: Markus Fuchs <markus.fuchs@ch.sauter-bc.com>
2023-09-12 11:23:14 +02:00
Fabio Baltieri a1afaa8b47 drivers: ioapic: declare the device with DEVICE_DT_INST_DEFINE
Use DEVICE_DT_INST_DEFINE instead of DEVICE_DEFINE to declare the device
structure. This ensures that the device gets an ordinal and is
initialized before any device depending on it.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-09-12 10:56:46 +02:00
Manuel Argüelles 7ec624c3c4 samples: rtio: disable debug log level
Avoid to build with debug log level enabled and instead register the
test log modules with debug level.

mr_canhubk3 board will fail to initialize the on-board watchdog within
the expected window triggering a reset, due to the amount of log
messages being printed. Other boards may face similar issues.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2023-09-12 10:56:35 +02:00
Manuel Argüelles 2d49ab6623 tests: mqtt: disable debug log level
Avoid to use debug log level for all modules and keep it only for MQTT
and NET related modules.

mr_canhubk3 board will fail to initialize the on-board watchdog within
the expected window causing a board reset, due to the amount of log
messages being printed. Other boards may also be affected.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2023-09-12 10:56:35 +02:00
Kong Li 2749b3beb0 drivers: gpio: Add Intel SEDI gpio driver
Add a new GPIO shim driver for Intel Socs. Builds upon the SEDI bare
metal gpio driver in hal-intel module.

Signed-off-by: Kong Li <li.kong@intel.com>
2023-09-12 10:56:08 +02:00
Sreeram Tatapudi fd04f8cc81 drivers: spi: Initial version of the Infineon CAT1 SPI driver
Initial version of Infineon CAT1 SPI Driver supporting synchronous
and asynchronous data transfer API

Signed-off-by: Sreeram Tatapudi <sreeram.praveen@infineon.com>
2023-09-12 10:55:01 +02:00
Rafał Kuźnia 5b12b6ab55 ipc: icmsg: Dedicated workqueue for ICMSG backend
The ICMSG backend now has a dedicated workqueue to process incoming IPC
messages. The system workqueue is no longer utilized for that purpose.

Testing shows that in certain scenarios substituting a RPMsg backend
with ICMsg results in deadlocks.
The deadlocks were a symptom of running a synchronous RPC protocol from
the context of the system workqueue and transpired as follows:

1. The RPC protocol sends a request over the ICMsg backend on the system
   workqueue thread.
2. The RPC protocol puts the thread to sleep until response is received.
   This puts the system workqueue thread to sleep.
3. The response to the request arrives over ICMsg backend.
4. The backend signals a work item to the system workqueue.
5. The system workqueue is unable to process the response due to being
   previously pended on the RPC request.

The deadlock was initially observed with the nrf-802154 driver in
conjuntion with the IPv6 stack.

To prevent this condition from occurring, the approach was selected to
give ICMsg a dedicated workqueue thread.

Added a Kconfig option that enables the dedicated workqueue by default.
The config can be disabled, if the user wants to preserve RAM capacity
and is certain that the deadlock condition is not encountered.

Signed-off-by: Rafał Kuźnia <rafal.kuznia@nordicsemi.no>
2023-09-12 10:17:27 +02:00
Jamie McCrae 72167f2acf drivers: flash: nrf_qspi_nor: Add support for XIP at boot
Adds support for forcing XIP support at boot time, and reduces the
init priority of the driver so that it inits earlier.

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-09-12 09:35:21 +02:00
Pavel Vasilyev 028031ec20 doc: bluetooth: mesh: Fix link to Assigned Numbers document
The previous file doesn't exist anymore and was redirecting to the new
link.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2023-09-12 09:27:02 +02:00
Pavel Vasilyev cfa9d151da Bluetooth: Mesh: Compile bt_mesh_model fields with Doxygen
This will enable rendering these fields in the documentation.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2023-09-12 09:27:02 +02:00
Pavel Vasilyev 313efff191 Bluetooth: Mesh: Add description for bt_mesh_comp_p1_elem struct
Add missing description for bt_mesh_comp_p1_elem struct.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2023-09-12 09:27:02 +02:00
Pavel Vasilyev 1c2abbd7f1 doc: bluetooth: mesh: Add missing bt_mesh_dfd group to DFU doc page
Add missing bt_mesh_dfd group to the mesh DFU documentation page as it
covers all DFU models including Firmware Distribution models (called
as `dfd` in the code).

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2023-09-12 09:27:02 +02:00
Alberto Escolar Piedras ed4cdba828 boards: native: Mention serial drivers capabilities
Some users are in doubt about the native serial drivers
capabilities.
So let's mention them explicitly.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-09-12 09:24:23 +02:00
Sachin D Kulkarni 85b39b8449 net: wifi: Fix crash in wifi_utils_parse_scan_ssids
wifi_utils_parse_scan_ssids could cause a crash if a constant string is
passed to it. Fix this by duplicating the input string parameter before
parsing it with strtok_r.

Also limit the range of the CONFIG_WIFI_SCAN_SSID_FILT_MAX parameter
from 1 to 4 to avoid stack overflow due to users specifying a large
value for this parameter.

Signed-off-by: Sachin D Kulkarni <sachin.kulkarni@nordicsemi.no>
2023-09-12 09:24:06 +02:00
Sachin D Kulkarni 0b92327fc3 net: wifi: Fix crash in wifi_utils_parse_scan_bands
wifi_utils_parse_scan_bands could cause a crash if a constant string is
passed to it. Fix this by duplicating the input string parameter before
parsing it with strtok_r.

Signed-off-by: Sachin D Kulkarni <sachin.kulkarni@nordicsemi.no>
2023-09-12 09:24:06 +02:00
Declan Snyder e48714949e drivers: pwm_mcux_sctimer: Use clock control API
Use zephyr clock control api instead of hal functions
directly in the sctimer driver

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2023-09-12 09:23:46 +02:00
Declan Snyder e3bbdb6a29 dts: nxp: Add sctimer clock to soc dtsi
Add sctimer clock properties to soc dtsi on sctimer node

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2023-09-12 09:23:46 +02:00
Declan Snyder 97c2ef6666 drivers: clock_control_mcux_syscon: add sctimer
Add SCTIMER key to syscon clock control

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2023-09-12 09:23:46 +02:00
Alberto Escolar Piedras 0711a40cf7 boards nrf52_bsim: bstests: Use malloc safely
Use the wrapped version of the malloc function
which checks that malloc succeeded before continuing,
so in the unlikely case that we run out of memory
we handle it gracefully.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-09-12 09:23:34 +02:00
Martin Kiepfer 555baf7197 boards: m5stack_core2: Increase i2c bitrate on i2c0
All periphals connected on i2c0 support 400kbit. The default speed has
been increased to improve responsiveness.

Signed-off-by: Martin Kiepfer <m.kiepfer@teleschirm.org>
2023-09-12 09:23:25 +02:00
Martin Kiepfer 147109adb0 boards: Add lvgl pointer support on m5stack_core2
Added lvgl-pointer definition in devicetree, to enable
touch-support in lvgl applications.
Kscan support has been removed from m5stack_core2 as this was just a
temporary thing.
Has been tested with lvgl hello world sample.

Signed-off-by: Martin Kiepfer <m.kiepfer@teleschirm.org>
2023-09-12 09:23:25 +02:00
Huifeng Zhang 662a14a25e tests: net: lib: lwm2m: fix the missing float support
The tests `content_json` and `content_plain_test` depend on the float
support of libc. After PR##57340, Picolibc would be selected in
these two tests and the `PICOLIBC_IO_FLOAT` won't be selected if
the platform doesn't select `FPU`.

This commit select `CONFIG_PICOLIBC` and `CONFIG_PICOLIBC_IO_FLOAT`
for these two tests.

Signed-off-by: Huifeng Zhang <Huifeng.Zhang@arm.com>
2023-09-11 16:58:10 -04:00
Jukka Rissanen f2a2d30d06 net: capture: Fix the API documentation
The net_capture_send() is only to be called from capture
implementation itself, so the API does not need to be public
thus hide it from generated documentation.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-09-11 16:57:30 -04:00
Piotr Narajowski a2f92bad92 bluetooth: tester: MICS Server tests
Add support for MICS Server tests

Signed-off-by: Piotr Narajowski <piotr.narajowski@codecoup.pl>
2023-09-11 16:57:12 -04:00
Wojciech Slenska 08130f0310 modem: chat: script should be const
This change reduce RAM usage of chat scripts.

Signed-off-by: Wojciech Slenska <wsl@trackunit.com>
2023-09-11 16:56:39 -04:00
Wojciech Slenska 012457580b modem: backends: uart: fix backend selection
Modem backed configs should be used instead of uart.

Signed-off-by: Wojciech Slenska <wsl@trackunit.com>
2023-09-11 16:56:39 -04:00
David Lamparter a532dbab51 doc: list ST7735S alongside ST7735R
Throw ST7735S into a few places so people can find it.

Signed-off-by: David Lamparter <equinox@diac24.net>
2023-09-11 20:05:26 +02:00
David Lamparter ea717bba21 drivers: display: st7735r: support ST7735S
ST7735S requires the COLMOD command be repeated as part of writing
pixels, otherwise it goes back to some kind of default which is likely
wrong.

ST7735S works correctly after this plus the previous two commits; tested
on STM32L462 + KD0096FM.

Signed-off-by: David Lamparter <equinox@diac24.net>
2023-09-11 20:05:26 +02:00
David Lamparter 19113d6e8c drivers: display: st7735r: hold CS for pixels
Use a continuous transaction with CS kept low for the entire batch of
row address, column address and actual pixel data write.  This is
required by ST7735S and shouldn't hurt elsewhere.

Signed-off-by: David Lamparter <equinox@diac24.net>
2023-09-11 20:05:26 +02:00
David Lamparter 64c46ae56a drivers: display: st7735r: add hold-CS transmit()
ST7735S support (separate commits) needs this.

Signed-off-by: David Lamparter <equinox@diac24.net>
2023-09-11 20:05:26 +02:00
Krzysztof Chruściński 81cc13d075 logging: Fix increase of code size when CONFIG_LOG=n
When logging was disabled there was still a code size increase due
to log module structure being kept in the memory even though it was
unused. When CONFIG_LOG=n there should be nothing in the memory
footprint related to the logging.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2023-09-11 20:04:49 +02:00
Jonathan Rico 0f8b357d0a tests: Bluetooth: split `id_addr_update` test
Split FW into two images, one for central one for peripheral.

The SoftDevice controller's connection contexts are not role-agnostic:
some are reserved for the peripheral roles some for the central roles.

Splitting the test into two images is anyway "The right thing (TM)",
it's just that we sometimes take the shortcut of using a single image to
go faster.

Signed-off-by: Jonathan Rico <jonathan.rico@nordicsemi.no>
2023-09-11 19:58:16 +02:00
Anders Storrø 6559de3238 Bluetooth: Mesh: Store priv proxy in sep entry
Stores persistent on-demand private GATT proxy state in separate
settings entry. This is implemented to avoid issues related to
backwards compatibility between device firmware updates.

Signed-off-by: Anders Storrø <anders.storro@nordicsemi.no>
2023-09-11 19:58:05 +02:00
Anders Storrø cf8301d01e tests: Bluetooth: Mesh: OD priv proxy pst test
Adds test for persistent storage in On-Demand Private Proxy
implementation.

Signed-off-by: Anders Storrø <anders.storro@nordicsemi.no>
2023-09-11 19:58:05 +02:00
Anders Storrø c80a52a1e3 Bluetooth: Mesh: Store priv beacon in sep entry
Stores persistent private beacon state in separate settings entry.
This is implemented to avoid issues related to backwards compatibility
between device firmware updates.

Signed-off-by: Anders Storrø <anders.storro@nordicsemi.no>
2023-09-11 19:58:05 +02:00
Anders Storrø 893a239f85 tests: Bluetooth: Mesh: Priv beacon pst test
Adds test for persistent storage in private beacon
implementation.

Signed-off-by: Anders Storrø <anders.storro@nordicsemi.no>
2023-09-11 19:58:05 +02:00
Benjamin Cabé 5b0a08d876 doc: net: tftp: fix API documentation
add a missing doxygen group and show the API reference the Sphinx doc.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-09-11 19:57:28 +02:00
Manuel Argüelles 62f8fd962b tests: code_relocation: update test filters
ITCM relocation tests depends on MINIMAL_LIBC and when using Zephyr SDK
the default is PICOLIBC for mr_canhubk3 board, so explicitly select it.
Also the NXP S32 platforms don't have NXP MPU, so remove it.

For frdm_k64f the ITCM relocation test is not executed, so remove the
unnecesary filter CONFIG_MINIMAL_LIBC.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2023-09-11 19:57:18 +02:00
Jamie McCrae da96722552 bluetooth: Make long workqueue init priority configurable
Makes the long workqueue init priority configurable and sets
the default to 50, this is to allow for relocating bluetooth
libraries to other parts of memory e.g. external flash, and
allows for those flash drivers to be initialised prior to
calling functions residing in them.

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-09-11 19:57:08 +02:00
Benjamin Cabé 7c4ff77bf3 doc: zbus: samples: Use new Sphinx extension to document samples
Use the new code-sample directive and roles to document the zbus samples
so that they show up as "Related samples" when browsing zbus API.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-09-11 19:56:57 +02:00
Bjarki Arge Andreasen c61057354e modem: Delegate async UART pipe closed event
This commit delegates the modem_pipe_notify_closed() call
resulting from the UART async API UART_RX_DISABLED event
to the workqueue. This is neccesary as the async UART
callback may be called from ISR context.

modem_pipe_notify_closed() must be called from outside of
the ISR context as it takes a mutex.

The commit also adds a missing break to the async UART
callback, and adds a missing dependency to the Kconfig
for the UART backends, RING_BUFFER=y

Signed-off-by: Bjarki Arge Andreasen <bjarkix123@gmail.com>
2023-09-11 19:56:48 +02:00
Martin Kiepfer 9339882fbb samples: lvgl: Extend hello world sample button functionality
This commit adds a callback to the button to reset the counter when the
button is pressed. The button is automatically created when lvgl
pointer or kscan support is enabled. The same reset functionality was
already available for possible gpio button.

Please make sure to define a zephyr input device in device
tree (e.g. "zephyr,lvgl-pointer-input").

Signed-off-by: Martin Kiepfer <m.kiepfer@teleschirm.org>
2023-09-11 19:56:37 +02:00