From: Mark Kettenis Subject: Re: Sync x1e80100-magicbook DTS with https://github.com/vamanea/linux-magicbook To: Kirill A. Korinsky Cc: ports@openbsd.org, tobhe@openbsd.org, kettenis@openbsd.org Date: Sun, 21 Sep 2025 12:42:22 +0200 > Date: Sun, 21 Sep 2025 12:38:25 +0200 > From: Kirill A. Korinsky > 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 > ++ * Copyright (c) 2025 Valentin Manea > + */ > + > +/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 = ; > ++ 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 = ; > ++ 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 = ; > + }; > + > @@ -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 >