Index | Thread | Search

From:
Kirill A. Korinsky <kirill@korins.ky>
Subject:
Sync x1e80100-magicbook DTS with https://github.com/vamanea/linux-magicbook
To:
OpenBSD ports <ports@openbsd.org>
Cc:
tobhe@openbsd.org, kettenis@openbsd.org
Date:
Sun, 21 Sep 2025 12:38:25 +0200

Download raw body.

Thread
Greetings,

tobhe@ last week shared with that someone had improved my DTS/DTD for my
HONOR MagicBook Art 14 Snapdragon and I would like to sync it up.

Dmesg differences is:

        @@ -1,6 +1,6 @@
         OpenBSD 7.8-beta (GENERIC.MP) #23: Wed Sep 17 10:48:28 MDT 2025
             deraadt@arm64.openbsd.org:/usr/src/sys/arch/arm64/compile/GENERIC.MP
        -real mem  = 33760444416 (32196MB)
        +real mem  = 33760436224 (32196MB)
         avail mem = 32675078144 (31161MB)
         random: good seed from bootblocks
         mainbus0 at root: HONOR MagicBook Art 14 Snapdragon
        @@ -140,6 +140,7 @@ wskbd0 at ikbd0: console keyboard
         icc0 at ihidev1 reportid 3: 573 usages, 20 keys, array
         wskbd1 at icc0 mux 1
         hid at ihidev1 reportid 5 not configured
        +"serial" at simplebus2 not configured
         simplebus3 at simplebus0: "geniqup"
         qciic2 at simplebus3
         iic2 at qciic2
        @@ -167,6 +168,7 @@ qctsens3 at simplebus0
         "phy" at simplebus0 not configured
         "phy" at simplebus0 not configured
         "phy" at simplebus0 not configured
        +"phy" at simplebus0 not configured
         "interconnect" at simplebus0 not configured
         "interconnect" at simplebus0 not configured
         "interconnect" at simplebus0 not configured
        @@ -231,7 +233,10 @@ uhub3 at usb3 configuration 1 interface 0 "Generic xHCI root hub" rev 3.00/1.00
         qcdrm0 at simplebus0: "display-subsystem"
         "display-controller" at qcdrm0 not configured
         qcdpc0 at qcdrm0
        -"panel" at qcdpc0 not configured
        +qcdpc1 at qcdrm0
        +qcdpc2 at qcdrm0
        +qcdpc3 at qcdrm0
        +"panel" at qcdpc3 not configured
         "phy" at simplebus0 not configured
         "clock-controller" at simplebus0 not configured
         qcpdc0 at simplebus0
        @@ -327,13 +332,20 @@ pci1 at ppb0 bus 1
         agtimer0 at mainbus0: 19200 kHz
         "audio-codec" at mainbus0 not configured
         gpiokeys0 at mainbus0
        +"hdmi-connector" at mainbus0 not configured
         "pmic-glink" at mainbus0 not configured
         "sound" at mainbus0 not configured
         "regulator-edp-3p3" at mainbus0 not configured
         "regulator-misc-3p3" at mainbus0 not configured
         "regulator-vph-pwr" at mainbus0 not configured
        +"regulator-wcn-0p95" at mainbus0 not configured
        +"regulator-wcn-1p9" at mainbus0 not configured
        +"regulator-wcn-3p3" at mainbus0 not configured
        +"usb-1-ss0-sbu-mux" at mainbus0 not configured
        +"usb-1-ss1-sbu-mux" at mainbus0 not configured
        +"wcn7850-pmu" at mainbus0 not configured
         scmi0: SCMI 2.0
         ugen0 at uhub1 port 2 "FPC FPC L:2407 FW:3334143" rev 2.00/1.43 addr 2
         vscsi0 at root
         scsibus1 at vscsi0: 256 targets
         softraid0 at root

which seems resanable, everything is worked like before.

Ok?

