]> git.ipfire.org Git - thirdparty/linux.git/log
thirdparty/linux.git
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 weeks agoarm64: dts: imx8mp: Make MX8MP_I2C_DEFAULT independent on drive strength
Daniel Baluta [Mon, 2 Mar 2026 13:38:04 +0000 (15:38 +0200)] 
arm64: dts: imx8mp: Make MX8MP_I2C_DEFAULT independent on drive strength

Currently MX8MP_I2C_DEFAULT macro includes a fixed drive
strength (MX8MP_DSE_X6) thus limiting its use to only I2C
pins that require X6 drive.

There are many pinctrl configurations for I2C that use different
drive strength while still using the common I2C default configurations
(pull-up, Schmitt input, pull enable, SION).

So make the MX8MP_I2C_DEFAULT macro more flexible and reusable by removing
DSE_X6 drive strength from it's definition but add or it in all places
it is necessary.

Reviewed-by: Maud Spierings <maudspierings@gocontroll.com>
Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
4 weeks agoarm64: dts: freescale: imx8mp-tqma8mpql-mba8mp-ras314: fix UART1 RTS/CTS muxing
Nora Schiffer [Mon, 2 Mar 2026 08:45:48 +0000 (09:45 +0100)] 
arm64: dts: freescale: imx8mp-tqma8mpql-mba8mp-ras314: fix UART1 RTS/CTS muxing

UART1 operates in DCE mode, but the RTS/CTS pins were incorrectly
configured using the DTE pinmux setting.

Correct the pinmux to match DCE mode. Switching the RTS and CTS signals
is fine for this board, as UART1 is routed to a pin header. Existing
functionality is unaffected, as RTS/CTS could never have worked with
the incorrect pinmux.

Fixes: ddabb3ce3f90 ("arm64: dts: freescale: add TQMa8MPQL on MBa8MP-RAS314")
Signed-off-by: Nora Schiffer <nora.schiffer@ew.tq-group.com>
Reviewed-by: Alexander Stein <alexander.stein@ew.tq-group.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
4 weeks agoarm64: dts: imx93-9x9-qsb: Add ontat,kd50g21-40nt-a1 panel
Liu Ying [Fri, 27 Feb 2026 02:14:05 +0000 (10:14 +0800)] 
arm64: dts: imx93-9x9-qsb: Add ontat,kd50g21-40nt-a1 panel

Support ontat,kd50g21-40nt-a1 DPI panel on i.MX93 9x9 QSB.

The panel connects with the QSB board through Adafruit DPI Display
Kippah adapter board[1].

Link: https://learn.adafruit.com/adafruit-dpi-display-kippah-ttl-tft/downloads
Signed-off-by: Liu Ying <victor.liu@nxp.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
4 weeks agoarm64: dts: imx8mp-beacon: remove fallback ethernet-phy-ieee802.3-c22
Frank Li [Thu, 26 Feb 2026 20:19:47 +0000 (15:19 -0500)] 
arm64: dts: imx8mp-beacon: remove fallback ethernet-phy-ieee802.3-c22

Remove the fallback compatible string "ethernet-phy-ieee802.3-c22" from the
Ethernet PHY node to fix below CHECK_DTB warning:

arch/arm64/boot/dts/freescale/imx8mp-beacon-kit.dtb: ethernet-phy@3 (ethernet-phy-id0022.1640): compatible: ['ethernet-phy-id0022.1640', 'ethernet-phy-ieee802.3-c22'] is too long
        from schema $id: http://devicetree.org/schemas/net/micrel,gigabit.yaml

Signed-off-by: Frank Li <Frank.Li@nxp.com>
4 weeks agoarm64: dts: imx8mp-ab2: add support for NXP i.MX8MP audio board (version 2)
Shengjiu Wang [Fri, 27 Feb 2026 01:58:37 +0000 (09:58 +0800)] 
arm64: dts: imx8mp-ab2: add support for NXP i.MX8MP audio board (version 2)

i.MX Audio Board is a configurable and functional audio processing
platform. Integrating a variety of audio input and output interfaces into
the system, the i.MX Audio Board supports HDMI input, HDMI eARC,
S/PDIF I/O, 2-ch ADC line-in, 24-ch DAC line-out and more. Based on these
features, rich audio application cases can be realized.

This is a basic device tree supporting with i.MX8M Plus SoC and Audio
board (version 2).

- Quad Cortex-A53
- 6GB LPDDR4 DRAM
- PCA9450C PMIC with regulators
- NXP PCAL6416 GPIO expanders
- RGB LEDs via GPIO expander
- I2C1, I2C2, I2C3 controllers
- UART2 (console) and UART3 (with RTS/CTS)
- USDHC3 (8-bit eMMC)
- SNVS power key (onboard power button)
- Three DAC (AK4458)
- One ADC (AK5552)

Squash Correct PAD settings (enable PUE and PU) for PMIC_nINT (GPIO1_IO3)
to avoid irq storm.

Signed-off-by: Viorel Suman <viorel.suman@nxp.com>
Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
4 weeks agoarm64: dts: imx8mp-data-modul-edm-sbc: Correct PAD settings for PMIC_nINT
Peng Fan [Thu, 26 Mar 2026 07:28:16 +0000 (15:28 +0800)] 
arm64: dts: imx8mp-data-modul-edm-sbc: Correct PAD settings for PMIC_nINT

