From: Stefano Radaelli <stefano.radaelli21@gmail.com>
To: linux-kernel@vger.kernel.org, devicetree@vger.kernel.org,
imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org
Cc: pierluigi.p@variscite.com,
Stefano Radaelli <stefano.r@variscite.com>,
Frank Li <Frank.Li@nxp.com>,
Sascha Hauer <s.hauer@pengutronix.de>,
Pengutronix Kernel Team <kernel@pengutronix.de>,
Fabio Estevam <festevam@gmail.com>, Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>
Subject: [PATCH v4 07/11] arm64: dts: imx8mm-var-som-symphony: Move USB configuration from SOM
Date: Thu, 19 Mar 2026 19:40:27 +0100 [thread overview]
Message-ID: <c0b7513b9a6247f3d11bc3292f3b4e6d6602ea69.1773944896.git.stefano.r@variscite.com> (raw)
In-Reply-To: <cover.1773944896.git.stefano.r@variscite.com>
From: Stefano Radaelli <stefano.r@variscite.com>
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>
---
v3->v4:
-
v2->v3:
-
v1->v2:
-
.../dts/freescale/imx8mm-var-som-symphony.dts | 48 ++++++++++++-------
.../boot/dts/freescale/imx8mm-var-som.dtsi | 12 -----
2 files changed, 32 insertions(+), 28 deletions(-)
diff --git a/arch/arm64/boot/dts/freescale/imx8mm-var-som-symphony.dts b/arch/arm64/boot/dts/freescale/imx8mm-var-som-symphony.dts
index 2b608470da8e..a425ee0ed8a9 100644
--- a/arch/arm64/boot/dts/freescale/imx8mm-var-som-symphony.dts
+++ b/arch/arm64/boot/dts/freescale/imx8mm-var-som-symphony.dts
@@ -32,6 +32,7 @@ reg_usb_otg2_vbus: regulator-usb-otg2-vbus {
compatible = "regulator-fixed";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_reg_usb_otg2_vbus>;
+ pinctrl-1 = <&pinctrl_reg_usb_otg2_vbus_sleep>;
regulator-name = "usb_otg2_vbus";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
@@ -133,13 +134,20 @@ enet-sel-hog {
};
};
- extcon_usbotg1: typec@3d {
+ /* USB Type-C Controller */
+ ptn5150: typec@3d {
compatible = "nxp,ptn5150";
reg = <0x3d>;
interrupt-parent = <&gpio1>;
interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_ptn5150>;
+
+ port {
+ typec1_dr_sw: endpoint {
+ remote-endpoint = <&usb1_drd_sw>;
+ };
+ };
};
};
@@ -187,27 +195,29 @@ &uart4 {
};
&usbotg1 {
- disable-over-current;
- extcon = <&extcon_usbotg1>, <&extcon_usbotg1>;
+ dr_mode = "otg";
+ hnp-disable;
+ srp-disable;
+ adp-disable;
+ usb-role-switch;
+ samsung,picophy-pre-emp-curr-control = <3>;
+ samsung,picophy-dc-vol-level-adjust = <7>;
+ status = "okay";
+
+ port {
+ usb1_drd_sw: endpoint {
+ remote-endpoint = <&typec1_dr_sw>;
+ };
+ };
};
&usbotg2 {
dr_mode = "host";
vbus-supply = <®_usb_otg2_vbus>;
- srp-disable;
- hnp-disable;
- adp-disable;
+ samsung,picophy-pre-emp-curr-control = <3>;
+ samsung,picophy-dc-vol-level-adjust = <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 = "disabled";
+ status = "okay";
};
&pinctrl_fec1 {
@@ -262,6 +272,12 @@ MX8MM_IOMUXC_SAI3_TXD_GPIO5_IO1 0x16
>;
};
+ pinctrl_reg_usb_otg2_vbus_sleep: regusbotg2vbus-sleepgrp {
+ fsl,pins = <
+ MX8MM_IOMUXC_SAI3_TXD_GPIO5_IO1 0x120
+ >;
+ };
+
pinctrl_reg_usdhc2_vmmc: regusdhc2vmmcgrp {
fsl,pins = <
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 c37badc4cf27..75f56dc89b8e 100644
--- a/arch/arm64/boot/dts/freescale/imx8mm-var-som.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx8mm-var-som.dtsi
@@ -378,18 +378,6 @@ &uart2 {
status = "okay";
};
-&usbotg1 {
- dr_mode = "otg";
- usb-role-switch;
- status = "okay";
-};
-
-&usbotg2 {
- dr_mode = "otg";
- usb-role-switch;
- status = "okay";
-};
-
&usdhc1 {
#address-cells = <1>;
#size-cells = <0>;
--
2.47.3
next prev parent reply other threads:[~2026-03-19 18:41 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-19 18:40 [PATCH v4 00/11] arm64: dts: freescale: imx8mm-var-som: Align SOM and Symphony DTSs Stefano Radaelli
2026-03-19 18:40 ` [PATCH v4 01/11] arm64: dts: freescale: imx8mm-var-som: Move UART4 description to Symphony Stefano Radaelli
2026-03-19 18:40 ` [PATCH v4 02/11] arm64: dts: freescale: imx8mm-var-som: Align fsl,pins tables Stefano Radaelli
2026-03-19 18:40 ` [PATCH v4 03/11] arm64: dts: freescale: imx8mm-var-som: Update FEC support with MaxLinear PHY Stefano Radaelli
2026-03-19 18:40 ` [PATCH v4 04/11] arm64: dts: freescale: imx8mm-var-som: Add support for WM8904 audio codec Stefano Radaelli
2026-03-19 18:40 ` [PATCH v4 05/11] arm64: dts: freescale: imx8mm-var-som: Add MCP251xFD CAN controller Stefano Radaelli
2026-03-19 18:40 ` [PATCH v4 06/11] arm64: dts: freescale: imx8mm-var-som: Rework WiFi/BT and add legacy dts Stefano Radaelli
2026-03-19 18:40 ` Stefano Radaelli [this message]
2026-03-19 18:40 ` [PATCH v4 08/11] arm64: dts: imx8mm-var-som-symphony: Enable uSD on USDHC2 Stefano Radaelli
2026-03-19 18:40 ` [PATCH v4 09/11] arm64: dts: imx8mm-var-som-symphony: Add TPM2 support Stefano Radaelli
2026-03-19 18:40 ` [PATCH v4 10/11] arm64: dts: imx8mm-var-som-symphony: Enable I2C4 Stefano Radaelli
2026-03-19 18:40 ` [PATCH v4 11/11] arm64: dts: imx8mm-var-som-symphony: Enable PCIe Stefano Radaelli
2026-03-24 15:31 ` [PATCH v4 00/11] arm64: dts: freescale: imx8mm-var-som: Align SOM and Symphony DTSs Frank Li
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=c0b7513b9a6247f3d11bc3292f3b4e6d6602ea69.1773944896.git.stefano.r@variscite.com \
--to=stefano.radaelli21@gmail.com \
--cc=Frank.Li@nxp.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=festevam@gmail.com \
--cc=imx@lists.linux.dev \
--cc=kernel@pengutronix.de \
--cc=krzk+dt@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=pierluigi.p@variscite.com \
--cc=robh@kernel.org \
--cc=s.hauer@pengutronix.de \
--cc=stefano.r@variscite.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®