* [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