]> git.ipfire.org Git - thirdparty/kernel/stable.git/log
thirdparty/kernel/stable.git
3 weeks agonvme-auth: rename nvme_auth_generate_key() to nvme_auth_parse_key()
Eric Biggers [Mon, 2 Mar 2026 07:59:43 +0000 (23:59 -0800)] 
nvme-auth: rename nvme_auth_generate_key() to nvme_auth_parse_key()

This function does not generate a key.  It parses the key from the
string that the caller passes in.

Acked-by: Ard Biesheuvel <ardb@kernel.org>
Acked-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: Eric Biggers <ebiggers@kernel.org>
Signed-off-by: Keith Busch <kbusch@kernel.org>
3 weeks agonvme-auth: common: add KUnit tests for TLS key derivation
Eric Biggers [Mon, 2 Mar 2026 07:59:42 +0000 (23:59 -0800)] 
nvme-auth: common: add KUnit tests for TLS key derivation

Unit-test the sequence of function calls that derive tls_psk, so that we
can be more confident that changes in the implementation don't break it.

Since the NVMe specification doesn't seem to include any test vectors
for this (nor does its description of the algorithm seem to match what
was actually implemented, for that matter), I just set the expected
values to the values that the code currently produces.  In the case
of SHA-512, nvme_auth_generate_digest() currently returns -EINVAL, so
for now the test tests for that too.  If it is later determined that
some other behavior is needed, the test can be updated accordingly.

Tested with:

    tools/testing/kunit/kunit.py run --kunitconfig drivers/nvme/common/

Acked-by: Ard Biesheuvel <ardb@kernel.org>
Acked-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Eric Biggers <ebiggers@kernel.org>
Signed-off-by: Keith Busch <kbusch@kernel.org>
3 weeks agonvme-auth: use proper argument types
Eric Biggers [Mon, 2 Mar 2026 07:59:41 +0000 (23:59 -0800)] 
nvme-auth: use proper argument types

For input parameters, use pointer to const.  This makes it easier to
understand which parameters are inputs and which are outputs.

In addition, consistently use char for strings and u8 for binary.  This
makes it easier to understand what is a string and what is binary data.

Acked-by: Ard Biesheuvel <ardb@kernel.org>
Acked-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: Eric Biggers <ebiggers@kernel.org>
Signed-off-by: Keith Busch <kbusch@kernel.org>
3 weeks agonvme-auth: common: constify static data
Eric Biggers [Mon, 2 Mar 2026 07:59:40 +0000 (23:59 -0800)] 
nvme-auth: common: constify static data

Fully constify the dhgroup_map and hash_map arrays.  Remove 'const' from
individual fields, as it is now redundant.

Acked-by: Ard Biesheuvel <ardb@kernel.org>
Acked-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: Eric Biggers <ebiggers@kernel.org>
Signed-off-by: Keith Busch <kbusch@kernel.org>
3 weeks agonvme-auth: add NVME_AUTH_MAX_DIGEST_SIZE constant
Eric Biggers [Mon, 2 Mar 2026 07:59:39 +0000 (23:59 -0800)] 
nvme-auth: add NVME_AUTH_MAX_DIGEST_SIZE constant

Define a NVME_AUTH_MAX_DIGEST_SIZE constant and use it in the
appropriate places.

Acked-by: Ard Biesheuvel <ardb@kernel.org>
Acked-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: Eric Biggers <ebiggers@kernel.org>
Signed-off-by: Keith Busch <kbusch@kernel.org>
3 weeks agoRISC-V: KVM: selftests: Fix firmware counter read in sbi_pmu_test
Jiakai Xu [Mon, 16 Mar 2026 01:45:33 +0000 (01:45 +0000)] 
RISC-V: KVM: selftests: Fix firmware counter read in sbi_pmu_test

The current sbi_pmu_test attempts to read firmware counters without
configuring them first with SBI_EXT_PMU_COUNTER_CFG_MATCH.

Previously this did not fail because KVM incorrectly allowed the read
and accessed fw_event[] with an out-of-bounds index when the counter
was unconfigured. After fixing that bug, the read now correctly returns
SBI_ERR_INVALID_PARAM, causing the selftest to fail.

Update the test to configure a firmware event before reading the
counter. Also add a negative test to ensure that attempting to read an
unconfigured firmware counter fails gracefully.

Signed-off-by: Jiakai Xu <xujiakai2025@iscas.ac.cn>
Signed-off-by: Jiakai Xu <jiakaiPeanut@gmail.com>
Reviewed-by: Andrew Jones <andrew.jones@oss.qualcomm.com>
Reviewed-by: Nutty Liu <nutty.liu@hotmail.com>
Link: https://lore.kernel.org/r/20260316014533.2312254-3-xujiakai2025@iscas.ac.cn
Signed-off-by: Anup Patel <anup@brainfault.org>
3 weeks agoRISC-V: KVM: Fix array out-of-bounds in pmu_ctr_read() and pmu_fw_ctr_read_hi()
Jiakai Xu [Mon, 16 Mar 2026 01:45:32 +0000 (01:45 +0000)] 
RISC-V: KVM: Fix array out-of-bounds in pmu_ctr_read() and pmu_fw_ctr_read_hi()

When a guest invokes SBI_EXT_PMU_COUNTER_FW_READ or
SBI_EXT_PMU_COUNTER_FW_READ_HI on a firmware counter that has not been
configured via SBI_EXT_PMU_COUNTER_CFG_MATCH, the pmc->event_idx remains
SBI_PMU_EVENT_IDX_INVALID (0xFFFFFFFF). get_event_code() extracts the
lower 16 bits, yielding 0xFFFF (65535), which is then used to index into
kvpmu->fw_event[]. Since fw_event is only RISCV_KVM_MAX_FW_CTRS (32)
entries, this triggers an array-index-out-of-bounds:

  UBSAN: array-index-out-of-bounds in arch/riscv/kvm/vcpu_pmu.c:255:37
  index 65535 is out of range for type 'kvm_fw_event [32]'

Add a check for the known unconfigured case (SBI_PMU_EVENT_IDX_INVALID)
and a WARN_ONCE guard for any unexpected out-of-bounds event codes,
returning -EINVAL in both cases.

Fixes: badc386869e2c ("RISC-V: KVM: Support firmware events")
Fixes: 08fb07d6dcf71 ("RISC-V: KVM: Support 64 bit firmware counters on RV32")
Signed-off-by: Jiakai Xu <xujiakai2025@iscas.ac.cn>
Signed-off-by: Jiakai Xu <jiakaiPeanut@gmail.com>
Reviewed-by: Andrew Jones <andrew.jones@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260316014533.2312254-2-xujiakai2025@iscas.ac.cn
Signed-off-by: Anup Patel <anup@brainfault.org>
3 weeks agosoc/tegra: cbb: Fix cross-fabric target timeout lookup
Sumit Gupta [Wed, 21 Jan 2026 10:12:05 +0000 (15:42 +0530)] 
soc/tegra: cbb: Fix cross-fabric target timeout lookup

When a fabric receives an error interrupt, the error may have
occurred on a different fabric. The target timeout lookup was using
the wrong base address (cbb->regs) with offsets from a different
fabric's target map, causing a kernel page fault.

  Unable to handle kernel paging request at virtual address ffff80000954cc00
  pc : tegra234_cbb_get_tmo_slv+0xc/0x28
  Call trace:
   tegra234_cbb_get_tmo_slv+0xc/0x28
   print_err_notifier+0x6c0/0x7d0
   tegra234_cbb_isr+0xe4/0x1b4

Add tegra234_cbb_get_fabric() to look up the correct fabric device
using fab_id, and use its base address for accessing target timeout
registers.

Fixes: 25de5c8fe0801 ("soc/tegra: cbb: Improve handling for per SoC fabric data")
Signed-off-by: Sumit Gupta <sumitg@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
3 weeks agosoc/tegra: cbb: Fix incorrect ARRAY_SIZE in fabric lookup tables
Sumit Gupta [Wed, 21 Jan 2026 10:12:04 +0000 (15:42 +0530)] 
soc/tegra: cbb: Fix incorrect ARRAY_SIZE in fabric lookup tables

Fix incorrect ARRAY_SIZE usage in fabric lookup tables which could
cause out-of-bounds access during target timeout lookup.

Fixes: 25de5c8fe0801 ("soc/tegra: cbb: Improve handling for per SoC fabric data")
Signed-off-by: Sumit Gupta <sumitg@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
3 weeks agosoc/tegra: cbb: Set ERD on resume for err interrupt
Sumit Gupta [Wed, 21 Jan 2026 10:12:03 +0000 (15:42 +0530)] 
soc/tegra: cbb: Set ERD on resume for err interrupt

Set the Error Response Disable (ERD) bit to mask SError responses
and use interrupt-based error reporting. When the ERD bit is set,
inband error responses to the initiator via SError are suppressed,
and fabric errors are reported via an interrupt instead.