PMIC_nINT is low level triggered, but the current PAD settings is
PE=0,PUE=0,FSEL_1_FAST_SLEW_RATE=1,SION=1. So PAD needs to be configured
as PULL UP with PULL Enable, no need SION. Correct it.

Fixes: 562d222f23f0f ("arm64: dts: imx8mp: Add support for Data Modul i.MX8M Plus eDM SBC")
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
4 weeks agoarm64: dts: imx8mp-dhcom-som: Correct PAD settings for PMIC_nINT
Peng Fan [Thu, 26 Mar 2026 07:28:15 +0000 (15:28 +0800)] 
arm64: dts: imx8mp-dhcom-som: Correct PAD settings for PMIC_nINT

PMIC_nINT is low level triggered, but the current PAD settings is
PE=0,PUE=0,FSEL_1_FAST_SLEW_RATE=1,SION=1. So PAD needs to be configured
as PULL UP with PULL Enable, no need SION. Correct it.

Fixes: 8d6712695bc8e ("arm64: dts: imx8mp: Add support for DH electronics i.MX8M Plus DHCOM and PDK2")
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
4 weeks agoarm64: dts: imx8mp-ultra-mach-sbc: Correct PAD settings for PMIC_nINT
Peng Fan [Thu, 26 Mar 2026 07:28:14 +0000 (15:28 +0800)] 
arm64: dts: imx8mp-ultra-mach-sbc: Correct PAD settings for PMIC_nINT

With commit 5d0efaf47ee90 ("regulator: pca9450: Correct interrupt type"),
there might be interrupt storm for this board. Need to set PAD PUE and PU
together to make pull up work properly.

Fixes: d1c1400bd3b8b ("arm64: dts: imx8mp: Add initial support for Ultratronik imx8mp-ultra-mach-sbc board")
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
4 weeks agoarm64: dts: imx8mp-sr-som: Correct PAD settings for PMIC_nINT
Peng Fan [Thu, 26 Mar 2026 07:28:13 +0000 (15:28 +0800)] 
arm64: dts: imx8mp-sr-som: Correct PAD settings for PMIC_nINT

With commit 5d0efaf47ee90 ("regulator: pca9450: Correct interrupt type"),
there might be interrupt storm for this board. Need to set PAD PUE and PU
together to make pull up work properly.

Fixes: a009c0c66ecb4 ("arm64: dts: add description for solidrun imx8mp som and cubox-m")
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Josua Mayer <josua@solid-run.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
4 weeks agoarm64: dts: imx8mp-nitrogen-som: Correct PAD settings for PMIC_nINT
Peng Fan [Thu, 26 Mar 2026 07:28:12 +0000 (15:28 +0800)] 
arm64: dts: imx8mp-nitrogen-som: Correct PAD settings for PMIC_nINT

With commit 5d0efaf47ee90 ("regulator: pca9450: Correct interrupt type"),
there might be interrupt storm for this board. Need to set PAD PUE and PU
together to make pull up work properly.

Fixes: ab4d874c9f44e ("arm64: dts: imx8mp: Add device tree for Nitrogen8M Plus ENC Carrier Board")
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
4 weeks agoarm64: dts: imx8mp-aristainetos3a-som-v1: Correct PAD settings for PMIC_nINT
Peng Fan [Thu, 26 Mar 2026 07:28:11 +0000 (15:28 +0800)] 
arm64: dts: imx8mp-aristainetos3a-som-v1: Correct PAD settings for PMIC_nINT

With commit 5d0efaf47ee90 ("regulator: pca9450: Correct interrupt type"),
there might be interrupt storm for this board. Need to set PAD PUE and PU
together to make pull up work properly.

Fixes: eead8f3536d5c ("arm64: dts: imx8mp: add aristainetos3 board support")
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
4 weeks agoarm64: dts: imx8mp-edm-g: Correct PAD settings for PMIC_nINT
Peng Fan [Thu, 26 Mar 2026 07:28:10 +0000 (15:28 +0800)] 
arm64: dts: imx8mp-edm-g: Correct PAD settings for PMIC_nINT

With commit 5d0efaf47ee90 ("regulator: pca9450: Correct interrupt type"),
there might be interrupt storm for this board. Need to set PAD PUE and PU
together to make pull up work properly.

Fixes: 95e882c021c8b ("arm64: dts: imx8mp: Add TechNexion EDM-G-IMX8M-PLUS SOM on WB-EDM-G carrier board")
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
4 weeks agoarm64: dts: imx8mp-icore-mx8mp: Correct PAD settings for PMIC_nINT
Peng Fan [Thu, 26 Mar 2026 07:28:09 +0000 (15:28 +0800)] 
arm64: dts: imx8mp-icore-mx8mp: Correct PAD settings for PMIC_nINT

With commit 5d0efaf47ee90 ("regulator: pca9450: Correct interrupt type"),
there might be interrupt storm for this board. Need to set PAD PUE and PU
together to make pull up work properly.

Fixes: eefe06b295087 ("arm64: dts: imx8mp: Add Engicam i.Core MX8M Plus SoM")
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
4 weeks agoarm64: dts: imx8mp-navqp: Correct PAD settings for PMIC_nINT
Peng Fan [Thu, 26 Mar 2026 07:28:07 +0000 (15:28 +0800)] 
arm64: dts: imx8mp-navqp: Correct PAD settings for PMIC_nINT

With commit 5d0efaf47ee90 ("regulator: pca9450: Correct interrupt type"),
there will be interrupt storm for i.MX8MP NAVQP. Per schematic, there
is no on board PULL-UP resistors for GPIO1_IO03, so need to set PAD
PUE and PU together to make pull up work properly.

