arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts | 156 +++++++++++++++++++++++++++++ 1 file changed, 156 insertions(+)
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>
On 7/23/25 8:14 AM, Yongxing Mou wrote: > 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/ > --- [...] > + ports { > + port@1 { > + reg = <1>; > + mdss_dp3_out: endpoint { Please keep a \n between properties and subnodes [...] > 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 Having so many dependencies should raise your attention.. Konrad
On 2025/7/23 19:38, Konrad Dybcio wrote: > On 7/23/25 8:14 AM, Yongxing Mou wrote: >> 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/ >> --- > > [...] > >> + ports { >> + port@1 { >> + reg = <1>; >> + mdss_dp3_out: endpoint { > > Please keep a \n between properties and subnodes > Okay. will update next patch. > [...] > >> 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 > > Having so many dependencies should raise your attention.. > > Konrad Okay, will merge into initial DTS, and this will remove dependencies.
On Wed, Jul 23, 2025 at 02:14:55PM +0800, Yongxing Mou wrote: > 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(+) > + > + ports { > + port@1 { > + reg = <1>; > + mdss_dp3_out: endpoint { Add empty endpoint to x1e80100.dtsi, then patch it here like you do for all other DP endpoints. > + data-lanes = <0 1 2 3>; > + link-frequencies = /bits/ 64 <1620000000 2700000000 > + 5400000000 8100000000>; > + > + remote-endpoint = <&edp_panel_in>; > + }; > + }; > + }; > +}; > + -- With best wishes Dmitry
On 2025/7/23 19:21, Dmitry Baryshkov wrote: > On Wed, Jul 23, 2025 at 02:14:55PM +0800, Yongxing Mou wrote: >> 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(+) >> + >> + ports { >> + port@1 { >> + reg = <1>; >> + mdss_dp3_out: endpoint { > > Add empty endpoint to x1e80100.dtsi, then patch it here like you do for > all other DP endpoints. > Hi So i need to add mdss_dp3_out: endpoint {} in x1e80100.dtsi and +&mdss_dp3_out { + data-lanes = <0 1 2 3>; ... in board dts.. is this understanding correct? i just wondering that here can we just follow other x1e80100-based dts? others 8 x1e80100-based board dts all introduce edp-panel in this way.. >> + data-lanes = <0 1 2 3>; >> + link-frequencies = /bits/ 64 <1620000000 2700000000 >> + 5400000000 8100000000>; >> + >> + remote-endpoint = <&edp_panel_in>; >> + }; >> + }; >> + }; >> +}; >> + >
On Thu, Jul 24, 2025 at 03:40:52PM +0800, Yongxing Mou wrote: > > > On 2025/7/23 19:21, Dmitry Baryshkov wrote: > > On Wed, Jul 23, 2025 at 02:14:55PM +0800, Yongxing Mou wrote: > > > 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(+) > > > + > > > + ports { > > > + port@1 { > > > + reg = <1>; > > > + mdss_dp3_out: endpoint { > > > > Add empty endpoint to x1e80100.dtsi, then patch it here like you do for > > all other DP endpoints. > > > Hi So i need to add mdss_dp3_out: endpoint {} in x1e80100.dtsi and > +&mdss_dp3_out { > + data-lanes = <0 1 2 3>; > ... > in board dts.. is this understanding correct? > > i just wondering that here can we just follow other x1e80100-based dts? > others 8 x1e80100-based board dts all introduce edp-panel in this way.. I've sent a fix for that. While squashing this patchset, please update it accordingly. > > > + data-lanes = <0 1 2 3>; > > > + link-frequencies = /bits/ 64 <1620000000 2700000000 > > > + 5400000000 8100000000>; > > > + > > > + remote-endpoint = <&edp_panel_in>; > > > + }; > > > + }; > > > + }; > > > +}; > > > + > > > -- With best wishes Dmitry
On 23/07/2025 08:14, Yongxing Mou wrote: > 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(+) Just squash it there. Why are you posting knowingly incomplete DTS just to fix it later? Best regards, Krzysztof
On 2025/7/23 14:26, Krzysztof Kozlowski wrote: > WARNING: This email originated from outside of Qualcomm. Please be wary of any links or attachments, and do not enable macros. > > On 23/07/2025 08:14, Yongxing Mou wrote: >> 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(+) > > Just squash it there. Why are you posting knowingly incomplete DTS just > to fix it later? > > Best regards, > Krzysztof Hi, sorry, I'm just want to enable display based initial DTS. Should this patch merge into the initial DTS?
On 23/07/2025 10:08, Yongxing Mou wrote: >>> --- >>> 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(+) >> >> Just squash it there. Why are you posting knowingly incomplete DTS just >> to fix it later? >> >> Best regards, >> Krzysztof > Hi, sorry, I'm just want to enable display based initial DTS. Should > this patch merge into the initial DTS? Yes, initial DTS is not merged and being reviewed. Adding new board is one commit, not two. Best regards, Krzysztof
On 2025/7/23 17:08, Krzysztof Kozlowski wrote: > WARNING: This email originated from outside of Qualcomm. Please be wary of any links or attachments, and do not enable macros. > > On 23/07/2025 10:08, Yongxing Mou wrote: >>>> --- >>>> 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(+) >>> >>> Just squash it there. Why are you posting knowingly incomplete DTS just >>> to fix it later? >>> >>> Best regards, >>> Krzysztof >> Hi, sorry, I'm just want to enable display based initial DTS. Should >> this patch merge into the initial DTS? > > > Yes, initial DTS is not merged and being reviewed. Adding new board is > one commit, not two. > > > Best regards, > Krzysztof Got it. Thanks~ will merge into one patch.
© 2016 - 2025 Red Hat, Inc.