Commit graph

11,885 commits

Author SHA1 Message Date
Bjarki Arge Andreasen
ffe1f407d9 dts: nordic: nrf54h20: add missing ranges to global_peripherals
Add missing ranges to global_peripherals to explicitly translate
child addresses of global_peripherals in ram (0x2f000000).

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2025-07-28 08:47:28 -04:00
Matthias Alleman
947189f70a drivers: input: add chsc5x driver
Add support for the chsc5x touch controller.

Signed-off-by: Matthias Alleman <matthias.alleman@basalte.be>
2025-07-28 08:34:35 -04:00
Hanan Arshad
5d36e85b99 drivers: flash: rpi_pico: add support for rp2350 flash controller
The Raspberry Pi Pico 2 uses a QMI flash controller, which differs from the
SSI controller used in the original Pico. Zephyr already has support for
the SSI controller, but lacked support for QMI.

This change adds the QMI flash controller implementation in the
flash_rpi_pico.c driver file. Additionally, the RP2350 SoC devicetree file
(rp2350.dtsi) has been updated to enable and describe the flash controller
for Pico 2.

Signed-off-by: Hanan Arshad <hananarshad619@gmail.com>
2025-07-27 20:11:20 -04:00
Luis Ubieda
e7395a90f6 bmp581: stream: Add FIFO Watermark support
Configurable through dts property: fifo-watermark.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-07-25 23:33:47 +02:00
Luis Ubieda
216fc8f5de sensor: icm4268x: Add support for ICM42686 variant
Now this driver supports both ICM42688 and ICM42686.
Tested with read-decode as well as streaming mode.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-07-25 23:28:47 +02:00
Luis Ubieda
8db851ff57 general: icm4268x: Refactor ICM42688 driver to ICM4268X
As a first step to enable the similar variants (e.g: ICM42686),
refactor common functionality into icm4268x files. As a result,
applications using the icm42688 will need to have both compatible
properties: "invensense,icm42688" and "invensense,icm4268x" defined.
In-tree boards have been modified to comply with this pattern.

This patch does not contain functional changes. The driver should
work the same as before.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-07-25 23:28:47 +02:00
Michał Stasiak
dd8a8697e2 drivers: spi: nrfx_spi(m/s): enable cross domain pins for nRF54L15
SPI(M/S)20 and SPIM(M/S)21 instances enable usage of pins on different
port, but require request for constant latency mode. Added
handling of such scenario in the driver. Added testcase
to cover it.

Signed-off-by: Michał Stasiak <michal.stasiak@nordicsemi.no>
2025-07-25 17:03:11 +01:00
Michał Stasiak
e8dd83b43d drivers: serial: nrfx_uarte: enable cross domain pins for nRF54L15
UARTE20 and UARTE21 instances enable usage of pins on different
port, but require request for constant latency mode. Added
handling of such scenario in the driver. Added testcase
to cover it.

Signed-off-by: Michał Stasiak <michal.stasiak@nordicsemi.no>
2025-07-25 17:03:11 +01:00
Thomas Stranger
c14a756cc0 dts: arm: st: c0: stm32c091 set exti lines to 32
The line does not have usb, and therefore no exti
line at 36.

Signed-off-by: Thomas Stranger <thomas.stranger@outlook.com>
2025-07-25 16:56:21 +01:00
Alexander Kozhinov
f336cd4f65 dts: arm: st: update exti
update exti num-lines to depict total number of lines
add clocks entry to exti nodes of certain series

Signed-off-by: Alexander Kozhinov <ak.alexander.kozhinov@gmail.com>
2025-07-25 08:18:48 -04:00
Alexander Kozhinov
5eb84df502 dts: bindings: interrupt_controller: introduce num-gpio-lines
add num-gpio-lines with default value of 16 to
st,stm32-exti.yaml

Co-authored-by: Mathieu CHOPLAIN <mathieu.choplain@st.com>
Signed-off-by: Alexander Kozhinov <ak.alexander.kozhinov@gmail.com>
2025-07-25 08:18:48 -04:00
Aziz Sellami
956baf9835 dts: nxp: imx95-ca55: add dts for SoC 15x15 variant
As i.MX 95 19x19 and i.MX 95 15x15 have different pinmux definitions,
keep common part in nxp_mimx95_a55.dtsi, and define separate dts file
for each variants. These include the common part and their respective
pinmux definitions.

