Index | Thread | Search

From:
Mark Kettenis <mark.kettenis@xs4all.nl>
Subject:
Re: Sync x1e80100-magicbook DTS with https://github.com/vamanea/linux-magicbook
To:
Kirill A. Korinsky <kirill@korins.ky>
Cc:
ports@openbsd.org, tobhe@openbsd.org, kettenis@openbsd.org
Date:
Sun, 21 Sep 2025 12:42:22 +0200

Download raw body.

Thread
> Date: Sun, 21 Sep 2025 12:38:25 +0200
> From: Kirill A. Korinsky <kirill@korins.ky>
> Cc: tobhe@openbsd.org,
> 	kettenis@openbsd.org
> Content-Type: text/plain; charset=US-ASCII
> 
> 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?

ok kettenis@

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