Index: Makefile
===================================================================
RCS file: /home/cvs/ports/sysutils/firmware/arm64-qcom-dtb/Makefile,v
diff -u -p -r1.24 Makefile
--- Makefile	14 Aug 2025 20:04:23 -0000	1.24
+++ Makefile	21 Sep 2025 10:31:05 -0000
@@ -1,6 +1,6 @@
 FW_DRIVER=	arm64-qcom-dtb
 FW_VER=		2.5
-REVISION=	1
+REVISION=	2
 
 DISTNAME=	devicetree-rebasing-6.15-dts
 
Index: patches/patch-src_arm64_qcom_x1e80100-honor-magicbook-art-14_dts
===================================================================
RCS file: /home/cvs/ports/sysutils/firmware/arm64-qcom-dtb/patches/patch-src_arm64_qcom_x1e80100-honor-magicbook-art-14_dts,v
diff -u -p -r1.1 patch-src_arm64_qcom_x1e80100-honor-magicbook-art-14_dts
--- patches/patch-src_arm64_qcom_x1e80100-honor-magicbook-art-14_dts	26 Jan 2025 13:28:49 -0000	1.1
+++ patches/patch-src_arm64_qcom_x1e80100-honor-magicbook-art-14_dts	17 Sep 2025 22:14:41 -0000
@@ -1,11 +1,12 @@
 Index: src/arm64/qcom/x1e80100-honor-magicbook-art-14.dts
 --- src/arm64/qcom/x1e80100-honor-magicbook-art-14.dts.orig
 +++ src/arm64/qcom/x1e80100-honor-magicbook-art-14.dts
-@@ -0,0 +1,1208 @@
+@@ -0,0 +1,1517 @@
 +// SPDX-License-Identifier: BSD-3-Clause
 +/*
 + * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
 + * Copyright (c) 2025 Kirill A. Korinsky <kirill@korins.ky>
++ * Copyright (c) 2025 Valentin Manea <valentin.manea@mrs.ro>
 + */
 +
 +/dts-v1/;
@@ -26,6 +27,7 @@ Index: src/arm64/qcom/x1e80100-honor-mag
 +
 +	aliases {
 +		serial0 = &uart21;
++		serial1 = &uart14;
 +	};
 +
 +	wcd938x: audio-codec {
@@ -69,6 +71,19 @@ Index: src/arm64/qcom/x1e80100-honor-mag
 +		};
 +	};
 +
++	hdmi-connector {
++		compatible = "hdmi-connector";
++		type = "a";
++		pinctrl-0 = <&hdmi_hpd_default>;
++		pinctrl-names = "default";
++
++		port {
++			hdmi_con: endpoint {
++				remote-endpoint = <&usb_1_ss2_qmpphy_out>;
++			};
++		};
++	};
++
 +	pmic-glink {
 +		compatible = "qcom,x1e80100-pmic-glink",
 +			     "qcom,sm8550-pmic-glink",
@@ -105,6 +120,14 @@ Index: src/arm64/qcom/x1e80100-honor-mag
 +						remote-endpoint = <&usb_1_ss0_qmpphy_out>;
 +					};
 +				};
++
++				port@2 {
++					reg = <2>;
++
++					pmic_glink_ss0_sbu: endpoint {
++						remote-endpoint = <&usb_1_ss0_sbu_mux>;
++					};
++				};
 +			};
 +		};
 +
@@ -134,30 +157,16 @@ Index: src/arm64/qcom/x1e80100-honor-mag
 +						remote-endpoint = <&usb_1_ss1_qmpphy_out>;
 +					};
 +				};
-+			};
-+		};
 +
