Commit Graph

114318 Commits

Author SHA1 Message Date
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
Jeppe Odgaard
634ba6955c drivers: led: add led_dac
Add LED driver support for DAC based LED drivers.

Signed-off-by: Jeppe Odgaard <jeppe.odgaard@prevas.dk>
2025-04-29 16:47:36 +02:00
Bjarki Arge Andreasen
4bd1de02bb drivers: i2c: nrfx_twi_rtio: support RTIO_OP_AWAIT
Add support for RTIO_OP_AWAIT.

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2025-04-29 16:47:26 +02:00
Bjarki Arge Andreasen
61e838b246 drivers: i2c: nrfx_twim_rtio: support RTIO_OP_AWAIT
Add support for RTIO_OP_AWAIT.

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2025-04-29 16:47:26 +02:00
Bjarki Arge Andreasen
ac1634b585 tests: rtio: rtio_api: add await sqe test case
Add test case for RTIO_OP_AWAIT SQE.

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2025-04-29 16:47:26 +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
Benjamin Cabé
38ad2a5894 doc: shields: nrf7002xx: fix section headers hierarchy
Fixed the headings hierarchy as there were multiple `###` headings when
only one should be used as the document's title.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-04-29 13:01:15 +02:00
Sebastian Głąb
687f4ce244 tests: drivers: audio: dmic_api: Enable coverage calculation
When test is run with enabled coverage, additional RAM is required
to store coverage data.
Digital Microphone test is reserving most of the available RAM
to store audio samples. Thus, test fails to build with coverage
enabled due to RAM overflow.

Decrease size of the audio buffer when coverage is enabled.

Signed-off-by: Sebastian Głąb <sebastian.glab@nordicsemi.no>
2025-04-29 13:01:07 +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
Swift Tian
92fa83fc47 soc: ambiq: add common cache handling for apollo5x soc
The buf_in_nocache function is to be used by various device drivers
to check if buffer is in noncacheable region.
The cacheable DMA buffer shall be put into section .ambiq_dma_buff
due to certain restrictions of the SoC.

Signed-off-by: Swift Tian <swift.tian@ambiq.com>
2025-04-29 13:00:42 +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
bcd15caf65 doc: migration-guide-4.2: Add note about Bluetooth HCI changes
Mention the changes that have happened to the Bluetooth HCI driver
interface regarding packet type encoding.

Signed-off-by: Johan Hedberg <johan.hedberg@silabs.com>
2025-04-29 13:00:33 +02:00
Johan Hedberg
f85d63a6cc Bluetooth: Remove USB H4 mode support
This non-standard feature never had any proper host side implementation
(e.g. it was never upstreamed to BlueZ), and since it comes with notable
maintenance overhead it's fair to just remove it.

Signed-off-by: Johan Hedberg <johan.hedberg@silabs.com>
2025-04-29 13:00:33 +02:00
Johan Hedberg
6a24e6d152 Bluetooth: tests: Update to use new H:4 buffer encoding
Update the Bluetooth tests to assume the new H:4 encoding for data that's
passing between HCI drivers and their users (normally the host stack).

Signed-off-by: Johan Hedberg <johan.hedberg@silabs.com>
2025-04-29 13:00:33 +02:00
Johan Hedberg
6113230ce3 Bluetooth: drivers: Update to use new H:4 buffer encoding
Update all HCI drivers to use the new H:4 encoding for buffers passing
to/from drivers.