Signed-off-by: Aziz Sellami <aziz.sellami@nxp.com>
2025-07-25 08:18:19 -04:00
Ioannis Karachalios
1278fd0c0f drivers: gpio: smartbond: Fix PDC GPIO port selection
The GPIO block instance is based on the instance number during the
device driver initialization. This is not correct as instance numbers
in now way reflect any numbering scheme. Therefore, a DTS property
is introduced so that the block instance numbering is indicated
explicitly.

Signed-off-by: Ioannis Karachalios <ioannis.karachalios.px@renesas.com>
2025-07-25 08:17:51 -04:00
Thomas Stranger
17ade56ed9 dts: arm: st: stm32c0: add counter nodes to all timers
Add the counter nodes (compat st,stm32-counter)
to all timers of the STM32C0 series.

Signed-off-by: Thomas Stranger <thomas.stranger@outlook.com>
2025-07-25 08:14:53 -04:00
Thomas Stranger
3e5bb62bbb dts: arm: st: stm32c0: add stm32c09x support
Add dts support for the STM32C091 and STM32C092 SoCs,
that are part of the STM32C0 series.

Signed-off-by: Thomas Stranger <thomas.stranger@outlook.com>
2025-07-25 08:14:53 -04:00
Bastien Beauchamp
46ad33a13d dts: arm: silabs: fix interrupt level for acmp0 on xg21
Fix interrupt level for acmp0 in the dts for xg21 device.
Only radio interrupts are critical and should have priority 0.

Signed-off-by: Bastien Beauchamp <bastien.beauchamp@silabs.com>
2025-07-25 08:12:16 -04:00
Bastien Beauchamp
1ec2bd3d22 dts: arm: silabs: instantiate acmp1 nodes for xg2x parts
Add the missing node for acmp1 in the dts for xg21, xg23 and xg23 devices.

Signed-off-by: Bastien Beauchamp <bastien.beauchamp@silabs.com>
2025-07-25 08:12:16 -04:00
Alden Haase
c7b17e7cac sensor: icm45686: Fix icm45686-xxx example node
The icm45686-xxx example nodes have incorrect node labels.
The current node labels are for the icm42688.

Signed-off-by: Alden Haase <aldenhaase@gmail.com>
2025-07-25 08:11:28 -04:00
Jérôme Pouiller
6d95573df8 boards: silabs: siwx91x: Expose real layout of the flash
The Network Coprocessor on SiWx91x owns a large part of the flash. Zephyr
is not expected to access to theses areas.

However, it is still technically possible to access these. In addition, we
prefer the DTS contains a comprehensive and transparent description of the
hardware. So update the DTS with the real partitioning of the SoC.

Reference documentation is available here[1].

[1]: https://www.silabs.com/documents/public/application-notes/
     an1416-siwx917-soc-memory-map.pdf

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
2025-07-25 08:11:11 -04:00
Andreas Schmidt
528ab9d9c2 dts: arm: st: u5: fix wkup-pin@8 referencing non-existent port gpiof
With commit d280d89 the gpiof port got moved from file stm32u5.dtsi to
file stm32u5_extra.dtsi. stm32u5_extra.dtsi is not included for
STM32U535/545. In same file stm32u5.dtsi still node wkup-pin@8 references
non-existent port gpiof.

Fixes #93445

Signed-off-by: Andreas Schmidt <andreas.schmidt@dormakaba.com>
2025-07-25 07:46:57 -04:00
Sebastian Głąb
878ddbe2f6 boards: nordic: nrf54l20pdk: Remove obsolete board
Board nrf54l20pdk was renamed to nrf54lm20dk.
Remove obsolete board definition.

Signed-off-by: Sebastian Głąb <sebastian.glab@nordicsemi.no>
2025-07-24 17:00:33 +01:00
Raffael Rostagno
83f0e228bb dts: spi: esp32: Remove unused property
Remove unused DMA clock property from device tree. Clock will
be managed by DMA driver for devices with GDMA peripheral.

Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
2025-07-24 16:58:48 +01:00
Jonathan Nilsen
b43ae17fdd dts: nordic: update UICR definition on nrf54h20
With IronSide SE there is only one defined UICR which is at
the location of the APPLICATION UICR. Update the devicetree
definition accordingly, and use the "nordic,nrf-uicr" compatible
on the node since the domain distinction added by the v2 compatible
is no longer relevant.

