Devicetree
 help / color / mirror / Atom feed
* [PATCH 0/2] Enable PMIC Glink nodes on Kaanapali
@ 2026-07-07  5:07 Krishna Kurapati
  2026-07-07  5:07 ` [PATCH 1/2] arm64: dts: qcom: kaanapali-mtp: Add PMIC Glink node Krishna Kurapati
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Krishna Kurapati @ 2026-07-07  5:07 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley
  Cc: linux-arm-msm, devicetree, linux-kernel, Krishna Kurapati

This series enables PMIC Glink nodes on Kaanapali MTP and QRD platforms
for providing role-switch notifications to usb controller.

Signed-off-by: Krishna Kurapati <krishna.kurapati@oss.qualcomm.com>
---
Krishna Kurapati (2):
      arm64: dts: qcom: kaanapali-mtp: Add PMIC Glink node
      arm64: dts: qcom: kaanapali-qrd: Add PMIC Glink node

 arch/arm64/boot/dts/qcom/kaanapali-mtp.dts | 53 ++++++++++++++++++++++++++++--
 arch/arm64/boot/dts/qcom/kaanapali-qrd.dts | 53 ++++++++++++++++++++++++++++--
 2 files changed, 102 insertions(+), 4 deletions(-)
---
base-commit: 8e9685d3c41c35dd1b37df70d854137abcb2fbac
change-id: 20260707-kaanapali-pmic-glink-ccefd39ccf7a

Best regards,
--  
Krishna Kurapati <krishna.kurapati@oss.qualcomm.com>


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH 1/2] arm64: dts: qcom: kaanapali-mtp: Add PMIC Glink node
  2026-07-07  5:07 [PATCH 0/2] Enable PMIC Glink nodes on Kaanapali Krishna Kurapati
@ 2026-07-07  5:07 ` Krishna Kurapati
  2026-07-07  5:21   ` sashiko-bot
  2026-07-07  5:07 ` [PATCH 2/2] arm64: dts: qcom: kaanapali-qrd: " Krishna Kurapati
  2026-07-13 15:06 ` [PATCH 0/2] Enable PMIC Glink nodes on Kaanapali Bjorn Andersson
  2 siblings, 1 reply; 6+ messages in thread
From: Krishna Kurapati @ 2026-07-07  5:07 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley
  Cc: linux-arm-msm, devicetree, linux-kernel, Krishna Kurapati

Add PMIC Glink node on Kaanapali MTP Platform and add remote-endpoint
linkages to DWC3 controller and QMP phy respectively.

Signed-off-by: Krishna Kurapati <krishna.kurapati@oss.qualcomm.com>
---
 arch/arm64/boot/dts/qcom/kaanapali-mtp.dts | 53 ++++++++++++++++++++++++++++--
 1 file changed, 51 insertions(+), 2 deletions(-)

diff --git a/arch/arm64/boot/dts/qcom/kaanapali-mtp.dts b/arch/arm64/boot/dts/qcom/kaanapali-mtp.dts
index f9b5b5718b90..3e9d9fb008eb 100644
--- a/arch/arm64/boot/dts/qcom/kaanapali-mtp.dts
+++ b/arch/arm64/boot/dts/qcom/kaanapali-mtp.dts
@@ -163,6 +163,49 @@ platform {
 		};
 	};
 
+	pmic-glink {
+		compatible = "qcom,kaanapali-pmic-glink",
+			     "qcom,pmic-glink";
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		connector@0 {
+			compatible = "usb-c-connector";
+			reg = <0>;
+
+			power-role = "dual";
+			data-role = "dual";
+
+			ports {
+				#address-cells = <1>;
+				#size-cells = <0>;
+
+				port@0 {
+					reg = <0>;
+
+					pmic_glink_hs_in: endpoint {
+						remote-endpoint = <&usb_dwc3_hs>;
+					};
+				};
+
+				port@1 {
+					reg = <1>;
+
+					pmic_glink_ss_in: endpoint {
+						remote-endpoint = <&usb_dp_qmpphy_out>;
+					};
+				};
+
+				port@2 {
+					reg = <2>;
+
+					pmic_glink_sbu: endpoint {
+					};
+				};
+			};
+		};
+	};
+
 	wcd939x: audio-codec {
 		compatible = "qcom,wcd9395-codec", "qcom,wcd9390-codec";
 
@@ -1328,8 +1371,6 @@ &ufs_mem_phy {
 };
 
 &usb {
-	dr_mode = "peripheral";
-
 	status = "okay";
 };
 
@@ -1348,3 +1389,11 @@ &usb_dp_qmpphy {
 
 	status = "okay";
 };
+
+&usb_dp_qmpphy_out {
+	remote-endpoint = <&pmic_glink_ss_in>;
+};
+
+&usb_dwc3_hs {
+	remote-endpoint = <&pmic_glink_hs_in>;
+};

-- 
2.34.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH 2/2] arm64: dts: qcom: kaanapali-qrd: Add PMIC Glink node
  2026-07-07  5:07 [PATCH 0/2] Enable PMIC Glink nodes on Kaanapali Krishna Kurapati
  2026-07-07  5:07 ` [PATCH 1/2] arm64: dts: qcom: kaanapali-mtp: Add PMIC Glink node Krishna Kurapati
