Commit graph

99,250 commits

Author SHA1 Message Date
Seppo Takalo
441d970417 net: lwm2m: Bypass send_queue when sending empty Ack
In case we want to immediately send empty Ack to server,
we should bypass all send queues.

This is required when we try to send Ack from callbacks
that happen from socket-loop context. On those cases
the Ack would have not been send because the callback
might be blocking the socket-loop while processing
a request (like write callbacks).

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2024-06-12 12:50:46 -04:00
Nazar Palamar
c0be06be02 soc: psoc6: fix build error when CONFIG_UART_INTERRUPT_DRIVEN
Fix build error when CONFIG_UART_INTERRUPT_DRIVEN is enabled
see details: issues/74004

Signed-off-by: Nazar Palamar <nazar.palamar@infineon.com>
2024-06-12 12:50:28 -04:00
Carles Cufi
37ec117386 scripts: west: blobs: Check for existence of modules
Instead of blindly using the module names provided by the user via
command-line arguments, check if those actually exist in the current
manifest, and error out if any of them does not.

Fixes #73901.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2024-06-12 12:50:12 -04:00
Martí Bolívar
b93fe6ad2d shell: device_service: print DT metadata
Example output on qemu_cortex_m3:

  devices:
  - uart@4000e000 (READY)
    DT node labels: uart2
  - uart@4000d000 (READY)
    DT node labels: uart1
  - uart@4000c000 (READY)
    DT node labels: uart0
  - gpio@40026000 (READY)
    DT node labels: gpio6
  - gpio@40025000 (READY)
    DT node labels: gpio5
  - gpio@40024000 (READY)
    DT node labels: gpio4
  - gpio@40007000 (READY)
    DT node labels: gpio3
  - gpio@40006000 (READY)
    DT node labels: gpio2
  - gpio@40005000 (READY)
    DT node labels: gpio1
  - gpio@40004000 (READY)
    DT node labels: gpio0

Signed-off-by: Martí Bolívar <mbolivar@amperecomputing.com>
2024-06-12 18:49:54 +02:00
Martí Bolívar
48a14dc17e gpio: add support for node label based lookup in the shell
Use some new kernel features to make the experience of finding and
dealing with GPIO devices much more ergonomic by allowing the use of
devicetree node labels to identify GPIO devices by default.

Users who wish to avoid the associated footprint penalty can set
CONFIG_DEVICE_DT_METADATA=n by hand, but I think the convenience is
worth the price as a default. If we're running a shell, then we've
already paid a heavy footprint penalty.

Example output for qemu_cortex_m3:

    uart:~$ gpio devices
    Device           Other names
    gpio@40004000    gpio0
    gpio@40005000    gpio1
    gpio@40006000    gpio2
    gpio@40007000    gpio3
    gpio@40024000    gpio4
    gpio@40025000    gpio5
    gpio@40026000    gpio6

Signed-off-by: Martí Bolívar <mbolivar@amperecomputing.com>
2024-06-12 18:49:54 +02:00
Martí Bolívar
15c9d3711c kernel: add CONFIG_DEVICE_DT_METADATA and helpers
This option allows you to look up a struct device from any of the
node labels that were attached to the devicetree node used to create
the device, etc.

This is helpful because node labels are a much more human-friendly set
of unique identifiers than the node names we are currently relying on
for use with device_get_binding(). Adding this infrastructure in the
device core allows anyone to make use of it without having to
replicate node label storage and search functions in various places in
the tree. The main use case, however, is for looking up devices by
node label in the shell.

Since there is a footprint penalty associated with storing the node
label metadata, leave this option disabled by default.

Signed-off-by: Martí Bolívar <mbolivar@amperecomputing.com>
2024-06-12 18:49:54 +02:00
Martí Bolívar
74abb2bf95 devicetree: add first-class node label helpers
Add the following new macros:

- DT_FOREACH_NODELABEL
- DT_FOREACH_NODELABEL_VARGS
- DT_INST_FOREACH_NODELABEL
- DT_INST_FOREACH_NODELABEL_VARGS

These are for-each helpers for iterating over the node labels of a
devicetree node. Since node labels are unique in the entire
devicetree, their token representations can be useful as unique IDs in
code as well.

As a first user of these, add:

- DT_NODELABEL_STRING_ARRAY
- DT_INST_NODELABEL_STRING_ARRAY

The motivating use case for these macros is to allow looking up a
struct device by devicetree node label in Zephyr shell utilities.
The work on the shells themselves is deferred to other patches.

To make working with the string array helpers easier, add:

- DT_NUM_NODELABELS
- DT_INST_NUM_NODELABELS

