From nobody Sun Apr 5 13:19:41 2026 Received: from mail-wm1-f41.google.com (mail-wm1-f41.google.com [209.85.128.41]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1539937473C for ; Tue, 17 Feb 2026 18:43:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.41 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771353817; cv=none; b=inAyfNmSqQvpU4vL8Zs1J22XOj6xJth2z0Cv6U+U+ncZteJjvgAH/CHKoFJB5DZ3E13nfhxGx0MLJTiCUJpkiZLymIFJGaeicaAOw8uvJ/KHckt/zUETtBP+68gcvlQF7JIBfHHyIrkAD877ElNHHMoQBgXiFPO1IQ9QMYEd1Ow= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771353817; c=relaxed/simple; bh=Im4SjL4rj+dZ4r9wviLtR9OUBndAmT+OXOPPEYGwiEU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=cWyNxh5GQWehwacDyNHoTUcyAG9Fv7rQkGKMdakXltRYFt68xNVmGB6MYQDFQ2U7O93p4/a/ozXOUjkLqquZcOA6NfeHggZEHiCW9YZaH6B4qiNHfUjb0S8Hss44RVkBtv0RTA/ZJeP4N42FtV0JSxM5pHh52zpY5w2jj5lEyGo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=lqQZTwTM; arc=none smtp.client-ip=209.85.128.41 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="lqQZTwTM" Received: by mail-wm1-f41.google.com with SMTP id 5b1f17b1804b1-4838c15e3cbso16495065e9.3 for ; Tue, 17 Feb 2026 10:43:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1771353814; x=1771958614; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=ozOixa4IFnis7hOv1BdsjCzbYXYnC7+PJ6nqzXPd9iE=; b=lqQZTwTMKcOgLadDpoW2oBc4Ve0kI5lgIouTLTOQBd1z4tyHm7e4HnSi0bgY82O2bU OVGH/gO3fPDaLLFFFhX81rlMgijrB1T7f3SfytWmc/C8tPfJYCa7IyXQ5jrf0UFnJbOr WzKxs2jRBXNlhYCl/RJOFcSbFwNXT/Fm7YZ5MNqlJ3HyxQypkWcL5N5C4StmdlRwNDJG FaHvb7457dNhDF9gCCd76+wq/c+Pcp68emhBc/lW+3lGo9wpKj27S3fgF7DnnQ9IPwsx F+ljrE6uTyIj7tgwq6uw6ADEkdfdhaKsGtVHR/GhpUUVbFdjjXEWoTRWxVd0ClH7xG3c m7jg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1771353814; x=1771958614; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=ozOixa4IFnis7hOv1BdsjCzbYXYnC7+PJ6nqzXPd9iE=; b=qOqr6gQ/W9RJ2Oz4kdIndsv5XfIXd6d07PewHEAm+JJUobZlzvIyQL0MsryxNTPov+ 3UZ+ixP7uJu8rsDcVcKWJmYyQ2JXCfMlaDtrjKX0xgYtohlrZvPfMNvij9oQX3/0aTY3 PZOhPNPHmp3OKBpDGSGbP0+IkXngm40Copa10hX1WatghCgvhVZUeHxW3XnqRSZoYR30 /4FAYA+cJgC4GpNNlVpX3QQO3NSP1IeydM14hb0xjmjKPj+z8t57TkGPGEwl27N89TTF 09OfW7QRwcmRvqyp3i7Z8bvsktAGSyguFF7JewBu1StyEq41FJhL+ZglC6slYcXTzRrn 71Jg== X-Gm-Message-State: AOJu0YyOODeWV0i8/lk00hVj7uCy//5USnwRq6dqdrfMspM+3+ARu9Jz qOLNqEuhZnC7yIJ8BScGvBzK/vBLifTMzt7ahd3oSDuQacbZMvZFcTdjSlm0iA== X-Gm-Gg: AZuq6aKH4AWFmj9C2Cb0Pa6v+p+Ne5ny776CXfYslc0KRbksm2EHp7STC5Iyyt7NNVs KNe1eF/F2arQ8eYU1aH++AAdWH5KaChJX7+B9p/l9A+iJCgiAkwLLA1ExVAZvPzfqVFlKFHYanj I4GU65iGfnx06PiUqgh9dqfPQDVQR71v+8F//nws372VaEG24670H/8tI8LZV7fj7TXUl0i56Il 8qoN8Yze2RncKMnhf/uyPrFT+tvwCuXDrk+js2Ys7XW7xWcWGAlHMaa0gJe8J7Q4ILMJq8JaoIv XkhlMHCn3MlbclBbrz3w1F+6E8Re7LBR8gDKHk9dRGcU0NiUJ6sRUive0NovtLtV0/nLgXdtPch IOC3BprcZuGkZadByxnj0D7RUTQLInT0hRcwPZg4lWAsgkDD9SiOdbFvqD9D/khz+lY1/RAvqyj oakxbnutDVvytezmksPPBvcWXakgsnITBIE/mo8oB6zBWQc9y+y3+WuaEXk6CKypXIbgrw75hev eHw3MZyHz/gkTnuVqdIjd+39hjtXv7kEQgxRdwz X-Received: by 2002:a05:600c:6912:b0:483:456a:5146 with SMTP id 5b1f17b1804b1-4837108fed4mr260857485e9.25.1771353814118; Tue, 17 Feb 2026 10:43:34 -0800 (PST) Received: from Lord-Beerus.station (net-188-152-100-94.cust.vodafonedsl.it. [188.152.100.94]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4839731d7c3sm1096185e9.18.2026.02.17.10.43.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 17 Feb 2026 10:43:33 -0800 (PST) From: Stefano Radaelli X-Google-Original-From: Stefano Radaelli To: linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org Cc: Stefano Radaelli , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Frank Li , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam Subject: [PATCH v1 07/11] arm64: dts: imx8mm-var-som-symphony: Move USB configuration from SOM Date: Tue, 17 Feb 2026 19:42:41 +0100 Message-ID: X-Mailer: git-send-email 2.47.3 In-Reply-To: References: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Stefano Radaelli 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 --- .../dts/freescale/imx8mm-var-som-symphony.dts | 52 ++++++++++++------- .../boot/dts/freescale/imx8mm-var-som.dtsi | 12 ----- 2 files changed, 34 insertions(+), 30 deletions(-) diff --git a/arch/arm64/boot/dts/freescale/imx8mm-var-som-symphony.dts b/ar= ch/arm64/boot/dts/freescale/imx8mm-var-som-symphony.dts index 689894405b27..3242a0b739f6 100644 --- a/arch/arm64/boot/dts/freescale/imx8mm-var-som-symphony.dts +++ b/arch/arm64/boot/dts/freescale/imx8mm-var-som-symphony.dts @@ -30,6 +30,7 @@ reg_usb_otg2_vbus: regulator-usb-otg2-vbus { compatible =3D "regulator-fixed"; pinctrl-names =3D "default"; pinctrl-0 =3D <&pinctrl_reg_usb_otg2_vbus>; + pinctrl-1 =3D <&pinctrl_reg_usb_otg2_vbus_sleep>; regulator-name =3D "usb_otg2_vbus"; regulator-min-microvolt =3D <5000000>; regulator-max-microvolt =3D <5000000>; @@ -117,13 +118,20 @@ enet-sel-hog { }; }; =20 - extcon_usbotg1: typec@3d { + /* USB Type-C Controller */ + ptn5150: typec@3d { compatible =3D "nxp,ptn5150"; reg =3D <0x3d>; - interrupt-parent =3D <&gpio1>; - interrupts =3D <11 IRQ_TYPE_LEVEL_LOW>; pinctrl-names =3D "default"; pinctrl-0 =3D <&pinctrl_ptn5150>; + interrupt-parent =3D <&gpio1>; + interrupts =3D <11 IRQ_TYPE_NONE>; + + port { + typec1_dr_sw: endpoint { + remote-endpoint =3D <&usb1_drd_sw>; + }; + }; }; }; =20 @@ -171,27 +179,29 @@ &uart4 { }; =20 &usbotg1 { - disable-over-current; - extcon =3D <&extcon_usbotg1>, <&extcon_usbotg1>; + dr_mode =3D "otg"; + hnp-disable; + srp-disable; + adp-disable; + usb-role-switch; + samsung,picophy-pre-emp-curr-control =3D <3>; + samsung,picophy-dc-vol-level-adjust =3D <7>; + status =3D "okay"; + + port { + usb1_drd_sw: endpoint { + remote-endpoint =3D <&typec1_dr_sw>; + }; + }; }; =20 &usbotg2 { dr_mode =3D "host"; vbus-supply =3D <®_usb_otg2_vbus>; - srp-disable; - hnp-disable; - adp-disable; + samsung,picophy-pre-emp-curr-control =3D <3>; + samsung,picophy-dc-vol-level-adjust =3D <7>; disable-over-current; - /delete-property/ usb-role-switch; - /* - * FIXME: having USB2 enabled hangs the boot just after: - * [ 1.943365] ci_hdrc ci_hdrc.1: EHCI Host Controller - * [ 1.948287] ci_hdrc ci_hdrc.1: new USB bus registered, assigned bus= number 1 - * [ 1.971006] ci_hdrc ci_hdrc.1: USB 2.0 started, EHCI 1.00 - * [ 1.977203] hub 1-0:1.0: USB hub found - * [ 1.980987] hub 1-0:1.0: 1 port detected - */ - status =3D "disabled"; + status =3D "okay"; }; =20 &pinctrl_fec1 { @@ -246,6 +256,12 @@ MX8MM_IOMUXC_SAI3_TXD_GPIO5_IO1 0x16 >; }; =20 + pinctrl_reg_usb_otg2_vbus_sleep: regusbotg2vbus-sleepgrp { + fsl,pins =3D < + MX8MM_IOMUXC_SAI3_TXD_GPIO5_IO1 0x120 + >; + }; + pinctrl_reg_usdhc2_vmmc: regusdhc2vmmcgrp { fsl,pins =3D < MX8MM_IOMUXC_SD2_RESET_B_GPIO2_IO19 0x41 diff --git a/arch/arm64/boot/dts/freescale/imx8mm-var-som.dtsi b/arch/arm64= /boot/dts/freescale/imx8mm-var-som.dtsi index e2b1919d7188..96293036a4d4 100644 --- a/arch/arm64/boot/dts/freescale/imx8mm-var-som.dtsi +++ b/arch/arm64/boot/dts/freescale/imx8mm-var-som.dtsi @@ -411,18 +411,6 @@ bluetooth_iw61x: bluetooth { }; }; =20 -&usbotg1 { - dr_mode =3D "otg"; - usb-role-switch; - status =3D "okay"; -}; - -&usbotg2 { - dr_mode =3D "otg"; - usb-role-switch; - status =3D "okay"; -}; - /* WIFI */ &usdhc1 { pinctrl-names =3D "default", "state_100mhz", "state_200mhz"; --=20 2.47.3