One behavioral change that's done in favor of simplicity, is that where
there's previously been switch statements that could return an error for
unsupported packet types now simply pass any received packet unchanged to
lower layers of the controller (or the HCI transport). Handling this is
now the responsibility of the lower layers, however in practice hitting
such scenarios means that there's a mismatch between configured host and
controller features.

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
Henrik Brix Andersen
9baa321b4b boards: others: neorv32: enable PWM controller
Enable the NEORV32 PWM controller in both the MinimalBoot and UP5Kdemo
board variants.

Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
2025-04-29 13:00:17 +02:00
Henrik Brix Andersen
bbfa777e92 tests: boards: neorv32: build_all: enable PWM controller
Enable the NEORV32 PWM controller in the build_all test.

Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
2025-04-29 13:00:17 +02:00
Henrik Brix Andersen
1b203bdb77 dts: riscv: neorv32: add PWM controller devicetree node
Add devicetree node for the NEORV32 PWM controller.

Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
2025-04-29 13:00:17 +02:00
Henrik Brix Andersen
d8780274b5 drivers: pwm: add driver for the NEORV32 PWM controller
Add driver for the NEORV32 PWM controller.

Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
2025-04-29 13:00:17 +02:00
Henrik Brix Andersen
87e38afff0 dts: bindings: pwm: add binding for the NEORV32 PWM controller
Add devicetree binding for the NEORV32 PWM controller.

Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
2025-04-29 13:00:17 +02:00
Henrik Brix Andersen
02af629ff9 soc: neorv32: bump supported version to v1.11.3
Bump the supported NEORV32 SoC version to v1.11.3 (needed for Zephyr PWM
support).

Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
2025-04-29 13:00:17 +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
Declan Snyder
7962eaeca6 dts: Move vendor-specific dtsi to dedicated folder
Move all the vendor-specific dtsi files that were in dts/common to a
new folder under dts/ designated for vendor-specific files,
since they are not common at all, except for one vendor.

Change MAINTAINERS.yml to reflect the moving of the files.

Update migration guide for this change.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2025-04-29 13:00:03 +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
The Nguyen
6126aa1d5c drivers: udc: renesas: enable high-speed USB support
Select UDC_DRIVER_HAS_HIGH_SPEED_SUPPORT to enable high speed
Renesas RA UDC device

Signed-off-by: The Nguyen <the.nguyen.yf@renesas.com>
2025-04-29 08:17:38 +01:00
Lyle Zhu
597d76ce7d Bluetooth: Classic: HFP_HF: Fix out of bounds issue
Check whether the conn index is out of bounds.

CID 520290

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2025-04-29 08:17:28 +01:00
Lyle Zhu
be11f6fb0b Bluetooth: Classic: HFP_AG: Fix out of bounds issue
Check whether the conn index is out of bounds.

CID 520297
CID 520296

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2025-04-29 08:17:28 +01:00
Tom Chang
eeb3a55118 dts: arm: npcx: add device node for ram lock
This commit adds a RAM lock node for both NPCX9 and NPCX4. Then, the
user can use this node to configure the RAM lock settings.

Signed-off-by: Tom Chang <CHChang19@nuvoton.com>
2025-04-29 08:17:17 +01:00
Lyle Zhu
a1dce20e04 Bluetooth: Classic: L2CAP: Make TxWindow size on both sides the same
In retransmission mode and flow control mode, the TxWindow size should
be same on both sides.

When one side is updated, also update the other side.

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2025-04-29 08:17:06 +01:00
Jilay Pandya
a371f0c516 drivers: stepper: tmc_spi: remove print_status_byte
print_status_byte is specific to tmc50xx and hence shoud not
be placeed in common tmc_spi.c which is supposed to be reused
by a variety of drivers

Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
2025-04-29 08:16:57 +01:00
Abhinav Kulkarni
bbeb01d325 boards: nxp: mimxrt1060_evk: Added support for IW612 and IW416 SoCs
- Added separate overlay conf files for wifi IW416 and IW612 SoCs.
- Added overlay debug conf file for nxp wifi needed to enable debug logs.
- Added additional configurations for module's region selection.

Signed-off-by: Abhinav Kulkarni <abhinav.kulkarni@nxp.com>
2025-04-29 08:16:46 +01:00
Emil Gydesen
4d848ebdb1 tests: Bluetooth: Tester: Fix synced typos
Fixed typos syned -> synced and syced -> synced.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2025-04-29 02:42:32 +02:00
Derek Snell
faceffbb97 samples: drivers: uart: async_api: exclude some platforms with LPUART
NXP platforms with the LPUART require DMA for the async feature.
Exclude platforms without DMA.  Also exclude platforms with DCACHE
since this sample does not place the UART buffers in non-cacheable
memory.

Signed-off-by: Derek Snell <derek.snell@nxp.com>
2025-04-29 02:42:19 +02: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
Robert Hancock
3385861753 soc: xlnx: zynqmp: Add sys_arch_reboot implementation
This platform was previously using a default sys_arch_reboot
implementation which did nothing. Add an implementation which uses the
CRL_APB_RESET_CTRL register to initiate a soft reset (SRST) of the
device.