Signed-off-by: Martí Bolívar <mbolivar@amperecomputing.com>
2024-06-12 18:49:54 +02:00
Yong Cong Sin
131e6bf494 logging: allow OOT backend to enable LOG_BACKEND_FORMAT_TIMESTAMP
The `LOG_BACKEND_FORMAT_TIMESTAMP` Kconfig currently depends on
a list of hardcoded backends.

Let's modify it to depend on an intermediary Kconfig
`LOG_BACKEND_SUPPORTS_FORMAT_TIMESTAMP` instead, which can be
selected by a OOT log backend.

Updated all exisitng supported backends to select this new
Kconfig.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2024-06-12 12:49:32 -04:00
Benjamin Cabé
a048fee8e7 samples: canopennode: fix HTTP 404 errors
fix can-cia.org URLs as some resources have apparently moved.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2024-06-12 12:49:00 -04:00
Benjamin Cabé
6d915f8e51 doc: boards: fix dead link in boards doc
Serpente board lives in "boards/others/", not "boards/arturo182"

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2024-06-12 12:49:00 -04:00
Benjamin Cabé
a3fcfa90b3 doc: boards: olimex: fix dead links in boards doc
Fixed a couple file references that were missed during PR #71441.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2024-06-12 12:49:00 -04:00
Benjamin Cabé
9a73c32852 doc: boards: nxp: fix dead links in boards doc
Fixed a few file references that were missed during hwmv2 refactoring.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2024-06-12 12:49:00 -04:00
Benjamin Cabé
355a864d81 doc: samples: tracing: fix dead link to sample overlay
Fixed bad reference to mp2_an521 overlay file.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2024-06-12 12:49:00 -04:00
Benjamin Cabé
7e7dbc7d88 doc: boards: st: fix dead links in boards doc
Fixed a few file references that were missed during hwmv2 refactoring.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2024-06-12 12:49:00 -04:00
Benjamin Cabé
0c42131776 doc: boards: infineon: fix bad references to defconfig files
Fixed a few occurences of file references using "cypress" instead of
"infineon"

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2024-06-12 12:49:00 -04:00
Benjamin Cabé
30ebe33f5a docs: pm: fix broken link to power domain tests
fix README to link to Power domain *tests*, not samples.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2024-06-12 12:49:00 -04:00
Benjamin Cabé
352d90df32 doc: shields: lmp90100_evb: fix dead link to evaluation board docs
Replace dead ti.com link with a link to Farnell hosted datasheet.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2024-06-12 12:49:00 -04:00
Benjamin Cabé
6db7c2aeb3 doc: boards: fix dead link to i.MX 8M reference manual
Fix deadlink using standard NXP download URL

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2024-06-12 12:49:00 -04:00
Benjamin Cabé
cd5be454c6 doc: boards: fix deadlink to RT685 datasheet
Fixed a 404 link (resource has eitrher moved or link has always been
dead)

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2024-06-12 12:49:00 -04:00
Tomasz Moń
fb27c36ad5 drivers: udc_dwc2: Fix control OUT buffer leak
Release buffer allocated in dwc2_ctrl_feed_dout() on endpoint deactivate
to prevent the buffer from leaking on USB stack disable.

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2024-06-12 12:48:45 -04:00
Gerard Marull-Paretas
238d113185 samples: modules: canopennode: set bootloader in sample.yaml
Set the bootloader choice for the
sample.modules.canopennode.program_download test case in the sample.yaml
file instead of sysbuild.conf. The reason for this change is to avoid
building MCUboot by default when using the --sysbuild option, as it may
not be compatible with all platforms. This is currently causing issues
on platforms like nRF54H20 where sysbuild is always used.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-06-12 12:48:28 -04:00
Benjamin Cabé
3898cbeafc doc: kernel: do not start doxygen comment with #
Comment starting with "#" was causing incorrect rendering (as well as
LaTeX warnings)

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2024-06-12 12:47:46 -04:00
Pisit Sawangvonganan
9a0283d5e2 drivers: gnss: make gnss_xxx_config and gnss_driver_api as const
This change marks each instance of the `gnss_xxx_config` and
`gnss_driver_api` as `const`.