Fixes: 682729a9d506d ("arm64: dts: freescale: Add device tree for Emcraft Systems NavQ+ Kit")
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
4 weeks agoarm64: dts: imx8mp-debix-som-a: Correct PAD settings for PMIC_nINT
Peng Fan [Thu, 26 Mar 2026 07:28:06 +0000 (15:28 +0800)] 
arm64: dts: imx8mp-debix-som-a: Correct PAD settings for PMIC_nINT

With commit 5d0efaf47ee90 ("regulator: pca9450: Correct interrupt type"),
there is interrupt storm for i.MX8MP DEBIX SOM A. Need to set PAD
PUE and PU together to make pull up work properly.

Fixes: 21baf0b47f81b ("arm64: dts: freescale: Add DEBIX SOM A and SOM A I/O Board support")
Reported-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Closes: https://lore.kernel.org/all/20260323105858.GA2185714@killaraus.ideasonboard.com/
Reported-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Closes: https://lore.kernel.org/imx/20260324194353.GB2352505@killaraus.ideasonboard.com/T/#m9a07fdc75496369a7d76d52c5e34ed140dcabfe3
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
4 weeks agoarm64: dts: imx8mp-debix-model-a: Correct PAD settings for PMIC_nINT
Peng Fan [Thu, 26 Mar 2026 07:28:05 +0000 (15:28 +0800)] 
arm64: dts: imx8mp-debix-model-a: Correct PAD settings for PMIC_nINT

With commit 5d0efaf47ee90 ("regulator: pca9450: Correct interrupt type"),
there is interrupt storm for i.MX8MP DEBIX Model A. Per schematic, there
is no on board PULL-UP resistors for GPIO1_IO03, so need to set PAD
PUE and PU together to make pull up work properly.

Fixes: c86d350aae68e ("arm64: dts: Add device tree for the Debix Model A Board")
Reported-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Closes: https://lore.kernel.org/all/20260323105858.GA2185714@killaraus.ideasonboard.com/
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Tested-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
4 weeks agoALSA: seq_oss: return full count for successful SEQ_FULLSIZE writes
Cássio Gabriel [Tue, 24 Mar 2026 19:59:41 +0000 (16:59 -0300)] 
ALSA: seq_oss: return full count for successful SEQ_FULLSIZE writes

snd_seq_oss_write() currently returns the raw load_patch() callback
result for SEQ_FULLSIZE events.

That callback is documented as returning 0 on success and -errno on
failure, but snd_seq_oss_write() is the file write path and should
report the number of user bytes consumed on success. Some in-tree
backends also return backend-specific positive values, which can still
be shorter than the original write size.

Return the full byte count for successful SEQ_FULLSIZE writes.
Preserve negative errors and convert any nonnegative completion to the
original count.

Cc: stable@vger.kernel.org
Signed-off-by: Cássio Gabriel <cassiogabrielcontato@gmail.com>
Link: https://patch.msgid.link/20260324-alsa-seq-oss-fullsize-write-return-v1-1-66d448510538@gmail.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
4 weeks agoALSA: usb-audio: rotate standard MIDI output port scan
Cássio Gabriel [Mon, 23 Mar 2026 13:46:24 +0000 (10:46 -0300)] 
ALSA: usb-audio: rotate standard MIDI output port scan

snd_usbmidi_standard_output() iterates output ports in ascending order
and drains each active port until the URB is full. On interfaces where
multiple USB-MIDI cables share one endpoint, sustained traffic on a
lower-numbered port can consume every refill before higher-numbered
ports are even examined.

That behavior dates back to the original implementation and still
applies with the current multi-URB output path. snd_usbmidi_do_output()
can refill several idle URBs in one pass, but each refill restarts the
scan at port 0, so a busy lower-numbered port can keep higher-numbered
ports from making progress at all.

Use ep->current_port as the starting point of the scan and advance it
after each URB fill. This keeps the existing packet formatting and
per-port state handling intact while preventing persistent starvation of
higher-numbered ports.

Signed-off-by: Cássio Gabriel <cassiogabrielcontato@gmail.com>
Link: https://patch.msgid.link/20260323-usbmidi-port-fairness-v1-1-2d68e97592a1@gmail.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
4 weeks agoALSA: core/seq: Optimize the return logic in cc_ev_to_ump_midi2
songxiebing [Wed, 25 Mar 2026 01:51:19 +0000 (09:51 +0800)] 
ALSA: core/seq: Optimize the return logic in cc_ev_to_ump_midi2

There are multiple early return branches within the func, and compiler
optimizations(such as -O2/-O3)lead to abnormal stack frame analysis -
objtool cannot comfirm that the stack frames of all branches can be
correctly restored, thus generating false warnings.

Below:
>> sound/core/seq/seq_ump_convert.o: warning: objtool: cc_ev_to_ump_midi2+0x589: return with modified stack frame

So we modify it by uniformly returning at the and of the function.

Signed-off-by: songxiebing <songxiebing@kylinos.cn>
Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202503200535.J3hAvcjw-lkp@intel.com/
Link: https://patch.msgid.link/20260325015119.175835-1-songxiebing@kylinos.cn
Signed-off-by: Takashi Iwai <tiwai@suse.de>
4 weeks agoALSA: pcm: Use pcm_lib_apply_appl_ptr() in x32 sync_ptr
Cássio Gabriel [Sat, 21 Mar 2026 23:02:21 +0000 (20:02 -0300)] 
ALSA: pcm: Use pcm_lib_apply_appl_ptr() in x32 sync_ptr