-+		/* Magnetic camera */
-+		connector@2 {
-+			compatible = "usb-c-connector";
-+			reg = <2>;
-+			power-role = "dual";
-+			data-role = "dual";
++				port@2 {
++					reg = <2>;
 +
-+			ports {
-+				#address-cells = <1>;
-+				#size-cells = <0>;
-+
-+				port@0 {
-+					reg = <0>;
-+
-+					pmic_glink_usb_2_hs_in: endpoint {
-+						remote-endpoint = <&usb_2_dwc3_hs>;
++					pmic_glink_ss1_sbu: endpoint {
++						remote-endpoint = <&usb_1_ss1_sbu_mux>;
 +					};
 +				};
 +			};
 +		};
-+
 +	};
 +
 +	reserved-memory {
@@ -270,6 +279,7 @@ Index: src/arm64/qcom/x1e80100-honor-mag
 +		pinctrl-0 = <&edp_reg_en>;
 +		pinctrl-names = "default";
 +
++		regulator-always-on;
 +		regulator-boot-on;
 +	};
 +
@@ -300,6 +310,138 @@ Index: src/arm64/qcom/x1e80100-honor-mag
 +		regulator-always-on;
 +		regulator-boot-on;
 +	};
++
++	/*
++	 * TODO: These two regulators are actually part of the removable M.2
++	 * card and not the CRD mainboard. Need to describe this differently.
++	 * Functionally it works correctly, because all we need to do is to
++	 * turn on the actual 3.3V supply above.
++	 */
++	vreg_wcn_0p95: regulator-wcn-0p95 {
++		compatible = "regulator-fixed";
++
++		regulator-name = "VREG_WCN_0P95";
++		regulator-min-microvolt = <950000>;
++		regulator-max-microvolt = <950000>;
++
++		vin-supply = <&vreg_wcn_3p3>;
++	};
++
++	vreg_wcn_1p9: regulator-wcn-1p9 {
++		compatible = "regulator-fixed";
++
++		regulator-name = "VREG_WCN_1P9";
++		regulator-min-microvolt = <1900000>;
++		regulator-max-microvolt = <1900000>;
++
++		vin-supply = <&vreg_wcn_3p3>;
++	};
++
++	vreg_wcn_3p3: regulator-wcn-3p3 {
++		compatible = "regulator-fixed";
++
++		regulator-name = "VREG_WCN_3P3";
++		regulator-min-microvolt = <3300000>;
++		regulator-max-microvolt = <3300000>;
++
++		gpio = <&tlmm 214 GPIO_ACTIVE_HIGH>;
++		enable-active-high;
++
++		pinctrl-0 = <&wcn_sw_en>;
++		pinctrl-names = "default";
++
++		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>;
++			};
++		};
++	};
++
++	usb-1-ss1-sbu-mux {
++		compatible = "onnn,fsusb42", "gpio-sbu-mux";
++
++		enable-gpios = <&tlmm 179 GPIO_ACTIVE_LOW>;
++		select-gpios = <&tlmm 178 GPIO_ACTIVE_HIGH>;
++
++		pinctrl-0 = <&usb_1_ss1_sbu_default>;
++		pinctrl-names = "default";
++
++		mode-switch;
++		orientation-switch;
++
++		port {
++			usb_1_ss1_sbu_mux: endpoint {
++				remote-endpoint = <&pmic_glink_ss1_sbu>;
++			};
++		};
++	};
++
++	wcn7850-pmu {
++		compatible = "qcom,wcn7850-pmu";
++
++		wlan-enable-gpios = <&tlmm 117 GPIO_ACTIVE_HIGH>;
++		bt-enable-gpios = <&tlmm 116 GPIO_ACTIVE_HIGH>;
++
++		pinctrl-0 = <&wcn_wlan_bt_en>;
++		pinctrl-names = "default";
++
++		regulators {
++			vreg_pmu_rfa_cmn: ldo0 {
++				regulator-name = "vreg_pmu_rfa_cmn";
++			};
++
++			vreg_pmu_aon_0p59: ldo1 {
++				regulator-name = "vreg_pmu_aon_0p59";
++			};
++
++			vreg_pmu_wlcx_0p8: ldo2 {
++				regulator-name = "vreg_pmu_wlcx_0p8";
++			};
++
++			vreg_pmu_wlmx_0p85: ldo3 {
++				regulator-name = "vreg_pmu_wlmx_0p85";
++			};
++
++			vreg_pmu_btcmx_0p85: ldo4 {
++				regulator-name = "vreg_pmu_btcmx_0p85";
++			};
++
++			vreg_pmu_rfa_0p8: ldo5 {
++				regulator-name = "vreg_pmu_rfa_0p8";
++			};
++
++			vreg_pmu_rfa_1p2: ldo6 {
++				regulator-name = "vreg_pmu_rfa_1p2";
++			};
++
++			vreg_pmu_rfa_1p8: ldo7 {
++				regulator-name = "vreg_pmu_rfa_1p8";
++			};
++
++			vreg_pmu_pcie_0p9: ldo8 {
++				regulator-name = "vreg_pmu_pcie_0p9";
++			};
++
++			vreg_pmu_pcie_1p8: ldo9 {
++				regulator-name = "vreg_pmu_pcie_1p8";
++			};
++		};
++	};
 +};
 +
 +&apps_rsc {
@@ -400,6 +542,7 @@ Index: src/arm64/qcom/x1e80100-honor-mag
 +			regulator-min-microvolt = <1200000>;
 +			regulator-max-microvolt = <1200000>;
 +			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
++			regulator-always-on;
 +		};
 +
 +		vreg_l13b_3p0: ldo13 {
@@ -421,6 +564,7 @@ Index: src/arm64/qcom/x1e80100-honor-mag
 +			regulator-min-microvolt = <1800000>;
 +			regulator-max-microvolt = <1800000>;
 +			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
++			regulator-always-on;
 +		};
 +
 +		vreg_l16b_2p9: ldo16 {
@@ -638,8 +782,8 @@ Index: src/arm64/qcom/x1e80100-honor-mag
 +
 +		vreg_l2j_1p2: ldo2 {
 +			regulator-name = "vreg_l2j_1p2";
-+			regulator-min-microvolt = <1200000>;
-+			regulator-max-microvolt = <1200000>;
++			regulator-min-microvolt = <1256000>;
++			regulator-max-microvolt = <1256000>;
 +			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
 +		};
 +
@@ -652,6 +796,11 @@ Index: src/arm64/qcom/x1e80100-honor-mag
 +	};
 +};
 +