By using `const`, we ensure immutability, leading to usage of only
`.rodata` and a reduction in the `.data` area.

Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
2024-06-12 12:47:34 -04:00
Anas Nashif
b7182cf082 tests: uoscore: increase main stack
Increase main stack size to 4096.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2024-06-12 12:47:18 -04:00
Anas Nashif
7b2ccf4dfe kernel: increase main stack size for ztests on nios2
ztest now needs to more main stack size.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2024-06-12 12:47:18 -04:00
Francois Ramu
dfb240f37c samples: boards: stm32 I2C config and gives V2 timing calculation
This sample reports the I2C configuration of the selected I2C node
from the board DTS : bitrate property of the I2C node
In case of I2C V2, it also gives the TIMINGS which has to be written
in the DTS <timings> property of the I2C V2 node.
Uses the i2c_get_config function with CONFIG_I2C_STM32_V2_TIMING.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2024-06-12 14:35:48 +03:00
Francois Ramu
29afef1e7d drivers: i2c: stm32 for V2 driver get_config with timings
Change the get_config API for the stm32 I2C V2 driver.
It will also return the value of the content of TIMING register
for the I2C V2 bus.
This is hold by a i2c_config_timing structure of the device data

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2024-06-12 14:35:48 +03:00
Francois Ramu
e5048c0c6d drivers: i2c: stm32 I2C v2 driver fix compliance with a Macro
Define Macro to fix the compliance check warning :
"DEEP_INDENTATION: Too many leading tabs - consider code refactoring
in the i2c_compute_scll_sclh() function
in the i2c_compute_presc_scldel_sdadel() function

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2024-06-12 14:35:48 +03:00
Francois Ramu
3aea45053c drivers: i2c: stm32 driver V2 new timing calculation
This PR is implementing a new formula to calculate the I2C timing
value from the I2C clock source and the bit rate.
This is done under flag CONFIG_I2C_STM32_V2_TIMING.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2024-06-12 14:35:48 +03:00
Benjamin Cabé
01604acc51 samples: cmsis_dsp: add moving average sample
This adds a basic example demonstrating how to enable and use the CMSIS-DSP
module in Zephyr.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2024-06-12 14:35:17 +03:00
TOKITA Hiroshi
fbe912395c dts: bindings: dma: raspberrypi: Correcting typo
A `GPIO` word is in the description section.
Correcting it to `DMA`.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2024-06-12 14:34:09 +03:00
TOKITA Hiroshi
8b49895de6 dts: bindings: dma: raspberrypi: Fix irq0-channels definition
`irq0-channels` defines even-numbered channels as the default value.
Since 6 was dropped from this definition, it is added.
Also, since the maximum number of channels is 12,
remove the ones that are exceeded.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2024-06-12 14:34:09 +03:00
Peter Mitsis
886098a6c8 tests: latency_measure: Restructure configurations
Restructures the latency_measure benchmark configurations. Most of them
do not need to be executed by default by CI. However, we still want to
make it easy to run the benchmark with various configurations so that
they can be easily compared against the default.

The updated documentation shows how this can be done.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2024-06-12 14:33:47 +03:00
Adrian Warecki
3de2ce59bc adsp: hda: Extend buffers allowed address space
Changed asserts to allow buffers to be placed in the entire allowed address
space.

Signed-off-by: Adrian Warecki <adrian.warecki@intel.com>
2024-06-12 14:32:35 +03:00
Roman Studenikin
fdd81f87c2 testsuite: coverage: Add CONFIG_ZTEST_COVERAGE_RESET_BEFORE_TESTS
Add an option to reset gcov counters before running tests.
This ensures that only code lines triggered by test itself are counted in
the coverage report and all the board initialization code and pre-test
bootstrap is not counted. This is useful when, for example, you are
testing code that is also executed during bootup

Test Plan:
west build -p always -b qemu_x86_64 tests/ztest/base/ -- \
-DCONFIG_COVERAGE=y -DCONFIG_COVERAGE_GCOV=y -DCONFIG_COVERAGE_DUMP=y \
-DCONFIG_ZTEST_COVERAGE_RESET_BEFORE_TESTS=y
ninja -Cbuild run | tee log.log

Signed-off-by: Roman Studenikin <srv@meta.com>
2024-06-12 14:32:04 +03:00
Roman Studenikin
179585e54b testsuite: coveerage: support counters reset
Ability to reset gcov counters allows better isolation of tests
coverage. Specifically it allows to:
1. Not include counters for any code that was executed prior running the
   test, which includes all the code executed during the board boot.
2. Run multiple tests without firmware reload by resetting counters
   between each.

Signed-off-by: Roman Studenikin <srv@meta.com>
2024-06-12 14:32:04 +03:00
Johann Fischer
ed8c99977f usb: device: allow uneven SN to be obtained from HWINFO
If the length of the string literal reserved for the serial number
descriptor is odd, the string is not used because its length is always
even and therefore one character longer. Fix this by using the shortest
length for the copy.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2024-06-12 14:31:11 +03:00
Thorsten Spätling
486d109e7e dts: stm32h5: Add backup sram DT node to STM32H56xx
I also added an overlay file for the nucleo_h563zi board to the
samples/boards/stm32/backup_sram example.