The register is set during boot but the info is lost during system
suspend and needs to be set again on resume.

Fixes: fc2f151d2314 ("soc/tegra: cbb: Add driver for Tegra234 CBB 2.0")
Signed-off-by: Sumit Gupta <sumitg@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
3 weeks agoarm64: dts: ti: k3-pinctrl: sort shift values numerically
Rasmus Villemoes [Fri, 27 Mar 2026 14:15:13 +0000 (15:15 +0100)] 
arm64: dts: ti: k3-pinctrl: sort shift values numerically

The macros are easier to read when the values are sorted numerically.

Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
Link: https://patch.msgid.link/20260327141513.1250499-3-linux@rasmusvillemoes.dk
Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
3 weeks agoarm64: dts: ti: k3-pinctrl: consistently use tabs for alignment
Rasmus Villemoes [Fri, 27 Mar 2026 14:15:12 +0000 (15:15 +0100)] 
arm64: dts: ti: k3-pinctrl: consistently use tabs for alignment

Currently, there's a mix of spaces and tabs used for aligning the
bodies of the macros, even within the same block. Use tabs throughout
for consistency.

No functional change; 'git diff -w' produces no output.

Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
Link: https://patch.msgid.link/20260327141513.1250499-2-linux@rasmusvillemoes.dk
Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
3 weeks agosoc/tegra: cbb: Add support for CBB fabrics in Tegra238
Sumit Gupta [Wed, 25 Mar 2026 12:57:26 +0000 (18:27 +0530)] 
soc/tegra: cbb: Add support for CBB fabrics in Tegra238

Add support for CBB 2.0 based fabrics in Tegra238 SoC using DT.
Fabrics reporting errors are: CBB, AON, BPMP, APE.

Signed-off-by: Sumit Gupta <sumitg@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
3 weeks agoALSA: pcm: Serialize snd_pcm_suspend_all() with open_mutex
Cássio Gabriel [Fri, 27 Mar 2026 13:59:45 +0000 (10:59 -0300)] 
ALSA: pcm: Serialize snd_pcm_suspend_all() with open_mutex

snd_pcm_suspend_all() walks all PCM substreams and uses a lockless
runtime check to skip closed streams. It then calls snd_pcm_suspend()
for each remaining substream and finally runs snd_pcm_sync_stop() in a
second pass.

The runtime lifetime is still controlled by pcm->open_mutex in the
open/release path. That means a concurrent close can clear or free
substream->runtime after the initial check in snd_pcm_suspend_all(),
leaving the later suspend or sync-stop path to dereference a stale or
NULL runtime pointer.

Serialize snd_pcm_suspend_all() with pcm->open_mutex so the runtime
pointer stays stable across both loops. This matches the existing PCM
runtime lifetime rule already used by other core paths that access
substream->runtime outside the stream lock.

Suggested-by: Takashi Iwai <tiwai@suse.com>
Signed-off-by: Cássio Gabriel <cassiogabrielcontato@gmail.com>
Link: https://patch.msgid.link/20260327-alsa-pcm-suspend-open-close-lock-v2-1-cc4baca4dcd6@gmail.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
3 weeks agoarm64: dts: imx8qxp-mek: switch Type-C connector power-role to dual
Xu Yang [Tue, 24 Mar 2026 11:04:59 +0000 (19:04 +0800)] 
arm64: dts: imx8qxp-mek: switch Type-C connector power-role to dual

When attach to PC Type-A port, the USB device controller does not function
at all. Because it is configured as source-only and a Type-A port doesn't
support PD capability, a data role swap is impossible.

Actually, PTN5110THQ is configured for Source role only at POR, but after
POR it can operate as a DRP (Dual-Role Power). By switching the power-role
to dual, the port can operate as a sink and enter device mode when attach
to Type-A port.

Since the board design uses EN_SRC to control the 5V VBUS path and EN_SNK
to control the 12V VBUS output, to avoid outputting a higher VBUS when in
sink role, we set the operation current limit to 0mA so that SW will not
control EN_SNK at all.

Fixes: 2faf4ebcee2e5 ("arm64: dts: freescale: imx8qxp-mek: enable cadence usb3")
Signed-off-by: Xu Yang <xu.yang_2@nxp.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
3 weeks agoarm64: dts: imx8qm-mek: switch Type-C connector power-role to dual
Xu Yang [Tue, 24 Mar 2026 11:04:58 +0000 (19:04 +0800)] 
arm64: dts: imx8qm-mek: switch Type-C connector power-role to dual

When attach to PC Type-A port, the USB device controller does not function
at all. Because it is configured as source-only and a Type-A port doesn't
support PD capability, a data role swap is impossible.

Actually, PTN5110THQ is configured for Source role only at POR, but after
POR it can operate as a DRP (Dual-Role Power). By switching the power-role
to dual, the port can operate as a sink and enter device mode when attach
to Type-A port.

Since the board design uses EN_SRC to control the 5V VBUS path and EN_SNK
to control the 12V VBUS output, to avoid outputting a higher VBUS when in
sink role, we set the operation current limit to 0mA so that SW will not
control EN_SNK at all.

Fixes: b237975b2cd58 ("arm64: dts: imx8qm-mek: add usb 3.0 and related type C nodes")
Signed-off-by: Xu Yang <xu.yang_2@nxp.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
3 weeks agoarm64: dts: lx2162a-clearfog: set sfp connector leds function and source
Josua Mayer [Tue, 24 Mar 2026 12:41:04 +0000 (13:41 +0100)] 
arm64: dts: lx2162a-clearfog: set sfp connector leds function and source

LX2162A Clearfog has four LEDs attached physically to the 4-port SFP
connector. They are intended to show information relating to network
interface status.

Select "netdev" as default trigger for each LED, and link each one to
the respective dpmac instance as trigger-source.

Signed-off-by: Josua Mayer <josua@solid-run.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
3 weeks agoarm64: dts: lx2162a-sr-som: add crypto & rtc aliases, model
Josua Mayer [Tue, 24 Mar 2026 12:41:03 +0000 (13:41 +0100)] 
arm64: dts: lx2162a-sr-som: add crypto & rtc aliases, model

Add aliases for crypto accelerator and rtc0 ensuring that on-SoM RTC and
the SoC A72 domain crypto accelerator are assigned first index.

Further set model and compatible strings which are informative but
overridden by actual boards.

Signed-off-by: Josua Mayer <josua@solid-run.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
3 weeks agoarm64: dts: lx2160a-cex7: add rtc alias
Josua Mayer [Tue, 24 Mar 2026 12:41:02 +0000 (13:41 +0100)] 
arm64: dts: lx2160a-cex7: add rtc alias

Add alias for rtc0 ensuring that on-COM RTC is assigned first index.

Note that fsl-lx2160a.dtsi already defines an alias for rtc1 which
implicitly achieved the same result.

Signed-off-by: Josua Mayer <josua@solid-run.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
3 weeks agoarm64: dts: lx2160a: complete pinmux for rcwsr12 configuration word
Josua Mayer [Tue, 24 Mar 2026 12:41:01 +0000 (13:41 +0100)] 
arm64: dts: lx2160a: complete pinmux for rcwsr12 configuration word

