From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-lj1-f176.google.com (mail-lj1-f176.google.com [209.85.208.176]) (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 7A0203932D0 for ; Mon, 18 May 2026 20:23:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.176 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779135799; cv=none; b=ochVhCUItoCKTInuQZGuP1dIJRbEsWdJ0R9RqhzbGDM0yoam1p1jZOfH/j1cDXyqPXCY7J8JTm6n49FhpbaSuQbhB94+c16qMD4HzadP2Lg9NffxSXENxgapxinNknG/xCwW2tH/qA1WK1SWd+OMPtELaXvLe4dXUK7x460kEtE= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779135799; c=relaxed/simple; bh=TYdy6nuGg2H6DLqJvqnXf3NKbUg3XykFU/TUZ5CEuWI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Dj4K24WZIHcexdzWFENPmLGeRhmvNUsAlGCKwzpEceXLTnk95kbv9dUOKKi3zj1Fr57+FBkl1QNQKTAX5pbcTUD6Y3h+LiXQrCggh3o4321CM3uh1dc5xHFM2k+LepIM8s+rn7VUkZeM7cNqfyusEWhz/nRGeWwvoOspPe3ezCI= 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=DhHbnNes; arc=none smtp.client-ip=209.85.208.176 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="DhHbnNes" Received: by mail-lj1-f176.google.com with SMTP id 38308e7fff4ca-38e800deae4so28045641fa.0 for ; Mon, 18 May 2026 13:23:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779135794; x=1779740594; 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=V7MgMydFIuv/r1d4/vML1sQi26pQ+VbIk3AiQmKgmmE=; b=DhHbnNesJe2+EWPYUwyEinfP/Kg5FxHd6NLWVezExRXTBICvlq8xhfcts/6OUdR7fo mXo/TsfgiWmX/z9bivqz7LiKH9Xjv1dyHqJ0zHNXt5pJ7+QvdP2UskWeMxnCgdYFKjEU rSXn9xDp1i1zxJ7E0AZd+DgLraEqrh/GOFZ8Zc0rHCD+a0ual9Mt54U6ZfTlu9g7lQUZ iQ3znw2kp1rSCDIrtmjOKB9EtWuxi6v329Fi/f54fF0oWX1Ut5PVluBZY0s22aOB1gWd bPKbDg7gxsSDXJL2NMb8QlwyColEUmZhu03YqFmZTazKJ96L8RfDCt3P7dLJDwCwVls6 FMZA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779135794; x=1779740594; 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=V7MgMydFIuv/r1d4/vML1sQi26pQ+VbIk3AiQmKgmmE=; b=Z8CkNMU6oGDhDu9G0+2InccTZG8lodXcnWROXZS5picEGdNokWzu2VQTZm1N69UibW mb+l4I3Y5nG+XcGPYlSkSb+jtqyxlMdmfBknVaYL+0Dd2YSpy9dUcUFYGygc1iryDtL1 YG/iGHlzoEuGBBgYBU3s2VgAVBMNyC+RYwWIgM+3/rreeE/d6OPgnEWhyfoawUWqTsXF J2S1HUxKE8vW+RzuvMSAjG3arw+J4UXf6l3YFUc1DP3i1ztQVHfSVD6j+/WGR1y6XJCm HpBZFybzvvt3Jyp+ahrQrfxXIqA9zPzw6cIXROLXjH03XMpKZOxuYi6+Mxgms/8Wjh/4 fz9A== X-Forwarded-Encrypted: i=1; AFNElJ8kS4/gg3+CX7eAfHyXPfSwvOzTwD/fR2YnQ3Es8v44fvpRkEn5iKarKr48Et7kTO0eqw5jiKwXuU9Q@vger.kernel.org X-Gm-Message-State: AOJu0Yxx+jPwJMDDKsj7y27zXW72pof4CiWx+dhwmBmIekvlvwqYUid+ FNrO6xp7tkVeS8AFz9gyFVat52NDvcnzJYXS/2KE1/SdDH1LmJcqRtVi X-Gm-Gg: Acq92OEQsgPomVHT9LRA1lo1kdrTJiQxwHgZ2DVgixMACuls/hl//O4tBNVuBHC9fCO 6/Mkf5eUTXKqxqZo0t8GLTAjeUWO5J20ruhPi7suKBlPT4vOBWL9aKGJxNh7EWvpDToKkn0zFQm 4LRKRYVnTkzb4TBjScwiCLKi41DMN+okOrr1d2pcoPUot1nlkFsNmKaNhSMG308jthJ4FRjTy7l Rvm9KCdpQ/6KDV5a4SlXr52ce3vcNDurEIs7cSNv+mhGb75QzMqra+jZn4bguw0dYe/EwuOWkSW BnSOFcSxw4S4kHNhCrG7bd/46KqvVpdXDEskV5AHLHoIMmG19UOxC3BFhwllXuRKgEIzvNigKB1 9DWOMj+5+RxQ2ZAcP5LBHe4qC/buR++eqyh5XhaGy6SYj+b/Vb3N1+/gHt0inOBMauSL/QKI4NY Vw1qBG7Db9ZahG26ZVn37iYClDlf7WjxYyKRi9EvhQ X-Received: by 2002:a2e:3318:0:b0:393:a145:54f3 with SMTP id 38308e7fff4ca-39561d62df2mr40726251fa.15.1779135793502; Mon, 18 May 2026 13:23:13 -0700 (PDT) Received: from localhost.localdomain ([90.157.113.57]) by smtp.gmail.com with ESMTPSA id 38308e7fff4ca-395887b42f8sm15225061fa.36.2026.05.18.13.23.10 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 18 May 2026 13:23:12 -0700 (PDT) From: taygoth To: linux-arm-msm@vger.kernel.org, linux-usb@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Mark Brown , Liam Girdwood , Wesley Cheng , Greg Kroah-Hartman , Heikki Krogerus , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Bjorn Andersson , Konrad Dybcio , Bryan O'Donoghue , Casey Connolly Subject: [PATCH 5/6] arm64: dts: qcom: sdm845-oneplus-common: enable USB Type-C role switching Date: Tue, 19 May 2026 01:22:50 +0500 Message-ID: X-Mailer: git-send-email 2.44.0 In-Reply-To: References: Precedence: bulk X-Mailing-List: devicetree@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Enable the PMI8998 Type-C controller and USB OTG VBUS regulator so the OnePlus 6 and OnePlus 6T can dynamically switch between USB peripheral and host roles depending on the connected cable, instead of being locked to peripheral mode at boot. The dwc3 controller is moved from dr_mode = "peripheral" to "otg" and gains a usb-role-switch property. The existing usb_1_dwc3_hs endpoint declared in sdm845.dtsi has its remote-endpoint pointed at the new pmi8998 Type-C connector subnode. The maximum-speed override is no longer required because role switching infrastructure handles speed negotiation through the usb-c-connector. The VBUS regulator current limits (500 mA - 1.5 A) match the boost converter capability noted in the downstream qpnp-smb2 charger config. Signed-off-by: taygoth --- .../boot/dts/qcom/sdm845-oneplus-common.dtsi | 43 ++++++++++++++++--- 1 file changed, 36 insertions(+), 7 deletions(-) diff --git a/arch/arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi b/arch/arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi index 6b7378cf4d49..42badc71ba6a 100644 --- a/arch/arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi +++ b/arch/arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi @@ -606,6 +606,36 @@ &pmi8998_charger { status = "okay"; }; +&pmi8998_vbus { + regulator-min-microamp = <500000>; + regulator-max-microamp = <1500000>; + status = "okay"; +}; + +&pmi8998_typec { + status = "okay"; + + connector { + compatible = "usb-c-connector"; + label = "USB-C"; + power-role = "dual"; + data-role = "dual"; + try-power-role = "sink"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + pmi8998_hs_in: endpoint { + remote-endpoint = <&usb_1_dwc3_hs>; + }; + }; + }; + }; +}; + &pmi8998_flash { status = "okay"; @@ -890,19 +920,18 @@ &usb_1 { }; &usb_1_dwc3 { - /* - * We don't have the capability to switch modes yet. - */ - dr_mode = "peripheral"; - - /* fastest mode for USB 2 */ - maximum-speed = "high-speed"; + dr_mode = "otg"; + usb-role-switch; /* Remove USB3 phy as it's unused on this device. */ phys = <&usb_1_hsphy>; phy-names = "usb2-phy"; }; +&usb_1_dwc3_hs { + remote-endpoint = <&pmi8998_hs_in>; +}; + &usb_1_hsphy { status = "okay"; -- 2.47.3