Commit graph

9459 commits

Author SHA1 Message Date
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
John Batch
99860e7339 soc: infineon: cyw20829: Adding MPU memory permission to userspace app
Adds additional MPU memory permissions to userspace applications by
default.  This change addresses an MPU fault encountered when running
tests/kernel/common and tests/drivers/adc/adc_api.

This approach opens additional memory locations up to user space access.
This assumes that end users of applications will tune the MPU regions for
the needs of that application.

Signed-off-by: John Batch <john.batch@infineon.com>
2025-07-22 19:35:52 -04:00
Eric Mechin
62c8e85611 Devicetree bindings: st,stm32wb-ble-rf.yaml: fix BD Address error
HCI RESET done in common_init() function in
the zephyr\subsys\bluetooth\host\hci_core.c file erase settings done
before in the zephyr\drivers\bluetooth\hci\ipm_stm32wb.c
in the bt_ipm_setup() function.
HCI RESET can be avoided by set a default "no-reset"
in the zephyr\dts\bindings\bluetooth\st,stm32wb-ble-rf.yaml

Signed-off-by: Eric Mechin <eric.mechin@st.com>
2025-07-22 19:33:26 -04:00
Axel Utech
4664f600d6 dts: arm: st: u0: fix lpuart1/2 interrupts
Interrupt vectors for lpuart1 and lpuart2 are swapped according to the
reference manual RM0503 table 54.
Fixes the usage of the interrupt-driven uart API.

Signed-off-by: Axel Utech <utech@sofiha.de>
2025-07-22 08:16:56 -04:00
Anas Nashif
3776a35e84 Revert "boards: silabs: siwx91x: Expose real layout of the flash"
This reverts commit 53375e95ba.

Some boards are failing with:

OverflowError: can't convert negative int to unsigned

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2025-07-22 09:34:12 +09:00
Jérôme Pouiller
53375e95ba 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-21 13:02:58 -04:00
Travis Lam
f94a45c276 drivers: flash: nordic: Introduce nrf_mramc driver
Add SHIM layer for nrfx_mramc driver for zephyr

Signed-off-by: Travis Lam <travis.lam@nordicsemi.no>
2025-07-21 09:19:45 -04:00
Stoyan Bogdanov
9dad848fe0 dts: arm: ti: cc23x0: Add LGPT PWM support
Add all available PWM channels as subnodes to respected LGPT.

Signed-off-by: Stoyan Bogdanov <sbogdanov@baylibre.com>
2025-07-21 07:26:18 -04:00
Stoyan Bogdanov
ff2328522a drivers: pwm: Add support for cc23x0 LGPT PWM
Add PWM support for LGPT0, LGPT1, LGPT2 and LGPT3 for cc23x0 SoC.

Signed-off-by: Stoyan Bogdanov <sbogdanov@baylibre.com>
2025-07-21 07:26:18 -04:00
Parthiban Nallathambi
de61a9e37f dts: arm: ti/mspm0: add support for L series
mspm0lx series comes with various SoC's which varies in RAM,
Flash size and also with peripherals. Add support for all
the currently available SoC's with basic template.

Signed-off-by: Parthiban Nallathambi <parthiban@linumiz.com>
2025-07-21 07:25:50 -04:00
Saravanan Sekar
7cd96d693e dts: arm: ti: mspm0: Add timer TIMA1 node for pwm capture
Add a support for timer TIMA1 node for pwm capture.

Signed-off-by: Saravanan Sekar <saravanan@linumiz.com>
2025-07-21 07:25:10 -04:00
Saravanan Sekar
e051ec23ca drivers: pwm: Add a support for TI MSPM0 PWM capture
TI MSPM0 timer module has capture block used to capture timings of input
signal. Add a support for TI MSPM0 PWM capture.

Signed-off-by: Saravanan Sekar <saravanan@linumiz.com>
2025-07-21 07:25:10 -04:00
Mark Geiger
edbce504b0 sensor: nrf-qdec: Allow sampleper register configurable through dts
Allow for users to define the sampling period via the sampleper
register on a per instance basis through device-tree properties.
The previous value was hard coded. The same value is now the default
value.

Signed-off-by: Mark Geiger <MarkGeiger@posteo.de>
2025-07-19 15:45:27 -04:00
Yongxu Wang
0d175f3af5 dts: update imx93 m33 tcm address
imx93 m33 System TCM from 0x2001f000 into 0x20020000
will be used in rom, reserved