snd_pcm_ioctl_sync_ptr_x32() still handles incoming appl_ptr updates
differently from the other SYNC_PTR paths. The native handler and the
32-bit compat handler both pass appl_ptr through pcm_lib_apply_appl_ptr(),
but the x32 handler still writes control->appl_ptr directly.

That direct assignment skips the common appl_ptr validation against
runtime->boundary and also bypasses the substream ack() callback.
This makes the x32 ioctl path behave differently from the native and
compat32 cases, and it can miss the driver notification that explicit
appl_ptr synchronization relies on.

Use pcm_lib_apply_appl_ptr() for x32 too, so appl_ptr updates are
validated consistently and drivers relying on ack() notifications
see the same behavior.

Signed-off-by: Cássio Gabriel <cassiogabrielcontato@gmail.com>
Link: https://patch.msgid.link/20260321-alsa-pcm-x32-sync-ptr-v1-1-02ce655657c6@gmail.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
4 weeks agoselftests: ALSA: Skip utimer test when CONFIG_SND_UTIMER is not enabled
Ben Copeland [Thu, 19 Mar 2026 12:45:21 +0000 (12:45 +0000)] 
selftests: ALSA: Skip utimer test when CONFIG_SND_UTIMER is not enabled

The timer_f.utimer test hard-fails with ASSERT_EQ when
SNDRV_TIMER_IOCTL_CREATE returns -1 on kernels without
CONFIG_SND_UTIMER. This causes the entire alsa kselftest suite to
report a failure rather than skipping the unsupported test.

When CONFIG_SND_UTIMER is not enabled, the ioctl is not recognised and
the kernel returns -ENOTTY. If the timer device or subdevice does not
exist, -ENXIO is returned. Skip the test in both cases, but still fail
on any other unexpected error.

Suggested-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/linux-kselftest/0e9c25d3-efbd-433b-9fb1-0923010101b9@stanley.mountain/
Signed-off-by: Ben Copeland <ben.copeland@linaro.org>
Reviewed-by: Mark Brown <broonie@kernel.org>
Link: https://patch.msgid.link/20260319124521.191491-1-ben.copeland@linaro.org
Signed-off-by: Takashi Iwai <tiwai@suse.de>
4 weeks agoi2c: qcom-cci: Remove unused CCI_RES_MAX macro definition
Vladimir Zapolskiy [Thu, 26 Mar 2026 16:53:45 +0000 (18:53 +0200)] 
i2c: qcom-cci: Remove unused CCI_RES_MAX macro definition

Trivial change, a never used macro CCI_RES_MAX can be removed from
the CCI driver.

Signed-off-by: Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org>
Reviewed-by: Loic Poulain <loic.poulain@oss.qualcomm.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Signed-off-by: Andi Shyti <andi.shyti@kernel.org>
Link: https://lore.kernel.org/r/20260326165345.762807-1-vladimir.zapolskiy@linaro.org
4 weeks agoi2c: designware: Add a new ACPI HID for GOOG5000 I2C controller
Moritz Fischer [Thu, 26 Mar 2026 20:04:51 +0000 (20:04 +0000)] 
i2c: designware: Add a new ACPI HID for GOOG5000 I2C controller

Define a new ACPI HID for GOOG5000 as used on Google Axion.

This has been validated on Silicon.

Signed-off-by: Moritz Fischer <moritzf@google.com>
Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Andi Shyti <andi.shyti@kernel.org>
Link: https://lore.kernel.org/r/20260326200451.2904375-1-moritzf@google.com
4 weeks agoriscv: kvm: fix vector context allocation leak
Osama Abdelkader [Mon, 16 Mar 2026 15:16:11 +0000 (16:16 +0100)] 
riscv: kvm: fix vector context allocation leak

When the second kzalloc (host_context.vector.datap) fails in
kvm_riscv_vcpu_alloc_vector_context, the first allocation
(guest_context.vector.datap) is leaked. Free it before returning.

Fixes: 0f4b82579716 ("riscv: KVM: Add vector lazy save/restore support")
Cc: stable@vger.kernel.org
Signed-off-by: Osama Abdelkader <osama.abdelkader@gmail.com>
Reviewed-by: Andy Chiu <andybnac@gmail.com>
Link: https://lore.kernel.org/r/20260316151612.13305-1-osama.abdelkader@gmail.com
Signed-off-by: Anup Patel <anup@brainfault.org>
4 weeks agoHID: amd_sfh: don't log error when device discovery fails with -EOPNOTSUPP
Maximilian Pezzullo [Wed, 4 Mar 2026 08:25:22 +0000 (09:25 +0100)] 
HID: amd_sfh: don't log error when device discovery fails with -EOPNOTSUPP

When sensor discovery fails on systems without AMD SFH sensors, the
code already emits a warning via dev_warn() in amd_sfh_hid_client_init().
The subsequent dev_err() in sfh_init_work() for the same -EOPNOTSUPP
return value is redundant and causes unnecessary alarm.

Suppress the dev_err() for -EOPNOTSUPP to avoid confusing users who
have no AMD SFH sensors.

