Commit graph

11,885 commits

Author SHA1 Message Date
Zhaoxiang Jin
e7d24c8088 drivers: adc: add clock frequency selection for SAR ADC
This commit enhances the SAR ADC driver by adding
support for clock frequency selection. The clock
frequency can now be configured via the devicetree,
allowing for better optimization of ADC performance
based on application requirements.

Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
2025-12-31 10:58:50 +00:00
Kyle Bonnici
45f6c6b4cb Boards: combine duplicate nodes
This PR combines node content in the same file spread over multiple
node definitions.

This PR has not funtional changes to the boards

Signed-off-by: Kyle Bonnici <kylebonnici@hotmail.com>
2025-12-31 10:57:37 +00:00
Ajay Neeli
18a6b6c35c dts: amd: versal2: Add DT support for IPI
Add the inter-processor interrupt (IPI) nodes to the device tree for the
Versal Gen2 platform, as per Versal Gen2 Technical Ref Manual (AM026)

Signed-off-by: Ajay Neeli <ajay.neeli@amd.com>
2025-12-30 09:06:20 -06:00
Ajay Neeli
f3ce62b088 dts: amd: versalnet: Add DT support for IPI
Add the inter-processor interrupt (IPI) nodes to the device tree for the
Versal-NET platform, as per Versal-NET Technical Reference Manual (TRM).

Signed-off-by: Ajay Neeli <ajay.neeli@amd.com>
2025-12-30 09:06:20 -06:00
Ajay Neeli
14bb1820d6 dts: bindings: mbox: Add AMD-Xilinx IPI mailbox
Add device tree bindings for the AMD-Xilinx Inter Processor Interrupts
(IPI) mailbox.

The IPI architecture allows the passing of messages across the system
without the complications of autonomous read-write transactions and
polling inefficiency. The notification of the interrupt is also
possible without message buffers on some platforms. Some IPI channels
are hard-wired to particular core while others can be configured to
assign to any core on AMD-Xilinx heterogenous multiprocessor platform.

Signed-off-by: Ajay Neeli <ajay.neeli@amd.com>
2025-12-30 09:06:20 -06:00
Dat Nguyen Duy
79d37f8fd5 dts: nxp: add flexcan devicetree nodes for s32k566
Add Flexcan devicetree nodes for s32k566

Signed-off-by: Dat Nguyen Duy <dat.nguyenduy@nxp.com>
2025-12-30 08:40:40 +01:00
Jonas Berg
bac97f310f dts: bindings: vendor-prefixes: Add cytron
Add vendor prefix for Cytron Technologies

Signed-off-by: Jonas Berg <jonas.s.t.berg@gmail.com>
2025-12-30 08:38:10 +01:00
William Tang
0a4f52e52c dts: arm: nxp: add CAN FD support for MCXN SOC family
Add CAN FD support for MCXN SOC family, including mcxn23x, mcxn94x
and mcxn54x.

Tested with tests/drivers/can.

Fixes #91138

Signed-off-by: William Tang <william.tang@nxp.com>
2025-12-29 16:04:17 +01:00
Zhaoxiang Jin
4b57c88344 dts: nxp,sar-adc.yaml: remove 'type: array' from interrupts property
'type: array' is unnecessary for the interrupts property in
nxp,sar-adc.yaml.

Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
2025-12-29 09:28:27 +01:00
Holt Sun
bc9a0a726b counter: mcux_lptmr: fix prescaler/glitch filter configuration
Fix incorrect LPTMR prescaler/glitch filter mapping that led to wrong
frequency calculation and wrong hardware configuration.

- Calculate effective counter frequency correctly:
  * Time Counter mode: divide by 2^(value + 1)
  * Pulse Counter mode: divide by 2^value
- Map prescale-glitch-filter directly to the HAL enum (no offset math)
- Add prescale-glitch-filter-bypass DT boolean (default false)
- Restrict prescale-glitch-filter to 0..15 and update bindings/DTS users
- Add build-time validation for Pulse mode (value 0 requires bypass)