@ 2026-07-07  5:07 ` Krishna Kurapati
  2026-07-07  5:18   ` sashiko-bot
  2026-07-13 15:06 ` [PATCH 0/2] Enable PMIC Glink nodes on Kaanapali Bjorn Andersson
  2 siblings, 1 reply; 6+ messages in thread
From: Krishna Kurapati @ 2026-07-07  5:07 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley
  Cc: linux-arm-msm, devicetree, linux-kernel, Krishna Kurapati

Add PMIC Glink node on Kaanapali QRD Platform and add remote-endpoint
linkages to DWC3 controller and QMP phy respectively.

Signed-off-by: Krishna Kurapati <krishna.kurapati@oss.qualcomm.com>
---
 arch/arm64/boot/dts/qcom/kaanapali-qrd.dts | 53 ++++++++++++++++++++++++++++--
 1 file changed, 51 insertions(+), 2 deletions(-)

diff --git a/arch/arm64/boot/dts/qcom/kaanapali-qrd.dts b/arch/arm64/boot/dts/qcom/kaanapali-qrd.dts
index 55d02219ef4e..a79ae73acf0d 100644
--- a/arch/arm64/boot/dts/qcom/kaanapali-qrd.dts
+++ b/arch/arm64/boot/dts/qcom/kaanapali-qrd.dts
@@ -80,6 +80,49 @@ key-volume-up {
 			wakeup-source;
 		};
 	};
+
+	pmic-glink {
+		compatible = "qcom,kaanapali-pmic-glink",
+			     "qcom,pmic-glink";
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		connector@0 {
+			compatible = "usb-c-connector";
+			reg = <0>;
+
+			power-role = "dual";
+			data-role = "dual";
+
+			ports {
+				#address-cells = <1>;
+				#size-cells = <0>;
+
+				port@0 {
+					reg = <0>;
+
+					pmic_glink_hs_in: endpoint {
+						remote-endpoint = <&usb_dwc3_hs>;
+					};
+				};
+
+				port@1 {
+					reg = <1>;
+
+					pmic_glink_ss_in: endpoint {
+						remote-endpoint = <&usb_dp_qmpphy_out>;
+					};
+				};
+
+				port@2 {
+					reg = <2>;
+
+					pmic_glink_sbu: endpoint {
+					};
+				};
+			};
+		};
+	};
 };
 
 &apps_rsc {
@@ -823,8 +866,6 @@ &ufs_mem_phy {
 };
 
 &usb {
-	dr_mode = "peripheral";
-
 	status = "okay";
 };
 
@@ -843,3 +884,11 @@ &usb_dp_qmpphy {
 
 	status = "okay";
 };
+
+&usb_dp_qmpphy_out {
+	remote-endpoint = <&pmic_glink_ss_in>;
+};
+
+&usb_dwc3_hs {
+	remote-endpoint = <&pmic_glink_hs_in>;
+};

-- 
2.34.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH 2/2] arm64: dts: qcom: kaanapali-qrd: Add PMIC Glink node
  2026-07-07  5:07 ` [PATCH 2/2] arm64: dts: qcom: kaanapali-qrd: " Krishna Kurapati