Signed-off-by: Jonathan Nilsen <jonathan.nilsen@nordicsemi.no>
2025-07-24 16:57:45 +01:00
Jonathan Nilsen
38e60025b0 boards: nordic: nrf54h20dk: refactor RAM memory map
Refactor the default RAM memory map on nrf54h20dk:

Removes use of "nordic,owned-memory" which is no longer needed on
nrf54h20. Reserved memory nodes that were under "nordic,owned-memory"
have been moved directly under reserved-memory.

The memory shared between cpuapp-cpusec and cpurad-cpusec in RAM0x
is no longer used with IronSide, since IPC buffers toward the secure
domain are at new fixed locations. The cpuapp_data region
has been expanded to fill the available space in RAM0x when removing
these shared memory regions.

Signed-off-by: Jonathan Nilsen <jonathan.nilsen@nordicsemi.no>
2025-07-24 16:57:45 +01:00
Grzegorz Swiderski
b4c18e8999 boards: nrf54h20dk: Merge iron variants into the base variants
This replaces the legacy SDFW compatible board configuration with the
IronSide SE compatible one, thus removing support for running samples
and tests on nRF54H20 devices with the old firmware.

All applications are expected to work on `nrf54h20dk/nrf54h20/cpuapp`
out of the box. For other board targets, all applications are expected
to boot, but may require additional peripheral configuration in UICR.
Build system support for the new UICR format is to be added separately.

Co-authored-by: Jonathan Nilsen <jonathan.nilsen@nordicsemi.no>
Signed-off-by: Jonathan Nilsen <jonathan.nilsen@nordicsemi.no>
Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
2025-07-24 16:57:45 +01:00
Fin Maaß
edaafb5dd1 drivers: ethernet: phy: microchip_vsc8541: use default speeds
use default speeds dt prop

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2025-07-24 16:57:04 +01:00
Fin Maaß
365297fabb drivers: ethernet: phy: dp83867: use default speeds
use default speeds from dt to configure phy on init.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2025-07-24 16:57:04 +01:00
Fin Maaß
46599fe34e drivers: ethernet: phy: dp83825: use default speeds
use default speeds from dt to configure phy on init.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2025-07-24 16:57:04 +01:00
Fin Maaß
156d0479cf drivers: ethernet: phy: rtl8211f: use default speeds
use default speeds from dt to configure phy on init.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2025-07-24 16:57:04 +01:00
Fin Maaß
db6b1782c2 drivers: ethernet: phy: ar8031: use default speeds
use default speeds from dt to configure phy on init.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2025-07-24 16:57:04 +01:00
Fin Maaß
d8711bba5a drivers: ethernet: phy: ksz8081: use default speeds
use default speeds from dt to configure phy on init.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2025-07-24 16:57:04 +01:00
Fin Maaß
139bf24353 drivers: ethernet: phy: dts: split ethernet-phy.yaml
split ethernet-phy.yaml, so that parts, that are used
by other phys are separated.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2025-07-24 16:57:04 +01:00
Fin Maaß
038583104c dts: bindings: ethernet: move adi,adin*11*.yaml
move adi,adin1110.yaml adi,adin2111.yaml
from the phy subdir back into the ethernet dir.
They are ethernet controller bindings, not phy bindings.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2025-07-24 16:57:04 +01:00
Zhaoxiang Jin
f6c65a0248 dts: arm: nxp: Support ACMP on nxp_rt7xx
Supported ACMP on nxp_rt7xx cm33_cpu0 and cm33_cpu1

Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
2025-07-24 16:56:55 +01:00
Peter van der Perk
7fbf146af2 drivers: eth: phy: tja1103: Remove ISR thread and add auto mode.
Re-use the workqueue instead of having dedicated thread for handling
interrupts. This reduces memory usage and complexity.

Furthermore adds an auto mode for 100BASE-T1 negotiation.

