Commit graph

126,787 commits

Author SHA1 Message Date
Henrik Brix Andersen
b4d5fc5cd2 dts: bindings: neorv32: use vendor prefix
Use vendor prefix "neorv32" for all peripherals provided by the NEORV32
RISV-V Processor project.

Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
2025-03-11 05:36:35 +01:00
Ederson de Souza
70c89811be scripts and soc: Mark MD5 and SHA1 usage as not for security
MD5 and SHA1 are not supposed to be used nowadays on security context.
Some ancillary scripts in tree do use them, but for verification only -
or where externally mandated, such the SPDX tool.

This patch marks those usages as `usedforsecurity=False`, which helps
clarify intent.

Signed-off-by: Ederson de Souza <ederson.desouza@intel.com>
2025-03-11 04:52:15 +01:00
Nabil Elqatib
0cce3dc7bf samples: sensor: bmg160: Create README.rst file
Helps closing https://github.com/zephyrproject-rtos/zephyr/issues/27805

Signed-off-by: Nabil Elqatib <nabilelqatib@gmail.com>
2025-03-11 04:51:23 +01:00
Lyle Zhu
1cfd624b3d Bluetooth: SDP: Notify upper layer if the response data len is 0
In current implementation, the SDP discovery complete event is not
notified when the response data length is 0.

Notify the discovery complete event if the response length is 0.

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2025-03-10 21:49:41 +01:00
Piotr Zierhoffer
de7405d009 dts: nxp: mcxa156: Fix invalid FlexPWM1 address
It seems that this DTS entry has been copied from another DTS.

The address of FlexPWM1 conflicts right now with the flash memory space.