Fixes: 2105e8e00da4 ("HID: amd_sfh: Improve boot time when SFH is available")
Reported-by: Casey Croy <ccroy@bugzilla.kernel.org>
Closes: https://bugzilla.kernel.org/show_bug.cgi?id=221099
Signed-off-by: Maximilian Pezzullo <maximilianpezzullo@gmail.com>
Acked-by: Basavaraj Natikar <Basavaraj.Natikar@amd.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
4 weeks agoRISC-V: KVM: fix PMU snapshot_set_shmem on 32-bit hosts
Osama Abdelkader [Wed, 11 Mar 2026 23:18:32 +0000 (00:18 +0100)] 
RISC-V: KVM: fix PMU snapshot_set_shmem on 32-bit hosts

When saddr_high != 0 on RV32, the goto out was unconditional, causing
valid 64-bit addresses to be rejected. Only goto out when the address
is invalid (64-bit host with saddr_high != 0).

Fixes: c2f41ddbcdd7 ("RISC-V: KVM: Implement SBI PMU Snapshot feature")
Signed-off-by: Osama Abdelkader <osama.abdelkader@gmail.com>
Reviewed-by: Andrew Jones <andrew.jones@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260311231833.13189-1-osama.abdelkader@gmail.com
Signed-off-by: Anup Patel <anup@brainfault.org>
4 weeks agoarm64: Kconfig: Add support for LSUI
Yeoreum Yun [Sat, 14 Mar 2026 17:51:33 +0000 (17:51 +0000)] 
arm64: Kconfig: Add support for LSUI

Since Armv9.6, FEAT_LSUI supplies the load/store instructions for
previleged level to access to access user memory without clearing
PSTATE.PAN bit.

Add Kconfig option entry for FEAT_LSUI.

Signed-off-by: Yeoreum Yun <yeoreum.yun@arm.com>
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
4 weeks agoKVM: arm64: Use CAST instruction for swapping guest descriptor
Yeoreum Yun [Sat, 14 Mar 2026 17:51:32 +0000 (17:51 +0000)] 
KVM: arm64: Use CAST instruction for swapping guest descriptor

Use the CAST instruction to swap the guest descriptor when FEAT_LSUI
is enabled, avoiding the need to clear the PAN bit.

FEAT_LSUI is introduced in Armv9.6, where FEAT_PAN is mandatory. However,
this assumption may not always hold:

 - Some CPUs may advertise FEAT_LSUI but lack FEAT_PAN.
 - Virtualization or ID register overrides may expose invalid feature
   combinations.

Therefore, instead of disabling FEAT_LSUI when FEAT_PAN is absent, wrap
LSUI instructions with uaccess_ttbr0_enable()/disable() when
ARM64_SW_TTBR0_PAN is enabled.

Signed-off-by: Yeoreum Yun <yeoreum.yun@arm.com>
Reviewed-by: Marc Zyngier <maz@kernel.org>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
4 weeks agoarm64: futex: Support futex with FEAT_LSUI
Yeoreum Yun [Sat, 14 Mar 2026 17:51:30 +0000 (17:51 +0000)] 
arm64: futex: Support futex with FEAT_LSUI

Current futex atomic operations are implemented using LL/SC instructions
while temporarily clearing PSTATE.PAN and setting PSTATE.TCO (if
KASAN_HW_TAGS is enabled). With Armv9.6, FEAT_LSUI provides atomic
instructions for user memory access in the kernel without the need for
PSTATE bits toggling.

Use the FEAT_LSUI instructions to implement the futex atomic operations.
Note that some futex operations do not have a matching LSUI instruction,
(eor or word-sized cmpxchg). For such cases, use cas{al}t to implement
the operation.

Signed-off-by: Yeoreum Yun <yeoreum.yun@arm.com>
[catalin.marinas@arm.com: add comment on -EAGAIN in __lsui_futex_cmpxchg()]
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
4 weeks agoi2c: designware: amdisp: Fix resume-probe race condition issue
Pratap Nirujogi [Fri, 20 Mar 2026 20:12:22 +0000 (16:12 -0400)] 
i2c: designware: amdisp: Fix resume-probe race condition issue

Identified resume-probe race condition in kernel v7.0 with the commit
38fa29b01a6a ("i2c: designware: Combine the init functions"),but this
issue existed from the beginning though not detected.

The amdisp i2c device requires ISP to be in power-on state for probe
to succeed. To meet this requirement, this device is added to genpd
to control ISP power using runtime PM. The pm_runtime_get_sync() called
before i2c_dw_probe() triggers PM resume, which powers on ISP and also
invokes the amdisp i2c runtime resume before the probe completes resulting
in this race condition and a NULL dereferencing issue in v7.0

Fix this race condition by using the genpd APIs directly during probe:
  - Call dev_pm_genpd_resume() to Power ON ISP before probe
  - Call dev_pm_genpd_suspend() to Power OFF ISP after probe
  - Set the device to suspended state with pm_runtime_set_suspended()
  - Enable runtime PM only after the device is fully initialized

Fixes: d6263c468a761 ("i2c: amd-isp: Add ISP i2c-designware driver")
Co-developed-by: Bin Du <bin.du@amd.com>
Signed-off-by: Bin Du <bin.du@amd.com>
Signed-off-by: Pratap Nirujogi <pratap.nirujogi@amd.com>
Cc: <stable@vger.kernel.org> # v6.16+
Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Reviewed-by: Mario Limonciello (AMD) <superm1@kernel.org>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Andi Shyti <andi.shyti@kernel.org>
Link: https://lore.kernel.org/r/20260320201302.3490570-1-pratap.nirujogi@amd.com
4 weeks agoi2c: imx: ensure no clock is generated after last read
Stefan Eichenberger [Wed, 18 Feb 2026 15:08:50 +0000 (16:08 +0100)] 
i2c: imx: ensure no clock is generated after last read