Signed-off-by: Holt Sun <holt.sun@nxp.com>
2025-12-29 09:27:54 +01:00
William Tang
1e9bd76278 dts: can: mcux: flexcan: Add number-of-mb property to FlexCAN nodes
Add the `number-of-mb` and `number-of-mb-fd` device tree property to
all the NXP FlexCAN controller nodes across various SoC families to
specify the maximum number of 8-byte and 64-byte payload message
buffers supported by each FlexCAN instance.

This change updates device tree source files for multiple NXP SoC
families including Kinetis K6x, RT10xx, RT11xx, RT118x, MCX, S32K,
S32Z, and i.MX8MP/i.MX93 series. The property values are set based
on hardware specifications for each specific FlexCAN instance.

This property addition ensures proper resource allocation and
prevents buffer overflow issues in FlexCAN driver implementations.

Signed-off-by: William Tang <william.tang@nxp.com>
2025-12-28 10:11:51 +01:00
William Tang
8b8d5ca05a dts: arm: nxp: update copyright headers
Update copyright header in nxp_k6x.dtsi.

Signed-off-by: William Tang <william.tang@nxp.com>
2025-12-28 10:11:51 +01:00
Yassine El Aissaoui
29673afd01 soc: nxp: mcxw23: Integrate low power with ble
Adding support for deep sleep/ power down on BLE apps.

Signed-off-by: Yassine El Aissaoui <yassine.elaissaoui@nxp.com>
2025-12-26 10:16:07 -06:00
Dong Wang
49f1f6fce0 dts: intel_ish: Remove unnecessary #interrupt-cells from /soc node
The /soc node is a simple-bus node and not an interrupt provider. Leaving
the #interrupt-cells property produces misleading Device Tree build
warnings:
  Warning (interrupt_provider): /soc: '#interrupt-cells' found, but node is
  not an interrupt provider <stdout>:  Warning (interrupt_map): Failed
  prerequisite 'interrupt_provider'.

Signed-off-by: Dong Wang <dong.d.wang@intel.com>
2025-12-26 10:15:36 -06:00
Fabin V Martin
08ba580618 dts: bindings: serial: Introduce DMA properties
Introduce DMA properties for sercom uart g1 driver.

Signed-off-by: Fabin V Martin <Fabinv.Martin@microchip.com>
2025-12-26 10:14:22 -06:00
Farsin Nasar V A
39edc96945 dts: arm: microchip: add RSTC node
Add the device tree node for microchip RSTC G1 IP.

Signed-off-by: Farsin Nasar V A <farsin.nasarva@microchip.com>
2025-12-26 10:13:53 -06:00
Arunprasath P
1cdde74b35 dts: arm: microchip: Introduce ADC G1 dts binding
Add the device tree node and the binding file for
microchip adc G1 Peripheral.

Signed-off-by: Arunprasath P <arunprasath.p@microchip.com>
2025-12-26 10:13:30 -06:00
Biwen Li
9bfda71a9a dts: arm: nxp: imx95: m7: add disp_irqsteer node
Add disp_irqsteer node(this is another irqsteer instance).

Signed-off-by: Biwen Li <biwen.li@nxp.com>
2025-12-24 12:51:21 -05:00
Biwen Li
df9180305d dts: arm: nxp: imx95: m7: add more masters
Add more irqsteer masters.

Signed-off-by: Biwen Li <biwen.li@nxp.com>
2025-12-24 12:51:21 -05:00
Biwen Li
23b764ffc2 dts: arm: nxp: imx94x: add edma2 node
Add edma2 node for lpuart3.

Signed-off-by: Biwen Li <biwen.li@nxp.com>
2025-12-24 12:51:21 -05:00
Biwen Li
b93bffd271 dts: arm: nxp: imx943: m7_1: add irqsteer node
Add irqsteer node for m7_1.