++&dispcc {
++        /* HACK: disable until a panel driver is ready to retain simplefb */
++        status = "okay";
++};
++
 +&gpu {
 +	status = "okay";
 +
@@ -789,20 +938,47 @@ Index: src/arm64/qcom/x1e80100-honor-mag
 +	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 2 3>;
++};
++
 +&mdss_dp3 {
-+	compatible = "qcom,x1e80100-dp";
 +	/delete-property/ #sound-dai-cells;
++	compatible = "qcom,x1e80100-dp";
 +
 +	status = "okay";
 +
 +	aux-bus {
 +		panel {
-+			compatible = "samsung,atna45af01", "samsung,atna33xc20";
-+			enable-gpios = <&pmc8380_3_gpios 4 GPIO_ACTIVE_HIGH>;
++			compatible = "edp-panel";
++			//compatible = "samsung,atna45af01", "samsung,atna33xc20";
++			//enable-gpios = <&pmc8380_3_gpios 4 GPIO_ACTIVE_HIGH>;
 +			power-supply = <&vreg_edp_3p3>;
 +
-+			pinctrl-0 = <&edp_bl_en>;
-+			pinctrl-names = "default";
++			//pinctrl-0 = <&edp_bl_en>;
++			//pinctrl-names = "default";
 +
 +			port {
 +				edp_panel_in: endpoint {
@@ -849,6 +1025,15 @@ Index: src/arm64/qcom/x1e80100-honor-mag
 +	status = "okay";
 +};
 +
++&pcie4_port0 {
++	wifi@0 {
++		compatible = "pci17cb,1107";
++		reg = <0x10000 0x0 0x0 0x0 0x0>;
++
++		qcom,ath12k-calibration-variant = "LES790";
++	};
++};
++
 +&pm8550ve_8_gpios {
 +	misc_3p3_reg_en: misc-3p3-reg-en-state {
 +		pins = "gpio6";
@@ -898,25 +1083,6 @@ Index: src/arm64/qcom/x1e80100-honor-mag
 +	status = "okay";
 +};
 +
-+&smb2360_0_eusb2_repeater {
-+	vdd18-supply = <&vreg_l3d_1p8>;
-+	vdd3-supply = <&vreg_l2b_3p0>;
-+};
-+
-+&smb2360_1_eusb2_repeater {
-+	vdd18-supply = <&vreg_l3d_1p8>;
-+	vdd3-supply = <&vreg_l14b_3p0>;
-+};
-+
-+&smb2360_2 {
-+	status = "okay";
-+};
-+
-+&smb2360_2_eusb2_repeater {
-+	vdd18-supply = <&vreg_l3d_1p8>;
-+	vdd3-supply = <&vreg_l8b_3p0>;
-+};
-+
 +&swr0 {
 +	status = "okay";
 +
@@ -1003,8 +1169,7 @@ Index: src/arm64/qcom/x1e80100-honor-mag
 +
 +&tlmm {
 +	gpio-reserved-ranges = <34 2>, /* Unused */
-+			       <44 4>, /* SPI (TPM) */
-+			       <238 1>; /* UFS Reset */
++			       <44 4>; /* SPI (TPM) */
 +
 +	edp_reg_en: edp-reg-en-state {
 +		pins = "gpio70";
@@ -1013,32 +1178,38 @@ Index: src/arm64/qcom/x1e80100-honor-mag
 +		bias-disable;
 +	};
 +
-+	eusb5_reset_n: eusb5-reset-n-state {
-+		pins = "gpio7";
++	hall_int_n_default: hall-int-n-state {
++		pins = "gpio92";
 +		function = "gpio";
-+		drive-strength = <2>;
 +		bias-disable;
-+		output-low;
 +	};
 +
-+	eusb6_reset_n: eusb6-reset-n-state {
-+		pins = "gpio184";
++	kybd_default: kybd-default-state {
++		pins = "gpio67";
 +		function = "gpio";
-+		drive-strength = <2>;
 +		bias-disable;
-+		output-low;
 +	};
 +
-+	hall_int_n_default: hall-int-n-state {
-+		pins = "gpio92";
++	hdmi_hpd_default: hdmi-hpd-default-state {
++		pins = "gpio126";
++		function = "usb2_dp";
++		bias-disable;
++	};
++
++	eusb5_reset_n: eusb5-reset-n-state {
++		pins = "gpio7";
 +		function = "gpio";
++		drive-strength = <2>;
 +		bias-disable;
++		output-low;
 +	};
 +
-+	kybd_default: kybd-default-state {
-+		pins = "gpio67";
++	eusb6_reset_n: eusb6-reset-n-state {
++		pins = "gpio184";
 +		function = "gpio";
++		drive-strength = <2>;
 +		bias-disable;
++		output-low;
 +	};
 +
 +	pcie4_default: pcie4-default-state {
@@ -1085,6 +1256,93 @@ Index: src/arm64/qcom/x1e80100-honor-mag
 +		};
 +	};
 +
++	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>;
++		};
++
++	};
++
++	usb_1_ss1_sbu_default: usb-1-ss1-sbu-state {
++		mode-pins {
++			pins = "gpio177";
++			function = "gpio";
++			bias-disable;
++			drive-strength = <2>;
++			output-high;
++		};
++
++		oe-n-pins {
++			pins = "gpio179";
++			function = "gpio";
++			bias-disable;
++			drive-strength = <2>;
++		};
++
++		sel-pins {
++			pins = "gpio178";
++			function = "gpio";
++			bias-disable;
++			drive-strength = <2>;
++		};
++	};
++
++	usb_1_ss2_sbu_default: usb-1-ss2-sbu-state {
++		mode-pins {
++			pins = "gpio169";
++			function = "gpio";
++			bias-disable;
++			drive-strength = <2>;
++			output-high;
++		};
++
++		oe-n-pins {
++			pins = "gpio171";
++			function = "gpio";
++			bias-disable;
++			drive-strength = <2>;
++		};
++
++		sel-pins {
++			pins = "gpio170";
++			function = "gpio";
++			bias-disable;
++			drive-strength = <2>;
++		};
++	};
++
++	wcn_sw_en: wcn-sw-en-state {
++		pins = "gpio214";
++		function = "gpio";
++		drive-strength = <2>;
++		bias-disable;
++	};
++
++	wcn_wlan_bt_en: wcn-wlan-bt-en-state {
++		pins = "gpio116", "gpio117";
++		function = "gpio";
++		drive-strength = <2>;
++		bias-disable;
++	};
++
 +	wcd_default: wcd-reset-n-active-state {
 +		pins = "gpio191";
 +		function = "gpio";
@@ -1097,19 +1355,38 @@ Index: src/arm64/qcom/x1e80100-honor-mag
 +&ufs_mem_hc {
 +	status = "okay";
 +
-+	vcc-supply = <&vreg_l9b_2p9>;
++	reset-gpios = <&tlmm 238 GPIO_ACTIVE_LOW>;
++	vcc-supply = <&vreg_l17b_2p5>;
 +	vcc-max-microamp = <600000>;
-+	vccq2-supply = <&vreg_l4b_1p8>;
-+	vccq2-max-microamp = <600000>;
++
++	vccq-supply = <&vreg_l2i_1p2>;
++	vccq-max-microamp = <600000>;
 +};
 +
 +&ufs_mem_phy {
 +	status = "okay";
 +
-+	vdda-phy-supply = <&vreg_l2c_0p8>;
-+	vdda-phy-max-microamp = <62900>;
-+	vdda-pll-supply = <&vreg_l12b_1p2>;
-+	vdda-pll-max-microamp = <18300>;
++	//vdda-phy-supply = <&vreg_l2c_0p8>;
++	vdda-phy-supply = <&vreg_l3i_0p8>;
++	//vdda-pll-supply = <&vreg_l12b_1p2>;
++	vdda-pll-supply = <&vreg_l3e_1p2>;
++};
++
++&uart14 {
++	status = "okay";
++
++	bluetooth {
++		compatible = "qcom,wcn7850-bt";
++		max-speed = <3200000>;
++
++		vddaon-supply = <&vreg_pmu_aon_0p59>;
++		vddwlcx-supply = <&vreg_pmu_wlcx_0p8>;
++		vddwlmx-supply = <&vreg_pmu_wlmx_0p85>;
++		vddrfacmn-supply = <&vreg_pmu_rfa_cmn>;
++		vddrfa0p8-supply = <&vreg_pmu_rfa_0p8>;
++		vddrfa1p2-supply = <&vreg_pmu_rfa_1p2>;
++		vddrfa1p8-supply = <&vreg_pmu_rfa_1p8>;
++	};
 +};
 +
 +&uart21 {
@@ -1117,24 +1394,29 @@ Index: src/arm64/qcom/x1e80100-honor-mag
 +	status = "okay";
 +};
 +
++/* usb1 covers left side typec ports */
++
++/* back(towards the display) typec port */
++&usb_1_ss0 {
++	status = "okay";
++};
++
 +&usb_1_ss0_hsphy {
 +	vdd-supply = <&vreg_l3j_0p8>;
 +	vdda12-supply = <&vreg_l2j_1p2>;
 +
-+	phys = <&smb2360_0_eusb2_repeater>;
-+
 +	status = "okay";
 +};
 +
 +&usb_1_ss0_qmpphy {
-+	vdda-phy-supply = <&vreg_l3e_1p2>;
++	vdda-phy-supply = <&vreg_l2j_1p2>;
 +	vdda-pll-supply = <&vreg_l1j_0p8>;
 +
 +	status = "okay";
 +};
 +
-+&usb_1_ss0 {
-+	status = "okay";
++&usb_1_ss0_dwc3 {
++	dr_mode = "host";
 +};
 +
 +&usb_1_ss0_dwc3_hs {
@@ -1145,24 +1427,27 @@ Index: src/arm64/qcom/x1e80100-honor-mag
 +	remote-endpoint = <&pmic_glink_ss0_ss_in>;
 +};
 +
++/* front typec port */
++&usb_1_ss1 {
++	status = "okay";
++};
++
 +&usb_1_ss1_hsphy {
 +	vdd-supply = <&vreg_l3j_0p8>;
 +	vdda12-supply = <&vreg_l2j_1p2>;
 +
-+	phys = <&smb2360_1_eusb2_repeater>;
-+
 +	status = "okay";
 +};
 +
 +&usb_1_ss1_qmpphy {
-+	vdda-phy-supply = <&vreg_l3e_1p2>;
++	vdda-phy-supply = <&vreg_l2j_1p2>;
 +	vdda-pll-supply = <&vreg_l2d_0p9>;
 +
 +	status = "okay";
 +};
 +
-+&usb_1_ss1 {
-+	status = "okay";
++&usb_1_ss1_dwc3 {
++	dr_mode = "host";
 +};
 +
 +&usb_1_ss1_dwc3_hs {
@@ -1173,23 +1458,35 @@ Index: src/arm64/qcom/x1e80100-honor-mag
 +	remote-endpoint = <&pmic_glink_ss1_ss_in>;
 +};
 +
-+&usb_2_hsphy {
-+	vdd-supply = <&vreg_l3j_0p8>;
-+	vdda12-supply = <&vreg_l2j_1p2>;
++/* DP-HDMI bridge connected here? */
++&usb_1_ss2_qmpphy {
++	vdda-phy-supply = <&vreg_l2j_1p2>;
++	vdda-pll-supply = <&vreg_l2d_0p9>;
 +
-+	phys = <&eusb5_repeater>;
++	qcom,combo-initial-mode = "dp";
++
++	/delete-property/ mode-switch;
++	/delete-property/ orientation-switch;
 +
 +	status = "okay";
 +};
 +
-+&usb_2_dwc3_hs {
-+	remote-endpoint = <&pmic_glink_usb_2_hs_in>;
++&usb_1_ss2_qmpphy_out {
++	remote-endpoint = <&hdmi_con>;
 +};
 +
-+&usb_2 {
++
++/* MP0 goes to the USB-A port(USB3) and FPC */
++&usb_mp {
 +	status = "okay";
 +};
 +
++&usb_mp_dwc3 {
++	/* Limit to single port */
++	phys = <&usb_mp_hsphy0>, <&usb_mp_qmpphy0>;
++	phy-names = "usb2-0", "usb3-0";
++};
++
 +&usb_mp_hsphy0 {
 +	vdd-supply = <&vreg_l2e_0p8>;
 +	vdda12-supply = <&vreg_l3e_1p2>;
@@ -1206,7 +1503,19 @@ Index: src/arm64/qcom/x1e80100-honor-mag
 +	status = "okay";
 +};
 +
-+/* MP0 goes to the USB-A port */
-+&usb_mp {
++/* usb_2 is for camera, USB port on top of the screen */
++&usb_2 {
++	status = "okay";
++};
++
++&usb_2_hsphy {
++	vdd-supply = <&vreg_l3j_0p8>;
++	vdda12-supply = <&vreg_l2j_1p2>;
++	phys = <&eusb5_repeater>;
 +	status = "okay";
 +};
++
++&usb_2_dwc3 {
++	dr_mode = "host";
++};
++


-- 
wbr, Kirill