Commit Graph

15129 Commits

Author SHA1 Message Date
Emil Gydesen
6abdc389d4 Bluetooth: CSIP: Remove bt_csip_set_member_get_sirk
The bt_csip_set_member_get_sirk function is superseded by
bt_csip_set_member_get_info and uses of it has been replaced.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2025-05-01 18:15:56 +02:00
Dat Nguyen Duy
eb7ac1c0ff arm: cortex_a_r linker: move data section between rodata and bss
By moving data section between rodata and bss, and disabling
Kconfig LINKER_LAST_SECTION_ID by default if non-XIP (it is
seems only needed for XIP), the size of zephyr.bin can be
reduced significantly on non-XIP system.

As a result, moving __kernel_ram_start to another place
to ensure it still include bss + data as before.

Signed-off-by: Dat Nguyen Duy <dat.nguyenduy@nxp.com>
2025-05-01 18:15:33 +02:00
Johan Hedberg
3a07c25c65 Bluetooth: HCI: Rename BT_BUF_TYPE_INVALID to BT_BUF_TYPE_NONE
The new name is slightly clearer, since strictly speaking any value not
part of the enum is invalid.

Signed-off-by: Johan Hedberg <johan.hedberg@silabs.com>
2025-05-01 14:59:12 +02:00
Johan Hedberg
dcc1d384b6 Bluetooth: HCI: Add documentation for BT_BUF_IN/OUT
Document the enum values for the recently added bt_buf_dir enum.

Signed-off-by: Johan Hedberg <johan.hedberg@silabs.com>
2025-05-01 14:59:12 +02:00
Pieter De Gendt
1a64977b1f sys: dlist: Add const qualifier to immutable API functions
Allow passing structs with sys_dlist_t members as const without
discarding qualifiers if the API is used without modifying it.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2025-05-01 08:54:04 -04:00
Pieter De Gendt
dde8067d4a sys: slist/sflist: Add const qualifier to immutable API functions
Allow passing structs with sys_slist_t/sys_sflist_t members as const
without discarding qualifiers if the API is used without modifying it.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2025-05-01 08:54:04 -04:00
Pieter De Gendt
470b582e04 net: lib: coap: Add CoAP secure support
Add optional TLS secure tag lists for CoAP services to enable DTLS
sockets.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2025-05-01 08:53:32 -04:00
Emil Gydesen
aaec705f12 Bluetooth: Audio: Fix includes in public header files
Updates the includes in a few header files to
avoid including unused header files and include the
ones that are used.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2025-05-01 13:42:37 +02:00
Alain Volmat
d9b41a0a83 include: dt-bindings: clock: add LTDC specific entry for stm32mp13
The non-secure LTDC plane has its own register for clock gating hence
add an entry to control this.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2025-04-30 23:03:17 +02:00
Sai Santhosh Malae
8542e401a6 drivers: spi: siwx91x: SPI clock initialization for siwx91x
Clock driver changes required for initializing the SPI clock
for the siwx91x driver

Signed-off-by: Sai Santhosh Malae <Santhosh.Malae@silabs.com>
2025-04-30 18:44:11 +02:00
Emil Gydesen
3d9f2d17ed tests: Bluetooth: ISO: Add validation of broadcast info
Add validation of the info the application can retrieve by
calling bt_iso_chan_get_info.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2025-04-30 16:26:39 +02:00
Luis Ubieda
3d4bd5de86 rtio: Introduce OP_DELAY as a valid SQE operation
SQE items with this OP will take the specified amount of time
(asynchronously) before completing. This allows to serve as an
asynchronous delay in between SQE items (e.g: A sensor measurement
requested, which requires 50-ms before having the result available).

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-04-30 09:48:16 +02:00
Titan Chen
2ede51b3e9 drivers: gpio: rts5912 support new features
add support new features for get/set configuration:
1. slew rate
2. output driving current
3. schmitt trigger
4. multi-function select

testing by blinky sample.

20250326: remove check interrupt mask to avoid interrupt disable.

Signed-off-by: Titan Chen <titan.chen@realtek.com>
2025-04-30 07:51:46 +02:00
Jordan Yates
d6cb7f4eea net: zperf: custom data upload support
Add support for uploading custom data, instead of a static packet of
'z'. This can be used for more accurate profiling of uplink throughput
for a given application. For example, reading data from flash, or
application level encryption.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-04-29 20:08:32 -04:00
Jordan Yates
bbaf4a7947 net: zperf: specify Unix time offset
The timestamp in the UDP header is expected to be a Unix timestamp, not
an application uptime. Add the option to specify the Unix time at
function entry so that the reported timestamps are accurate.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-04-29 20:08:32 -04:00
Jordan Yates
55cf62dd47 sensor: document "direction" of gauge current
Document the expected meaning of positive and negative currents for the
fuel gauge channels. The definition is chosen to match that of the
fuel gauge API.