Signed-off-by: Biwen Li <biwen.li@nxp.com>
2025-12-24 12:51:21 -05:00
Biwen Li
d7142bd597 dts: arm: nxp: imx943: m7_0: add irqsteer node
Add irqsteer node for m7_0.

Signed-off-by: Biwen Li <biwen.li@nxp.com>
2025-12-24 12:51:21 -05:00
Biwen Li
4a3df69c09 boards: nxp: imx943_evk: m33: enable edma4
Enable edma4 by default for lpuart8 of m33(in NETCMIX)
of imx943_evk

Signed-off-by: Biwen Li <biwen.li@nxp.com>
2025-12-24 12:51:21 -05:00
Biwen Li
ce50e46a90 drivers: intc: irqsteer: Drop calling into NXP HAL
Supporting irqsteer using NXP HAL becomes increasingly harder with new
SoCs.

For example now there are two incompatible HAL drivers for IRQ steer
(mcux-sdk-ng/drivers/irqsteer and mcux-sdk-ng/drivers/irqsteer_1).

In order to avoid overcomplicating code and better scaling code for
newer SoCs just drop using the NXP HAL and implement an IRQ Steer native
Zephyr driver

Use irqsteer node of imx943 as example.

New features:
- Support multiple irqsteer instances.
- Indroduce new properties(nxp,irq-offset, nxp,num-irqs).

Signed-off-by: Biwen Li <biwen.li@nxp.com>
2025-12-24 12:51:21 -05:00
Biwen Li
8822d8f8a9 irqsteer-master: Introduce priority attribute
This adds priority attribute to irqsteer in order to
support multi level interrupts.

We need to make this change atomic so that we don't break
the build.