@ 2026-07-07  5:18   ` sashiko-bot
  0 siblings, 0 replies; 6+ messages in thread
From: sashiko-bot @ 2026-07-07  5:18 UTC (permalink / raw)
  To: Krishna Kurapati; +Cc: robh, conor+dt, devicetree

Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Medium] The `&usb` node lacks the `usb-role-switch` property, causing the DWC3 controller to silently fall back to peripheral mode and breaking Type-C dual-role functionality.
--

--- Patch [2]: [PATCH 2/2] arm64: dts: qcom: kaanapali-qrd: Add PMIC Glink node ---
commit 904c19a1a664815102c7af84e0fb9891b1a979d7
Author: Krishna Kurapati <krishna.kurapati@oss.qualcomm.com>

arm64: dts: qcom: kaanapali-qrd: Add PMIC Glink node

Add PMIC Glink node on Kaanapali QRD Platform and add remote-endpoint
linkages to DWC3 controller and QMP phy respectively.

> diff --git a/arch/arm64/boot/dts/qcom/kaanapali-qrd.dts b/arch/arm64/boot/dts/qcom/kaanapali-qrd.dts
> index 55d02219ef4e9..a79ae73acf0de 100644
> --- a/arch/arm64/boot/dts/qcom/kaanapali-qrd.dts
> +++ b/arch/arm64/boot/dts/qcom/kaanapali-qrd.dts
[ ... ]
> @@ -823,8 +866,6 @@ &ufs_mem_phy {
>  };
>  
>  &usb {
> -	dr_mode = "peripheral";
> -
>  	status = "okay";
>  };

[Severity: Medium]
Does removing dr_mode = "peripheral" without adding the usb-role-switch
property cause the DWC3 controller to silently fall back to peripheral mode?

During boot, when dwc3_get_dr_mode() initializes the DWC3 core driver,
omitting both dr_mode and the usb-role-switch property causes the driver
to fall back to USB_DR_MODE_PERIPHERAL and skip registering a USB role switch
device.

Because of this, does the PMIC GLINK Type-C driver fail to acquire the role
switch handle via the endpoint graph, breaking the intended Type-C dual-role
functionality?

Should the usb-role-switch property be added to this node to allow the
registration of the USB role switch?

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260707-kaanapali-pmic-glink-v1-0-3f7d476672d9@oss.qualcomm.com?part=2

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 1/2] arm64: dts: qcom: kaanapali-mtp: Add PMIC Glink node
  2026-07-07  5:07 ` [PATCH 1/2] arm64: dts: qcom: kaanapali-mtp: Add PMIC Glink node Krishna Kurapati