Signed-off-by: Piotr Zierhoffer <pzierhoffer@antmicro.com>
2025-03-10 21:44:09 +01:00
Gerard Marull-Paretas
1494cdb0bf drivers: misc: devmux: fix init signature
It is no longer possible to use other signatures other than
`int fn(const struct device *)`. Just cast the device pointer,
safe in this context because CONFIG_DEVICE_MUTABLE=y.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2025-03-10 21:32:40 +01:00
Gerard Marull-Paretas
627e83c47d device: add DEVICE[_DT[_INST]_DEINIT_DEFINE
Add a new set of macros to define devices with de-init capabilities.
This allows to move gradually to de-init without introducing breaking
changes.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2025-03-10 21:32:40 +01:00
Gerard Marull-Paretas
0d4b957b11 device: allow initializing any device
Remove restrictions from device_init by allowing to perform device
initialization if the device state flags it being not initialized.
This makes the API usable in contexts where device_deinit has been
called before.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2025-03-10 21:32:40 +01:00
Gerard Marull-Paretas
8e59d4cd9d device: add new device_deinit API
Add a new API to de-initialize a device. When a device is
de-initialized, it will release any resources it has acquired
(e.g. pins, memory, clocks, DMA channels, etc.) and its status
will be left as in its reset state.

It is the responsability of the caller to ensure that the device is
ready to be de-initialized.

For now, deinit call always initializes to NULL. New macros will be
introduced to not break existing device APIs.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2025-03-10 21:32:40 +01:00
Gerard Marull-Paretas
766bfe7b2e device: introduce struct device_ops
Instead of passing a single init function, create
struct device_ops with the init function inside. This allows to easily
extend device's capabilities in the future without too much breakage,
e.g. to add a de-init call.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2025-03-10 21:32:40 +01:00
Gerard Marull-Paretas
f44a30109c device: introduce device flags
Introduce a new field to store device flags. Only device deferred init
flag has been added, replacing usage of linker hackery to know wether a
device requires initialization at boot time or not. This change will be
helpful in the near future as devices will become reference counted, so we
will need to know wether they have been initialized or not.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2025-03-10 21:32:40 +01:00
Gerard Marull-Paretas
3f6add69da init: drop device union from struct init_entry
Such union is rather redundant, considering a simple const cast can be
done when initializing the init entry. Note that the init_entry does not
need to be touched now that struct device stores the init call. It is
merely an init entry sorted by linker scripts, so we can intertwine
devices and SYS_INIT.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2025-03-10 21:32:40 +01:00
Gerard Marull-Paretas
ed3377ae78 init: drop init_fn union
Device init function is no longer taken from `struct init_entry`, so
there's no need to keep such union.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2025-03-10 21:32:40 +01:00
Gerard Marull-Paretas
a0a907c90e device: store init function in struct device
Preparation work for device init/de-init functionality.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2025-03-10 21:32:40 +01:00
Gerard Marull-Paretas
9b5083bb89 init: drop anonymous union
It just complicates things. It is not C99 strandard, and since C11 is
not mandatory, it is better to play safe here.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2025-03-10 21:32:40 +01:00
Paul Wedeck
1cfec8c19a drivers: dma_wch: add support for the WCH DMA controller
This patch adds an initial driver for the WCH DMA
controller. All hardware features and most interface
features are implemented.

Signed-off-by: Paul Wedeck <paulwedeck@gmail.com>
2025-03-10 21:32:27 +01:00
Filip Kokosinski
0c6217fc6a boards/antmicro/myra_sip_baseboard: add the EEPROM alias and test tag.
This commit adds the Twister `eeprom` test tag and a devicetree `eeprom-0`
alias for samples and tests.

Signed-off-by: Filip Kokosinski <fkokosinski@antmicro.com>
2025-03-10 21:32:12 +01:00
Filip Kokosinski
6fbd09e445 dts/arm/antmicro/myra: add Fujitsu FRAM node
This commit adds Fujitsu FRAM devicetree node in Myra SiP's devicetree.

Signed-off-by: Filip Kokosinski <fkokosinski@antmicro.com>
2025-03-10 21:32:12 +01:00
Carles Cufi
9fc84e78e7 boards: nrf: Default to nRF Util for flashing
Nordic has a new tool, nRF Util (`nrfutil`) which is replacing the
previous set of command-line tools (particularly `nrfjprog`) that Zephyr
had been using by default in many of the boards to flash the firmware
onto the device.

Since nRF Util is already mature and is going to be replacing the existing
tools, including `nrfjprog`, it is now a good time to change the default
flash tool to reflect this fact.

Note that `nrfjprog` support is not being removed at all, but this may
be a breaking change for users that do not have nRF Util installed. For
this reason we also add a note in the migration guide.

More info:
https://devzone.nordicsemi.com/nordic/nordic-blog/b/blog/posts/nrf-util-unified-command-line-utility

Installation:
https://www.nordicsemi.com/Products/Development-tools/nrf-util

Documentation:
https://docs.nordicsemi.com/bundle/nrfutil/page/README.html

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2025-03-10 21:31:43 +01:00
Ibe Van de Veire
2340dfad52 doc: networking: Add IPv4 commandline options description
Add the documentation on how to use the commandline options to set the
IPv4 addr, gateway and netmask of a native_sim setup.

Signed-off-by: Ibe Van de Veire <ibe.vandeveire@basalte.be>
2025-03-10 21:31:27 +01:00
Ibe Van de Veire
200b886d3c drivers: eth: native_posix: Add IPv4 parameter input from cmd line
Added the abililty to set the IPv4 addres, gateway and netmask from the
command line when running a native_posix build.

Signed-off-by: Ibe Van de Veire <ibe.vandeveire@basalte.be>
2025-03-10 21:31:27 +01:00
Thomas Deppe
4161ba2103 Bluetooth: Host: Fix Advertising Coding Selection as peripheral
Fix mistake in host implementation of Advertising Coding Selection.

The host should only try set the BT_LE_FEAT_BIT_ADV_CODING_SEL_HOST
when the observer role is enabled. If a broadcaster enables the
CONFIG_BT_EXT_ADV_CODING_SELECTION Kconfig option bluetooth will
fail to initialise.

Signed-off-by: Thomas Deppe <thomas.deppe@nordicsemi.no>
2025-03-10 21:31:12 +01:00
Miguel Gazquez
8722c03222 drivers: udc: udc_skeleton: fix call to K_THREAD_STACK_DEFINE
The udc_skeleton driver incorrectly calls `K_THREAD_STACK_DEFINE` with
`CONFIG_UDC_SKELETON` instead of `CONFIG_UDC_SKELETON_STACK_SIZE`. This
causes stack overflows when developing a driver based on this code.

Fix the call to `K_THREAD_STACK_DEFINE`.

Signed-off-by: Miguel Gazquez <miguel.gazquez@bootlin.com>
2025-03-10 21:30:58 +01:00
Benjamin Cabé
9e53af0c6b doc: releases: expose draft 4.2 release notes + migration guide in toc
Update toctrees to show 4.2 documents in the release page

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-03-10 21:30:49 +01:00
Henrik Brix Andersen
ac45ebd80d Revert "boards: neorv32: remove doc logo"
Restore NEORV32 board logo. This reverts commit
3f60ed03d1.

Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
2025-03-10 21:30:28 +01:00
Lyle Zhu
ed45960870 Bluetooth: SDP: Fix the issue of not handling the next discovery req
The pending discovery request will not be handled in some cases.
The cases include,
- The received data length is not aligned with frame length
- The continuation status length is more than maximum value
- Total length of the response is less than the frame length
- Unknown operation code is received

There is also a case where the current discovery result was not
notified when processing the pending discovery request.
The cases include,
- Fail to send SDP request
- No tail room of received buffer to save the response data

Fix the issue by using the following steps,
- Notify the application that the discovery is done
- Process the pending discovery request

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2025-03-10 15:20:40 +01:00
Armando Visconti
6c5c3a5c66 samples/sensor: stream_fifo: add sensortile_box_pro board
Add sensortile_box_pro board overlay and config files.
This is good to verify lsm6dsv16x RTIO streaming over SPI bus.

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2025-03-10 15:20:30 +01:00
Kapil Bhatt
928534455b nrf_wifi: src: Fix include file path
With recent code restructuring file name and path
has been changed in nrf_wifi lib.

Signed-off-by: Kapil Bhatt <kapil.bhatt@nordicsemi.no>
2025-03-10 15:20:08 +01:00
Cla Mattia Galliard
875d11af29 net: hostname: Fix compiler warning unused argument
For the `static inline` replacement of the `hostname_set`-function add
`ARG_UNUSED`-macros, such that the compiler does not warn about the unused
arguments.

Signed-off-by: Cla Mattia Galliard <cla-mattia.galliard@zuehlke.com>
2025-03-10 15:19:59 +01:00
Lyle Zhu
dcd8bcb88d Bluetooth: SSP: Reply a negative rsp if binding flags are mismatched
If the remote is in bondable mode, but the local is in non-bondable
mode, the local host shall respond to an IO capability request with
a negative response.

In current implementation, it does not check the bonding flags of the
both sides are consistent.

Fix the issue by checking the consistency of bonding flags of the both
sides. If they are not consistent, send a negative IO capability
response with the reason pairing not allowed.

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2025-03-10 15:03:04 +01:00
Lyle Zhu
1408614fd2 Bluetooth: SSP: bt_conn_unref is missing if pairing is not accepted
The `conn` is found by using function `bt_conn_lookup_addr_br()`, it
should be released by calling `bt_conn_unref()`. But `bt_conn_unref()`
is missing in the case that the pairing is not accepted.

Release the `conn` by calling `bt_conn_unref()` before exiting the
function `bt_hci_io_capa_req`.

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2025-03-10 15:02:48 +01:00
Christoph Seitz
80649dadd3 tests: net: ieee802154: Fix sockaddr_ll protocol handling in tests
Convert all sll_protocol fields to use network byte order in the tests.

Signed-off-by: Christoph Seitz <christoph.seitz@infineon.com>
2025-03-10 15:02:38 +01:00
Christoph Seitz
5340fa49a7 tests: net: socket: Add recvfrom addr validation
Add address length validation and expected source address
checks in packet socket tests.

Signed-off-by: Christoph Seitz <christoph.seitz@infineon.com>
2025-03-10 15:02:38 +01:00
Christoph Seitz
0e4cf09b55 net: sockets: Fix AF_PACKET sll_protocol in recvfrom
Convert the protocol value in return in recvfrom to
network byte order as expected.

Signed-off-by: Christoph Seitz <christoph.seitz@infineon.com>
2025-03-10 15:02:38 +01:00
Fin Maaß
b0f603cfe5 drivers: ethernet: litex: check phy-handle property
Adds a check, that the phy device in the device tree, referenced
by the phy-handle property, is enabled.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2025-03-10 15:02:26 +01:00
Bjarki Arge Andreasen
6f45f682c4 dts: arm: atmel: samx7xx21: fix flash erase-blocks
The flash erase-blocks property was a bit malformed, it has 254 pages
of size 8192 after the first 8 pages of size 2048 to reach the total
size of 2048K. This caused issues when trying to erase the last pages
of the flash, which caused the flash erase_blocks test suite to fail.

Adjust the erase-blocks to match the flash layout.

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2025-03-10 15:02:16 +01:00
Bjarki Arge Andreasen
9c6195a2da drivers: flash: sam: fix flash erase last page
The implementation for erasing pages in the flash_sam.c driver
indicated a successful erase after exceeding the last page to be
erased successfully. Since the last page has no proceeding page,
the succeeded status was not set.

This fix switches around the status to be set as succeeded before
erase begins, to have the succeeded status cleared if page unlock
or erase fails.

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2025-03-10 15:02:16 +01:00
TOKITA Hiroshi
70fc4a3e57 boards: pimoroni: pico_plus2: Add Pimoroni Pico Plus2 board
Pinoroni Pico Plus2 is an RP2350B based board that has
more rich I/O, RAM, and Flash than the original Raspberry Pi Pico2.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2025-03-10 11:20:30 +01:00
TOKITA Hiroshi
123472013a soc: raspberrypi: rp2350: Add initial support for the RP2350B
RP2350B is a rich IO variant in the RP2350 series.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2025-03-10 11:20:30 +01:00
TOKITA Hiroshi
5184fb9257 drivers: gpio: rpi_pico: Add support for RP2350B
As the RP2350B has more than 32 GPIO pins,
we changed the configuration so that it is split into two ports.

To do this, we created a `raspberrypi,pico-gpio-port` node and
moved the previous `raspberrypi,pico-gpio-port` functions to it.

This became a child node of `raspberrypi,pico-gpio-port`, and
`raspberrypi,pico-gpio-port` will remain a gpio mapper.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2025-03-10 11:20:30 +01:00
Khoa Nguyen
47655aa236 tests: drivers: uart: Add support uart_async_api for RA2
Add support uart_async_api for Renesas ek_ra2l1, ek_ra2a1

Signed-off-by: Khoa Nguyen <khoa.nguyen.xh@renesas.com>
2025-03-10 11:12:20 +01:00
Torsten Rasmussen
e270fd4689 doc: document CMAKE_BUILD_PARALLEL_LEVEL and VERBOSE env variables
Sysbuild may include several images and when using ninja as build tools
then build options like `ninja -v` or `ninja -j <n>` is only consumed
by the top-level build folder, which is sysbuild itself.

CMake supports setting number of jobs or verbosity using environment
variables.

Document this feature in the Building with sysbuild section.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2025-03-10 11:12:07 +01:00
Torsten Rasmussen
63cf79bd99 scripts: support number of jobs and verbosity in west build.
Calling `west build --build-opt="-v" --build-opt="-j=<n>"`
passes the build options to `cmake --build ... -- <build-opt>` which
again is passed to the native build tool, such as ninja or make.

However, when ExternalProjects are used in CMake, such as in TF-M or
sysbuild builds then those extra build options are only passed to the
first image build and not those build as external projects.

CMake supports environment variables for those flags, so translate
verbosity and number of jobs to those environment variables and thereby
support those flags for all images when specified by the user.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2025-03-10 11:12:07 +01:00
Stefan Gloor
dbd350262f manifest: mbedtls: rename BEFORE_COLON/BC to avoid conflicts
See: https://github.com/zephyrproject-rtos/mbedtls/pull/68

Signed-off-by: Stefan Gloor <stefan.gloor@siemens.com>
2025-03-10 11:11:53 +01:00
Henrik Brix Andersen
b80ec57cf5 doc: releases: migration-guide: 4.2: mention NEORV32 version bump
Mention the move to support v1.11.1 of the NEORV32 RISC-V processor.

Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
2025-03-10 11:11:22 +01:00
Henrik Brix Andersen
1ba20d38f3 boards: others: neorv32: update openocd configuration
Update the default NEORV32 OpenOCD configuration file to avoid deprecation
warnings. Remove unnecessary nTRST signal layout.

Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
2025-03-10 11:11:22 +01:00
Henrik Brix Andersen
63c24d9d34 soc: neorv32: update to support NEORV32 v1.11.1
Update the NEORV32 SoC, peripheral drivers, and board to support NEORV32
v1.11.1. Notable changes include:

- Optional RISC-V ISA Kconfigs are now selected on the board level.
- Peripheral registers are now automatically reset in hardware, no need for
  software initialization code.
- The NEORV32 GPIO controller now supports 32 pins, not 64. Interrupt
  support will be submitted in a separate PR.
- Default board configuration has 64k RAM and is clocked at 18 MHz.

Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
2025-03-10 11:11:22 +01:00
Henrik Brix Andersen
4899cc10ac soc: neorv32: stop pretending to support multiple versions
Originally, when Zephyr support for the NEORV32 was introduced, the idea
was to support multiple version of the SoC in Zephyr as development on the
open-source RISC-V processor continued.

Unfortunately, this has proven to be much harder than anticipated in part
due to incompatible changes between NEORV32 versions and part due to the
added test burden of verifying all changes on many different versions and
configurations.

Going forward, Zephyr will support a given release of the NEORV32
processor.

Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
2025-03-10 11:11:22 +01:00
Henrik Brix Andersen
8662e0fdcb soc: neorv32: the NEORV32 does not fully support ISA A extension
The NEORV32 v1.8.6 does not fully support the RISC-V ISA A
extension. Remove it and enable support for atomic operations in C
regardless of the version used.

Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
2025-03-10 11:11:22 +01:00
Hank Wang
bf369c7d30 dts: bindings: i2c: ti,tca954x-base: fix example syntax
Fix the syntax in the device tree binding example by replacing `:` with `=`
in the `compatible` property. This ensures consistency with the standard
device tree syntax.

Signed-off-by: Hank Wang <wanghanchi2000@gmail.com>
2025-03-10 11:10:57 +01:00