From: Kirill A. Korinsky Subject: Re: Update arm64-qcom-dtb to Linux 6.17 To: Mark Kettenis Cc: tech@openbsd.org, ports@openbsd.org, tobhe@openbsd.org, landry@openbsd.org, mglocker@openbsd.org Date: Sat, 01 Nov 2025 01:11:16 +0100 On Fri, 31 Oct 2025 16:47:09 +0100, Mark Kettenis wrote: > > No real changes that we care about, but it gets rid of a lot of local > modifications. > > This does introduce separate device trees for the OLED and non-OLED > versions of the t14s. Our bootloader will continue to load the > non-OLED version. > > ok? > Tested on Honor Magicbook, works, impact on dmesg: @@ -1,7 +1,7 @@ OpenBSD 7.8-current (GENERIC.MP) #51: Wed Oct 29 18:18:41 MDT 2025 deraadt@arm64.openbsd.org:/usr/src/sys/arch/arm64/compile/GENERIC.MP -real mem = 33760432128 (32196MB) -avail mem = 32675016704 (31161MB) +real mem = 33760440320 (32196MB) +avail mem = 32675024896 (31161MB) random: good seed from bootblocks mainbus0 at root: HONOR MagicBook Art 14 Snapdragon psci0 at mainbus0: PSCI 1.1, SMCCC 1.3, SYSTEM_SUSPEND @@ -316,10 +315,12 @@ "tpda" at simplebus0 not configured "funnel" at simplebus0 not configured smmu1 at simplebus0: disabled +"iommu" at simplebus0 not configured qccpucp0 at simplebus0 "rsc" at simplebus0 not configured "timer" at simplebus0 not configured "sram" at simplebus0 not configured +"watchdog" at simplebus0 not configured "pmu" at simplebus0 not configured "pmu" at simplebus0 not configured "pmu" at simplebus0 not configured FWIW ok kirill@ > > Index: Makefile > =================================================================== > RCS file: /cvs/ports/sysutils/firmware/arm64-qcom-dtb/Makefile,v > diff -u -p -r1.25 Makefile > --- Makefile 21 Sep 2025 11:11:21 -0000 1.25 > +++ Makefile 31 Oct 2025 15:41:31 -0000 > @@ -1,8 +1,7 @@ > FW_DRIVER= arm64-qcom-dtb > -FW_VER= 2.5 > -REVISION= 2 > +FW_VER= 2.6 > > -DISTNAME= devicetree-rebasing-6.15-dts > +DISTNAME= devicetree-rebasing-6.17-dts > > # can be redistributed, but shouldn't be in normal packages directory as > # this is only meant for use with fw_update. > @@ -21,10 +20,13 @@ MAKE_ENV += CPP=clang-cpp > DTBS= sc8280xp-lenovo-thinkpad-x13s.dtb \ > sc8280xp-microsoft-blackrock.dtb \ > x1e78100-lenovo-thinkpad-t14s.dtb \ > + x1e78100-lenovo-thinkpad-t14s-oled.dtb \ > x1e80100-asus-vivobook-s15.dtb \ > + x1e80100-asus-zenbook-a14.dtb \ > x1e80100-crd.dtb \ > x1e80100-dell-xps13-9345.dtb \ > x1e80100-honor-magicbook-art-14.dtb \ > + x1e80100-hp-elitebook-ultra-g1q.dtb \ > x1e80100-hp-omnibook-x14.dtb \ > x1e80100-lenovo-yoga-slim7x.dtb \ > x1e80100-microsoft-romulus13.dtb \ > Index: distinfo > =================================================================== > RCS file: /cvs/ports/sysutils/firmware/arm64-qcom-dtb/distinfo,v > diff -u -p -r1.4 distinfo > --- distinfo 8 Jun 2025 18:19:16 -0000 1.4 > +++ distinfo 31 Oct 2025 15:41:31 -0000 > @@ -1,2 +1,2 @@ > -SHA256 (firmware/devicetree-rebasing-6.15-dts.tar.gz) = xotQ8ircmPHSol3IZFWOgqhmV8C3ZUtHc53dttMn5og= > -SIZE (firmware/devicetree-rebasing-6.15-dts.tar.gz) = 9818098 > +SHA256 (firmware/devicetree-rebasing-6.17-dts.tar.gz) = iktVQN4F+w0nkEJAKKoOdLZMrd8ypN00T0I3govkJiU= > +SIZE (firmware/devicetree-rebasing-6.17-dts.tar.gz) = 10262834 > Index: patches/patch-src_arm64_qcom_sc8280xp-lenovo-thinkpad-x13s_dts > =================================================================== > RCS file: /cvs/ports/sysutils/firmware/arm64-qcom-dtb/patches/patch-src_arm64_qcom_sc8280xp-lenovo-thinkpad-x13s_dts,v > diff -u -p -r1.4 patch-src_arm64_qcom_sc8280xp-lenovo-thinkpad-x13s_dts > --- patches/patch-src_arm64_qcom_sc8280xp-lenovo-thinkpad-x13s_dts 26 Jan 2025 13:28:49 -0000 1.4 > +++ patches/patch-src_arm64_qcom_sc8280xp-lenovo-thinkpad-x13s_dts 31 Oct 2025 15:41:31 -0000 > @@ -18,7 +18,7 @@ Index: src/arm64/qcom/sc8280xp-lenovo-th > }; > > &pcie4 { > -@@ -1417,7 +1417,7 @@ > +@@ -1411,7 +1411,7 @@ > }; > > &usb_2 { > Index: patches/patch-src_arm64_qcom_x1e78100-lenovo-thinkpad-t14s_dts > =================================================================== > RCS file: patches/patch-src_arm64_qcom_x1e78100-lenovo-thinkpad-t14s_dts > diff -N patches/patch-src_arm64_qcom_x1e78100-lenovo-thinkpad-t14s_dts > --- patches/patch-src_arm64_qcom_x1e78100-lenovo-thinkpad-t14s_dts 8 Jun 2025 18:19:16 -0000 1.4 > +++ /dev/null 1 Jan 1970 00:00:00 -0000 > @@ -1,530 +0,0 @@ > -Index: src/arm64/qcom/x1e78100-lenovo-thinkpad-t14s.dts > ---- src/arm64/qcom/x1e78100-lenovo-thinkpad-t14s.dts.orig > -+++ src/arm64/qcom/x1e78100-lenovo-thinkpad-t14s.dts > -@@ -92,9 +92,17 @@ > - reg = <1>; > - > - pmic_glink_ss0_ss_in: endpoint { > -- remote-endpoint = <&usb_1_ss0_qmpphy_out>; > -+ remote-endpoint = <&retimer_ss0_ss_out>; > - }; > - }; > -+ > -+ port@2 { > -+ reg = <2>; > -+ > -+ pmic_glink_ss0_con_sbu_in: endpoint { > -+ remote-endpoint = <&retimer_ss0_con_sbu_out>; > -+ }; > -+ }; > - }; > - }; > - > -@@ -121,9 +129,17 @@ > - reg = <1>; > - > - pmic_glink_ss1_ss_in: endpoint { > -- remote-endpoint = <&usb_1_ss1_qmpphy_out>; > -+ remote-endpoint = <&retimer_ss1_ss_out>; > - }; > - }; > -+ > -+ port@2 { > -+ reg = <2>; > -+ > -+ pmic_glink_ss1_con_sbu_in: endpoint { > -+ remote-endpoint = <&retimer_ss1_con_sbu_out>; > -+ }; > -+ }; > - }; > - }; > - }; > -@@ -169,6 +185,102 @@ > - regulator-boot-on; > - }; > - > -+ vreg_rtmr0_1p15: regulator-rtmr0-1p15 { > -+ compatible = "regulator-fixed"; > -+ > -+ regulator-name = "VREG_RTMR0_1P15"; > -+ regulator-min-microvolt = <1150000>; > -+ regulator-max-microvolt = <1150000>; > -+ > -+ gpio = <&pmc8380_5_gpios 8 GPIO_ACTIVE_HIGH>; > -+ enable-active-high; > -+ > -+ pinctrl-0 = <&usb0_pwr_1p15_reg_en>; > -+ pinctrl-names = "default"; > -+ > -+ regulator-boot-on; > -+ }; > -+ > -+ vreg_rtmr0_1p8: regulator-rtmr0-1p8 { > -+ compatible = "regulator-fixed"; > -+ > -+ regulator-name = "VREG_RTMR0_1P8"; > -+ regulator-min-microvolt = <1800000>; > -+ regulator-max-microvolt = <1800000>; > -+ > -+ gpio = <&pm8550ve_9_gpios 8 GPIO_ACTIVE_HIGH>; > -+ enable-active-high; > -+ > -+ pinctrl-0 = <&usb0_1p8_reg_en>; > -+ pinctrl-names = "default"; > -+ > -+ regulator-boot-on; > -+ }; > -+ > -+ vreg_rtmr0_3p3: regulator-rtmr0-3p3 { > -+ compatible = "regulator-fixed"; > -+ > -+ regulator-name = "VREG_RTMR0_3P3"; > -+ regulator-min-microvolt = <3300000>; > -+ regulator-max-microvolt = <3300000>; > -+ > -+ gpio = <&pm8550_gpios 11 GPIO_ACTIVE_HIGH>; > -+ enable-active-high; > -+ > -+ pinctrl-0 = <&usb0_3p3_reg_en>; > -+ pinctrl-names = "default"; > -+ > -+ regulator-boot-on; > -+ }; > -+ > -+ vreg_rtmr1_1p15: regulator-rtmr1-1p15 { > -+ compatible = "regulator-fixed"; > -+ > -+ regulator-name = "VREG_RTMR1_1P15"; > -+ regulator-min-microvolt = <1150000>; > -+ regulator-max-microvolt = <1150000>; > -+ > -+ gpio = <&tlmm 188 GPIO_ACTIVE_HIGH>; > -+ enable-active-high; > -+ > -+ pinctrl-0 = <&usb1_pwr_1p15_reg_en>; > -+ pinctrl-names = "default"; > -+ > -+ regulator-boot-on; > -+ }; > -+ > -+ vreg_rtmr1_1p8: regulator-rtmr1-1p8 { > -+ compatible = "regulator-fixed"; > -+ > -+ regulator-name = "VREG_RTMR1_1P8"; > -+ regulator-min-microvolt = <1800000>; > -+ regulator-max-microvolt = <1800000>; > -+ > -+ gpio = <&tlmm 175 GPIO_ACTIVE_HIGH>; > -+ enable-active-high; > -+ > -+ pinctrl-0 = <&usb1_pwr_1p8_reg_en>; > -+ pinctrl-names = "default"; > -+ > -+ regulator-boot-on; > -+ }; > -+ > -+ vreg_rtmr1_3p3: regulator-rtmr1-3p3 { > -+ compatible = "regulator-fixed"; > -+ > -+ regulator-name = "VREG_RTMR1_3P3"; > -+ regulator-min-microvolt = <3300000>; > -+ regulator-max-microvolt = <3300000>; > -+ > -+ gpio = <&tlmm 186 GPIO_ACTIVE_HIGH>; > -+ enable-active-high; > -+ > -+ pinctrl-0 = <&usb1_pwr_3p3_reg_en>; > -+ pinctrl-names = "default"; > -+ > -+ regulator-boot-on; > -+ }; > -+ > - vph_pwr: regulator-vph-pwr { > - compatible = "regulator-fixed"; > - > -@@ -655,6 +767,169 @@ > - }; > - }; > - > -+&i2c3 { > -+ clock-frequency = <400000>; > -+ > -+ status = "okay"; > -+ > -+ typec-mux@8 { > -+ compatible = "parade,ps8830"; > -+ reg = <0x08>; > -+ > -+ clocks = <&rpmhcc RPMH_RF_CLK3>; > -+ > -+ vdd-supply = <&vreg_rtmr0_1p15>; > -+ vdd33-supply = <&vreg_rtmr0_3p3>; > -+ vdd33-cap-supply = <&vreg_rtmr0_3p3>; > -+ vddar-supply = <&vreg_rtmr0_1p15>; > -+ vddat-supply = <&vreg_rtmr0_1p15>; > -+ vddio-supply = <&vreg_rtmr0_1p8>; > -+ > -+ reset-gpios = <&pm8550_gpios 10 GPIO_ACTIVE_LOW>; > -+ > -+ pinctrl-0 = <&rtmr0_default>; > -+ pinctrl-names = "default"; > -+ > -+ orientation-switch; > -+ retimer-switch; > -+ > -+ ports { > -+ #address-cells = <1>; > -+ #size-cells = <0>; > -+ > -+ port@0 { > -+ reg = <0>; > -+ > -+ retimer_ss0_ss_out: endpoint { > -+ remote-endpoint = <&pmic_glink_ss0_ss_in>; > -+ }; > -+ }; > -+ > -+ port@1 { > -+ reg = <1>; > -+ > -+ retimer_ss0_ss_in: endpoint { > -+ remote-endpoint = <&usb_1_ss0_qmpphy_out>; > -+ }; > -+ }; > -+ > -+ port@2 { > -+ reg = <2>; > -+ > -+ retimer_ss0_con_sbu_out: endpoint { > -+ remote-endpoint = <&pmic_glink_ss0_con_sbu_in>; > -+ }; > -+ }; > -+ }; > -+ }; > -+}; > -+ > -+&i2c5 { > -+ clock-frequency = <400000>; > -+ > -+ status = "okay"; > -+ > -+ eusb5_repeater: redriver@43 { > -+ compatible = "nxp,ptn3222"; > -+ reg = <0x43>; > -+ #phy-cells = <0>; > -+ > -+ vdd3v3-supply = <&vreg_l13b_3p0>; > -+ vdd1v8-supply = <&vreg_l4b_1p8>; > -+ > -+ reset-gpios = <&tlmm 7 GPIO_ACTIVE_LOW>; > -+ > -+ pinctrl-0 = <&eusb5_reset_n>; > -+ pinctrl-names = "default"; > -+ }; > -+ > -+ eusb3_repeater: redriver@47 { > -+ compatible = "nxp,ptn3222"; > -+ reg = <0x47>; > -+ #phy-cells = <0>; > -+ > -+ vdd3v3-supply = <&vreg_l13b_3p0>; > -+ vdd1v8-supply = <&vreg_l4b_1p8>; > -+ > -+ reset-gpios = <&tlmm 6 GPIO_ACTIVE_LOW>; > -+ > -+ pinctrl-0 = <&eusb3_reset_n>; > -+ pinctrl-names = "default"; > -+ }; > -+ > -+ eusb6_repeater: redriver@4f { > -+ compatible = "nxp,ptn3222"; > -+ reg = <0x4f>; > -+ #phy-cells = <0>; > -+ > -+ vdd3v3-supply = <&vreg_l13b_3p0>; > -+ vdd1v8-supply = <&vreg_l4b_1p8>; > -+ > -+ reset-gpios = <&tlmm 184 GPIO_ACTIVE_LOW>; > -+ > -+ pinctrl-0 = <&eusb6_reset_n>; > -+ pinctrl-names = "default"; > -+ }; > -+}; > -+ > -+&i2c7 { > -+ clock-frequency = <400000>; > -+ > -+ status = "okay"; > -+ > -+ typec-mux@8 { > -+ compatible = "parade,ps8830"; > -+ reg = <0x8>; > -+ > -+ clocks = <&rpmhcc RPMH_RF_CLK4>; > -+ > -+ vdd-supply = <&vreg_rtmr1_1p15>; > -+ vdd33-supply = <&vreg_rtmr1_3p3>; > -+ vdd33-cap-supply = <&vreg_rtmr1_3p3>; > -+ vddar-supply = <&vreg_rtmr1_1p15>; > -+ vddat-supply = <&vreg_rtmr1_1p15>; > -+ vddio-supply = <&vreg_rtmr1_1p8>; > -+ > -+ reset-gpios = <&tlmm 176 GPIO_ACTIVE_LOW>; > -+ > -+ pinctrl-0 = <&rtmr1_default>; > -+ pinctrl-names = "default"; > -+ > -+ retimer-switch; > -+ orientation-switch; > -+ > -+ ports { > -+ #address-cells = <1>; > -+ #size-cells = <0>; > -+ > -+ port@0 { > -+ reg = <0>; > -+ > -+ retimer_ss1_ss_out: endpoint { > -+ remote-endpoint = <&pmic_glink_ss1_ss_in>; > -+ }; > -+ }; > -+ > -+ port@1 { > -+ reg = <1>; > -+ > -+ retimer_ss1_ss_in: endpoint { > -+ remote-endpoint = <&usb_1_ss1_qmpphy_out>; > -+ }; > -+ }; > -+ > -+ port@2 { > -+ reg = <2>; > -+ > -+ retimer_ss1_con_sbu_out: endpoint { > -+ remote-endpoint = <&pmic_glink_ss1_con_sbu_in>; > -+ }; > -+ }; > -+ > -+ }; > -+ }; > -+}; > -+ > - &i2c8 { > - clock-frequency = <400000>; > - > -@@ -697,6 +972,22 @@ > - status = "okay"; > - }; > - > -+&mdss_dp0 { > -+ status = "okay"; > -+}; > -+ > -+&mdss_dp0_out { > -+ data-lanes = <0 1>; > -+}; > -+ > -+&mdss_dp1 { > -+ status = "okay"; > -+}; > -+ > -+&mdss_dp1_out { > -+ data-lanes = <0 1>; > -+}; > -+ > - &mdss_dp3 { > - compatible = "qcom,x1e80100-dp"; > - /delete-property/ #sound-dai-cells; > -@@ -777,6 +1068,37 @@ > - status = "okay"; > - }; > - > -+&pm8550_gpios { > -+ rtmr0_default: rtmr0-reset-n-active-state { > -+ pins = "gpio10"; > -+ function = "normal"; > -+ power-source = <1>; /* 1.8V */ > -+ bias-disable; > -+ input-disable; > -+ output-enable; > -+ }; > -+ > -+ usb0_3p3_reg_en: usb0-3p3-reg-en-state { > -+ pins = "gpio11"; > -+ function = "normal"; > -+ power-source = <1>; /* 1.8V */ > -+ bias-disable; > -+ input-disable; > -+ output-enable; > -+ }; > -+}; > -+ > -+&pm8550ve_9_gpios { > -+ usb0_1p8_reg_en: usb0-1p8-reg-en-state { > -+ pins = "gpio8"; > -+ function = "normal"; > -+ power-source = <1>; /* 1.8V */ > -+ bias-disable; > -+ input-disable; > -+ output-enable; > -+ }; > -+}; > -+ > - &pmc8380_3_gpios { > - edp_bl_en: edp-bl-en-state { > - pins = "gpio4"; > -@@ -787,6 +1109,17 @@ > - }; > - }; > - > -+&pmc8380_5_gpios { > -+ usb0_pwr_1p15_reg_en: usb0-pwr-1p15-reg-en-state { > -+ pins = "gpio8"; > -+ function = "normal"; > -+ power-source = <1>; /* 1.8V */ > -+ bias-disable; > -+ input-disable; > -+ output-enable; > -+ }; > -+}; > -+ > - &qupv3_0 { > - status = "okay"; > - }; > -@@ -914,6 +1247,30 @@ > - output-low; > - }; > - > -+ eusb3_reset_n: eusb3-reset-n-state { > -+ pins = "gpio6"; > -+ function = "gpio"; > -+ drive-strength = <2>; > -+ bias-disable; > -+ output-low; > -+ }; > -+ > -+ eusb5_reset_n: eusb5-reset-n-state { > -+ pins = "gpio7"; > -+ function = "gpio"; > -+ drive-strength = <2>; > -+ bias-disable; > -+ output-low; > -+ }; > -+ > -+ eusb6_reset_n: eusb6-reset-n-state { > -+ pins = "gpio184"; > -+ function = "gpio"; > -+ drive-strength = <2>; > -+ bias-disable; > -+ output-low; > -+ }; > -+ > - tpad_default: tpad-default-state { > - pins = "gpio3"; > - function = "gpio"; > -@@ -1007,6 +1364,34 @@ > - }; > - }; > - > -+ rtmr1_default: rtmr1-reset-n-active-state { > -+ pins = "gpio176"; > -+ function = "gpio"; > -+ drive-strength = <2>; > -+ bias-disable; > -+ }; > -+ > -+ usb1_pwr_1p15_reg_en: usb1-pwr-1p15-reg-en-state { > -+ pins = "gpio188"; > -+ function = "gpio"; > -+ drive-strength = <2>; > -+ bias-disable; > -+ }; > -+ > -+ usb1_pwr_1p8_reg_en: usb1-pwr-1p8-reg-en-state { > -+ pins = "gpio175"; > -+ function = "gpio"; > -+ drive-strength = <2>; > -+ bias-disable; > -+ }; > -+ > -+ usb1_pwr_3p3_reg_en: usb1-pwr-3p3-reg-en-state { > -+ pins = "gpio186"; > -+ function = "gpio"; > -+ drive-strength = <2>; > -+ bias-disable; > -+ }; > -+ > - wcd_default: wcd-reset-n-active-state { > - pins = "gpio191"; > - function = "gpio"; > -@@ -1045,7 +1430,7 @@ > - }; > - > - &usb_1_ss0_qmpphy_out { > -- remote-endpoint = <&pmic_glink_ss0_ss_in>; > -+ remote-endpoint = <&retimer_ss0_ss_in>; > - }; > - > - &usb_1_ss1_hsphy { > -@@ -1077,7 +1462,60 @@ > - }; > - > - &usb_1_ss1_qmpphy_out { > -- remote-endpoint = <&pmic_glink_ss1_ss_in>; > -+ remote-endpoint = <&retimer_ss1_ss_in>; > -+}; > -+ > -+&usb_2 { > -+ status = "okay"; > -+}; > -+ > -+&usb_2_dwc3 { > -+ dr_mode = "host"; > -+}; > -+ > -+&usb_2_hsphy { > -+ vdd-supply = <&vreg_l2e_0p8>; > -+ vdda12-supply = <&vreg_l3e_1p2>; > -+ > -+ phys = <&eusb5_repeater>; > -+ > -+ status = "okay"; > -+}; > -+ > -+&usb_mp { > -+ status = "okay"; > -+}; > -+ > -+&usb_mp_hsphy0 { > -+ vdd-supply = <&vreg_l2e_0p8>; > -+ vdda12-supply = <&vreg_l3e_1p2>; > -+ > -+ phys = <&eusb6_repeater>; > -+ > -+ status = "okay"; > -+}; > -+ > -+&usb_mp_qmpphy0 { > -+ vdda-phy-supply = <&vreg_l3e_1p2>; > -+ vdda-pll-supply = <&vreg_l3c_0p8>; > -+ > -+ status = "okay"; > -+}; > -+ > -+&usb_mp_hsphy1 { > -+ vdd-supply = <&vreg_l2e_0p8>; > -+ vdda12-supply = <&vreg_l3e_1p2>; > -+ > -+ phys = <&eusb3_repeater>; > -+ > -+ status = "okay"; > -+}; > -+ > -+&usb_mp_qmpphy1 { > -+ vdda-phy-supply = <&vreg_l3e_1p2>; > -+ vdda-pll-supply = <&vreg_l3c_0p8>; > -+ > -+ status = "okay"; > - }; > - > - &usb_2 { > Index: patches/patch-src_arm64_qcom_x1e80100-asus-vivobook-s15_dts > =================================================================== > RCS file: patches/patch-src_arm64_qcom_x1e80100-asus-vivobook-s15_dts > diff -N patches/patch-src_arm64_qcom_x1e80100-asus-vivobook-s15_dts > --- patches/patch-src_arm64_qcom_x1e80100-asus-vivobook-s15_dts 8 Jun 2025 18:19:16 -0000 1.4 > +++ /dev/null 1 Jan 1970 00:00:00 -0000 > @@ -1,178 +0,0 @@ > -Index: src/arm64/qcom/x1e80100-asus-vivobook-s15.dts > ---- src/arm64/qcom/x1e80100-asus-vivobook-s15.dts.orig > -+++ src/arm64/qcom/x1e80100-asus-vivobook-s15.dts > -@@ -192,6 +192,20 @@ > - regulator-initial-mode = ; > - }; > - > -+ vreg_l4b_1p8: ldo4 { > -+ regulator-name = "vreg_l4b_1p8"; > -+ regulator-min-microvolt = <1800000>; > -+ regulator-max-microvolt = <1800000>; > -+ regulator-initial-mode = ; > -+ }; > -+ > -+ vreg_l13b_3p0: ldo13 { > -+ regulator-name = "vreg_l13b_3p0"; > -+ regulator-min-microvolt = <3072000>; > -+ regulator-max-microvolt = <3072000>; > -+ regulator-initial-mode = ; > -+ }; > -+ > - vreg_l14b_3p0: ldo14 { > - regulator-name = "vreg_l14b_3p0"; > - regulator-min-microvolt = <3072000>; > -@@ -209,6 +223,13 @@ > - vdd-l3-supply = <&vreg_s1f_0p7>; > - vdd-s4-supply = <&vph_pwr>; > - > -+ vreg_l3c_0p8: ldo3 { > -+ regulator-name = "vreg_l3c_0p8"; > -+ regulator-min-microvolt = <912000>; > -+ regulator-max-microvolt = <912000>; > -+ regulator-initial-mode = ; > -+ }; > -+ > - vreg_s4c_1p8: smps4 { > - regulator-name = "vreg_s4c_1p8"; > - regulator-min-microvolt = <1856000>; > -@@ -401,7 +422,49 @@ > - wakeup-source; > - }; > - > -- /* EC? @ 0x5b, 0x76 */ > -+ eusb5_repeater: redriver@43 { > -+ compatible = "nxp,ptn3222"; > -+ reg = <0x43>; > -+ #phy-cells = <0>; > -+ > -+ vdd3v3-supply = <&vreg_l13b_3p0>; > -+ vdd1v8-supply = <&vreg_l4b_1p8>; > -+ > -+ reset-gpios = <&tlmm 7 GPIO_ACTIVE_LOW>; > -+ > -+ pinctrl-0 = <&eusb5_reset_n>; > -+ pinctrl-names = "default"; > -+ }; > -+ > -+ eusb3_repeater: redriver@47 { > -+ compatible = "nxp,ptn3222"; > -+ reg = <0x47>; > -+ #phy-cells = <0>; > -+ > -+ vdd3v3-supply = <&vreg_l13b_3p0>; > -+ vdd1v8-supply = <&vreg_l4b_1p8>; > -+ > -+ reset-gpios = <&tlmm 6 GPIO_ACTIVE_LOW>; > -+ > -+ pinctrl-0 = <&eusb3_reset_n>; > -+ pinctrl-names = "default"; > -+ }; > -+ > -+ eusb6_repeater: redriver@4f { > -+ compatible = "nxp,ptn3222"; > -+ reg = <0x4f>; > -+ #phy-cells = <0>; > -+ > -+ vdd3v3-supply = <&vreg_l13b_3p0>; > -+ vdd1v8-supply = <&vreg_l4b_1p8>; > -+ > -+ reset-gpios = <&tlmm 184 GPIO_ACTIVE_LOW>; > -+ > -+ pinctrl-0 = <&eusb6_reset_n>; > -+ pinctrl-names = "default"; > -+ }; > -+ > -+ /* EC @ 0x76 */ > - }; > - > - &i2c7 { > -@@ -563,6 +626,30 @@ > - bias-disable; > - }; > - > -+ eusb3_reset_n: eusb3-reset-n-state { > -+ pins = "gpio6"; > -+ function = "gpio"; > -+ drive-strength = <2>; > -+ bias-pull-up; > -+ output-low; > -+ }; > -+ > -+ eusb5_reset_n: eusb5-reset-n-state { > -+ pins = "gpio7"; > -+ function = "gpio"; > -+ drive-strength = <2>; > -+ bias-pull-up; > -+ output-low; > -+ }; > -+ > -+ eusb6_reset_n: eusb6-reset-n-state { > -+ pins = "gpio184"; > -+ function = "gpio"; > -+ drive-strength = <2>; > -+ bias-pull-up; > -+ output-low; > -+ }; > -+ > - hall_int_n_default: hall-int-n-state { > - pins = "gpio92"; > - function = "gpio"; > -@@ -697,4 +784,57 @@ > - > - &usb_1_ss1_qmpphy_out { > - remote-endpoint = <&pmic_glink_ss1_ss_in>; > -+}; > -+ > -+&usb_2 { > -+ status = "okay"; > -+}; > -+ > -+&usb_2_dwc3 { > -+ dr_mode = "host"; > -+}; > -+ > -+&usb_2_hsphy { > -+ vdd-supply = <&vreg_l2e_0p8>; > -+ vdda12-supply = <&vreg_l3e_1p2>; > -+ > -+ phys = <&eusb5_repeater>; > -+ > -+ status = "okay"; > -+}; > -+ > -+&usb_mp { > -+ status = "okay"; > -+}; > -+ > -+&usb_mp_hsphy0 { > -+ vdd-supply = <&vreg_l2e_0p8>; > -+ vdda12-supply = <&vreg_l3e_1p2>; > -+ > -+ phys = <&eusb6_repeater>; > -+ > -+ status = "okay"; > -+}; > -+ > -+&usb_mp_hsphy1 { > -+ vdd-supply = <&vreg_l2e_0p8>; > -+ vdda12-supply = <&vreg_l3e_1p2>; > -+ > -+ phys = <&eusb3_repeater>; > -+ > -+ status = "okay"; > -+}; > -+ > -+&usb_mp_qmpphy0 { > -+ vdda-phy-supply = <&vreg_l3e_1p2>; > -+ vdda-pll-supply = <&vreg_l3c_0p8>; > -+ > -+ status = "okay"; > -+}; > -+ > -+&usb_mp_qmpphy1 { > -+ vdda-phy-supply = <&vreg_l3e_1p2>; > -+ vdda-pll-supply = <&vreg_l3c_0p8>; > -+ > -+ status = "okay"; > - }; > Index: patches/patch-src_arm64_qcom_x1e80100_dtsi > =================================================================== > RCS file: /cvs/ports/sysutils/firmware/arm64-qcom-dtb/patches/patch-src_arm64_qcom_x1e80100_dtsi,v > diff -u -p -r1.6 patch-src_arm64_qcom_x1e80100_dtsi > --- patches/patch-src_arm64_qcom_x1e80100_dtsi 14 Aug 2025 20:04:23 -0000 1.6 > +++ patches/patch-src_arm64_qcom_x1e80100_dtsi 31 Oct 2025 15:41:31 -0000 > @@ -1,160 +1,7 @@ > ---- src/arm64/qcom/x1e80100.dtsi.orig Thu Aug 14 21:08:50 2025 > -+++ src/arm64/qcom/x1e80100.dtsi Thu Aug 14 21:09:14 2025 > -@@ -71,8 +71,8 @@ > - reg = <0x0 0x0>; > - enable-method = "psci"; > - next-level-cache = <&l2_0>; > -- power-domains = <&cpu_pd0>; > -- power-domain-names = "psci"; > -+ power-domains = <&cpu_pd0>, <&scmi_dvfs 0>; > -+ power-domain-names = "psci", "perf"; > - cpu-idle-states = <&cluster_c4>; > - > - l2_0: l2-cache { > -@@ -88,8 +88,8 @@ > - reg = <0x0 0x100>; > - enable-method = "psci"; > - next-level-cache = <&l2_0>; > -- power-domains = <&cpu_pd1>; > -- power-domain-names = "psci"; > -+ power-domains = <&cpu_pd1>, <&scmi_dvfs 0>; > -+ power-domain-names = "psci", "perf"; > - cpu-idle-states = <&cluster_c4>; > - }; > - > -@@ -99,8 +99,8 @@ > - reg = <0x0 0x200>; > - enable-method = "psci"; > - next-level-cache = <&l2_0>; > -- power-domains = <&cpu_pd2>; > -- power-domain-names = "psci"; > -+ power-domains = <&cpu_pd2>, <&scmi_dvfs 0>; > -+ power-domain-names = "psci", "perf"; > - cpu-idle-states = <&cluster_c4>; > - }; > - > -@@ -110,8 +110,8 @@ > - reg = <0x0 0x300>; > - enable-method = "psci"; > - next-level-cache = <&l2_0>; > -- power-domains = <&cpu_pd3>; > -- power-domain-names = "psci"; > -+ power-domains = <&cpu_pd3>, <&scmi_dvfs 0>; > -+ power-domain-names = "psci", "perf"; > - cpu-idle-states = <&cluster_c4>; > - }; > - > -@@ -121,8 +121,8 @@ > - reg = <0x0 0x10000>; > - enable-method = "psci"; > - next-level-cache = <&l2_1>; > -- power-domains = <&cpu_pd4>; > -- power-domain-names = "psci"; > -+ power-domains = <&cpu_pd4>, <&scmi_dvfs 1>; > -+ power-domain-names = "psci", "perf"; > - cpu-idle-states = <&cluster_c4>; > - > - l2_1: l2-cache { > -@@ -138,8 +138,8 @@ > - reg = <0x0 0x10100>; > - enable-method = "psci"; > - next-level-cache = <&l2_1>; > -- power-domains = <&cpu_pd5>; > -- power-domain-names = "psci"; > -+ power-domains = <&cpu_pd5>, <&scmi_dvfs 1>; > -+ power-domain-names = "psci", "perf"; > - cpu-idle-states = <&cluster_c4>; > - }; > - > -@@ -149,8 +149,8 @@ > - reg = <0x0 0x10200>; > - enable-method = "psci"; > - next-level-cache = <&l2_1>; > -- power-domains = <&cpu_pd6>; > -- power-domain-names = "psci"; > -+ power-domains = <&cpu_pd6>, <&scmi_dvfs 1>; > -+ power-domain-names = "psci", "perf"; > - cpu-idle-states = <&cluster_c4>; > - }; > - > -@@ -160,8 +160,8 @@ > - reg = <0x0 0x10300>; > - enable-method = "psci"; > - next-level-cache = <&l2_1>; > -- power-domains = <&cpu_pd7>; > -- power-domain-names = "psci"; > -+ power-domains = <&cpu_pd7>, <&scmi_dvfs 1>; > -+ power-domain-names = "psci", "perf"; > - cpu-idle-states = <&cluster_c4>; > - }; > - > -@@ -171,8 +171,8 @@ > - reg = <0x0 0x20000>; > - enable-method = "psci"; > - next-level-cache = <&l2_2>; > -- power-domains = <&cpu_pd8>; > -- power-domain-names = "psci"; > -+ power-domains = <&cpu_pd8>, <&scmi_dvfs 2>; > -+ power-domain-names = "psci", "perf"; > - cpu-idle-states = <&cluster_c4>; > - > - l2_2: l2-cache { > -@@ -188,8 +188,8 @@ > - reg = <0x0 0x20100>; > - enable-method = "psci"; > - next-level-cache = <&l2_2>; > -- power-domains = <&cpu_pd9>; > -- power-domain-names = "psci"; > -+ power-domains = <&cpu_pd9>, <&scmi_dvfs 2>; > -+ power-domain-names = "psci", "perf"; > - cpu-idle-states = <&cluster_c4>; > - }; > - > -@@ -199,8 +199,8 @@ > - reg = <0x0 0x20200>; > - enable-method = "psci"; > - next-level-cache = <&l2_2>; > -- power-domains = <&cpu_pd10>; > -- power-domain-names = "psci"; > -+ power-domains = <&cpu_pd10>, <&scmi_dvfs 2>; > -+ power-domain-names = "psci", "perf"; > - cpu-idle-states = <&cluster_c4>; > - }; > - > -@@ -210,8 +210,8 @@ > - reg = <0x0 0x20300>; > - enable-method = "psci"; > - next-level-cache = <&l2_2>; > -- power-domains = <&cpu_pd11>; > -- power-domain-names = "psci"; > -+ power-domains = <&cpu_pd11>, <&scmi_dvfs 2>; > -+ power-domain-names = "psci", "perf"; > - cpu-idle-states = <&cluster_c4>; > - }; > - > -@@ -322,6 +322,21 @@ > - &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>; > - qcom,dload-mode = <&tcsr 0x19000>; > - }; > -+ > -+ scmi { > -+ compatible = "arm,scmi"; > -+ mboxes = <&cpucp_mbox 0>, <&cpucp_mbox 2>; > -+ mbox-names = "tx", "rx"; > -+ shmem = <&cpu_scp_lpri0>, <&cpu_scp_lpri1>; > -+ > -+ #address-cells = <1>; > -+ #size-cells = <0>; > -+ > -+ scmi_dvfs: protocol@13 { > -+ reg = <0x13>; > -+ #power-domain-cells = <1>; > -+ }; > -+ }; > - }; > - > - clk_virt: interconnect-0 { > -@@ -3708,6 +3723,77 @@ > +Index: src/arm64/qcom/x1e80100.dtsi > +--- src/arm64/qcom/x1e80100.dtsi.orig > ++++ src/arm64/qcom/x1e80100.dtsi > +@@ -3745,6 +3745,77 @@ > status = "disabled"; > }; > > @@ -232,43 +79,3 @@ > tcsr_mutex: hwlock@1f40000 { > compatible = "qcom,tcsr-mutex"; > reg = <0 0x01f40000 0 0x20000>; > -@@ -7959,6 +8045,13 @@ > - }; > - }; > - > -+ cpucp_mbox: mailbox@17430000 { > -+ compatible = "qcom,x1e80100-cpucp-mbox"; > -+ reg = <0 0x17430000 0 0x10000>, <0 0x18830000 0 0x10000>; > -+ interrupts = ; > -+ #mbox-cells = <1>; > -+ }; > -+ > - apps_rsc: rsc@17500000 { > - compatible = "qcom,rpmh-rsc"; > - reg = <0 0x17500000 0 0x10000>, > -@@ -8139,6 +8232,25 @@ > - frame-number = <6>; > - > - status = "disabled"; > -+ }; > -+ }; > -+ > -+ sram: sram@18b4e000 { > -+ compatible = "mmio-sram"; > -+ reg = <0x0 0x18b4e000 0x0 0x400>; > -+ > -+ #address-cells = <1>; > -+ #size-cells = <1>; > -+ ranges = <0x0 0x0 0x18b4e000 0x400>; > -+ > -+ cpu_scp_lpri0: scp-sram-section@0 { > -+ compatible = "arm,scmi-shmem"; > -+ reg = <0x0 0x200>; > -+ }; > -+ > -+ cpu_scp_lpri1: scp-sram-section@200 { > -+ compatible = "arm,scmi-shmem"; > -+ reg = <0x200 0x200>; > - }; > - }; > - > Index: pkg/PLIST > =================================================================== > RCS file: /cvs/ports/sysutils/firmware/arm64-qcom-dtb/pkg/PLIST,v > diff -u -p -r1.7 PLIST > --- pkg/PLIST 10 Jul 2025 11:38:45 -0000 1.7 > +++ pkg/PLIST 31 Oct 2025 15:41:31 -0000 > @@ -2,11 +2,14 @@ firmware/dtb/ > firmware/dtb/qcom/ > firmware/dtb/qcom/sc8280xp-lenovo-thinkpad-x13s.dtb > firmware/dtb/qcom/sc8280xp-microsoft-blackrock.dtb > +firmware/dtb/qcom/x1e78100-lenovo-thinkpad-t14s-oled.dtb > firmware/dtb/qcom/x1e78100-lenovo-thinkpad-t14s.dtb > firmware/dtb/qcom/x1e80100-asus-vivobook-s15.dtb > +firmware/dtb/qcom/x1e80100-asus-zenbook-a14.dtb > firmware/dtb/qcom/x1e80100-crd.dtb > firmware/dtb/qcom/x1e80100-dell-xps13-9345.dtb > firmware/dtb/qcom/x1e80100-honor-magicbook-art-14.dtb > +firmware/dtb/qcom/x1e80100-hp-elitebook-ultra-g1q.dtb > firmware/dtb/qcom/x1e80100-hp-omnibook-x14.dtb > firmware/dtb/qcom/x1e80100-lenovo-yoga-slim7x.dtb > firmware/dtb/qcom/x1e80100-microsoft-romulus13.dtb > -- wbr, Kirill