Signed-off-by: Peter van der Perk <peter.vanderperk@nxp.com>
2025-07-23 17:31:55 +01:00
Arnaud Pouliquen
3ffd7419a0 dts: arm: st: stm32mp2_m33.dtsi: add HSE and HSI fixed clock
Add declarations for High-Speed External (HSE) and High-Speed Internal
(HSI) clocks.
These clocks, based on oscillators, can be used to generate the system
clocks.

Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@foss.st.com>
2025-07-23 17:31:08 +01:00
Sadik Ozer
6819377014 dts: arm: adi: Add RTC device node
Add MAX32657 RTC device node

Signed-off-by: Sadik Ozer <sadik.ozer@analog.com>
2025-07-23 17:29:34 +01:00
Mert Vatansever
25ebec2b63 dts: bindings: rtc: Add clock source to rtc for MAX32xxx
This commit adds clock source to rtc properties for MAX32xxx.

Signed-off-by: Mert Vatansever <mert.vatansever@analog.com>
2025-07-23 17:29:34 +01:00
Tomáš Juřena
a7a9570a95 dts: arm: st: c0: Add clk-hsi48 for stm32c071 SOC
Allow to use internal HSI to clock the USB bus if HSE is not available.

Signed-off-by: Tomáš Juřena <jurenatomas@gmail.com>
2025-07-23 17:27:24 +01:00
Vijayakannan Ayyathurai
0b91c7f23e dts: x86: Add i226 device-tree config for Intel Alderlake
Foxville LM (0x125B) i226 variant and Intel Alder Lake platform was
used for developing and stabilizing the i226 Ethernet device driver.
However, users can reuse the provided device tree models as a reference
when enabling the support for other i226 variants and platforms.

This device-tree model include essential configurations for the i226
Ethernet controller, such as PCIe settings, interrupt mappings, Phy
MDIO, and DMA descriptor configurations.

Signed-off-by: Vijayakannan Ayyathurai <vijayakannan.ayyathurai@intel.com>
2025-07-23 17:17:24 +01:00
Vijayakannan Ayyathurai
8a32bd7cd0 drivers: ethernet: intel: Add i226 Ethernet MAC device driver
The Intel i226 Ethernet Controller is a PCIe Gen 2 one-lane modular
endpoint device that integrates a GbE Media Access Control (MAC) and
Physical Layer (PHY) port. This driver provides support for MAC and
DMA-specific initialization and runtime TX/RX operations.

Key features:
- MSI-X interrupts for TX/RX DMA channels.
- Multiple TX/RX DMA channel support with exclusive bottom-half.
- Implements a circular descriptor ring architechture with
  producer-consumer semantics for high performance pkt processing.
- Full duplex support for 10/100/1000 Mbps.
- Half duplex support for 10/100 Mbps.
- Auto-negotiation for 10/100/1000 Mbps.
- MTU customization for flexible packet sizes.
- MAC address filtering based on:
  - Random MAC generation.
  - Local-mac-address mentioned in device tree.
  - EEPROM pre-programmed mac address.
  - Setting mac address via net shell.
- Support for multiple Ethernet interface instances.

Signed-off-by: Vijayakannan Ayyathurai <vijayakannan.ayyathurai@intel.com>
Signed-off-by: Ling Pei Lee <pei.lee.ling@intel.com>
2025-07-23 17:17:24 +01:00
Vijayakannan Ayyathurai
c62b3d9637 drivers: mdio: Add Intel i226 MDIO driver support
Intel i226 MAC supports MDIO C22 and MDIO C45. Standard PHY registers
are accessible through MDIO C22, whereas PMAPMD and PCS are accssible
through MDIO C45.

Signed-off-by: Vijayakannan Ayyathurai <vijayakannan.ayyathurai@intel.com>
2025-07-23 17:17:24 +01:00
Vijayakannan Ayyathurai
affecd1839 drivers: ethernet: Add platform driver for MMIO mapping reuse
The Ethernet device model consists of multiple subsystem components, such
as MDIO, PHY, MAC and PTP_CLOCK. These components are mapped into a single
PCIe BAR location with same base address.

This platform driver retrieves the MMIO mapping details and provides a
framework to share it with all the child subsystem components. This
approach avoid the duplicate remapping, ensures efficient re-use of
MMIO mappings across related devices.