This also matches the convention expected by `shell_battery.c`.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-04-29 19:07:04 +02:00
Grzegorz Swiderski
47df9ec981 drivers: firmware: Add support for IRONside calls
IRONside calls are remote procedure calls which comprise the runtime
interface of Nordic IRONside SE. They are realized using a simple IPC
mechanism.

A local domain (client) issues requests to the server by exchanging data
in shared memory, which is divided into evenly sized buffers. The client
selects a buffer, writes a request into it, and sends it to the server.
The server processes that request and writes a response into the same
buffer before returning it to the client.

This patch adds the initial client-side implementation on top of MBOX.
It features cache management and a blocking alloc/dispatch/release API
for synchronous, zero-copy transfers.

A new devicetree binding is added to support this implementation. It is
patterned after the `zephyr,ipc-*` bindings, where each node associates
a pair of mailboxes and a shared memory region.

Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
2025-04-29 17:54:41 +02:00
Daniel Nicoletti
b4f940d654 net: ethernet: Fix build without -fpermissive
Fix ethernet_hw_caps initialization in ethernet.h for
strict type checking.

g++-12: include/zephyr/net/ethernet.h:957:38: error: invalid \
 conversion from 'int' to 'ethernet_hw_caps' [-fpermissive]

Signed-off-by: Daniel Nicoletti <dantti12@gmail.com>
2025-04-29 16:51:17 +02:00
Emil Gydesen
5a25d23222 include: arch: ffs: include toolchain.h
Modify the include of toolchain/common.h to toolchain.h
The reason why we should/cannot include toolchain/common.h
is that it has an #error if included directly, and it
requires including it via toolchain.h instead.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2025-04-29 16:49:20 +02:00
Tim Lin
f7d381fef1 drivers/i2c: Add I2C driver of it51xxx
Implement the functions of I2C host and target.
I2CM: supports nine hosts and each one able located at I2C interface
      0~12.
      supports two 32 bytes dedicated FIFO mode for read and write.
I2CS: supports three targets and each one able located at I2C
      interface 0~8.
      supports 16 bytes dedicated FIFO mode that only supports write or
      read mode and the maximum buffer size is 256 bytes.
      support non-FIFO write to shared FIFO read mode. The maximum
      shared FIFO size for read is 256 bytes.
The APIs test include: i2c_write(), i2c_read(), i2c_burst_read(),
                       i2c_burst_write(), i2c_write_read()

Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
2025-04-29 16:48:06 +02:00
Bjarki Arge Andreasen
9a514ae2dd rtio: introduce await operation
Introduce await operation which simply blocks execution until the
SQE is signaled using the new API rtio_sqe_signal(). This is useful
for locking the bus for synchronous operations, especially those
requiring precise timing. For example, performing a transaction
within a tiny and exact time window.

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2025-04-29 16:47:26 +02:00
Jukka Rissanen
259d41f1e0 net: mgmt: Use layer codes defined in net_mgmt.h
Instead of hard coding some random value to layer code, use the
code that is registered in net_mgmt.h
This way it is easier to keep track of used layer codes in the
future, and we also allow out-of-tree components a way to avoid
allocating same layer code to in-tree-source code.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2025-04-29 13:01:01 +02:00
Jukka Rissanen
702776bd1f net: mgmt: Remove the _ from symbols
The _ is a reserved character in front of the symbols so remove
it from network management event macros. The remaining string
without the _ will identify the network API anyway so having
underscore there is not needed.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2025-04-29 13:01:01 +02:00
Jukka Rissanen
26afcb602f net: mgmt: Central place for allocating layer specific codes
Instead of littering the source tree with hard to track
layer code definitions, have a central place where to register
the layer codes.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2025-04-29 13:01:01 +02:00
Johan Hedberg
5d6d876567 Bluetooth: hci_raw: Fix misleading documentation for bt_send()
The documentation for the HCI raw interface was incorrectly talking about
the need to define buffer pools, when in fact the hci_raw module provides
the necessary API to perform buffer allocation.

Signed-off-by: Johan Hedberg <johan.hedberg@silabs.com>
2025-04-29 13:00:33 +02:00
Johan Hedberg
26d97164be Bluetooth: HCI: Use H:4 encoding for buffers
Encode the packet type as a H:4 payload prefix for buffers passing to &
from HCI drivers. The existing bt_buf_set/get_type functions are
deprecated, but kept compatible with the change, except that they can only
be called once, since they modify the buffer payload.

