Commit graph

126,787 commits

Author SHA1 Message Date
Jordan Yates
1556596def cmake: unittest: add -t run support
Add support to run unit tests directly from `west build`, for
environments where `west build -t run-test` (which runs the binary under
valgrind) is inappropriate or unavailable (WSL).

`west build -t run` also has the muscle-memory advantage of being the
same target name as the `native_sim` boards.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-01-15 01:39:24 +01:00
Haiyue Wang
03eb4791a4 drivers: spi: stm32: correct the operation flag type
The commit 2c3165d187 ("drivers: spi: add opaque type to encode SPI
operation flags") introduces new type for operation flag, since it is
16/32-bit depending on CONFIG_SPI_EXTENDED_MODES.

Use the new type for safe, if the function 'spi_stm32_shift_frames' may
use extended operation flag later.

Signed-off-by: Haiyue Wang <haiyuewa@163.com>
2025-01-15 01:38:39 +01:00
Jilay Pandya
f1d4d5323c docs: migration guide: 4.1: renamed sdhc device tree properties
add migration guide entry after renaming device tree properties

Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
2025-01-15 01:37:45 +01:00
Jilay Pandya
ef8cb37cd2 dts: bindings: sdhc: replace underscore with hyphen
Adhering to device tree spec, underscore is replaced with hyphen

Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
2025-01-15 01:37:45 +01:00
Jordan Yates
30e0d3bb14 disk: sdmmc: runtime structure initialisation
Move all initialisation of the data struct to the init function to avoid
creating the very large `struct sd_card` in `.bss`.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-01-15 01:37:32 +01:00
Andriy Gelman
9eb036cccd tests: drivers: dma: Add xmc4x_relax_kit overlays to loop_transfer test
Adds overlays for xmc45_relax_kit and xmc47_relax_kit boards.

Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com>
2025-01-15 01:36:59 +01:00
Andriy Gelman
f5bf7df50c drivers: dma_xmc4xxx: Support calling dma_stop() after dma_config()
In the dma loop_transfer test (test_loop_repeated_start_stop()), the
order of calls is dma_config() -> dma_stop() -> dma_start().  This
currently does not work on xmc4xxx because after calling dma_stop(), the
dma would be in a suspended state. Fix this by leaving the suspended state
before exiting dma_stop().

Also don't clear the context (dma_channel->dlr_line and dma_channel->cb)
that was setup by dma_config().

Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com>
2025-01-15 01:36:59 +01:00
Andriy Gelman
9c4cd3057d drivers: dma_xmc4xxx: Use DAR instead of CTL.BLOCK_TS to set pending_length
When quering the DMA status we need to return the number of pending bytes
left in the transfer. Currently this is inferred by calling
XMC_DMA_CH_GetTransferredData(). However, this function actually returns
the number of items read from the source peripheral (via CTL.BLOCK_TS).
It doesn't guarantee that the last item was fully transferred to the
destination.

When using the ADDR_ADJ_INCREMENT/DECREMENT options it is better to use
DAR register to infer the number of transferred bytes. This points to the
memory address where the next data will be written. It only increments
after the ongoing transfer from source to destination is completed.

Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com>
2025-01-15 01:36:59 +01:00
Tom Burdick
00ab7a9591 MAINTAINERS.yml: Add libmctp module maintainership
Adds myself, nashif, and inteljiangwe1 to the maintainers file covering
the libmctp module.

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2025-01-14 22:55:41 +01:00
Tom Burdick
be4a3d91e1 samples: Add mctp host and client samples
Samples work by sending MCTP encoded messages over a uart between two
boards.

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2025-01-14 22:55:41 +01:00
Tom Burdick
4148512567 mctp: Add mctp subsystem with uart binding
libmctp provides interfaces for wiring up a MCTP bus it calls bus
bindings. The bindings provided in libmctp however are not directly
useful to Zephyr without some work. Provide an initial uart binding that
directly uses Zephyr's async uart interface.

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2025-01-14 22:55:41 +01:00
Tom Burdick
bb22e3e625 modules: Add libmctp as a module
Adds libmctp as a west module dependency

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2025-01-14 22:55:41 +01:00
Patrick Günzel
2a999e14e8 sensors: reconfig adc for channel
Some ADCs (e.g. SAM0) can only convert one channel at a time
    and therefore need to be reconfigured for every voltage
    divider prior to startin the conversion

Signed-off-by: Patrick Günzel <patrick.guenzel@kinexon.com>
2025-01-14 22:55:07 +01:00
Henrik Brix Andersen
c46247b550 dts: arm: atmel: samx7x: move SAM E70/V71 DMA header to dt-bindings
Move the Atmel SAM E70/V71 DMA PERIDs header file to
include/zephyr/dt-bindings/dma and unify it for use with the entire product
family (SAM E70/S70/V70/V71).

Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
2025-01-14 22:54:33 +01:00
Henrik Brix Andersen
b76d592966 dts: arm: atmel: samx7x: synchronize SAM E70/V71 DMA PERIDs
Synchronize the Atmel SAM E70/V71 DMA Peripheral Hardware Requests HW
Interface Numbers and adjust them to match those listed in the SAM
E70/S70/V70/V71 datasheet.

Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
2025-01-14 22:54:33 +01:00
Daniel DeGrasse
986a170a39 scripts: west_commands: runners: fix support for JLink RTT
JLink refuses new RTT telnet connections for a few moments after a socket
closes. This causes an issue when using `nc` as the telnet viewer, since
JLink would deny the connection. To resolve this, keep the "ping" socket
we use to determine if the RTT viewer is active connected, and use that
socket for RTT communication.

Signed-off-by: Daniel DeGrasse <ddegrasse@tenstorrent.com>
2025-01-14 22:54:21 +01:00
Maochen Wang
7d896522f0 manifest: update hal_nxp to fetch wifi driver
update hal_nxp to fetch wifi driver to v1.3.r50.z_up.p6

Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
2025-01-14 22:54:09 +01:00
Cyril Fougeray
89594e3ada apa102: fix end frame
end frame is used to supply clock pulses so that data goes to last
LED in the chain. Thus, it depends on the number of LEDs in the chain.
Previously, the number of ones sent into the end frame was
hard-coded and limited the usage of the driver to 64 LEDs in the
strip.

Signed-off-by: Cyril Fougeray <cyril.fougeray@toolsforhumanity.com>
2025-01-14 20:52:08 +01:00
Henrik Brix Andersen
fd5b97690d drivers: pwm: sam: move SAM V71 register fixup from SoC to PWM driver
Move the SAM V71 register name fixup from the SoC code into the PWM driver
next to the other PWM driver fixup.

Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
2025-01-14 20:50:20 +01:00
Henrik Brix Andersen
6d6441db3b dts: arm: atmel: samx7x.dtsi: sort devicetree nodes according to address
Sort the Atmel SAMx7x periheral devicetree nodes according to their address
in the memory map.

Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
2025-01-14 20:49:45 +01:00
Mathieu Choplain
5b31aca5e2 boards: st: nucleo_wb07cc: add PWM support and LED
Add the PWM LED to Nucleo-WB07CC board and mark as compatible with PWM.
Also mark counters as supported (but don't enable by default).

Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
2025-01-14 20:49:30 +01:00
Mathieu Choplain
784629b815 boards: st: nucleo_wb05kz: add PWM support and LED
Add the PWM LED to Nucleo-WB05KZ board and mark as compatible with PWM.
Also mark counters as supported (but don't enable by default).

Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
2025-01-14 20:49:30 +01:00
Mathieu Choplain
ba212fdca6 boards: st: nucleo_wb09ke: add PWM support and LED
Add the PWM LED to Nucleo-WB09KE board and mark as compatible with PWM.
Also mark counters as supported (but don't enable by default).

Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
2025-01-14 20:49:30 +01:00
Mathieu Choplain
fc61e64a3a drivers: counter: stm32: add support for STM32WB0
This commit adds support for the STM32WB0 series to
the existing STM32 timer-based counters driver.

Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
2025-01-14 20:49:30 +01:00
Mathieu Choplain
7e1074631e drivers: pwm: stm32: add support for STM32WB0
This commit adds support for the STM32WB0 series to
the existing STM32 PWM driver.

Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
2025-01-14 20:49:30 +01:00
Mathieu Choplain
be8669107b dts: arm: st: wb0: add timers
Add nodes for all timer peripherals to DTSI of the STM32WB0 series.

Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
2025-01-14 20:49:30 +01:00
Nazar Palamar
415cc17c54 drivers: ifx_cat1: Updates to support latest version of HAL/PDL
- Refactoring to support latest versions of HAL/PDL

Signed-off-by: Nazar Palamar <nazar.palamar@infineon.com>
2025-01-14 20:49:14 +01:00
Nazar Palamar
5d07e2abe2 SOC: infineon/cat1b: Remove cpu_has_fpu from 20829 soc
Remove cpu_has_fpu setting to match actual

Signed-off-by: Nazar Palamar <nazar.palamar@infineon.com>
2025-01-14 20:49:14 +01:00
Nazar Palamar
d2f0cc0897 manifest: update hal_infineon revision
Update infineon assets
- abstraction-rtos  to 1.8.1.41337
- core-lib          to 1.4.2.41337
- mtb-hal-cat1      to 2.6.2.44607
- mtb-pdl-cat1      to 3.12.1.37059
- mtb-template-cat1 to 1.3.0.35366
- serial-flash      to 1.4.2.35289

SHA: 468e955eb49b8a731474ff194ca17b6e6a08c2d9

Signed-off-by: Nazar Palamar <nazar.palamar@infineon.com>
2025-01-14 20:49:14 +01:00
Gerson Fernando Budke
ea7922195b clocks: atmel: sam0: Fix gclk and mclk clock bindings
The Atmel SAM0 SoC enable peripherals clocks in distinct places: PM and
MCLK. The old devices had defined the peripheral clock enable bit at PM.
On the newer devices this was extracted on a dedicated memory section
called Master Clock (MCLK). This change excludes the dedicated bindings
in favor of a generic approach that cover all cases.

Now the clocks properties is complemented by the atmel,assigned-clocks
property. It gives the liberty to user to customize the clock source
from a generic clock or configure the direct connections.

All peripherals drivers were reworked with the newer solution.

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2025-01-14 20:49:03 +01:00
Gerson Fernando Budke
ecd0267508 dts: clock: Add atmel,assigned-clock property
Some platforms require special clock selection options. This could be
made using the already defined assigned-clocks from Linux clocks.

  See 93ee800895/dtschema/schemas/clock/clock.yaml (L24)

This introduces the vendor atmel,assigned-clocks and
atmel,assigned-clock-names properties to generalize those conditions
in Zephyr for Atmel sam0 SoC series.

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2025-01-14 20:49:03 +01:00
Gerson Fernando Budke
ac579a8f89 drivers: sensors: Add SENSOR_CHAN_FREQUENCY channel
Add new SENSOR_CHAN_FREQUENCY constant to allow implement sensors that
output frequency values in Hertz.

Signed-off-by: Gerson Fernando Budke <gerson.budke@ossystems.com.br>
2025-01-14 17:58:41 +01:00
Tom Chang
549def6b10 drivers: espi: npcx: update the handler for accessing the flash
This commit updates the handler of the eSPI TAF request for accessing
two external flashes.

Signed-off-by: Tom Chang <CHChang19@nuvoton.com>
2025-01-14 17:57:50 +01:00
Tom Chang
5c62097bda drivers: flash: npcx: add setting of low flash device
This commit adds functions to select the low flash device and set the
size of the low flash device.

Signed-off-by: Tom Chang <CHChang19@nuvoton.com>
2025-01-14 17:57:50 +01:00
Tom Chang
54a714a61d dts: flash: npcx: add property for SPI device size
This commit adds two properties. One is used to set size of the low
flash device and the other is used to select the low flash device. Then,
the eSPI TAF request can access between two flash devices base on this
setting.

Signed-off-by: Tom Chang <CHChang19@nuvoton.com>
2025-01-14 17:57:50 +01:00
Lorenz Clijnen
31855964f1 drivers: i2c: cc13xx_cc26xx: Add support for I2C_MSG_RESTART
Add support for the I2C_MSG_RESTART flag to be able to use a
repeated start in between chained transactions.
The driver now uses the stop/restart flags set in the i2c_msg,
instead of starting and stopping for each transaction in the chain.

Signed-off-by: Lorenz Clijnen <github@lorc.be>
2025-01-14 17:57:40 +01:00
Neil Chen
0f64fe4cf8 tests: adc: Enable ADC tests for frdm_mcxc444 board
Enable ADC tests for frdm_mcxc444 board.

Signed-off-by: Neil Chen <cheng.chen_1@nxp.com>
2025-01-14 17:57:23 +01:00
Neil Chen
844882af38 samples: adc: Enable ADC samples for frdm_mcxc444 board
Enable ADC samples for frdm_mcxc444 board.

Signed-off-by: Neil Chen <cheng.chen_1@nxp.com>
2025-01-14 17:57:23 +01:00
Neil Chen
eb6b726d9c boards: frdm_mcxc444: Add adc support
Support adc for NXP frdm_mcxc444 board

Signed-off-by: Neil Chen <cheng.chen_1@nxp.com>
2025-01-14 17:57:23 +01:00
Lucien Zhao
5c3efe1e68 samples: userspace: shared_mem: remove mimxrt700_evk cm33 cores
The number of mpu regions that can be configured is less than four cases.
Therefore, only remove this case on cm33 cores, failed log show below:
"num_parts of 4 exceeds maximum allowable partitions (3)"

samples: kernel: mem_protect: userspace: remove mimxrt700_evk cm33 cores

The maximum number of partitions is less than the number of partitions
currently required, causing case to be unable to apply for or delete
excess regions.

Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
2025-01-14 17:56:53 +01:00
Lucien Zhao
8bf58082f0 boards: nxp: add mimxrt700_evk board
add files related to mimxrt700_evk board
add gpio/uart function support on board

Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
2025-01-14 17:56:53 +01:00
Lucien Zhao
87e4db9b86 drivers: gpio: update gpio_mcux.c driver
update gpio driver to adapt rt7xx gpio model:
1. There is no PORT_Type on RT7xx,so set PORT_Type as void
2. Add port_no parameter in gpio_mcux_config to adapt IOPCTL driver
3. Add gpio-port-offest parameter in blinding, it will help map the
   relation between index n and gpio port when some soc have domain
   access attribution.
3. Splite gpio_mcux_configure function into two functions(
   gpio_mcux_iopctl_configure and gpio_mcux_port_configure)
   according to CONFIG_PINCTRL_NXP_IOCON macro
4. Add code to adapt RT700 GPIO attribute configuration

Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
2025-01-14 17:56:53 +01:00
Lucien Zhao
7f64d8f214 drivers: gpio: format gpio_mcux.c
use clang-format to format gpio_mcux file

Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
2025-01-14 17:56:53 +01:00
Lucien Zhao
885c22406b drivers: pinctrl: update pinctrl_lpc_iocon.c driver
Define iocon array to store iocon base address
add index parameter support to support multi iocon instances

Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
2025-01-14 17:56:53 +01:00
Lucien Zhao
47cc069cb9 drivers: clock_control: update mcux_lpc_syscon_clock.c drivers
add more flexcomm instances clock support to adapt
rt700 instances number

add xspi clock support

Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
2025-01-14 17:56:53 +01:00
Lucien Zhao
1aa49ae28f dts: bindings: add the first version binding for nxp,xspi IP
add nxp,xspi-device.yaml
add nxp,xspi-mx25um51345g.yaml
add nxp,xspi.yaml

Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
2025-01-14 17:56:53 +01:00
Lucien Zhao
83fab799e8 dts: arm: nxp: add RT7xx dts files
add RT7xx dts files
add iocon/gpio/flexcomm/clock instances in dts

Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
2025-01-14 17:56:53 +01:00
Lucien Zhao
a6f2a0fa8a soc: nxp: imxrt: imxrt7xx: add rt7xx soc files
add rt7xx files related to soc
support basic clock enablement
add common/Kconfig.xspi_xip file

Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
2025-01-14 17:56:53 +01:00
Lucien Zhao
87579e8c78 manifest: update hal_nxp to newest node on main branch
track rt700 sdk files update node

Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
2025-01-14 17:56:53 +01:00
Luca Burelli
d417bc003a MAINTAINERS: llext: add tests/misc/llext-edk/ to the llext area
The LLEXT Extension Development Kit, mostly implemented in
'cmake/llext-edk.cmake', is already part of the 'llext' area of the
MAINTAINERS file, but its test is currently unowned.

Add the missing directory to the 'llext' area.

Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
2025-01-14 17:56:44 +01:00