Signed-off-by: Robert Hancock <robert.hancock@calian.com>
2025-04-29 02:42:00 +02:00
Benjamin Cabé
6e27d38a4d doc: _scripts: simplify vendor determination in board catalog generation
Use the board's vendor from board.yml as the source of truth.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-04-29 02:41:53 +02:00
Benjamin Cabé
e60711aa0a boards: align vendor entry in board.yml files
Added missing "vendor" entries and fixed incorrect ones for
multiple boards.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-04-29 02:41:53 +02:00
Benjamin Cabé
01a0c24e17 dts: vendor-prefixes: change description for zephyr entry
Use a better "vendor" name for "zephyr"

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-04-29 02:41:53 +02:00
Nirav Agrawal
bef5abd293 boards: shields: add nxp_m2_wifi_bt shield
- Added new shield to add support for WIFI and BT interface.
- Added board overlay for MIMXRT1060EVKC.
- Removed mimxrt1062 overlay from shell example to avoid conflicts.
- Added seperate shield overlay for supported M.2 module to enable
 BT or WIFI or Both.
- Added default kconfigs for each BT and WIFI which enables supported
 modules and SoC as part of enabled shield through build param.
- Added shield document.

Signed-off-by: Nirav Agrawal <nirav.agrawal@nxp.com>
2025-04-28 12:57:54 -05:00
Nirav Agrawal
49e96fb885 drivers: bluetooth: hci: add IW416 BT Controller Support
Added IW416 SoC support to enable Bluetooth HCI driver perform
firmware load, and works with blueooth HCI interface.

Removed cmake file from bt_controller/, added support in hal_nxp
module to fetch firmware blobs for iW416/nw612 BT Only FW.

Signed-off-by: Nirav Agrawal <nirav.agrawal@nxp.com>
2025-04-28 12:57:54 -05:00
Nirav Agrawal
4509d14fb5 west: update dependent hal_nxp PR
- Current PR is dependent on nxp_hal PR, so updating
  manifest.

Signed-off-by: Nirav Agrawal <nirav.agrawal@nxp.com>
2025-04-28 12:57:54 -05:00
Paul Alvin
87b664e3a2 tests: subsys: sd: Add board overlays to support testcase
Add SD/EMMC overlay files to support testcases for Versal NET. This
overlays are used to select the device to be tested.

Signed-off-by: Paul Alvin <alvin.paulp@amd.com>
2025-04-28 12:56:50 -05:00
Paul Alvin
ec23317813 tests: sd: mmc: Add filter for sdhc0 alias
Test expect sdhc0 alias to be defined.

Signed-off-by: Paul Alvin <alvin.paulp@amd.com>
2025-04-28 12:56:50 -05:00
Paul Alvin
d85aff2575 boards: amd: Enable SDHC DT nodes
Enable both sdhci0 and sdhci1 DT node. IP is tested on HW for Versal
NET.

Signed-off-by: Paul Alvin <alvin.paulp@amd.com>
2025-04-28 12:56:50 -05:00
Paul Alvin
bf7e5687c2 dts: Add device tree support for SDHC
Add sdhci0(SD) and sdhci1(EMMC) bus node with disk support to DT for
Versal NET.

Signed-off-by: Paul Alvin <alvin.paulp@amd.com>
2025-04-28 12:56:50 -05:00
Paul Alvin
327c78ec0a drivers: sdhc: Add driver support for xlnx SDHC
Add driver support for xlnx SD/EMMC host controller. The driver
currently support SD host controller version 3.0 and EMMC host
controller version 5.1. This driver functions with the SDHC subsystem to
perform operations on device.

Driver support both interrupt and polled mode data transfer. Uses ADMA2
to perform data transfer.

Signed-off-by: Paul Alvin <alvin.paulp@amd.com>
2025-04-28 12:56:50 -05:00
Robin-Charles Guihéneuf
e1c5e3a44d shields: ssd1306: Disable LVGL software screen inversion
On this screen the inversion is managed by hardware.

Signed-off-by: Robin-Charles Guihéneuf <robin-charles@hotmail.fr>
2025-04-28 12:55:51 -05:00