Signed-off-by: Johan Hedberg <johan.hedberg@silabs.com>
2025-04-29 13:00:33 +02:00
Emil Gydesen
54df371740 Bluetooth: TBS: Add support for long read with dirty bit
The TBS spec states that if a value is changed during a
long read procedure, then the server shall reject
read requests with offset != 0 with a specific TBS GATT
error until the value has been read from the beginning again
(i.e. with offset = 0).

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2025-04-29 13:00:07 +02:00
Jiawei Yang
8b3eb368c6 Bluetooth: RFCOMM: Add RPN command sending support
Add support for Remote Port Negotiation (RPN) commands in the RFCOMM.
This allows applications to configure the serial port parameters
over RFCOMM connections, such as baud rate, data bits, stop bits, parity
and flow control.

Changes include:
- Add enumerations for RPN parameters (baud rate, data bits, stop bits,
  parity)
- Add a public API function bt_rfcomm_send_rpn_cmd() to send RPN
  commands
- Add shell command to test RPN with default parameters

This functionality is required by certain Bluetooth profiles that use
RFCOMM and need to configure serial port parameters.

Signed-off-by: Jiawei Yang <jiawei.yang_1@nxp.com>
2025-04-29 08:17:49 +01:00
Daniel Leung
92ebb2eb69 kernel: remove kernel/internal/smp.h
There is no need for kernel/internal/smp.h as SOF does not call
z_sched_ipi(). Actually... git log over there has no mention of
z_sched_ipi() anywhere, just arch_sched_ipi().

And include <ksched.h> for source using z_sched_ipi() since
they are using scheduling functions, and would be the correct
file to include.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2025-04-29 02:42:09 +02:00
Vladislav Pejic
e72e1c1c44 drivers: sensor: adxl372: FIFO mode from DT
Adds support for setting FIFO mode and water-mark from DT.

Signed-off-by: Vladislav Pejic <vladislav.pejic@orioninc.com>
2025-04-28 12:55:18 -05:00
Emil Gydesen
68652a6682 Bluetooth: CAP: Broadcast: Add check for memory allocation for create
When creating a broadcast source with
bt_cap_initiator_broadcast_audio_create there was no check if
all broadcast sources were already allocated, which could cause
a NULL pointer dereference.

Add a check, a test and documentation about possibly
error codes of the function.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2025-04-28 16:41:06 +02:00
Håvard Reierstad
1e5f8bacfe Bluetooth: Doc: Improve docs in bluetooth.h
Adds improvements to the API docs in bluetooth.h, with the aim of
making the API less ambiguous and more informative.

Signed-off-by: Håvard Reierstad <haavard.reierstad@nordicsemi.no>
2025-04-28 13:41:00 +01:00
TOKITA Hiroshi
95db3a66fd include: zephyr: dt-bindings: gpio: Add arduino-mkr-header defines
To make the pin names of the Arduino MKR header easier to understand,
we will introduce a macro definition for the pin names.

And also update the definition of `arduino_mkrzero` with the definitions.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2025-04-28 09:24:02 +01:00
TOKITA Hiroshi
e43a396674 include: zephyr: dt-bindings: gpio: Add arduino-nano-header defines
To make the pin names of the Arduino Nano header easier to understand,
we will introduce a macro definition for the pin names.

And also update the definition of `nano_33_ble`, `nano_33_iot`,
`nucleo_g031k8`, and `nucleo_l031k6` with the definitions.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2025-04-28 09:22:57 +01:00
Fin Maaß
3a195a08da drivers: net: ethernet: change ETHERNET_LINK_*BASE_T
change ETHERNET_LINK_*BASE_T to ETHERNET_LINK_*BASE.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2025-04-28 09:22:09 +01:00
Fin Maaß
43919f1369 drivers: ethernet: phy: add PHY_LINK_IS_SPEED_10M macro
add PHY_LINK_IS_SPEED_10M macro to check if the link speed is 10M.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2025-04-28 09:22:09 +01:00
Fin Maaß
203ca6fcde drivers: ethernet: phy: rename LINK_*_*BASE_T
rename  LINK_*_*BASE_T to  LINK_*_*BASE

speed options for ethernet drivers shouldn't end with a _T, implying
that ethernet is only supported via a twisted pair cable.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2025-04-28 09:22:09 +01:00
Vladislav Pejic
4a9029771f drivers: sensor: adxl367: FIFO mode from DT
Add support for setting FIFO mode using DT property.