@ 2026-07-07  5:21   ` sashiko-bot
  0 siblings, 0 replies; 6+ messages in thread
From: sashiko-bot @ 2026-07-07  5:21 UTC (permalink / raw)
  To: Krishna Kurapati; +Cc: robh, devicetree, conor+dt

Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:

New issues:
- [High] The `usb-role-switch` property is omitted from the `&usb` DWC3 node, which breaks Type-C role switching integration with PMIC Glink.

Pre-existing issues:
- [Medium] Missing `mode-switch` property in the `&usb_dp_qmpphy` node breaks DisplayPort Alt Mode.
--

--- Patch [1]: [PATCH 1/2] arm64: dts: qcom: kaanapali-mtp: Add PMIC Glink node ---
commit 6286754ebf3e4661a8a09cc98412dbc73a006aac
Author: Krishna Kurapati <krishna.kurapati@oss.qualcomm.com>

arm64: dts: qcom: kaanapali-mtp: Add PMIC Glink node

Add PMIC Glink node on Kaanapali MTP Platform and add remote-endpoint
linkages to DWC3 controller and QMP phy respectively.

> diff --git a/arch/arm64/boot/dts/qcom/kaanapali-mtp.dts b/arch/arm64/boot/dts/qcom/kaanapali-mtp.dts
> index f9b5b5718b904..3e9d9fb008ebd 100644
> --- a/arch/arm64/boot/dts/qcom/kaanapali-mtp.dts
> +++ b/arch/arm64/boot/dts/qcom/kaanapali-mtp.dts

[ ... ]

> @@ -1328,8 +1371,6 @@ &ufs_mem_phy {
>  };
>  
>  &usb {
> -	dr_mode = "peripheral";
> -
>  	status = "okay";
>  };

[Severity: High]
The patch removes peripheral mode to enable dual-role, but without the
usb-role-switch; property, will Type-C role switching function correctly?

When a Type-C cable is inserted, the PMIC GLINK UCSI driver uses
fwnode_connection_find_match() to find the remote role switch using the
"usb-role-switch" property.

Simultaneously, the DWC3 core driver (dwc3_drd_init()) requires this
property to register the role switch via usb_role_switch_register().

Without it, does DWC3 fall back to legacy OTG block logic, causing UCSI
to fail to find the switch?

[ ... ]

> @@ -1348,3 +1389,11 @@ &usb_dp_qmpphy {
>  
>  	status = "okay";
>  };
> +
> +&usb_dp_qmpphy_out {
> +	remote-endpoint = <&pmic_glink_ss_in>;
> +};

[Severity: Medium]
This isn't a bug introduced by this patch, but does the base &usb_dp_qmpphy
node in kaanapali.dtsi lack the mode-switch; property required for
DisplayPort Alt Mode?

The pmic_glink_altmode driver attempts to acquire the Type-C mux using
fwnode_typec_mux_get(), which traverses the OF-graph and strictly searches
the remote endpoint's parent for the "mode-switch" property:

usb_dp_qmpphy: phy@88e8000 {
        compatible = "qcom,kaanapali-qmp-usb3-dp-phy",
                     "qcom,sm8750-qmp-usb3-dp-phy";
        ...
        orientation-switch;

        status = "disabled";

Since the usb_dp_qmpphy node lacks this property, the lookup returns NULL.

Consequently, typec_mux_set() does nothing, and the QMP PHY is never
instructed to configure its pins for DP out. Should this be added so Alt
Mode works properly with these new endpoints?

> +
> +&usb_dwc3_hs {
> +	remote-endpoint = <&pmic_glink_hs_in>;
> +};

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260707-kaanapali-pmic-glink-v1-0-3f7d476672d9@oss.qualcomm.com?part=1

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 0/2] Enable PMIC Glink nodes on Kaanapali
  2026-07-07  5:07 [PATCH 0/2] Enable PMIC Glink nodes on Kaanapali Krishna Kurapati
  2026-07-07  5:07 ` [PATCH 1/2] arm64: dts: qcom: kaanapali-mtp: Add PMIC Glink node Krishna Kurapati
  2026-07-07  5:07 ` [PATCH 2/2] arm64: dts: qcom: kaanapali-qrd: " Krishna Kurapati
@ 2026-07-13 15:06 ` Bjorn Andersson
  2 siblings, 0 replies; 6+ messages in thread
From: Bjorn Andersson @ 2026-07-13 15:06 UTC (permalink / raw)
  To: Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Krishna Kurapati
  Cc: linux-arm-msm, devicetree, linux-kernel


On Tue, 07 Jul 2026 10:37:16 +0530, Krishna Kurapati wrote:
> This series enables PMIC Glink nodes on Kaanapali MTP and QRD platforms
> for providing role-switch notifications to usb controller.
> 
> 

Applied, thanks!

[1/2] arm64: dts: qcom: kaanapali-mtp: Add PMIC Glink node
      commit: d0ada7b78e74becf8e7fe6fae8392f1731b52896
[2/2] arm64: dts: qcom: kaanapali-qrd: Add PMIC Glink node
      commit: 987ba6986860a07a45e8d79436866b4aa92be8ec

Best regards,
-- 
Bjorn Andersson <andersson@kernel.org>

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2026-07-13 15:06 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-07  5:07 [PATCH 0/2] Enable PMIC Glink nodes on Kaanapali Krishna Kurapati
2026-07-07  5:07 ` [PATCH 1/2] arm64: dts: qcom: kaanapali-mtp: Add PMIC Glink node Krishna Kurapati
2026-07-07  5:21   ` sashiko-bot
2026-07-07  5:07 ` [PATCH 2/2] arm64: dts: qcom: kaanapali-qrd: " Krishna Kurapati
2026-07-07  5:18   ` sashiko-bot
2026-07-13 15:06 ` [PATCH 0/2] Enable PMIC Glink nodes on Kaanapali Bjorn Andersson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox