mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH] arm64: dts: qcom: hamoa-iot-evk: Enable display support
@ 2025-07-23  6:14 Yongxing Mou
  2025-07-23  6:26 ` Krzysztof Kozlowski
                   ` (2 more replies)
  0 siblings, 3 replies; 10+ messages in thread
From: Yongxing Mou @ 2025-07-23  6:14 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley
  Cc: linux-arm-msm, devicetree, linux-kernel, Yongxing Mou

Enable DisplayPort support on all three USB-C ports of the
hamoa-iot-evk platform.

Unlike most X1E-based boards, this platform uses FSUSB42 USB
switches for the USB0 Type-C port, while USB1 and USB2 rely on
Parade PS8830 retimers for Alt Mode switching.

Support for the PS8830 retimers was already included in the
initial DTS, so this change adds support for the FSUSB42 switches.

Due to limitations in the USB/DP combo PHY driver, DisplayPort
functionality is limited to 2 lanes instead of the maximum 4,
consistent with other X1E-based platforms.

The platform also supports embedded DisplayPort (eDP) by default.

Signed-off-by: Yongxing Mou <quic_yongmou@quicinc.com>
---
This change made top of initial DTS:
https://lore.kernel.org/all/20250716-hamoa_initial-v1-0-f6f5d0f9a163@oss.qualcomm.com/
---
 arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts | 156 +++++++++++++++++++++++++++++
 1 file changed, 156 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts b/arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts
index 843f39c9d59286a9303a545411b2518d7649a059..f32e03f15ae702ba457cf3de35b779c9c267d3b6 100644
--- a/arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts
+++ b/arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts
@@ -48,6 +48,22 @@ pmic_glink_ss0_hs_in: endpoint {
 						remote-endpoint = <&usb_1_ss0_dwc3_hs>;
 					};
 				};
+
+				port@1 {
+					reg = <1>;
+
+					pmic_glink_ss0_ss_in: endpoint {
+						remote-endpoint = <&usb_1_ss0_qmpphy_out>;
+					};
+				};
+
+				port@2 {
+					reg = <2>;
+
+					pmic_glink_ss0_sbu: endpoint {
+						remote-endpoint = <&usb_1_ss0_sbu_mux>;
+					};
+				};
 			};
 		};
 
@@ -135,6 +151,23 @@ vph_pwr: regulator-vph-pwr {
 		regulator-boot-on;
 	};
 
+	vreg_edp_3p3: regulator-edp-3p3 {
+		compatible = "regulator-fixed";
+
+		regulator-name = "VREG_EDP_3P3";
+		regulator-min-microvolt = <3300000>;
+		regulator-max-microvolt = <3300000>;
+
+		gpio = <&tlmm 70 GPIO_ACTIVE_HIGH>;
+		enable-active-high;
+
+		pinctrl-0 = <&edp_reg_en>;
+		pinctrl-names = "default";
+
+		regulator-always-on;
+		regulator-boot-on;
+	};
+
 	vreg_nvme: regulator-nvme {
 		compatible = "regulator-fixed";
 
@@ -353,6 +386,25 @@ vreg_wwan: regulator-wwan {
 		regulator-boot-on;
 	};
 
+	usb-1-ss0-sbu-mux {
+		compatible = "onnn,fsusb42", "gpio-sbu-mux";
+
+		enable-gpios = <&tlmm 168 GPIO_ACTIVE_LOW>;
+		select-gpios = <&tlmm 167 GPIO_ACTIVE_HIGH>;
+
+		pinctrl-0 = <&usb_1_ss0_sbu_default>;
+		pinctrl-names = "default";
+
+		mode-switch;
+		orientation-switch;
+
+		port {
+			usb_1_ss0_sbu_mux: endpoint {
+				remote-endpoint = <&pmic_glink_ss0_sbu>;
+			};
+		};
+	};
+
 	wcn7850-pmu {
 		compatible = "qcom,wcn7850-pmu";
 
@@ -572,6 +624,76 @@ retimer_ss1_con_sbu_out: endpoint {
 	};
 };
 
+&mdss {
+	status = "okay";
+};
+
+&mdss_dp0 {
+	status = "okay";
+};
+
+&mdss_dp0_out {
+	data-lanes = <0 1>;
+	link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>;
+};
+
+&mdss_dp1 {
+	status = "okay";
+};
+
+&mdss_dp1_out {
+	data-lanes = <0 1>;
+	link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>;
+};
+
+&mdss_dp2 {
+	status = "okay";
+};
+
+&mdss_dp2_out {
+	data-lanes = <0 1>;
+	link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>;
+};
+
+&mdss_dp3 {
+	/delete-property/ #sound-dai-cells;
+
+	status = "okay";
+
+	aux-bus {
+		panel {
+			compatible = "edp-panel";
+			power-supply = <&vreg_edp_3p3>;
+
+			port {
+				edp_panel_in: endpoint {
+					remote-endpoint = <&mdss_dp3_out>;
+				};
+			};
+		};
+	};
+
+	ports {
+		port@1 {
+			reg = <1>;
+			mdss_dp3_out: endpoint {
+				data-lanes = <0 1 2 3>;
+				link-frequencies = /bits/ 64 <1620000000 2700000000
+							      5400000000 8100000000>;
+
+				remote-endpoint = <&edp_panel_in>;
+			};
+		};
+	};
+};
+
+&mdss_dp3_phy {
+	vdda-phy-supply = <&vreg_l3j_0p8>;
+	vdda-pll-supply = <&vreg_l2j_1p2>;
+
+	status = "okay";
+};
+
 &pcie6a {
 	vddpe-3v3-supply = <&vreg_nvme>;
 };
@@ -646,6 +768,13 @@ &smb2360_2_eusb2_repeater {
 };
 
 &tlmm {
+	edp_reg_en: edp-reg-en-state {
+		pins = "gpio70";
+		function = "gpio";
+		drive-strength = <16>;
+		bias-disable;
+	};
+
 	eusb3_reset_n: eusb3-reset-n-state {
 		pins = "gpio6";
 		function = "gpio";
@@ -733,6 +862,29 @@ usb2_pwr_3p3_reg_en: usb2-pwr-3p3-reg-en-state {
 		bias-disable;
 	};
 
+	usb_1_ss0_sbu_default: usb-1-ss0-sbu-state {
+		mode-pins {
+			pins = "gpio166";
+			function = "gpio";
+			bias-disable;
+			drive-strength = <2>;
+			output-high;
+		};
+
+		oe-n-pins {
+			pins = "gpio168";
+			function = "gpio";
+			bias-disable;
+			drive-strength = <2>;
+		};
+
+		sel-pins {
+			pins = "gpio167";
+			function = "gpio";
+			bias-disable;
+			drive-strength = <2>;
+		};
+	};
 
 	wcn_bt_en: wcn-bt-en-state {
 		pins = "gpio116";
@@ -795,6 +947,10 @@ &usb_1_ss0_hsphy {
 	phys = <&smb2360_0_eusb2_repeater>;
 };
 
+&usb_1_ss0_qmpphy_out {
+	remote-endpoint = <&pmic_glink_ss0_ss_in>;
+};
+
 &usb_1_ss1_dwc3_hs {
 	remote-endpoint = <&pmic_glink_ss1_hs_in>;
 };

---
base-commit: 0be23810e32e6d0a17df7c0ebad895ba2c210fc4
change-id: 20250721-x1e-evk-dp-141e0df5593d
prerequisite-message-id: <20250716-hamoa_initial-v1-0-f6f5d0f9a163@oss.qualcomm.com>
prerequisite-patch-id: 3c553b55d143eafc1036ce2e88df558ec61c4e83
prerequisite-patch-id: a4b2dabd376d32ecb159141c17113a8f3fc4ddfa
prerequisite-patch-id: 24bf2ada12dc10f9980ed2c56347e5b6f7964ebd
prerequisite-patch-id: c764e86c94055e56aaf9e701341bba52a54a998b

Best regards,
-- 
Yongxing Mou <quic_yongmou@quicinc.com>


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

end of thread, other threads:[~2025-07-25 11:15 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-07-23  6:14 [PATCH] arm64: dts: qcom: hamoa-iot-evk: Enable display support Yongxing Mou
2025-07-23  6:26 ` Krzysztof Kozlowski
2025-07-23  8:08   ` Yongxing Mou
2025-07-23  9:08     ` Krzysztof Kozlowski
2025-07-23  9:24       ` Yongxing Mou
2025-07-23 11:21 ` Dmitry Baryshkov
2025-07-24  7:40   ` Yongxing Mou
2025-07-25 11:15     ` Dmitry Baryshkov
2025-07-23 11:38 ` Konrad Dybcio
2025-07-24  6:13   ` Yongxing Mou

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®