Signed-off-by: Yongxu Wang <yongxu.wang@nxp.com>
2025-07-19 15:41:20 -04:00
Scott Worley
ef4ec43e63 drivers: timer: microchip: xec: Microchip MEC one kernel timer driver
We want to simplify the maintenance burden and confusion of having
more than one driver for the same kernel timer peripheral used on
all Microchip MEC parts. The XEC version of the driver was converted
register definitions in the driver. Register access is performed using
Zephyr sys_read/write architecture specific inline routines. Driver DT
YAML was updated to use phandle for the 32-bit basic timer used for
ARCH_HAS_CUSTOM_BUSY_WAIT support, basic timer max value property,
and GIRQ interrtup aggregator hardware information.
SoC part Kconfigs, chip level/board level DTSI updated to use the
unified driver.

Signed-off-by: Scott Worley <scott.worley@microchip.com>
2025-07-19 15:39:40 -04:00
Simon Guinot
b97dcef8ce dts: bindings: led: introduce leds-group-multicolor binding
The leds-group-multicolor binding allows to combines several
monochromatic LEDs into one multi-color LED.

Signed-off-by: Simon Guinot <simon.guinot@seagate.com>
2025-07-19 15:39:29 -04:00
Simon Guinot
dab7699fe0 dts: bindings: led: introduce led-node.yaml
This patch moves the label and color-mapping LED property definitions
from led-controller.yaml into led-node.yaml.

This allows to use these properties from a LED node which is not a
child node of a LED controller. This is preparatory work for adding
the leds-group-multicolor binding.

In addition this patch also removes the redundant "label" property
definitions in gpio-leds.yaml and pwm-leds.yaml. It is now included
from led-node.yaml.

Signed-off-by: Simon Guinot <simon.guinot@seagate.com>
2025-07-19 15:39:29 -04:00
Dmitrii Sharshakov
d6420d2653 dts: arm: rpi_pico: add interrupts for PIO
PIO interrupts are useful for some of the virtual
peripherals, so describe them in the DT.

This has no direct implications to existing drivers.

Signed-off-by: Dmitrii Sharshakov <d3dx12.xx@gmail.com>
2025-07-19 15:37:47 -04:00
Luis Ubieda
d35d199253 sensor: adxl345: Add ability to use Streaming and Trigger with INT1
Prioritized over INT2 if both are defined.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-07-19 15:37:24 -04:00
Alvis Sun
5b1d16dd6f drivers: wdt: npcx: add wdt driver support for npck3
Enables the extended Watchdog Timer driver for npck3.

Signed-off-by: Alvis Sun <yfsun@nuvoton.com>
Signed-off-by: Mulin Chao <mlchao@nuvoton.com>
2025-07-19 15:36:47 -04:00
Ishraq Ibne Ashraf
7b49381227 boards: nxp: frdm_k32l2b3: Add initial support
Adding initial support for NXP FRDM K32L2B3 board.

Signed-off-by: Ishraq Ibne Ashraf <ishraq.i.ashraf@gmail.com>

dts: arm: nxp: Fix SRAM node name

Fix address part of the SRAM node name.
Change the SRAM start address definition to lower
case hexadecimal to be consistent.

Signed-off-by: Ishraq Ibne Ashraf <ishraq.i.ashraf@gmail.com>
2025-07-19 15:36:11 -04:00
Hao Luo
4b3565d958 drivers: pwm: Add support for Apollo510 pwm
This commit adds support for Apollo510 pwm driver

Signed-off-by: Hao Luo <hluo@ambiq.com>
2025-07-19 15:31:08 -04:00
Richard Wheatley
7cd378d9c9 dts: bindings: move clk-source to parent
Move clk-source from pwm to timer
change associated files to match

Signed-off-by: Richard Wheatley <richard.wheatley@ambiq.com>
2025-07-19 15:31:08 -04:00
Richard Wheatley
e81a241678 driver: pwm: create ambiq pwm driver
Restructured counter and timer.
CTimer/Timer is now parent to pwm and counter.
Created PWM driver and tied to pwm and pwm-led

Signed-off-by: Richard Wheatley <richard.wheatley@ambiq.com>
2025-07-19 15:31:08 -04:00
Neil Chen
c640b5e937 dts: arm/nxp: Add smartdma nodes to NXP MCXN23x dtsi file
Add smartdma nodes to NXP MCXN23x dtsi file

Signed-off-by: Neil Chen <cheng.chen_1@nxp.com>
2025-07-19 15:29:25 -04:00
Jimmy Zheng
13e2125402 dts: riscv: andes: add andes_v5_ae350_clic.dtsi
Add andes_v5_ae350_clic for the AE350 FPGA platform with CLIC support.

Signed-off-by: Jimmy Zheng <jimmyzhe@andestech.com>
2025-07-19 15:28:58 -04:00
Fin Maaß
97fffc3298 dts: riscv: litex: update dts
Update dts, so keep up to date
with https://github.com/litex-hub/zephyr-on-litex-vexriscv

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2025-07-19 13:48:54 -04:00