So, we introduce a new property named 'priority' to
`interrupt-cells` and we increase the number of cells.
Then we update all instances of interrupts
using irqsteer (for imx95, imx8m, imx8qm, imx8qxp and also
update the overlay(imx8mp_evk_mimx8ml8_adsp) for tests.

Signed-off-by: Biwen Li <biwen.li@nxp.com>
2025-12-24 12:51:21 -05:00
Zhaoxiang Jin
727293473b boards: nxp: frdm_mcxe31b: Enable SAR ADC support
1. Enable SAR ADC support for nxp mcxe31x platform.
2. Enable SAR ADC support for nxp frdm_mcxe31b board.

Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
2025-12-24 12:48:46 -05:00
Zhaoxiang Jin
ea8e8b7d53 drivers: adc: refactor mcux_sar_adc to nxp_sar_adc
Zephyr's current ADC API only supports 32 logical channels,
which is inadequate for SAR ADCs on certain SoCs. For instance,
the ADC on the MCXE31B has 64 hardware channels. The previous
implementation used a one-to-one mapping between logical and
hardware channels. In the new SAR ADC driver version, we bind
hardware channels to logical channels via the zephyr,input-positive
property, enabling us to access any channel.

Currently, only imx93 uses this ADC. To maintain the bisectability
of Zephyr commits, in this commit we will also modify the imx93-related
files, inlcuding:
1. Update the clock_control_mcux_ccm_rev2.c to use the new Kconfig
option 'CONFIG_ADC_NXP_SAR_ADC'.
2. Add properties to the imx93_evk_mimx9352_m33.overlay of the adc_api
testcase.

Now the sar adc is native driver, so, remove
CONFIG_MCUX_COMPONENT_driver.sar_adc from the glue cmake.

Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
2025-12-24 12:48:46 -05:00
Dat Nguyen Duy
377922dfcf drivers: add initial support for NXP S32K566
Initial support for NXP S32K566 M7 & R52: Clock,
Pin control, GPIO and Uart

Signed-off-by: Dat Nguyen Duy <dat.nguyenduy@nxp.com>
2025-12-23 15:18:17 +01:00
Ha Duong Quang
72fb81eb9f soc: arm: introduce support for NXP S32K566 SoC
S32K566 is a member of the S32K5 family which expands
s32k3 series to higher performance and larger memory.

Zephyr port for S32K5 will support cortex-M7 and cortex-R52

After reset, swt_startup is enabled and starts running,
disable it using the watchdog hook.

Signed-off-by: Ha Duong Quang <ha.duongquang@nxp.com>
Co-authored-by: Dat Nguyen Duy <dat.nguyenduy@nxp.com>
2025-12-23 15:18:17 +01:00
Benjamin Cabé
327969d5ae include: adc: add doxygen docs for voltage_divider extended API
Adds doxygen documentation for the extended API of the voltage divider ADC
driver.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-12-23 09:33:06 +01:00
Zhaoxiang Jin
f70d57a607 dts: nxp: Update lpcmp nodes for some SoCs
1. We shall set the proper clock source for lpcmp.
2. The property '#io-channel-cells' is currently
not needed for LPCMP.

Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
2025-12-23 09:32:53 +01:00
Zhaoxiang Jin
f6f8c42b67 drivers: comparator: enable nxp lpcmp driver
enable nxp lpcmp driver based on the comparator driver API

Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
2025-12-23 09:32:53 +01:00
Zhaoxiang Jin
7371e94ec7 dts: bindings: rename nxp,lpcmp.yaml to nxp,sensor-lpcmp.yaml
We are planning to implement a new LPCMP driver based on the
comparator API and deprecate the current sensor-based driver.
We would like to use the nxp,lpcmp binding for the new
comparator-based driver implementation. To avoid naming conflicts,
we are renaming the current sensor binding to nxp,sensor-lpcmp.

Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
2025-12-23 09:32:53 +01:00
Kyle Bonnici
4468fbfae0 Boards: align ranges to DTS spec
Spec - Section 2.3.8

> If the property is defined with an <empty> value, it specifies that
the parent and child address space is identical, and no address
translation is required.

Spec - Table 2.3

> <empty>: Value is empty. Used for conveying true-false information,
when the presence or absence of the property itself is sufficiently
descriptive.

`ranges = <>;` should be interpreted as `<prop-encoded-array>` with
empty array, when processing the child the ranges should be used and
given it is and empty array we will fail to map and behaviour
is undefined by the dts spec!

Hence IMO `ranges;` is the correct syntax here. This leaves no space
for uncertainty and undefined behaviour by tools and
user interpretation.

Signed-off-by: Kyle Bonnici <kylebonnici@hotmail.com>
2025-12-23 07:52:54 +01:00
Peter Wang
7199c4081f boards: frdm_mcxaxx6,frdm_mcxa577: enable reset driver
1. enable reset driver for frdm mcxa boards below:
    - frdm_mcxa266
    - frdm_mcxa346
    - frdm_mcxa366
    - frdm_mcxa577

Signed-off-by: Peter Wang <chaoyi.wang@nxp.com>
2025-12-23 05:08:14 +01:00
Kate Wang
68988108ee drivers: mipi_dbi: add support for DBI color coding
Add new configuration item color_coding in the structure
mipi_dbi_config and in mipi-dbi-device binding property.
The color coding is defined by MIPI Alliance Standard for
Display Bus Interface v2.0, which is required by some display
controllers and device.

Signed-off-by: Kate Wang <yumeng.wang@nxp.com>
2025-12-23 05:07:28 +01:00
zjian zhang
acb831f5c0 dts: arm: introduce amebad SOC Devicetree
add initial version of devicetree for amebad SOC.
amebad devicetree file is main platform dtsi file, which should
be included from board dts (e.g rtl872xd_evb.dts)

Signed-off-by: zjian zhang <zjian_zhang@realsil.com.cn>
2025-12-22 14:45:39 +01:00
Duy Nguyen
419a094499 dts: renesas: ra: Fix adc compatible for ra6-cm4
The `renesas,ra-adc` compatible was replaced by `renesas,ra-adc12`,
at #95710 but one ADC devicetree node was not updated accordingly.

This commit updates the missing node to use the correct
`renesas,ra-adc12` compatible.

Signed-off-by: Duy Nguyen <duy.nguyen.xa@renesas.com>
2025-12-21 11:06:41 +01:00
Lucien Zhao
72360f821a dts: arm: nxp: rt118x: correct ocram1_available address
correct ocram1_available reg address to fix warning log

Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
2025-12-20 09:20:20 +01:00
Nikhil Namjoshi
1a31990457 drivers: memc: Add imx-flexspi-is66wvs8m8 driver
Tested:
Verified that reading and writing data to the PSRAM
with MCU's FlexSPI controller in Quad Mode, works as
expected.

Signed-off-by: Nikhil Namjoshi <nikhilnamjoshi@google.com>
2025-12-20 09:16:38 +01:00
Jason Yu
da1df411a5 soc: nxp: mcxw2xx: Enable the power management
Enabled modes:
  idle: SLEEP
  suspend: DEEP-SLEEP
  standby: POWER-DOWN with CPU retention

OS Time Base: OSTIMER with 32K clock source

Signed-off-by: Jason Yu <zejiang.yu@nxp.com>
2025-12-20 09:15:40 +01:00
McAtee Maxwell
ce51e58819 drivers: enable lp_timer default for kit_psc3m5_evk
- Enable lp_timer for kit_psc3m5_evk
- Modify configuration, enabling lp_timer as default before systick

Signed-off-by: McAtee Maxwell <maxwell.mcatee@infineon.com>
2025-12-20 09:15:22 +01:00
Bill Waters
66cf8c502b drivers: timer: infineon pdl lp_timer
Add PDL-based low-power timer for the E84 board

Signed-off-by: Bill Waters <bill.waters@infineon.com>
2025-12-20 09:15:22 +01:00
Benjamin Cabé
e861b2681d drivers: dts: ti: fix typo in "Texas Instruments" company name
s/Texas Instrument/Texas Instruments/g

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-12-18 18:52:58 +00:00
Bill Waters
36abed5377 drivers: counter: add support for Infineon PSE84 device
- Update the driver to support the PSE84 device
 - Update to new peripheral clock allocation scheme

Signed-off-by: Bill Waters <bill.waters@infineon.com>
2025-12-18 18:51:41 +00:00
Jaagup Averin
89c3443a4d dts: arm: st: f2: add adc2 and adc3
Add missing ADC2 and ADC3 nodes to stm32f2.dtsi.

Signed-off-by: Jaagup Averin <jaagup.averin@gmail.com>
2025-12-18 14:52:04 +00:00
Robert Cheng
48760eea64 dts: arm: focaltech: add ft9001 SoC dtsi
Introduce the base devicetree description for the FT9001 SoC.

Signed-off-by: Robert Cheng <robert.cheng@focaltech-electronics.com>
2025-12-18 12:13:19 +00:00
Robert Cheng
79f972db89 dt-bindings: focaltech: ft9001: add clock, reset, uart
Add devicetree bindings for the FocalTech FT9001 SoC:
- Clock controller
- Reset controller
- UART

These bindings are required by the SoC and drivers added in subsequent
commits. Headers are placed under include/zephyr/dt-bindings/.

Signed-off-by: Robert Cheng <robert.cheng@focaltech-electronics.com>
2025-12-18 12:13:19 +00:00
Petr Buchta
53dfed0455 boards: nxp: frdm_mcxe247: Enable flash controller
This commit enables use of FTFC flash controller.
Together with DT changes it adds support for FTFC into soc_flash_mcux.c
driver.

Signed-off-by: Petr Buchta <petr.buchta@nxp.com>
2025-12-18 09:19:24 +01:00
Sylvio Alves
5d1e443bdf drivers: spi: esp32: fix CS handling when using GPIO chip select
The driver was unconditionally setting hal_dev->cs_pin_id to the target
number, which activates hardware CS lines even when GPIO-based chip
select (cs-gpios) is used. This caused issues when using hardware CS
via pinctrl with reg > 0.

Also update the binding documentation to clarify the interaction between
cs-gpios and hardware CS via pinctrl.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2025-12-18 05:36:14 +01:00