Signed-off-by: Vladislav Pejic <vladislav.pejic@orioninc.com>
2025-04-28 08:34:35 +02:00
Alain Volmat
29197ac963 drivers: video: add more RGB 24/32 bits and YUV 16 bit variants formats
Add several more RGB formats: (RGB24/BGR24,ARGB32,ABGR32,RGBA32,BGRA32)
as well as more YUV formats: YVYU, VYVU, UYVY

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2025-04-27 08:35:16 +02:00
Alain Volmat
d8ad66cfb3 drivers: video: add 10 to 16 bit unpacked bayer formats
Add all 4 variants of 10 / 12 / 14 and 16 bits unpacked bayer formats

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2025-04-27 08:35:16 +02:00
Andrej Butok
0b3e9abbff sys: ring_buffer: fix possible ring_buf_put_claim/get_claim wrong size
- The issue is caused by the MIN() macro, which expands to
  (a)<(b)?(a):(b), where ring_buf_space_get()/ring_buf_size_get()
  is used as 'b' and is evaluated twice. The issue occurs when
  the (a)<(b) condition evaluates such that (b) is selected,
  but the value of (b) changes between evaluations, resulting
  in a possibly larger value than (a).
- Fixes the potential incorrect behavior by storing the result
  of ring_buf_space_get()/ring_buf_size_get() in a variable
  before using it in the MIN macro.

Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
2025-04-26 11:14:44 -04:00
Michael Hope
02f85b253a drivers: clock_control: fix the CH32V00x clock definitions
Some time during the initial review, the CH32V003 clock definitions
were exended to include clocks from the CH32V20x and CH32V30x series.
As the CH32V20x series now has a separate clocks include, remove the
non-existent clocks.

While there, drop the 'A' prefix to match the register names in the
CH32V00X reference manual.

Also add the USART2 clock that's present in the CH32V00x series.

Signed-off-by: Michael Hope <michaelh@juju.nz>
2025-04-26 10:55:45 +02:00
Vladislav Pejic
5fc5259964 drivers: sensor: adxl362: FIFO mode from DT
Adds support for setting FIFO mode from DT.

Signed-off-by: Vladislav Pejic <vladislav.pejic@orioninc.com>
2025-04-26 10:55:34 +02:00
Declan Snyder
e358713ea4 drivers: Move flexram to misc driver
Flexram is really not a memory controller, and does not belong in memc
namespace or directory. Move it to it's own misc directory and remove
memc_ from the namespace.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2025-04-26 10:55:09 +02:00
Jacob Wienecke
db63e563a9 drivers: memc: memc_nxp_flexram.h: Move to the public includes directory
Moved to: include/zephyr/drivers/misc/flexram/memc_nxp_flexram.h

This change makes it so that the .h file does not need to be pulled in
using the CMakeLists.txt file, and can be included like other public
includes.

Removes drivers/memc/memc_nxp_flexram.h

Add memc_nxp_flexram.h to include/zephyr/drivers/misc/flexram

Modify drivers/memc/memc_nxp_flexram.c to use the new include path.

Modifies the mimxrt1170 magic_addr sample to include the driver using
the new include path.

Modify the soc file: soc/nxp/imxrt/imxrt11xx/soc.c to use the new path.

Add relevant information to migration-guide-4.2.rst.

Signed-off-by: Jacob Wienecke <jacob.wienecke@nxp.com>
Co-authored-by: Declan Snyder <declan.snyder@nxp.com>
2025-04-26 10:55:09 +02:00
Emil Lindqvist
500c67fa18 wifi: fix -Wignored-qualifiers warning
Including wifi.h with -Wignored-qualifiers warning enabled gives
a warning. Fix this warning

Signed-off-by: Emil Lindqvist <emil@lindq.gr>
2025-04-25 18:58:25 +02:00
Hoang Nguyen
02eda248e1 drivers: gpio: Add support for RZ/A2M
Add gpio support for RZ/A2M

Signed-off-by: Hoang Nguyen <hoang.nguyen.jx@bp.renesas.com>
Signed-off-by: Binh Nguyen <binh.nguyen.xw@renesas.com>
2025-04-25 14:05:01 +02:00
Hieu Nguyen
f1b5511a23 drivers: pinctrl: Add initial support for RZ/A2M
Add pinctrl support for RZ/A2M

Signed-off-by: Hieu Nguyen <hieu.nguyen.ym@bp.renesas.com>
Signed-off-by: Binh Nguyen <binh.nguyen.xw@renesas.com>
Signed-off-by: Hoang Nguyen <hoang.nguyen.jx@bp.renesas.com>
2025-04-25 14:05:01 +02:00
Hoang Nguyen
1b8c77e4de drivers: clock control: Initial support for RZ/A2M
Add clock control support for RZ/A2M

Signed-off-by: Hoang Nguyen <hoang.nguyen.jx@bp.renesas.com>
Signed-off-by: Binh Nguyen <binh.nguyen.xw@renesas.com>
2025-04-25 14:05:01 +02:00
Jukka Rissanen
3e09a40de5 net: zperf: Add -w option to delay upload jobs
Use -w option to delay the startup of the upload job.
Then when ready, do "zperf jobs start" to launch all upload
sessions at the same time.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2025-04-25 10:22:33 +01:00