When reading from the I2DR register, right after releasing the bus by
clearing MSTA and MTX, the I2C controller might still generate an
additional clock cycle which can cause devices to misbehave. Ensure to
only read from I2DR after the bus is not busy anymore. Because this
requires polling, the read of the last byte is moved outside of the
interrupt handler.

An example for such a failing transfer is this:
i2ctransfer -y -a 0 w1@0x00 0x02 r1
Error: Sending messages failed: Connection timed out
It does not happen with every device because not all devices react to
the additional clock cycle.

Fixes: 5f5c2d4579ca ("i2c: imx: prevent rescheduling in non dma mode")
Cc: stable@vger.kernel.org # v6.13+
Signed-off-by: Stefan Eichenberger <stefan.eichenberger@toradex.com>
Signed-off-by: Andi Shyti <andi.shyti@kernel.org>
Link: https://lore.kernel.org/r/20260218150940.131354-3-eichest@gmail.com
4 weeks agoi2c: imx: fix i2c issue when reading multiple messages
Stefan Eichenberger [Wed, 18 Feb 2026 15:08:49 +0000 (16:08 +0100)] 
i2c: imx: fix i2c issue when reading multiple messages

When reading multiple messages, meaning a repeated start is required,
polling the bus busy bit must be avoided. This must only be done for
the last message. Otherwise, the driver will timeout.

Here an example of such a sequence that fails with an error:
i2ctransfer -y -a 0 w1@0x00 0x02 r1 w1@0x00 0x02 r1
Error: Sending messages failed: Connection timed out

Fixes: 5f5c2d4579ca ("i2c: imx: prevent rescheduling in non dma mode")
Cc: stable@vger.kernel.org # v6.13+
Signed-off-by: Stefan Eichenberger <stefan.eichenberger@toradex.com>
Reviewed-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Andi Shyti <andi.shyti@kernel.org>
Link: https://lore.kernel.org/r/20260218150940.131354-2-eichest@gmail.com
4 weeks agoreset: core: Drop unnecessary double quote
Claudiu Beznea [Thu, 26 Mar 2026 19:29:24 +0000 (21:29 +0200)] 
reset: core: Drop unnecessary double quote

Drop unnecessary double quote.

Reported-by: Pavel Machek <pavel@nabladev.com>
Closes: https://lore.kernel.org/all/acJbYxKGAB4lxGQr@duo.ucw.cz
Signed-off-by: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
4 weeks agoHID: intel-thc-hid: Intel-thc: Add more frequency support for SPI
Even Xu [Wed, 18 Mar 2026 03:22:04 +0000 (11:22 +0800)] 
HID: intel-thc-hid: Intel-thc: Add more frequency support for SPI

The Nova Lake platform enhances THC with half divider capability for
clock division, allowing more granular frequency control for the THC
SPI port.

Supported frequencies include 50MHz (125MHz/2.5), 35MHz (125MHz/3.5),
and 10MHz (125MHz/8/1.5).

Signed-off-by: Even Xu <even.xu@intel.com>
Tested-by: Rui Zhang <rui1.zhang@intel.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
4 weeks agoHID: intel-thc-hid: Intel-quickspi: Improve power management for touch devices
Even Xu [Wed, 18 Mar 2026 03:25:47 +0000 (11:25 +0800)] 
HID: intel-thc-hid: Intel-quickspi: Improve power management for touch devices

Enhance power management with two key improvements:
1. Hibernate support: Send POWER_OFF command when entering hibernate
   mode.
2. Conditional sleep commands: Only send POWER_SLEEP/POWER_ON commands
   during system suspend/resume when the touch device is not configured
   as a wake source, preserving Wake-on-Touch (WoT) functionality. This
   ensures proper power states while maintaining expected wake behavior.

Signed-off-by: Even Xu <even.xu@intel.com>
Tested-by: Rui Zhang <rui1.zhang@intel.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
4 weeks agoreset: rzv2h-usb2phy: Keep PHY clock enabled for entire device lifetime
Tommaso Merciai [Thu, 12 Mar 2026 14:50:38 +0000 (15:50 +0100)] 
reset: rzv2h-usb2phy: Keep PHY clock enabled for entire device lifetime

The driver was disabling the USB2 PHY clock immediately after register
initialization in probe() and after each reset operation. This left the
PHY unclocked even though it must remain active for USB functionality.

The behavior appeared to work only when another driver
(e.g., USB controller) had already enabled the clock, making operation
unreliable and hardware-dependent. In configurations where this driver
is the sole clock user, USB functionality would fail.

Fix this by:
- Enabling the clock once in probe() via pm_runtime_resume_and_get()
- Removing all pm_runtime_put() calls from assert/deassert/status
- Registering a devm cleanup action to release the clock at removal
- Removed rzv2h_usbphy_assert_helper() and its call in
  rzv2h_usb2phy_reset_probe()

This ensures the PHY clock remains enabled for the entire device lifetime,
preventing instability and aligning with hardware requirements.