Example device tree structure for first ethernet instance:

parent0: parent0 {
        compatible = "intel,eth-plat";
        interrupt-parent = <&intc>;
        vendor-id  = <0x8086>;
        device-id  = <0xXXXX>;

        igc0: igc0 {
                compatible = "intel,igc-mac";

                /*
                 * MAC specific properties.
                 */

                status = "okay";
        };

        mdio0: mdio0 {
                compatible = "intel,igc-mdio";
                #address-cells = <1>;
                #size-cells = <0>;

                ethphy0: ethernet-phy@0 {
                        compatible = "ethernet-phy";
                        /*
                         * PHY specific properties.
                         */
                        reg = <0x0>;
                };
        };
};

This framework is modular and re-usable for other PCIe based Ethernet
devices. It can also be extended to support additional platform specific
information shared across child nodes.

Signed-off-by: Vijayakannan Ayyathurai <vijayakannan.ayyathurai@intel.com>
2025-07-23 17:17:24 +01:00
Biwen Li
47b07e5a09 tests: drivers: pwm: add overlay file for imx943_evk m33
Add overlay file for imx943_evk m33 to use flexio as pwm

Signed-off-by: Biwen Li <biwen.li@nxp.com>
2025-07-23 09:40:15 +02:00
Thomas Stranger
b8bfa36250 dts: arm: st: stm32h5: fix flash erase timing
According to the datasheet the flash erase timing is
typically 2ms, and max 10ms.

H503: DS14053 Rev 4: section 5.3.10, table 45, t_erase_max=10ms
H562/H563: DS14258 Rev 6: section 5.3.11, table 51, t_erase_max=10ms

Signed-off-by: Thomas Stranger <thomas.stranger@outlook.com>
2025-07-23 09:34:46 +02:00
Ayush Singh
fcc8f8c01b dts: arm: ti: Add MAIN domain UARTS
M4F can use uarts from main domain of AM62. However, interrupts are not
supported.

The common main peripheral dts is kept in dts/venodor/ti to allow
sharing between arm targets (m4, r5) and arm64 targets (a53).

Signed-off-by: Ayush Singh <ayush@beagleboard.org>
2025-07-23 09:30:44 +02:00
Dawid Niedzwiecki
6d5cdbb13e drivers: flash: add andes qspi xip flash driver
Add a flash driver that is used to perform flash operations on a flash
chip that is connected to an Andes QSPI controller and is used for XIP
mode.

The driver is as small as possible, because necessary code has to be
placed in RAM. It is not possible to fetch code from flash while
performing erase/write operations.

Signed-off-by: Dawid Niedzwiecki <dawidn@google.com>
2025-07-23 09:30:33 +02:00
Lucien Zhao
bc627062a4 dts: arm: nxp: add usdhc instances for rt700 cm33_cpu0
add usdhc instances for rt700 cm33_cpu0

Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
2025-07-22 19:38:29 -04:00
Oleh Kravchenko
585cda1360 soc: stm32l1x: Add support for sleep/stop/standby modes
Add stm32l1_disco and nucleo_l152re overlays for testing
sleep/stop/standby modes:
- samples/boards/st/power_mgmt/blinky;
- samples/boards/st/power_mgmt/wkup_pins;

I've measured consumption for each low-power mode:
- low-power sleep ~1.72mA;
- stop mode ~324uA;
- standby mode ~2.2 uA;

It's possible to use RTC as idle timer to exit from stop mode.

Signed-off-by: Oleh Kravchenko <oleg@kaa.org.ua>
2025-07-22 19:38:19 -04:00
Sabrina Simkhovich
b591d141a2 drivers: sensor: mb7040: add support for MB7040 ultrasonic sensor
This commit adds a new driver for the MaxBotix MB7040 ultrasonic
rangefinder. The driver uses I2C communication to read range data
from the sensor and exposes it via the Zephyr sensor API.

Tested on an esp32-s3 board using I2C bus. Verified readings at multiple
distances to confirm accuracy.

Signed-off-by: Sabrina Simkhovich <sabrinasimkhovich@gmail.com>
2025-07-22 19:37:18 -04:00