Commit 8a1365c7bbc1 ("arm64: dts: lx2160a: add pinmux and i2c gpio to
support bus recovery") introduced pinmux nodes for lx2160 i2c
interfaces, allowing runtime change between i2c and gpio functions
implementing bus recovery.

However, the dynamic configuration area (overwrite MUX) used by the
pinctrl-single driver initially reads as zero and does not reflect the
actual hardware state set by the Reset Configuration Word (RCW) at
power-on.

Because multiple groups of pins are configured from a single 32-bit
register, the first write from the pinctrl driver unintentionally clears
all other bits to zero.

Add description for all bits of RCWSR12 register, allowing boards to
explicitly define and restore their intended hardware state.

This includes i2c, gpio, flextimer, spi, can and sdhc functions.

Other configuration words, i.e. RCWSR13 & RCWSR14 may be added in the
future for boards setting non-zero values there.

Fixes: 8a1365c7bbc1 ("arm64: dts: lx2160a: add pinmux and i2c gpio to support bus recovery")
Signed-off-by: Josua Mayer <josua@solid-run.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
3 weeks agoarm64: dts: lx2160a: change zeros to hexadecimal in pinmux nodes
Josua Mayer [Tue, 24 Mar 2026 12:41:00 +0000 (13:41 +0100)] 
arm64: dts: lx2160a: change zeros to hexadecimal in pinmux nodes

Replace some stray zeros from decimal to hexadecimal format within
pinmux nodes.

No functional change intended.

Fixes: 8a1365c7bbc1 ("arm64: dts: lx2160a: add pinmux and i2c gpio to support bus recovery")
Signed-off-by: Josua Mayer <josua@solid-run.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
3 weeks agoarm64: dts: lx2160a: add sda gpio references for i2c bus recovery
Josua Mayer [Tue, 24 Mar 2026 12:40:59 +0000 (13:40 +0100)] 
arm64: dts: lx2160a: add sda gpio references for i2c bus recovery

LX2160A pinmux is done in groups by various length bitfields within
configuration registers.

In particular i2c sda/scl pins are always configured together. Therefore
bus recovery may control both sda and scl.

When pinmux nodes and bus recovery was enabled originally for LX2160,
only the scl-gpios were added to the i2c controller nodes.

Add references to sda-gpios for each i2c controller.

Fixes: 8a1365c7bbc1 ("arm64: dts: lx2160a: add pinmux and i2c gpio to support bus recovery")
Signed-off-by: Josua Mayer <josua@solid-run.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
3 weeks agoarm64: dts: lx2160a: rename pinmux nodes for readability
Josua Mayer [Tue, 24 Mar 2026 12:40:58 +0000 (13:40 +0100)] 
arm64: dts: lx2160a: rename pinmux nodes for readability

LX2160A pinmux is done in groups by various length bitfields within
configuration registers.

Each group of pins is named in the reference manual after a primary
function using soc-specific naming, e.g. IIC1 (for i2c0).

Hardware block numbering starts from zero in device-tree but one in the
reference manual.

Rename the already defined pinmux nodes originally added for changing
i2c pins between i2c and gpio functions reflecting the reference manual
name (IIC) in the node name, and the device-tree name (i2c, gpio) in the
label.

Specifically, drop the "_scl" suffix from the I2C labels because the
nodes actually configure both SDA and SCL pins together. Instead add
"_pins" suffix to avoid conflicts with I2C controller labels.

For GPIO functions, include the specific controller and pin numbers in
the label to clarify they are generic GPIOs and help spot mistakes.

No functional change intended.

Fixes: 8a1365c7bbc1 ("arm64: dts: lx2160a: add pinmux and i2c gpio to support bus recovery")
Signed-off-by: Josua Mayer <josua@solid-run.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
3 weeks agoarm64: dts: lx2160a: remove duplicate pinmux nodes
Josua Mayer [Tue, 24 Mar 2026 12:40:57 +0000 (13:40 +0100)] 
arm64: dts: lx2160a: remove duplicate pinmux nodes

LX2160A pinmux is done in groups by various length bitfields within
configuration registers.

The pinmux nodes i2c7-scl-pins and i2c7-scl-gpio-pins are duplicates of
i2c6-scl-gpio and i2c6-scl-gpio-pins, writing to the same register and
bits.

These two i2c buses i2c6/i2c7 (IIC7/IIC8) are configured together in
register RCWSR13 bits 3-0.

Drop the duplicate node name and change references to the i2c6 node.

Fixes: 8a1365c7bbc1 ("arm64: dts: lx2160a: add pinmux and i2c gpio to support bus recovery")
Signed-off-by: Josua Mayer <josua@solid-run.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
3 weeks agoarm64: dts: lx2160a: change i2c0 (iic1) pinmux mask to one bit
Josua Mayer [Tue, 24 Mar 2026 12:40:56 +0000 (13:40 +0100)] 
arm64: dts: lx2160a: change i2c0 (iic1) pinmux mask to one bit

LX2160A pinmux is done in groups by various length bitfields within
configuration registers.

The first i2c bus (called IIC1 in reference manual) is configured through
field IIC1_PMUX in register RCWSR14 bit 10 which is described in the
reference manual as a single bit, unlike the other i2c buses.

Change the bitmask for the pinmux nodes from 0x7 to 0x1 to ensure only
single bit is modified.

Further change the zero in the same line to hexadecimal format for
consistency.

Align with documentation by avoiding writes to reserved bits. No functional
change, as writing the extra two reserved bits is not known to cause
issues.

Fixes: 8a1365c7bbc1 ("arm64: dts: lx2160a: add pinmux and i2c gpio to support bus recovery")
Signed-off-by: Josua Mayer <josua@solid-run.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
3 weeks agoi2c: ocores: Use read_poll_timeout_atomic to avoid false poll timeouts
Martin Aberer [Tue, 24 Mar 2026 14:05:56 +0000 (15:05 +0100)] 
i2c: ocores: Use read_poll_timeout_atomic to avoid false poll timeouts

Replace the manual polling loop in ocores_wait() with the kernel helper
read_poll_timeout_atomic(). This simplifies the code and ensures robust
timeout handling.

In particular, the helper guarantees a condition check after the
delay, even if the delay exceeds the timeout, avoiding spurious
timeout errors under load or preemption.

Signed-off-by: Martin Aberer <martin.aberer@bachmann.info>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Andi Shyti <andi.shyti@kernel.org>
Link: https://lore.kernel.org/r/20260324140556.2249039-1-martin.aberer@bachmann.info
3 weeks agoarm64: dts: lx2160a-cex7/lx2162a-sr-som: fix usd-cd & gpio pinmux
Josua Mayer [Tue, 24 Mar 2026 12:40:55 +0000 (13:40 +0100)] 
arm64: dts: lx2160a-cex7/lx2162a-sr-som: fix usd-cd & gpio pinmux

Commit 8a1365c7bbc1 ("arm64: dts: lx2160a: add pinmux and i2c gpio to
support bus recovery") introduced pinmux nodes for lx2160 i2c
interfaces, allowing runtime change between i2c and gpio functions
implementing bus recovery.

However, the dynamic configuration area (overwrite MUX) used by the
pinctrl-single driver initially reads as zero and does not reflect the
actual hardware state set by the Reset Configuration Word (RCW) at
power-on.

Because multiple groups of pins are configured from a single 32-bit
register, the first write from the pinctrl driver unintentionally clears
all other bits to zero.

For example, on the LX2162A Clearfog, RCWSR12 is initialized to
0x08000006. When any i2c pinmux is applied, it clears all other fields.
This inadvertently disables SD card-detect (IIC2_PMUX) and some GPIOs
(SDHC1_DIR_PMUX):

LX2162-CF RCWSR12: 0b0000100000000000 0000000000000110
IIC2_PMUX              |||   |||   || |   |||   |||XXX : I2C/GPIO/CD-WP
SDHC1_DIR_PMUX         XXX   |||   || |   |||   |||    : SDHC/GPIO/SPI

Reverting the commit in question was considered but bus recovery is an
important feature.

Instead add pinmux nodes for those pins that were unintentionally
reconfigured on SolidRun LX2160A Clearfog-CX and LX2162A Clearfog
boards.

Fixes: 8a1365c7bbc1 ("arm64: dts: lx2160a: add pinmux and i2c gpio to support bus recovery")
Cc: stable@vger.kernel.org
Signed-off-by: Josua Mayer <josua@solid-run.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
3 weeks agoarm64: dts: freescale: imx8mp-moduline-display-106: add typec-power-opmode property
Xu Yang [Thu, 12 Mar 2026 07:16:09 +0000 (15:16 +0800)] 
arm64: dts: freescale: imx8mp-moduline-display-106: add typec-power-opmode property

Add typec-power-opmode property to avoid dtbs_check warning.

Signed-off-by: Xu Yang <xu.yang_2@nxp.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
3 weeks agoarm64: dts: imx8mp-tqma8mpql: Add DT overlays to explicit list
Alexander Stein [Tue, 24 Mar 2026 07:58:41 +0000 (08:58 +0100)] 
arm64: dts: imx8mp-tqma8mpql: Add DT overlays to explicit list

Armbian installs DT overlays using dtbs_install. For it to work all
the overlays have to be added to dtb-y explicitly.
Add the overlays for platforms supported by Armbian.

Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
3 weeks agoarm64: dts: imx8mp-evk: Specify ADV7535 register addresses
Liu Ying [Tue, 24 Mar 2026 05:52:03 +0000 (13:52 +0800)] 
arm64: dts: imx8mp-evk: Specify ADV7535 register addresses

MIPI DSI to HDMI bridge ADV7535 CEC default register address is 0x3c
on an I2C bus.  And, OV5640 camera uses the same address on the same
I2C bus.  To resolve this conflict, use 0x3b as ADV7535 CEC register
address by specifying all ADV7535 register addresses.

Fixes: 6f6c18cba16f ("arm64: dts: imx8mp-evk: add camera ov5640 and related nodes")
Signed-off-by: Liu Ying <victor.liu@nxp.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
3 weeks agoarm64: dts: imx8dxl-evk: Use audio-graph-card2 for wm8960-2 and wm8960-3
Shengjiu Wang [Tue, 17 Mar 2026 05:37:38 +0000 (13:37 +0800)] 
arm64: dts: imx8dxl-evk: Use audio-graph-card2 for wm8960-2 and wm8960-3

The sound card wm8960-2 and wm8960-3 only support capture mode for the
reason of connection on the EVK board. But fsl-asoc-card don't support
capture_only setting, the sound card creation will fail.

fsl-sai 59060000.sai: Missing dma channel for stream: 0
fsl-sai 59060000.sai: ASoC error (-22): at snd_soc_pcm_component_new() on 59060000.sai
fsl-sai 59070000.sai: Missing dma channel for stream: 0
fsl-sai 59070000.sai: ASoC error (-22): at snd_soc_pcm_component_new() on 59070000.sai

so switch to use audio-graph-card2 which supports 'capture_only'
property for wm8960-2 and wm8960-3 cards.

Fixes: b41c45eb990a ("arm64: dts: imx8dxl-evk: add audio nodes")
Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
3 weeks agoarm64: dts: imx943-evk: Add pf09/53 thermal zone
Peng Fan [Tue, 24 Mar 2026 05:44:13 +0000 (13:44 +0800)] 
arm64: dts: imx943-evk: Add pf09/53 thermal zone

Add PF09 and PF53 thermal nodes.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
3 weeks agoarm64: dts: imx943-evk: Add fan node and enable active cooling on A55
Florin Leotescu [Tue, 24 Mar 2026 05:44:12 +0000 (13:44 +0800)] 
arm64: dts: imx943-evk: Add fan node and enable active cooling on A55

Add pwm fan node and use it for A55 cooling.

Signed-off-by: Florin Leotescu <florin.leotescu@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
3 weeks agoarm64: dts: imx943-evk: Add nxp,ctrl-ids for scmi_misc
Peng Fan [Tue, 24 Mar 2026 05:44:11 +0000 (13:44 +0800)] 
arm64: dts: imx943-evk: Add nxp,ctrl-ids for scmi_misc

Add nxp,ctrl-ids for scmi_misc to support wakeup from the peripherals.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
3 weeks agoarm64: dts: imx943: Add thermal support
Joy Zou [Tue, 24 Mar 2026 05:44:10 +0000 (13:44 +0800)] 
arm64: dts: imx943: Add thermal support

Add A55 and ANA thermal including cooling-maps.

Signed-off-by: Joy Zou <joy.zou@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
3 weeks agoarm64: dts: imx94: Add SCMI sensor/lmm/cpu nodes
Peng Fan [Tue, 24 Mar 2026 05:44:09 +0000 (13:44 +0800)] 
arm64: dts: imx94: Add SCMI sensor/lmm/cpu nodes

Add SCMI sensor/lmm/cpu nodes to allow Linux use thermal, i.MX System
Manager Logical Machine API and CPU API

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
3 weeks agoarm64: dts: imx94: Add V2X/ELE mailbox nodes
Peng Fan [Tue, 24 Mar 2026 05:44:08 +0000 (13:44 +0800)] 
arm64: dts: imx94: Add V2X/ELE mailbox nodes

Add V2X and ELE Message Unit nodes for i.MX94.

One extra V2X MU which is dedicated for V2X fast crypto engine is not
included, because it requires a new compatible string.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
3 weeks agoarm64: dts: imx94: Update pin headers
Ranjani Vaidyanathan [Tue, 24 Mar 2026 05:44:07 +0000 (13:44 +0800)] 
arm64: dts: imx94: Update pin headers

Update the pin headers to include pins that has special mux options:
The MUX value field in the IOMUX table is extended to 16 bits where
the lower 8 bits represent the current IOMUX value and the upper
8 bits represent the new extended mux.

Signed-off-by: Ranjani Vaidyanathan <ranjani.vaidyanathan@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
3 weeks agoarm64: dts: imx8mp-frdm: add sd, ethernet, wifi, usb and hdmi support
Fabian Pfitzner [Wed, 25 Mar 2026 16:01:49 +0000 (17:01 +0100)] 
arm64: dts: imx8mp-frdm: add sd, ethernet, wifi, usb and hdmi support

Add support for the following new features:

- SD Card
- Ethernet (FEC + EQOS)
- Wifi
- USB
- HDMI

Signed-off-by: Fabian Pfitzner <f.pfitzner@pengutronix.de>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
3 weeks agoarm64: dts: freescale: imx95-verdin: Add Yavia carrier board
Ernest Van Hoecke [Wed, 25 Mar 2026 14:46:07 +0000 (15:46 +0100)] 
arm64: dts: freescale: imx95-verdin: Add Yavia carrier board

Add support for the Verdin i.MX95 SoM mated with the Yavia carrier
board.

Link: https://www.toradex.com/computer-on-modules/verdin-arm-family/nxp-imx95
Link: https://www.toradex.com/products/carrier-board/yavia
Signed-off-by: Ernest Van Hoecke <ernest.vanhoecke@toradex.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
3 weeks agoarm64: dts: freescale: imx95-verdin: Add Mallow carrier board
Ernest Van Hoecke [Wed, 25 Mar 2026 14:46:06 +0000 (15:46 +0100)] 
arm64: dts: freescale: imx95-verdin: Add Mallow carrier board

Add support for the Verdin i.MX95 SoM mated with the Mallow carrier
board.

Link: https://www.toradex.com/computer-on-modules/verdin-arm-family/nxp-imx95
Link: https://www.toradex.com/products/carrier-board/mallow-carrier-board
Signed-off-by: Ernest Van Hoecke <ernest.vanhoecke@toradex.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
3 weeks agoarm64: dts: freescale: imx95-verdin: Add Ivy carrier board
Ernest Van Hoecke [Wed, 25 Mar 2026 14:46:05 +0000 (15:46 +0100)] 
arm64: dts: freescale: imx95-verdin: Add Ivy carrier board

Add support for the Verdin i.MX95 SoM mated with the Ivy carrier board.

Link: https://www.toradex.com/computer-on-modules/verdin-arm-family/nxp-imx95
Link: https://www.toradex.com/products/carrier-board/ivy-carrier-board
Signed-off-by: Ernest Van Hoecke <ernest.vanhoecke@toradex.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
3 weeks agoarm64: dts: freescale: imx95-verdin: Add Dahlia carrier board
Ernest Van Hoecke [Wed, 25 Mar 2026 14:46:04 +0000 (15:46 +0100)] 
arm64: dts: freescale: imx95-verdin: Add Dahlia carrier board

Add support for the Verdin i.MX95 mated with the Verdin Dahlia carrier
board.

Link: https://www.toradex.com/computer-on-modules/verdin-arm-family/nxp-imx95
Link: https://www.toradex.com/products/carrier-board/dahlia-carrier-board-kit
Signed-off-by: Ernest Van Hoecke <ernest.vanhoecke@toradex.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
3 weeks agoarm64: dts: freescale: Add Verdin iMX95 support
Ernest Van Hoecke [Wed, 25 Mar 2026 14:46:03 +0000 (15:46 +0100)] 
arm64: dts: freescale: Add Verdin iMX95 support

Add support for the Toradex Verdin iMX95 and its development carrier
board.

The module consists of an NXP i.MX95 family SoC, up to 16GB LPDDR4x RAM,
up to 128GB of storage, a USB 3.2 OTG and USB 2.0 Host, a Gigabit
Ethernet PHY, an I2C EEPROM and Temperature Sensor, an RX8130 RTC, an
I3C bus, one Quad lane CSI interface, one Quad lane DSI or CSI
interface, one LVDS interface (one or two channels), and some optional
addons: TPM 2.0, and a WiFi/BT module.

Link: https://www.toradex.com/computer-on-modules/verdin-arm-family/nxp-imx95
Link: https://www.toradex.com/products/carrier-board/verdin-development-board-kit
Co-developed-by: Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
Signed-off-by: Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
Co-developed-by: Francesco Dolcini <francesco.dolcini@toradex.com>
Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
Signed-off-by: Ernest Van Hoecke <ernest.vanhoecke@toradex.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
3 weeks agoarm64: dts: imx8mp-tqma8mpql-mba8mp-ras314: add vcc supply for BT device
Alexander Stein [Mon, 23 Mar 2026 12:59:50 +0000 (13:59 +0100)] 
arm64: dts: imx8mp-tqma8mpql-mba8mp-ras314: add vcc supply for BT device

Add the vcc power supply for the BT device. Fixes the warning:
btnxpuart serial0-0: supply vcc not found, using dummy regulator

Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
3 weeks agoarm64: dts: freescale: imx93-tqma9352-mba93xxla-mini: Add WLAN/BT overlay
Martin Schmiedel [Thu, 19 Mar 2026 12:50:10 +0000 (13:50 +0100)] 
arm64: dts: freescale: imx93-tqma9352-mba93xxla-mini: Add WLAN/BT overlay

This overlay enables the LWB5+ M.2 wlan module from ezurio.

Signed-off-by: Martin Schmiedel <Martin.Schmiedel@tq-group.com>
Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
3 weeks agoarm64: dts: freescale: add initial device tree for TQMa93xx/MBa93xxLA-MINI
Martin Schmiedel [Thu, 19 Mar 2026 12:50:09 +0000 (13:50 +0100)] 
arm64: dts: freescale: add initial device tree for TQMa93xx/MBa93xxLA-MINI

Add support for TQMa93xx module attached to MBa93xxLA-MINI board. TQMa93xx
is a SOM series using i.MX93 SOC.

The MBa93xxLA-MINI has a small form factor and is designed with WLAN,
Bluetooth and WWAN applications in mind.

Signed-off-by: Martin Schmiedel <Martin.Schmiedel@tq-group.com>
Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
3 weeks agoarm64: dts: freescale: tqma8mqml/tqma8mxnl-mba8mx: Add dual-channel LVDS overlay
Alexander Stein [Mon, 16 Mar 2026 13:58:19 +0000 (14:58 +0100)] 
arm64: dts: freescale: tqma8mqml/tqma8mxnl-mba8mx: Add dual-channel LVDS overlay

Add an overlay for the supported LVDS display AUO G133HAN01. Apply
it for both TQMa8MxML and TQMa8MxNL.

Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
3 weeks agoarm64: dts: mba8mx: Add DSI->LVDS bridge IRQ
Alexander Stein [Mon, 16 Mar 2026 13:58:18 +0000 (14:58 +0100)] 
arm64: dts: mba8mx: Add DSI->LVDS bridge IRQ

Now that the bindings supports IRQ, add the IRQ line. Add a GPIO label
as well.

Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
3 weeks agoarm64: dts: imx95-15x15-evk: remove regulator-always-on for reg_m2_pwr
Sherry Sun [Tue, 17 Mar 2026 03:04:18 +0000 (11:04 +0800)] 
arm64: dts: imx95-15x15-evk: remove regulator-always-on for reg_m2_pwr

Now we use vpcie3v3aux-supply to keep 3.3Vaux supply enabled for the
entire PCIe controller lifecycle, no need regulator-always-on property.

Signed-off-by: Sherry Sun <sherry.sun@nxp.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
3 weeks agoarm64: dts: imx952-evk: Add PDM microphone sound card support
Shengjiu Wang [Mon, 16 Mar 2026 02:14:39 +0000 (10:14 +0800)] 
arm64: dts: imx952-evk: Add PDM microphone sound card support

Add PDM micphone sound card support, configure the pinmux.

This sound card supports recording sound from PDM microphone
and convert the PDM format data to PCM data.

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
3 weeks agoarm64: dts: imx952-evk: Add bt-sco sound card support
Shengjiu Wang [Mon, 16 Mar 2026 02:14:38 +0000 (10:14 +0800)] 
arm64: dts: imx952-evk: Add bt-sco sound card support

Add bt-sco sound card, which is used by BT HFP case.
It supports wb profile as default.

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
3 weeks agoarm64: dts: imx952-evk: Add sound-wm8962 support
Shengjiu Wang [Mon, 16 Mar 2026 02:14:37 +0000 (10:14 +0800)] 
arm64: dts: imx952-evk: Add sound-wm8962 support

Add wm8962 sound card. By connecting with ASRC1, the sound card support
sample rate conversion. ASRC2 is also enabled, which can provide memory
to memory user interface.

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
3 weeks agoarm64: dts: imx952: Add audio device nodes
Shengjiu Wang [Mon, 16 Mar 2026 02:14:36 +0000 (10:14 +0800)] 
arm64: dts: imx952: Add audio device nodes

Add audio device nodes, include SAI, MICFIL, ASRC, Audio Mixer.

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
3 weeks agoarm64: dts: imx95-var-dart: Add support for Variscite Sonata board
Stefano Radaelli [Fri, 13 Mar 2026 17:47:03 +0000 (18:47 +0100)] 
arm64: dts: imx95-var-dart: Add support for Variscite Sonata board

Add device tree support for the Variscite Sonata carrier board with
the DART-MX95 system on module.

The Sonata board includes
- uSD Card support
- USB ports and OTG
- Additional Gigabit Ethernet interface
- 10Gb Ethernet SFP+ connector
- Uart interfaces
- OV5640 Camera support
- GPIO Expanders
- RTC module
- TPM module
- PCIE support

Link: https://variscite.com/carrier-boards/sonata-board/
Signed-off-by: Stefano Radaelli <stefano.r@variscite.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
3 weeks agoarm64: dts: freescale: Add support for Variscite DART-MX95
Stefano Radaelli [Fri, 13 Mar 2026 17:47:02 +0000 (18:47 +0100)] 
arm64: dts: freescale: Add support for Variscite DART-MX95

Add device tree support for the Variscite DART-MX95 system on module.
This SOM is designed to be used with various carrier boards.

The module includes:
- NXP i.MX95 MPU processor
- Up to 16GB of LPDDR5 memory
- Up to 128GB of eMMC storage memory
- Integrated 10/100/1000 Mbps Ethernet Transceiver
- Codec audio WM8904
- WIFI6 dual-band 802.11ax/ac/a/b/g/n with optional 802.15.4 and Bluetooth

Only SOM-specific peripherals are enabled by default. Carrier board
specific interfaces are left disabled to be enabled in the respective
carrier board device trees.

Link: https://variscite.com/system-on-module-som/i-mx-9/i-mx-95/dart-mx95/
Signed-off-by: Stefano Radaelli <stefano.r@variscite.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
3 weeks agoarm64: dts: imx91-var-dart: Add support for Variscite Sonata board
Stefano Radaelli [Fri, 13 Mar 2026 16:20:03 +0000 (17:20 +0100)] 
arm64: dts: imx91-var-dart: Add support for Variscite Sonata board

Add device tree support for the Variscite Sonata carrier board with
the DART-MX91 system on module.

The Sonata board includes
- uSD Card support
- USB ports and OTG
- Additional Gigabit Ethernet interface
- Uart interfaces
- GPIO Expanders
- RTC module
- TPM module

Link: https://variscite.com/carrier-boards/sonata-board/
Signed-off-by: Stefano Radaelli <stefano.r@variscite.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
3 weeks agoarm64: dts: freescale: Add support for Variscite DART-MX91
Stefano Radaelli [Fri, 13 Mar 2026 16:20:02 +0000 (17:20 +0100)] 
arm64: dts: freescale: Add support for Variscite DART-MX91

Add device tree support for the Variscite DART-MX91 system on module.
This SOM is designed to be used with various carrier boards.

The module includes:
- NXP i.MX91 MPU processor
- Up to 2GB of LPDDR4 memory
- Up to 128GB of eMMC storage memory
- Integrated 10/100/1000 Mbps Ethernet Transceiver
- Codec audio WM8904
- WIFI6 dual-band 802.11ax/ac/a/b/g/n with optional 802.15.4 and Bluetooth

Only SOM-specific peripherals are enabled by default. Carrier board
specific interfaces are left disabled to be enabled in the respective
carrier board device trees.

Link: https://variscite.com/system-on-module-som/i-mx-9/i-mx-91/dart-mx91/
Signed-off-by: Stefano Radaelli <stefano.r@variscite.com>
Reviewed-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
3 weeks agoarm64: dts: imx95: Move funnel outside from soc
Alexander Stein [Fri, 13 Mar 2026 14:13:04 +0000 (15:13 +0100)] 
arm64: dts: imx95: Move funnel outside from soc

The 'funnel' node does not contain a register range, so it should
be placed outside of the soc node to fix schema warnings from
simple-bus.yaml.

Change is similar to commit 9cfe3c892b761 ("arm64: dts: imx8mp: Move
funnel outside from soc")

Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
3 weeks agoarm64: dts: imx8mn-tqma8mqnl-mba8mx: LVDS overlay: Reduce DSI burst clock to 600Mhz
Alexander Stein [Fri, 13 Mar 2026 07:10:25 +0000 (08:10 +0100)] 
arm64: dts: imx8mn-tqma8mqnl-mba8mx: LVDS overlay: Reduce DSI burst clock to 600Mhz

The DSI burst clock frequency is too high resulting in flickering. Reduce
the frequency.

While at it, remove the burst clock from board configuration as it is
display specific.

Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
3 weeks agoarm64: dts: imx8mm-tqma8mqml-mba8mx: LVDS overlay: Reduce DSI burst clock to 600Mhz
Alexander Stein [Fri, 13 Mar 2026 07:10:24 +0000 (08:10 +0100)] 
arm64: dts: imx8mm-tqma8mqml-mba8mx: LVDS overlay: Reduce DSI burst clock to 600Mhz

The DSI burst clock frequency is too high resulting in flickering. Reduce
the frequency.

While at it, remove the burst clock from board configuration as it is
display specific.

Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
3 weeks agoarm64: dts: imx8mm: Explicitly set DSI_PHY_REF clock as a child of CLK_24M
Alexander Stein [Fri, 13 Mar 2026 07:10:23 +0000 (08:10 +0100)] 
arm64: dts: imx8mm: Explicitly set DSI_PHY_REF clock as a child of CLK_24M

Since commit a0deedcc0cf0 ("arm64: dts: imx8mm: Slow default video_pll1
clock rate") and commit 5fe6ec93f10b0 ("clk: imx8mm: Let
IMX8MM_CLK_LCDIF_PIXEL set parent rate") VIDEO_PLL1 is dynamically
programmed by CLK_LCDIF_PIXEL.

On imx8mm-tqma8mqml-mba8mx-lvds-tm070jvhg33.dtso this results in a
VIDEO_PLL1 frequency of 68.2 MHz and DSI_PHY_REF of 17.05MHz (1/4).
Instead use the 24 MHz clock as parent for DSI PHY reference clock.

Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
3 weeks agoarm64: dts: freescale: add support for solidrun i.mx8mm som and evb
Josua Mayer [Fri, 13 Mar 2026 12:31:00 +0000 (14:31 +0200)] 
arm64: dts: freescale: add support for solidrun i.mx8mm som and evb

Add support for the SolidRun i.MX8M Mini SoM on HummingBoard Ripple.

The SoM features:
- 1Gbps Ethernet with PHY
- eMMC
- 1/2GB DDR
- NPU (assembly option)
- WiFi + Bluetooth

The HummingBoard Ripple features:
- 2x USB-2.0 Type-A connector
- 1Gbps RJ45 Ethernet with PoE
- microSD connector
- microHDMI connector
- mpcie connector with USB-2.0 interface + SIM card holder
- microUSB connector for console (using fdtdi chip)
- RTC with backup battery

Signed-off-by: Josua Mayer <josua@solid-run.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
3 weeks agoarm64: dts: freescale: add support for solidrun solidsense-n8 board
Josua Mayer [Fri, 13 Mar 2026 12:30:59 +0000 (14:30 +0200)] 
arm64: dts: freescale: add support for solidrun solidsense-n8 board

Add support for the SolidRun SolidSense N8 Compact.

The board is designed around the i.MX8MN SoC and comes as a complete
product including enclosure and labels.

Features:
- USB-2.0 Type A connector
- 1Gbps RJ45 Ethernet with PoE
- microSD connector
- eMMC
- Cellular Modem + SIM holder
- WiFi + Bluetooth
- RS485
- CAN
- 802.15.1 radio
- supercapacitor backup power supply

This is a headless design without display.

The board includes an internal expansion connector for daughterboards
which may be described by dt addon.

The supercap is not currently described due to lack of suitable bindings.
Vendor BSP uses gpio-keys driver to trigger shutdown on power loss.

Signed-off-by: Josua Mayer <josua@solid-run.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
3 weeks agoarm64: dts: imx8mp-hummingboard-iiot: add dt overlays for muxable ports
Josua Mayer [Fri, 13 Mar 2026 12:30:58 +0000 (14:30 +0200)] 
arm64: dts: imx8mp-hummingboard-iiot: add dt overlays for muxable ports

The SolidRun i.MX8MP HummingBoard IIoT has a variety of connectors, and
configurable ports:

- 2x RS232
- 2x RS485
- DSI Panel Connector
- LVDS Panel Connector

RS232 and RS485 each share a single UART from the SoC via a mux, which
are configured from the base dts for RS232 by default.

Provide addons for:

1. Reconfigure UART A from RS232 to RS485.
2. Reconfigure UART B from RS232 to RS485.
3. Configure DSI Connector for Winstar WJ70N3TYJHMNG0 Panel.
4. Configure LVDS Connector for Winstar WF70A8SYJHLNGA Panel.

A variation of the base dtb is generated for each addon to ensure that
make dtbs_check covers the resulting dtb, and applying overlay is
tested during build.

It is however expected that bootloader should apply any combination of
addons based on runtime configuration.

Signed-off-by: Josua Mayer <josua@solid-run.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
3 weeks agoarm64: dts: freescale: add support for SolidRun i.MX8MP HummingBoard IIoT
Josua Mayer [Fri, 13 Mar 2026 12:30:57 +0000 (14:30 +0200)] 
arm64: dts: freescale: add support for SolidRun i.MX8MP HummingBoard IIoT

Introduce support for the SolidRun i.MX8MP HummingBoard IIoT platform.
This board is a new design based on the i.MX8MP System on Module and
does not share much hardware with previous HummingBoard variants.

It comes with some common features:
- 3x USB-3.0 Type A connector
- 2x 1Gbps RJ45 Ethernet
- USB Type-C Console Port
- microSD connector
- RTC with backup battery
- RGB Status LED
- 1x M.2 M-Key connector with PCI-E Gen. 3 x1
- 1x M.2 B-Key connector with USB-2.0/3.0 + SIM card holder
- 1x LVDS Display Connector
- 1x DSI Display Connector
- GPIO header
- 2x RS232/RS485 ports (configurable)
- 2x CAN

In addition there is a board-to-board expansion connector to support
custom daughter boards with access to SPI, a range of GPIOs and -
notably - CAN and UART. Both 2x CAN and 2x UART can be muxed either
to this b2b connector, or a terminal block connector on the base board.

The routing choice for UART and CAN is expressed through gpio
mux-controllers in DT and can be changed by applying dtb overlays.

Signed-off-by: Josua Mayer <josua@solid-run.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
3 weeks agoarm64: dts: imx8mm-var-som-symphony: Enable PCIe
Stefano Radaelli [Thu, 19 Mar 2026 18:40:31 +0000 (19:40 +0100)] 
arm64: dts: imx8mm-var-som-symphony: Enable PCIe

Enable PCIe support on the VAR-SOM Symphony carrier board by adding the
external reference clock, configuring the PHY and providing the required
clock and reset properties.

Signed-off-by: Stefano Radaelli <stefano.r@variscite.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
3 weeks agoarm64: dts: imx8mm-var-som-symphony: Enable I2C4
Stefano Radaelli [Thu, 19 Mar 2026 18:40:30 +0000 (19:40 +0100)] 
arm64: dts: imx8mm-var-som-symphony: Enable I2C4

Enable I2C4 on the Symphony carrier and add pinctrl configuration,
including GPIO-based bus recovery support.

Signed-off-by: Stefano Radaelli <stefano.r@variscite.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
3 weeks agoarm64: dts: imx8mm-var-som-symphony: Add TPM2 support
Stefano Radaelli [Thu, 19 Mar 2026 18:40:29 +0000 (19:40 +0100)] 
arm64: dts: imx8mm-var-som-symphony: Add TPM2 support

Add support for the TPM2 device on the VAR-SOM Symphony carrier board.

The ST33K TPM2 is connected over I2C, and A PCA6408 GPIO expander is
used to control the reset signal required to release the TPM from reset.

Add the PCA6408 GPIO expander and the ST33K TPM2 device node.

Signed-off-by: Stefano Radaelli <stefano.r@variscite.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
3 weeks agoarm64: dts: imx8mm-var-som-symphony: Enable uSD on USDHC2
Stefano Radaelli [Thu, 19 Mar 2026 18:40:28 +0000 (19:40 +0100)] 
arm64: dts: imx8mm-var-som-symphony: Enable uSD on USDHC2

Enable the microSD slot on the VAR-SOM Symphony carrier board.

Configure USDHC2 with card-detect GPIO, pinctrl states for the supported
bus speeds and the required VMMC supply.

Update the VMMC regulator to match the latest carrier revision by moving
the enable GPIO to GPIO4_IO22 and adding the required off-on delay.

Signed-off-by: Stefano Radaelli <stefano.r@variscite.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
3 weeks agoarm64: dts: imx8mm-var-som-symphony: Move USB configuration from SOM
Stefano Radaelli [Thu, 19 Mar 2026 18:40:27 +0000 (19:40 +0100)] 
arm64: dts: imx8mm-var-som-symphony: Move USB configuration from SOM

Move the USB controller configuration out of the i.MX8MM VAR-SOM dtsi
and into the VAR-SOM Symphony carrier board dts.

The SOM does not provide any USB connectors and carrier boards may
choose whether and how to route USB, therefore USB should be described
in the carrier-specific device tree instead of the SOM include.

While moving the nodes, align the Symphony USB description with the
carrier design by enabling both USB controllers, wiring USB1 to the
PTN5150 Type-C controller for dual-role operation, and updating the
PHY tuning and VBUS regulator pinctrl (including a sleep state).

Signed-off-by: Stefano Radaelli <stefano.r@variscite.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
3 weeks agoarm64: dts: freescale: imx8mm-var-som: Rework WiFi/BT and add legacy dts
Stefano Radaelli [Thu, 19 Mar 2026 18:40:26 +0000 (19:40 +0100)] 
arm64: dts: freescale: imx8mm-var-som: Rework WiFi/BT and add legacy dts

The VAR-SOM-MX8MM currently integrates the NXP IW61x wireless module,
providing WiFi over SDIO and Bluetooth over UART.

Move the wireless module configuration out of the base
imx8mm-var-som.dtsi and provide dedicated variant includes.
The IW61x configuration is moved to imx8mm-var-som-wifi-bt-iw61x.dtsi
and used by the Symphony evaluation board device tree.

A separate imx8mm-var-som-wifi-brcm-legacy.dtsi include is added to keep
the configuration for the legacy Broadcom SDIO WiFi module used on
earlier SOM revisions.

To preserve compatibility with older SOM revisions, add a separate
imx8mm-var-som-symphony-legacy.dtb, which disables the IW61x setup and
applies the Broadcom-specific configuration.

The Broadcom-based SOM revision is no longer in production, but support
is kept for existing users.

Signed-off-by: Stefano Radaelli <stefano.r@variscite.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
3 weeks agoarm64: dts: freescale: imx8mm-var-som: Add MCP251xFD CAN controller
Stefano Radaelli [Thu, 19 Mar 2026 18:40:25 +0000 (19:40 +0100)] 
arm64: dts: freescale: imx8mm-var-som: Add MCP251xFD CAN controller

Add support for the Microchip MCP251xFD CAN-FD controller connected
to the SPI bus on the i.MX8MM VAR-SOM.

The controller uses a 40 MHz external oscillator and requires an
interrupt line and a dedicated RX interrupt GPIO.

Add the fixed clock, the MCP251xFD device node with the required
properties, and the corresponding pinctrl configuration.

Signed-off-by: Stefano Radaelli <stefano.r@variscite.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
3 weeks agoarm64: dts: freescale: imx8mm-var-som: Add support for WM8904 audio codec
Stefano Radaelli [Thu, 19 Mar 2026 18:40:24 +0000 (19:40 +0100)] 
arm64: dts: freescale: imx8mm-var-som: Add support for WM8904 audio codec

The VAR-SOM-MX8MM can integrate the WM8904, a high-performance
ultra-low-power stereo codec optimized for portable audio applications.

Add the WM8904 device to the appropriate I2C bus, enable the SAI
peripheral, and introduce the sound node to expose the sound card to the
system.

Add I3C recovery gpio properties.

Signed-off-by: Stefano Radaelli <stefano.r@variscite.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
3 weeks agoarm64: dts: freescale: imx8mm-var-som: Update FEC support with MaxLinear PHY
Stefano Radaelli [Thu, 19 Mar 2026 18:40:23 +0000 (19:40 +0100)] 
arm64: dts: freescale: imx8mm-var-som: Update FEC support with MaxLinear PHY

Update the FEC Ethernet controller on the i.MX8MM VAR-SOM to match the
latest SOM hardware revision using the integrated MaxLinear MXL86110 PHY.

Add the PHY VDDIO supply regulator, adjust reset timings and add a
pinctrl sleep state for low-power operation.

The PHY LED signals originate on the SOM, but the actual LEDs are part
of the carrier implementation (RJ45 connector). Move the LED
configuration to the Symphony carrier device tree, matching the
evaluation board LED wiring.

Wake-on-LAN via magic packet is not supported at the VAR-SOM level and
is therefore not enabled in the SOM device tree nor in the official
evaluation carrier board configuration (symphony).
Designs requiring WoL support may enable it in their own carrier-specific
device trees if properly integrated at the hardware level.

Signed-off-by: Stefano Radaelli <stefano.r@variscite.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
3 weeks agoarm64: dts: freescale: imx8mm-var-som: Align fsl,pins tables
Stefano Radaelli [Thu, 19 Mar 2026 18:40:22 +0000 (19:40 +0100)] 
arm64: dts: freescale: imx8mm-var-som: Align fsl,pins tables

Reformat the fsl,pins tables in the i.MX8MM VAR-SOM device tree to use
consistent column alignment across all pinctrl groups.

Align the entries to match the formatting already used in the
pinctrl_fec1 group, which contains the longest pin definitions,
for improved readability and consistency.

No functional changes intended.

Signed-off-by: Stefano Radaelli <stefano.r@variscite.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
3 weeks agoarm64: dts: freescale: imx8mm-var-som: Move UART4 description to Symphony
Stefano Radaelli [Thu, 19 Mar 2026 18:40:21 +0000 (19:40 +0100)] 
arm64: dts: freescale: imx8mm-var-som: Move UART4 description to Symphony

The VAR-SOM-MX8MM module does not provide an onboard debug console.
UART4 is routed and exposed only on the Symphony carrier board, while
custom carrier designs may choose to expose a different UART.

Move the UART4 node from the SOM device tree to the
imx8mm-var-som-symphony.dts, keeping the SOM dtsi limited to hardware
present on the module itself.

Signed-off-by: Stefano Radaelli <stefano.r@variscite.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
3 weeks agoarm64: dts: freescale: imx: Drop CPU masks from GICv3 PPI interrupts
Geert Uytterhoeven [Wed, 4 Mar 2026 17:11:01 +0000 (18:11 +0100)] 
arm64: dts: freescale: imx: Drop CPU masks from GICv3 PPI interrupts

Unlike older GIC variants, the GICv3 DT bindings do not support
specifying a CPU mask in PPI interrupt specifiers.  Drop the masks.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
3 weeks agoarm64: dts: fsl-ls1028a: Drop CPU masks from GICv3 PPI interrupts
Geert Uytterhoeven [Wed, 4 Mar 2026 17:11:00 +0000 (18:11 +0100)] 
arm64: dts: fsl-ls1028a: Drop CPU masks from GICv3 PPI interrupts

Unlike older GIC variants, the GICv3 DT bindings do not support
specifying a CPU mask in PPI interrupt specifiers.  Drop the masks.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
3 weeks agoarm64: dts: imx8mp-kontron: Fix boot order for PMIC and RTC
Annette Kobou [Mon, 9 Mar 2026 08:57:43 +0000 (09:57 +0100)] 
arm64: dts: imx8mp-kontron: Fix boot order for PMIC and RTC

The PMIC provides a level-shifter for the I2C lines to the RTC. As the
level shifter needs to be enabled before the RTC can be accessed, make sure
that the PMIC driver is probed first.

As the PMIC also provides the supply voltage for the RTC through the 3.3V
regulator, simply express this in the DT to create the required dependency.

Avoid sporadic boot hangs that occurred when the RTC was accessed before
the level-shifter was enabled.

Fixes: 946ab10e3f40f ("arm64: dts: Add support for Kontron OSM-S i.MX8MP SoM and BL carrier board")
Signed-off-by: Annette Kobou <annette.kobou@kontron.de>
Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
3 weeks agoarm64: dts: freescale: imx93: Add Ethos-U65 NPU and SRAM nodes
Rob Herring (Arm) [Fri, 6 Mar 2026 20:31:02 +0000 (14:31 -0600)] 
arm64: dts: freescale: imx93: Add Ethos-U65 NPU and SRAM nodes

i.MX93 contains an Arm Ethos-U65 NPU. The NPU uses the internal SRAM for
temporary buffers. The SRAM is larger than 96KB, but that is all that is
available to non-secure world.

Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
Reviewed-by: Peter Robinson <pbrobinson@gmail.com>
Tested-by: Peter Robinson <pbrobinson@gmail.com> # Tested on a NXP
Signed-off-by: Frank Li <Frank.Li@nxp.com>
3 weeks agoarm64: dts: imx91-tqma9131-mba91xxca: Add LVDS display overlay
Alexander Stein [Fri, 13 Mar 2026 07:07:36 +0000 (08:07 +0100)] 
arm64: dts: imx91-tqma9131-mba91xxca: Add LVDS display overlay

Add support for Tianma TM070JVHG33 LVDS display on interface X11/X12 on
MBa91xxCA.

Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
3 weeks agoarm64: dts: imx91-tqma9131-mba91xxca: Add parallel display overlay
Alexander Stein [Fri, 13 Mar 2026 07:07:35 +0000 (08:07 +0100)] 
arm64: dts: imx91-tqma9131-mba91xxca: Add parallel display overlay

Add support for CDTech S070SWV29HG-DC44 display on parallel interface X3 on
MBa91xxCA.

Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
3 weeks agoarm64: dts: imx93-tqma9352-mba91xxca: Add LVDS display overlay
Alexander Stein [Fri, 13 Mar 2026 07:07:34 +0000 (08:07 +0100)] 
arm64: dts: imx93-tqma9352-mba91xxca: Add LVDS display overlay

This adds support for Tianma TM070JVHG33 LVDS display on interface X11/X12
on MBa91xxCA.

Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
3 weeks agoarm64: dts: imx93-tqma9352-mba91xxca: Add parallel display overlay
Alexander Stein [Fri, 13 Mar 2026 07:07:33 +0000 (08:07 +0100)] 
arm64: dts: imx93-tqma9352-mba91xxca: Add parallel display overlay

Add support for CDTech S070SWV29HG-DC44 display on parallel interface X3 on
MBa91xxCA.

Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
3 weeks agoarm64: dts: freescale: imx95-toradex-smarc: Support Cortex M7
Emanuele Ghidoli [Tue, 3 Mar 2026 21:01:07 +0000 (22:01 +0100)] 
arm64: dts: freescale: imx95-toradex-smarc: Support Cortex M7

Enable Cortex M7, the vring nodes, a mailbox and reserve DDR memory for
the M7. The remoteproc framework is so capable to load and run the M7
firmware.

Signed-off-by: Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
3 weeks agoarm64: dts: imx8mm-tqma8mqml-mba8mx-tm070jvhg33: Remove compatible from overlay
Alexander Stein [Fri, 13 Mar 2026 07:02:24 +0000 (08:02 +0100)] 
arm64: dts: imx8mm-tqma8mqml-mba8mx-tm070jvhg33: Remove compatible from overlay

Override of board compatible is unexpected, especially when the same dtso
override difference mainboard. So remove it and update the copyright year.

Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
3 weeks agoarm64: dts: imx8mn-tqma8mqnl-mba8mx-tm070jvhg33: Remove compatible from overlay
Alexander Stein [Fri, 13 Mar 2026 07:02:23 +0000 (08:02 +0100)] 
arm64: dts: imx8mn-tqma8mqnl-mba8mx-tm070jvhg33: Remove compatible from overlay

Override of board compatible is unexpected, especially when the same dtso
override difference mainboard. So remove it and update the copyright year.

Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
3 weeks agoarm64: dts: imx8mq-tqma8mq-mba8mx-tm070jvhg33: Remove compatible from overlay
Alexander Stein [Fri, 13 Mar 2026 07:02:22 +0000 (08:02 +0100)] 
arm64: dts: imx8mq-tqma8mq-mba8mx-tm070jvhg33: Remove compatible from overlay

Override of board compatible is unexpected, especially when the same dtso
override difference mainboard. So remove it and update the copyright year.

Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
3 weeks agoarm64: dts: imx8mp-tqma8mpql-mba8mpxl-tm070jvhg33: Remove compatible from overlay
Alexander Stein [Fri, 13 Mar 2026 07:02:21 +0000 (08:02 +0100)] 
arm64: dts: imx8mp-tqma8mpql-mba8mpxl-tm070jvhg33: Remove compatible from overlay

Override of board compatible is unexpected, especially when the same dtso
override difference mainboard. So remove it and update the copyright year.

Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
3 weeks agoarm64: dts: imx8mp-tqma8mpql-mba8mpxl-g133han01: Remove compatible from overlay
Alexander Stein [Fri, 13 Mar 2026 07:02:20 +0000 (08:02 +0100)] 
arm64: dts: imx8mp-tqma8mpql-mba8mpxl-g133han01: Remove compatible from overlay

Override of board compatible is unexpected, especially when the same dtso
override difference mainboard. So remove it and update the copyright year.

Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
3 weeks agoarm64: dts: freescale: Add NXP S32N79-RDB board support
Ciprian Marian Costea [Wed, 11 Mar 2026 08:11:54 +0000 (09:11 +0100)] 
arm64: dts: freescale: Add NXP S32N79-RDB board support

Add device tree support for the NXP S32N79 Reference Design Board
(RDB) [1].

The S32N79-RDB enables the following peripherals:
- PL011 UART controllers (uart0, uart5, uart6, uart7)
- uSDHC controller
- IRQ steering controller

The board has 32GB of DRAM memory with 28GB usable and 4GB reserved
for ECC logic.

[1] https://www.nxp.com/products/processors-and-microcontrollers/s32-automotive-platform/s32n-vehicle-super-integration-processors:S32N

Co-developed-by: Larisa Grigore <larisa.grigore@nxp.com>
Signed-off-by: Larisa Grigore <larisa.grigore@nxp.com>
Co-developed-by: Andra-Teodora Ilie <andra.ilie@nxp.com>
Signed-off-by: Andra-Teodora Ilie <andra.ilie@nxp.com>
Signed-off-by: Ciprian Marian Costea <ciprianmarian.costea@oss.nxp.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
3 weeks agoarm64: dts: freescale: Add NXP S32N79 SoC support
Ciprian Marian Costea [Wed, 11 Mar 2026 08:11:53 +0000 (09:11 +0100)] 
arm64: dts: freescale: Add NXP S32N79 SoC support

Add device tree support for the NXP S32N79 automotive SoC [1].

The S32N79 features eight Arm Cortex-A78AE cores organized in four
dual-core clusters, with a three-level cache hierarchy (L1/L2 per core,
L3 per dual-core cluster) and 32GB of DRAM memory. It includes an SMMUv3
for IOMMU functionality.

On S32N79 SoC, peripherals are organized into subsystems, such as:
- CIS (Coherent Interconnect Subsystem)
- COSS (Connectivity Subsystem)
- FSS (Foundation Subsystem)

This initial support includes basic peripherals:
- GICv3, SMMUv3 from CIS Subsystem
- PL011 UARTs and IRQ steering controller from COSS Subsystem
- uSDHC from FSS Subsystem

Clock and Pin multiplexing settings for the chip are managed over SCMI.

[1] https://www.nxp.com/products/processors-and-microcontrollers/s32-automotive-platform/s32n-vehicle-super-integration-processors:S32N

Co-developed-by: Larisa Grigore <larisa.grigore@nxp.com>
Signed-off-by: Larisa Grigore <larisa.grigore@nxp.com>
Co-developed-by: Andra-Teodora Ilie <andra.ilie@nxp.com>
Signed-off-by: Andra-Teodora Ilie <andra.ilie@nxp.com>
Co-developed-by: Andrei Cherechesu <andrei.cherechesu@nxp.com>
Signed-off-by: Andrei Cherechesu <andrei.cherechesu@nxp.com>
Signed-off-by: Ciprian Marian Costea <ciprianmarian.costea@oss.nxp.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
3 weeks agoarm64: dts: imx8mp-dhcom-pdk3: Use symbolic macro for IOMUXC_SAI2_TXC__GPIO4_IO25
Eduard Bostina [Mon, 9 Mar 2026 18:15:23 +0000 (20:15 +0200)] 
arm64: dts: imx8mp-dhcom-pdk3: Use symbolic macro for IOMUXC_SAI2_TXC__GPIO4_IO25

Currently, in order to configure IOMUXC_SAI2_TXC__GPIO4_IO25 a magic
raw value is written in this register. This makes the code not obvious
to read and modify.

Use the MX8MP_SION symbolic macro instead of the magic value to improve
code readability.

Signed-off-by: Eduard Bostina <egbostina@gmail.com>
Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
3 weeks agoarm64: dts: imx943-evk: add Type-C and USB related nodes
Xu Yang [Mon, 9 Mar 2026 10:08:07 +0000 (18:08 +0800)] 
arm64: dts: imx943-evk: add Type-C and USB related nodes

Add Type-C and USB related nodes. There are two Type-C ports, one is USB2
only and another is USB3.

Signed-off-by: Xu Yang <xu.yang_2@nxp.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
3 weeks agoarm64: dts: imx94: add USB nodes
Xu Yang [Mon, 9 Mar 2026 10:08:06 +0000 (18:08 +0800)] 
arm64: dts: imx94: add USB nodes

add USB2.0, USB3.0 controller and USB phy nodes.

Signed-off-by: Xu Yang <xu.yang_2@nxp.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
3 weeks agoarm64: dts: imx91: Remove TMU's superfluous sensor ID
Alexander Stein [Thu, 5 Mar 2026 16:42:22 +0000 (17:42 +0100)] 
arm64: dts: imx91: Remove TMU's superfluous sensor ID

Currently a sensor ID is added to the reference, but
thermal-sensor@44482000 has #thermal-sensor-cells = <0>, so parsing fails.
This also has the effect that other hwmon sensors (jc42) fail to probe.
Fix this by removing the superfluous sensor ID.

Fixes: f0ed0e844452 ("arm64: dts: imx91: Add thermal-sensor and thermal-zone support")
Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
3 weeks agoarm64: dts: tqma9352-mba91xxca: Change Ethernet PHY IRQ to IRQ_TYPE_LEVEL_LOW
Alexander Stein [Thu, 5 Mar 2026 11:10:37 +0000 (12:10 +0100)] 
arm64: dts: tqma9352-mba91xxca: Change Ethernet PHY IRQ to IRQ_TYPE_LEVEL_LOW

Ethernet PHY interrupt mode is level triggered. Adjust the mode
accordingly.

Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
3 weeks agoarm64: dts: tqma9352-mba93xx*: Change Ethernet PHY IRQ to IRQ_TYPE_LEVEL_LOW
Alexander Stein [Thu, 5 Mar 2026 11:10:36 +0000 (12:10 +0100)] 
arm64: dts: tqma9352-mba93xx*: Change Ethernet PHY IRQ to IRQ_TYPE_LEVEL_LOW

Ethernet PHY interrupt mode is level triggered. Adjust the mode
accordingly.

Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
3 weeks agoarm64: dts: imx8mp-frdm: Use symbolic macros for IOMUXC_SW_PAD_CTL_PAD
Daniel Baluta [Mon, 2 Mar 2026 13:38:05 +0000 (15:38 +0200)] 
arm64: dts: imx8mp-frdm: Use symbolic macros for IOMUXC_SW_PAD_CTL_PAD

Currently, in order to configure IOMUXC_SW_PAD_CTL_PAD a magic raw value
is written in this register. This makes code not obvious to read and
modify.

Use symbolic macros instead of the magic values to improve code
readability.

Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>