Cc: stable@vger.kernel.org
Fixes: e3911d7f865b ("reset: Add USB2PHY port reset driver for Renesas RZ/V2H(P)")
Signed-off-by: Tommaso Merciai <tommaso.merciai.xr@bp.renesas.com>
Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
4 weeks agofwctl/bnxt_en: Create an aux device for fwctl
Pavan Chebbi [Sat, 14 Mar 2026 15:16:03 +0000 (08:16 -0700)] 
fwctl/bnxt_en: Create an aux device for fwctl

Create an additional auxiliary device to support fwctl.
The next patch will create bnxt_fwctl and bind to this
device.

Link: https://patch.msgid.link/r/20260314151605.932749-4-pavan.chebbi@broadcom.com
Reviewed-by: Andy Gospodarek <gospo@broadcom.com>
Reviewed-by: Leon Romanovsky <leonro@nvidia.com>
Signed-off-by: Pavan Chebbi <pavan.chebbi@broadcom.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
4 weeks agofwctl/bnxt_en: Refactor aux bus functions to be more generic
Pavan Chebbi [Sat, 14 Mar 2026 15:16:02 +0000 (08:16 -0700)] 
fwctl/bnxt_en: Refactor aux bus functions to be more generic

Up until now there was only one auxiliary device that bnxt
created and that was for RoCE driver. bnxt fwctl is also
going to use an aux bus device that bnxt should create.
This requires some nomenclature changes and refactoring of
the existing bnxt aux dev functions.

Convert 'aux_priv' and 'edev' members of struct bnxt into
arrays where each element contains supported auxbus device's
data. Move struct bnxt_aux_priv from bnxt.h to ulp.h because
that is where it belongs. Make aux bus init/uninit/add/del
functions more generic which will loop through all the aux
device types. Make bnxt_ulp_start/stop functions (the only
other common functions applicable to any aux device) loop
through the aux devices to update their config and states.
Make callers of bnxt_ulp_start() call it only when there
are no errors.

Also, as an improvement in code, bnxt_register_dev() can skip
unnecessary dereferencing of edev from bp, instead use the
edev pointer from the function parameter.

Future patches will reuse these functions to add an aux bus
device for fwctl.

Link: https://patch.msgid.link/r/20260314151605.932749-3-pavan.chebbi@broadcom.com
Reviewed-by: Andy Gospodarek <gospo@broadcom.com>
Reviewed-by: Leon Romanovsky <leonro@nvidia.com>
Signed-off-by: Pavan Chebbi <pavan.chebbi@broadcom.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
4 weeks agofwctl/bnxt_en: Move common definitions to include/linux/bnxt/
Pavan Chebbi [Sat, 14 Mar 2026 15:16:01 +0000 (08:16 -0700)] 
fwctl/bnxt_en: Move common definitions to include/linux/bnxt/

We have common definitions that are now going to be used
by more than one component outside of bnxt (bnxt_re and
fwctl)

Move bnxt_ulp.h to include/linux/bnxt/ as ulp.h.

Link: https://patch.msgid.link/r/20260314151605.932749-2-pavan.chebbi@broadcom.com
Reviewed-by: Andy Gospodarek <gospo@broadcom.com>
Reviewed-by: Leon Romanovsky <leonro@nvidia.com>
Cc: linux-rdma@vger.kernel.org
Signed-off-by: Pavan Chebbi <pavan.chebbi@broadcom.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
4 weeks agonet: qrtr: fix endian handling of confirm_rx field
Alexander Wilhelm [Thu, 26 Mar 2026 07:17:52 +0000 (08:17 +0100)] 
net: qrtr: fix endian handling of confirm_rx field

Convert confirm_rx to little endian when enqueueing and convert it back on
receive. This fixes control flow on big endian hosts, little endian is
unaffected.

On transmit, store confirm_rx as __le32 using cpu_to_le32(). On receive,
apply le32_to_cpu() before using the value. !! ensures the value is 0 or 1
in native endianness, so the conversion isn’t strictly required here, but
it is kept for consistency and clarity.

Reviewed-by: Manivannan Sadhasivam <mani@kernel.org>
Signed-off-by: Alexander Wilhelm <alexander.wilhelm@westermo.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
4 weeks agonet: ti: icssg-prueth: fix missing data copy and wrong recycle in ZC RX dispatch
David Carlier [Wed, 25 Mar 2026 12:51:30 +0000 (12:51 +0000)] 
net: ti: icssg-prueth: fix missing data copy and wrong recycle in ZC RX dispatch

emac_dispatch_skb_zc() allocates a new skb via napi_alloc_skb() but
never copies the packet data from the XDP buffer into it. The skb is
passed up the stack containing uninitialized heap memory instead of
the actual received packet, leaking kernel heap contents to userspace.

Copy the received packet data from the XDP buffer into the skb using
skb_copy_to_linear_data().

Additionally, remove the skb_mark_for_recycle() call since the skb is
backed by the NAPI page frag allocator, not page_pool. Marking a
non-page_pool skb for recycle causes the free path to return pages to
a page_pool that does not own them, corrupting page_pool state.

The non-ZC path (emac_rx_packet) does not have these issues because it
uses napi_build_skb() to wrap the existing page_pool page directly,
requiring no copy, and correctly marks for recycle since the page comes
from page_pool_dev_alloc_pages().

Fixes: 7a64bb388df3 ("net: ti: icssg-prueth: Add AF_XDP zero copy for RX")
Signed-off-by: David Carlier <devnexen@gmail.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
4 weeks agotg3: Fix race for querying speed/duplex
Thomas Bogendoerfer [Wed, 25 Mar 2026 11:20:53 +0000 (12:20 +0100)] 
tg3: Fix race for querying speed/duplex