Signed-off-by: Thorsten Spätling <thorsten.spaetling@vierling.de>
2024-06-12 14:30:45 +03:00
Jordan Yates
b666262a62 doc: _scripts: gen_devicetree_rest: extra folders
Add an option to specify particular folders to pull bindings from
when generating documentation. This is useful for downstream projects
that may want to document their own bindings, but don't want to pull in
every Zephyr binding.

This is not currently possible as almost every binding depends on
`base.yaml`, which exists in the Zephyr repository. This is now enabled
by adding the following to `DTS_ARGS` in the downstream `CMakeLists.txt`
file: `--dts-folder ${ZEPHYR_BASE}/dts/bindings/base`.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2024-06-12 14:30:14 +03:00
Jordan Yates
ae25d606c9 doc: _scripts: gen_devicetree_rest: skip empty vendors
Don't create output sections for vendors without bindings. This only
affects the `Unknown vendor` and `Generic or vendor-independent`
vendors, which are populated by default but do not necessarily contain
any entries.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2024-06-12 14:30:14 +03:00
Ren Chen
1264a9a163 usb: it82xx2: return the available data length in the ep read function
According to the Zephyr documentation, the number of bytes available
for read should be returned if the input data and length parameters are
NULL and zero, respectively. This commit corrects this behavior.

Signed-off-by: Ren Chen <Ren.Chen@ite.com.tw>
2024-06-12 14:29:42 +03:00
Ren Chen
d9099efc02 usb: it82xx2: lock irq when accessing fifo ctrl register and ready bit
Since the fifo control register and ready bit are checked in ISR
function, this commit locks IRQ when accessing these registers to
prevent racing conditions.

Tested with: Google spikyrock project

Signed-off-by: Ren Chen <Ren.Chen@ite.com.tw>
2024-06-12 14:29:42 +03:00
Ren Chen
4fa5cb8dfc usb: it82xx2: fix some issues related to extended endpoint enablement
This commit addresses some issues during the extended endpoint(ep
number is larger than 4) access. There are enable and ready bits for
each endpoint on the IT82xx2 chip. The transaction completion should be
determined by the ready and enable bits of the corresponding endpoint.
Additioinally, for non-control endpoint, the FIFO control register is
selected before writing data and cleared when the IN transaction is
completed. When an IN token interrupts, the FIFO control register
should be checked if it's selected to prevent fake tokens.

Tested with: Google spikyrock project

Signed-off-by: Ren Chen <Ren.Chen@ite.com.tw>
2024-06-12 14:29:42 +03:00
Ren Chen
21c4c169ab usb: it82xx2: remove the unnecessary explicit conversion
This change cleans up the unnecessary explicit conversion.

Signed-off-by: Ren Chen <Ren.Chen@ite.com.tw>
2024-06-12 14:29:42 +03:00
Robert Lubos
57ef64d27d manifest: Update uoscore-uedhoc revision
Update usocore-uedhoc repository revision to the latest version.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2024-06-12 14:28:51 +03:00
Abderrahmane Jarmouni
924206e083 test: drivers: spi: loopback: stm32: add more boards to CI
Add more STM32 boards to run in DMA & IRQ test cases.

Signed-off-by: Abderrahmane Jarmouni <abderrahmane.jarmouni-ext@st.com>
2024-06-12 14:28:35 +03:00
Abderrahmane Jarmouni
533ade504d drivers: spi: stm32: minor fixes
Minor fixes & code improvements.

Signed-off-by: Abderrahmane Jarmouni <abderrahmane.jarmouni-ext@st.com>
2024-06-12 14:28:35 +03:00
IBEN EL HADJ MESSAOUD Marwa
99cf32e9c7 west.yml: hal_stm32: STM32Cube packages update
Update stm32f0 to cube version V1.11.5
Update stm32f3 to cube version V1.11.5
Update stm32f7 to cube version V1.17.2
Update stm32wb to cube version V1.19.1

Update of lib/stm32/stm32wb package to version V1.19.1

Signed-off-by: IBEN EL HADJ MESSAOUD Marwa <marwa.ibenelhadjmessaoud-ext@st.com>
2024-06-12 14:28:06 +03:00
Erwan Gouriou
1c8312bcc8 CODEOWNERS: Clean up for STM32
Remove ABOSTM as not active anymore.
Remove erwango and FRASTM as already in MAINTAINERS files so we'll
be added in reviews anyway.

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2024-06-12 14:27:48 +03:00
Erwan Gouriou
298d603e0c MAINTAINERS: Remove no more active users for STM32
Remove ABOSTM and Desvauxm-st which don't contribute anymore.

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2024-06-12 14:27:48 +03:00