When driver signals carrier up via netif_carrier_on() its internal
link_up state isn't updated immediately. This leads to inconsistent
speed/duplex in /proc/net/bonding/bondX where the speed and duplex
is shown as unknown while ethtool shows correct values. Fix this by
using netif_carrier_ok() for link checking in get_ksettings function.

Fixes: 84421b99cedc ("tg3: Update link_up flag for phylib devices")
Signed-off-by: Thomas Bogendoerfer <tbogendoerfer@suse.de>
Reviewed-by: Pavan Chebbi <pavan.chebbi@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
4 weeks agonet/ipv6: ioam6: prevent schema length wraparound in trace fill
Pengpeng Hou [Wed, 25 Mar 2026 07:41:52 +0000 (15:41 +0800)] 
net/ipv6: ioam6: prevent schema length wraparound in trace fill

ioam6_fill_trace_data() stores the schema contribution to the trace
length in a u8. With bit 22 enabled and the largest schema payload,
sclen becomes 1 + 1020 / 4, wraps from 256 to 0, and bypasses the
remaining-space check. __ioam6_fill_trace_data() then positions the
write cursor without reserving the schema area but still copies the
4-byte schema header and the full schema payload, overrunning the trace
buffer.

Keep sclen in an unsigned int so the remaining-space check and the write
cursor calculation both see the full schema length.

Fixes: 8c6f6fa67726 ("ipv6: ioam: IOAM Generic Netlink API")
Signed-off-by: Pengpeng Hou <pengpeng@iscas.ac.cn>
Reviewed-by: Justin Iurman <justin.iurman@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
4 weeks agoMerge tag 'juno-updates-7.1' of https://git.kernel.org/pub/scm/linux/kernel/git/sudee...
Krzysztof Kozlowski [Fri, 27 Mar 2026 11:59:34 +0000 (12:59 +0100)] 
Merge tag 'juno-updates-7.1' of https://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux into soc/dt

Armv8 Juno/FVP/Vexpress updates for v7.1

1. The primary addition is initial support for Zena CSS that includes:
   a new binding compatibility, a shared `zena-css.dtsi` description, and
   an FVP device tree.

2. Extension of Corstone-1000 FVP platform support with binding updates
   to add the new `arm,corstone1000-a320-fvp` platform, and the
   `arm,corstone1000-ethos-u85` NPU integration.

Overall, this combines new platform enablement with some DTS layout
cleanup for Arm reference FVP based systems.

* tag 'juno-updates-7.1' of https://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux:
  arm64: dts: arm/corstone1000: Add corstone-1000-a320
  arm64: dts: arm/corstone1000: Move FVP peripherals to separate .dtsi
  arm64: dts: arm/corstone1000: Move cpu nodes
  dt-bindings: npu: arm,ethos: Add "arm,corstone1000-ethos-u85"
  dt-bindings: arm,corstone1000: Add "arm,corstone1000-a320-fvp"
  arm64: dts: zena: Move SRAM into SoC and memory node out of SoC
  arm64: dts: zena: Add support for Zena CSS
  dt-bindings: arm: Add Zena CSS compatibility

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
4 weeks agoMerge tag 'v7.0-rockchip-dtsfixes1-v2' of ssh://gitolite.kernel.org/pub/scm/linux...
Krzysztof Kozlowski [Fri, 27 Mar 2026 11:56:47 +0000 (12:56 +0100)] 
Merge tag 'v7.0-rockchip-dtsfixes1-v2' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into arm/fixes

Revert to fix a regression that breaks Wifi support for a large part
of Pinebook Pro users (multiple Wifi chipsets).

* tag 'v7.0-rockchip-dtsfixes1-v2' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip:
  Revert "arm64: dts: rockchip: Further describe the WiFi for the Pinebook Pro"

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
4 weeks agoMerge tag 'imx-fixes-7.0' of https://git.kernel.org/pub/scm/linux/kernel/git/frank...
Krzysztof Kozlowski [Fri, 27 Mar 2026 11:50:36 +0000 (12:50 +0100)] 
Merge tag 'imx-fixes-7.0' of https://git.kernel.org/pub/scm/linux/kernel/git/frank.li/linux into arm/fixes

i.MX fixes for 7.0:

- Revert the NAND property move that broke compatibility across multiple
  imx6/imx7 device trees
- Fix imx8mq-librem5 power management by bumping BUCK1 suspend voltage to
  0.85V and reverting problematic DVS voltage changes
- Correct eMMC pad configuration for imx93-tqma9352 and imx91-tqma9131
- Change usdhc tuning step for eMMC and SD on imx93-9x9-qsb
- Correct gpu_ahb clock frequency for imx8mq

* tag 'imx-fixes-7.0' of https://git.kernel.org/pub/scm/linux/kernel/git/frank.li/linux:
  arm64: dts: imx8mq-librem5: Bump BUCK1 suspend voltage up to 0.85V
  Revert "arm64: dts: imx8mq-librem5: Set the DVS voltages lower"
  Revert "ARM: dts: imx: move nand related property under nand@0"
  arm64: dts: imx93-tqma9352: improve eMMC pad configuration
  arm64: dts: imx91-tqma9131: improve eMMC pad configuration
  arm64: dts: imx93-9x9-qsb: change usdhc tuning step for eMMC and SD
  arm64: dts: imx8mq: Set the correct gpu_ahb clock frequency

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>