[PATCH 4/5] arm64: dts: qcom: Add support for ECS LIVA QC710

Val Packett posted 5 patches 4 weeks ago
There is a newer version of this series
[PATCH 4/5] arm64: dts: qcom: Add support for ECS LIVA QC710
Posted by Val Packett 4 weeks ago
Add a device tree for the ECS LIVA QC710 (Snapdragon 7c) mini PC/devkit.

Working:
- Wi-Fi (wcn3990 hw1.0)
- Bluetooth
- USB Type-A (USB3 and USB2)
- Ethernet (over USB2)
- HDMI Display
- eMMC
- SDHC (microSD slot)

Not included:
- HDMI Audio
- EC (IT8987)

Signed-off-by: Val Packett <val@packett.cool>
---
 arch/arm64/boot/dts/qcom/Makefile             |   2 +
 .../boot/dts/qcom/sc7180-ecs-liva-qc710.dts   | 625 ++++++++++++++++++
 2 files changed, 627 insertions(+)
 create mode 100644 arch/arm64/boot/dts/qcom/sc7180-ecs-liva-qc710.dts

diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
index 0ccd6ec16dfb..27a2dbb2f11c 100644
--- a/arch/arm64/boot/dts/qcom/Makefile
+++ b/arch/arm64/boot/dts/qcom/Makefile
@@ -163,6 +163,8 @@ dtb-$(CONFIG_ARCH_QCOM)	+= sa8775p-ride.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= sa8775p-ride-r3.dtb
 sc7180-acer-aspire1-el2-dtbs	:= sc7180-acer-aspire1.dtb sc7180-el2.dtbo
 dtb-$(CONFIG_ARCH_QCOM)	+= sc7180-acer-aspire1.dtb sc7180-acer-aspire1-el2.dtb
+sc7180-ecs-liva-qc710-el2-dtbs	:= sc7180-ecs-liva-qc710.dtb sc7180-el2.dtbo
+dtb-$(CONFIG_ARCH_QCOM)	+= sc7180-ecs-liva-qc710.dtb sc7180-ecs-liva-qc710-el2.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= sc7180-idp.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= sc7180-trogdor-coachz-r1.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= sc7180-trogdor-coachz-r1-lte.dtb
diff --git a/arch/arm64/boot/dts/qcom/sc7180-ecs-liva-qc710.dts b/arch/arm64/boot/dts/qcom/sc7180-ecs-liva-qc710.dts
new file mode 100644
index 000000000000..692085bc6169
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/sc7180-ecs-liva-qc710.dts
@@ -0,0 +1,625 @@
+// SPDX-License-Identifier: BSD-3-Clause
+
+/dts-v1/;
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/sound/qcom,q6asm.h>
+#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
+
+#include "sc7180.dtsi"
+
+#include "pm6150.dtsi"
+#include "pm6150l.dtsi"
+
+/delete-node/ &tz_mem;
+/delete-node/ &ipa_fw_mem;
+
+/ {
+	model = "ECS LIVA QC710";
+	compatible = "ecs,liva-qc710", "qcom,sc7180";
+	chassis-type = "desktop";
+
+	aliases {
+		bluetooth0 = &bluetooth;
+		hsuart0 = &uart3;
+		wifi0 = &wifi;
+	};
+
+	hdmi-bridge {
+		compatible = "algoltek,ag6311";
+
+		ports {
+			#address-cells = <1>;
+			#size-cells = <0>;
+
+			port@0 {
+				reg = <0>;
+
+				hdmi_bridge_dp_in: endpoint {
+					remote-endpoint = <&usb_1_qmpphy_dp_out>;
+				};
+			};
+
+			port@1 {
+				reg = <1>;
+
+				hdmi_bridge_tmds_out: endpoint {
+					remote-endpoint = <&hdmi_con>;
+				};
+			};
+		};
+	};
+
+	hdmi-connector {
+		compatible = "hdmi-connector";
+		type = "a";
+
+		port {
+			hdmi_con: endpoint {
+				remote-endpoint = <&hdmi_bridge_tmds_out>;
+			};
+		};
+	};
+
+	reserved-memory {
+		gpu_mem: zap-shader@80840000 {
+			reg = <0x0 0x80840000 0 0x2000>;
+			no-map;
+		};
+
+		venus_mem: venus@85b00000 {
+			reg = <0x0 0x85b00000 0 0x500000>;
+			no-map;
+		};
+
+		mpss_mem: mpss@86000000 {
+			reg = <0x0 0x86000000 0x0 0x2000000>;
+			no-map;
+		};
+
+		adsp_mem: adsp@8e400000 {
+			reg = <0x0 0x8e400000 0x0 0x2800000>;
+			no-map;
+		};
+
+		wlan_mem: wlan@93900000 {
+			reg = <0x0 0x93900000 0x0 0x200000>;
+			no-map;
+		};
+	};
+
+	usb_a_connector: usb-a-connector {
+		compatible = "usb-a-connector";
+
+		port {
+			usb_a_connector_ss_in: endpoint {
+				remote-endpoint = <&usb_1_qmpphy_usb_ss_out>;
+			};
+		};
+	};
+};
+
+&dpu_intf1_out {
+	/delete-property/ remote-endpoint;
+};
+
+&gpu {
+	status = "okay";
+};
+
+&gpu_zap_shader {
+	firmware-name = "qcom/sc7180/ecs/liva-qc710/qcdxkmsuc7180.mbn";
+};
+
+&mdss {
+	status = "okay";
+};
+
+&mdss_dp {
+	pinctrl-names = "default";
+	pinctrl-0 = <&dp_hot_plug_det>;
+
+	status = "okay";
+};
+
+&mdss_dp_out {
+	data-lanes = <0 1>;
+	remote-endpoint = <&usb_1_qmpphy_dp_in>;
+};
+
+&mdss_dsi0_in {
+	/delete-property/ remote-endpoint;
+};
+
+&pm6150_pon {
+	status = "disabled";
+};
+
+&pm6150_rtc {
+	status = "okay";
+};
+
+&qfprom {
+	vcc-supply = <&vreg_l11a_1p8>;
+};
+
+&qupv3_id_0 {
+	status = "okay";
+};
+
+&qupv3_id_1 {
+	status = "okay";
+};
+
+&remoteproc_adsp {
+	memory-region = <&adsp_mem>;
+	firmware-name = "qcom/sc7180/ecs/liva-qc710/qcadsp7180.mbn";
+	status = "okay";
+};
+
+&remoteproc_mpss {
+	firmware-name = "qcom/sc7180/ecs/liva-qc710/qcmpss7180_nm.mbn";
+	status = "okay";
+};
+
+&sdhc_1 {
+	pinctrl-0 = <&sdc1_default>;
+	pinctrl-1 = <&sdc1_sleep>;
+	pinctrl-names = "default", "sleep";
+	vmmc-supply = <&vreg_l19a_2p9>;
+	vqmmc-supply = <&vreg_l12a_1p8>;
+
+	status = "okay";
+};
+
+&sdhc_2 {
+	pinctrl-0 = <&sdc2_default>;
+	pinctrl-1 = <&sdc2_sleep>;
+	pinctrl-names = "default", "sleep";
+	vmmc-supply = <&vreg_l9c_2p9>;
+	vqmmc-supply = <&vreg_l6c_2p9>;
+
+	cd-gpios = <&tlmm 69 GPIO_ACTIVE_LOW>;
+
+	status = "okay";
+};
+
+&uart3 {
+	/delete-property/ interrupts;
+	interrupts-extended = <&intc GIC_SPI 604 IRQ_TYPE_LEVEL_HIGH>,
+			      <&tlmm 41 IRQ_TYPE_EDGE_FALLING>;
+
+	pinctrl-1 = <&qup_uart3_sleep>;
+	pinctrl-names = "default", "sleep";
+
+	status = "okay";
+
+	bluetooth: bluetooth {
+		compatible = "qcom,wcn3991-bt";
+		vddio-supply = <&vreg_l10a_1p8>;
+		vddxo-supply = <&vreg_l1c_1p8>;
+		vddrf-supply = <&vreg_l2c_1p3>;
+		vddch0-supply = <&vreg_l10c_3p3>;
+		max-speed = <3200000>;
+	};
+};
+
+&usb_1 {
+	status = "okay";
+};
+
+&usb_1_dwc3 {
+	dr_mode = "host";
+	#address-cells = <1>;
+	#size-cells = <0>;
+
+	hub@1 {
+		compatible = "usb5e3,608";
+		reg = <1>;
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		r8152: ethernet@4 {
+			compatible = "usbbda,8152";
+			reg = <4>;
+		};
+	};
+};
+
+&usb_1_hsphy {
+	vdd-supply = <&vreg_l4a_0p8>;
+	vdda-pll-supply = <&vreg_l11a_1p8>;
+	vdda-phy-dpdm-supply = <&vreg_l17a_3p0>;
+	qcom,imp-res-offset-value = <8>;
+	qcom,preemphasis-level = <QUSB2_V2_PREEMPHASIS_15_PERCENT>;
+	qcom,preemphasis-width = <QUSB2_V2_PREEMPHASIS_WIDTH_HALF_BIT>;
+	qcom,bias-ctrl-value = <0x22>;
+	qcom,charge-ctrl-value = <3>;
+	qcom,hsdisc-trim-value = <0>;
+
+	status = "okay";
+};
+
+&usb_1_qmpphy {
+	vdda-phy-supply = <&vreg_l3c_1p2>;
+	vdda-pll-supply = <&vreg_l4a_0p8>;
+
+	/delete-property/ mode-switch;
+	/delete-property/ orientation-switch;
+
+	status = "okay";
+
+	ports {
+		port@0 {
+			#address-cells = <1>;
+			#size-cells = <0>;
+
+			/delete-node/ endpoint;
+
+			usb_1_qmpphy_dp_out: endpoint@0 {
+				reg = <0>;
+
+				data-lanes = <3 2>;
+				remote-endpoint = <&hdmi_bridge_dp_in>;
+			};
+
+			usb_1_qmpphy_usb_ss_out: endpoint@1 {
+				reg = <1>;
+
+				data-lanes = <1 0>;
+				remote-endpoint = <&usb_a_connector_ss_in>;
+			};
+		};
+	};
+};
+
+&usb_1_qmpphy_dp_in {
+	remote-endpoint = <&mdss_dp_out>;
+};
+
+&venus {
+	firmware-name = "qcom/sc7180/ecs/liva-qc710/qcvss7180.mbn";
+};
+
+&wifi {
+	vdd-0.8-cx-mx-supply = <&vreg_l9a_0p6>;
+	vdd-1.8-xo-supply = <&vreg_l1c_1p8>;
+	vdd-1.3-rfa-supply = <&vreg_l2c_1p3>;
+	vdd-3.3-ch0-supply = <&vreg_l10c_3p3>;
+	vdd-3.3-ch1-supply = <&vreg_l11c_3p3>;
+
+	status = "okay";
+};
+
+&apps_rsc {
+	regulators-0 {
+		compatible = "qcom,pm6150-rpmh-regulators";
+		qcom,pmic-id = "a";
+
+		vreg_s1a_1p1: smps1 {
+			regulator-min-microvolt = <1128000>;
+			regulator-max-microvolt = <1128000>;
+		};
+
+		vreg_l4a_0p8: ldo4 {
+			regulator-min-microvolt = <824000>;
+			regulator-max-microvolt = <928000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l9a_0p6: ldo9 {
+			regulator-min-microvolt = <488000>;
+			regulator-max-microvolt = <800000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l10a_1p8: ldo10 {
+			regulator-min-microvolt = <1800000>;
+			regulator-max-microvolt = <1800000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+			regulator-always-on;
+			regulator-boot-on;
+		};
+
+		vreg_l11a_1p8: ldo11 {
+			regulator-min-microvolt = <1800000>;
+			regulator-max-microvolt = <1800000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l12a_1p8: ldo12 {
+			regulator-min-microvolt = <1800000>;
+			regulator-max-microvolt = <1800000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l13a_1p8: ldo13 {
+			regulator-min-microvolt = <1800000>;
+			regulator-max-microvolt = <1800000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l14a_1p8: ldo14 {
+			regulator-min-microvolt = <1800000>;
+			regulator-max-microvolt = <1800000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l15a_1p8: ldo15 {
+			regulator-min-microvolt = <1800000>;
+			regulator-max-microvolt = <1800000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l16a_2p7: ldo16 {
+			regulator-min-microvolt = <2496000>;
+			regulator-max-microvolt = <3304000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l17a_3p0: ldo17 {
+			regulator-min-microvolt = <2920000>;
+			regulator-max-microvolt = <3232000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l18a_2p8: ldo18 {
+			regulator-min-microvolt = <2496000>;
+			regulator-max-microvolt = <3304000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l19a_2p9: ldo19 {
+			regulator-min-microvolt = <2960000>;
+			regulator-max-microvolt = <2960000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+	};
+
+	regulators-1 {
+		compatible = "qcom,pm6150l-rpmh-regulators";
+		qcom,pmic-id = "c";
+
+		vreg_s8c_1p3: smps8 {
+			regulator-min-microvolt = <1120000>;
+			regulator-max-microvolt = <1408000>;
+		};
+
+		vreg_l1c_1p8: ldo1 {
+			regulator-min-microvolt = <1616000>;
+			regulator-max-microvolt = <1984000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l2c_1p3: ldo2 {
+			regulator-min-microvolt = <1168000>;
+			regulator-max-microvolt = <1304000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l3c_1p2: ldo3 {
+			regulator-min-microvolt = <1144000>;
+			regulator-max-microvolt = <1304000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l4c_1p8: ldo4 {
+			regulator-min-microvolt = <1648000>;
+			regulator-max-microvolt = <3304000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
+		};
+
+		vreg_l5c_1p8: ldo5 {
+			regulator-min-microvolt = <1648000>;
+			regulator-max-microvolt = <3304000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
+		};
+
+		vreg_l6c_2p9: ldo6 {
+			regulator-min-microvolt = <1800000>;
+			regulator-max-microvolt = <2950000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l7c_3p0: ldo7 {
+			regulator-min-microvolt = <3000000>;
+			regulator-max-microvolt = <3312000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
+		};
+
+		vreg_l8c_1p8: ldo8 {
+			regulator-min-microvolt = <1800000>;
+			regulator-max-microvolt = <1800000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l9c_2p9: ldo9 {
+			regulator-min-microvolt = <2952000>;
+			regulator-max-microvolt = <2952000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l10c_3p3: ldo10 {
+			regulator-min-microvolt = <3000000>;
+			regulator-max-microvolt = <3400000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l11c_3p3: ldo11 {
+			regulator-min-microvolt = <3000000>;
+			regulator-max-microvolt = <3400000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_bob: bob {
+			regulator-min-microvolt = <3008000>;
+			regulator-max-microvolt = <3960000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
+		};
+	};
+};
+
+&tlmm {
+	/*
+	 * The TZ seem to protect those because some boards can have
+	 * fingerprint sensor connected to this range. Not connected
+	 * on this board
+	 */
+	gpio-reserved-ranges = <58 5>;
+
+	qup_uart3_sleep: qup-uart3-sleep-state {
+		cts-pins {
+			/*
+			 * Configure a pull-down on CTS to match the pull of
+			 * the Bluetooth module.
+			 */
+			pins = "gpio38";
+			function = "gpio";
+			bias-pull-down;
+		};
+
+		rts-pins {
+			/*
+			 * Configure pull-down on RTS. As RTS is active low
+			 * signal, pull it low to indicate the BT SoC that it
+			 * can wakeup the system anytime from suspend state by
+			 * pulling RX low (by sending wakeup bytes).
+			 */
+			pins = "gpio39";
+			function = "gpio";
+			bias-pull-down;
+		};
+
+		tx-pins {
+			/*
+			 * Configure pull-up on TX when it isn't actively driven
+			 * to prevent BT SoC from receiving garbage during sleep.
+			 */
+			pins = "gpio40";
+			function = "gpio";
+			bias-pull-up;
+		};
+
+		rx-pins {
+			/*
+			 * Configure a pull-up on RX. This is needed to avoid
+			 * garbage data when the TX pin of the Bluetooth module
+			 * is floating which may cause spurious wakeups.
+			 */
+			pins = "gpio41";
+			function = "gpio";
+			bias-pull-up;
+		};
+	};
+
+	soc_bkoff_default: soc-bkoff-deault-state {
+		pins = "gpio10";
+		function = "gpio";
+		drive-strength = <16>;
+		bias-disable;
+	};
+
+	sdc1_default: sdc1-default-state {
+		clk-pins {
+			pins = "sdc1_clk";
+			drive-strength = <16>;
+			bias-disable;
+		};
+
+		cmd-pins {
+			pins = "sdc1_cmd";
+			drive-strength = <16>;
+			bias-pull-up;
+		};
+
+		data-pins {
+			pins = "sdc1_data";
+			drive-strength = <16>;
+			bias-pull-up;
+		};
+
+		rclk-pins {
+			pins = "sdc1_rclk";
+			bias-pull-down;
+		};
+	};
+
+	sdc1_sleep: sdc1-sleep-state {
+		clk-pins {
+			pins = "sdc1_clk";
+			drive-strength = <2>;
+			bias-disable;
+		};
+
+		cmd-pins {
+			pins = "sdc1_cmd";
+			drive-strength = <2>;
+			bias-pull-up;
+		};
+
+		data-pins {
+			pins = "sdc1_data";
+			drive-strength = <2>;
+			bias-pull-up;
+		};
+
+		rclk-pins {
+			pins = "sdc1_rclk";
+			bias-pull-down;
+		};
+	};
+
+	sdc2_default: sdc2-default-state {
+		clk-pins {
+			pins = "sdc2_clk";
+			bias-disable;
+			drive-strength = <16>;
+		};
+
+		cmd-pins {
+			pins = "sdc2_cmd";
+			bias-pull-up;
+			drive-strength = <10>;
+		};
+
+		data-pins {
+			pins = "sdc2_data";
+			bias-pull-up;
+			drive-strength = <10>;
+		};
+
+		sd-cd-pins {
+			pins = "gpio69";
+			function = "gpio";
+			bias-pull-up;
+			drive-strength = <2>;
+		};
+	};
+
+	sdc2_sleep: sdc2-sleep-state {
+		clk-pins {
+			pins = "sdc2_clk";
+			bias-disable;
+			drive-strength = <2>;
+		};
+
+		cmd-pins {
+			pins = "sdc2_cmd";
+			bias-pull-up;
+			drive-strength = <2>;
+		};
+
+		data-pins {
+			pins = "sdc2_data";
+			bias-pull-up;
+			drive-strength = <2>;
+		};
+
+		sd-cd-pins {
+			pins = "gpio69";
+			function = "gpio";
+			bias-pull-up;
+			drive-strength = <2>;
+		};
+	};
+};
-- 
2.51.2
Re: [PATCH 4/5] arm64: dts: qcom: Add support for ECS LIVA QC710
Posted by Neil Armstrong 3 weeks, 5 days ago
Hi,

On 1/11/26 09:35, Val Packett wrote:
> Add a device tree for the ECS LIVA QC710 (Snapdragon 7c) mini PC/devkit.
> 
> Working:
> - Wi-Fi (wcn3990 hw1.0)
> - Bluetooth
> - USB Type-A (USB3 and USB2)
> - Ethernet (over USB2)
> - HDMI Display
> - eMMC
> - SDHC (microSD slot)
> 
> Not included:
> - HDMI Audio
> - EC (IT8987)
> 
> Signed-off-by: Val Packett <val@packett.cool>
> ---
>   arch/arm64/boot/dts/qcom/Makefile             |   2 +
>   .../boot/dts/qcom/sc7180-ecs-liva-qc710.dts   | 625 ++++++++++++++++++
>   2 files changed, 627 insertions(+)
>   create mode 100644 arch/arm64/boot/dts/qcom/sc7180-ecs-liva-qc710.dts

<snip>

> +
> +	hdmi-bridge {
> +		compatible = "algoltek,ag6311";
> +
> +		ports {
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +
> +			port@0 {
> +				reg = <0>;
> +
> +				hdmi_bridge_dp_in: endpoint {
> +					remote-endpoint = <&usb_1_qmpphy_dp_out>;
> +				};
> +			};
> +
> +			port@1 {
> +				reg = <1>;
> +
> +				hdmi_bridge_tmds_out: endpoint {
> +					remote-endpoint = <&hdmi_con>;
> +				};
> +			};
> +		};
> +	};
> +
> +	hdmi-connector {
> +		compatible = "hdmi-connector";
> +		type = "a";
> +
> +		port {
> +			hdmi_con: endpoint {
> +				remote-endpoint = <&hdmi_bridge_tmds_out>;
> +			};
> +		};
> +	};
> +

<snip>

> +
> +&usb_1_qmpphy {
> +	vdda-phy-supply = <&vreg_l3c_1p2>;
> +	vdda-pll-supply = <&vreg_l4a_0p8>;
> +
> +	/delete-property/ mode-switch;
> +	/delete-property/ orientation-switch;
> +
> +	status = "okay";
> +
> +	ports {
> +		port@0 {
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +
> +			/delete-node/ endpoint;
> +
> +			usb_1_qmpphy_dp_out: endpoint@0 {
> +				reg = <0>;
> +
> +				data-lanes = <3 2>;
> +				remote-endpoint = <&hdmi_bridge_dp_in>;
> +			};
> +
> +			usb_1_qmpphy_usb_ss_out: endpoint@1 {
> +				reg = <1>;
> +
> +				data-lanes = <1 0>;
> +				remote-endpoint = <&usb_a_connector_ss_in>;
> +			};
> +		};
> +	};
> +};
> +
<snip>

Hehe, finally seems my work was quite useful after all :-)
Thanks,
Neil
Re: [PATCH 4/5] arm64: dts: qcom: Add support for ECS LIVA QC710
Posted by Val Packett 3 weeks ago
On 1/13/26 6:01 AM, Neil Armstrong wrote:
>
>> +
>> +&usb_1_qmpphy {
>> +    vdda-phy-supply = <&vreg_l3c_1p2>;
>> +    vdda-pll-supply = <&vreg_l4a_0p8>;
>> +
>> +    /delete-property/ mode-switch;
>> +    /delete-property/ orientation-switch;
>> +
>> +    status = "okay";
>> +
>> +    ports {
>> +        port@0 {
>> +            #address-cells = <1>;
>> +            #size-cells = <0>;
>> +
>> +            /delete-node/ endpoint;
>> +
>> +            usb_1_qmpphy_dp_out: endpoint@0 {
>> +                reg = <0>;
>> +
>> +                data-lanes = <3 2>;
>> +                remote-endpoint = <&hdmi_bridge_dp_in>;
>> +            };
>> +
>> +            usb_1_qmpphy_usb_ss_out: endpoint@1 {
>> +                reg = <1>;
>> +
>> +                data-lanes = <1 0>;
>> +                remote-endpoint = <&usb_a_connector_ss_in>;
>> +            };
>> +        };
>> +    };
>> +};
>> +
> <snip>
>
> Hehe, finally seems my work was quite useful after all :-) 


Yes it was! Thanks :)

~val

Re: [PATCH 4/5] arm64: dts: qcom: Add support for ECS LIVA QC710
Posted by Konrad Dybcio 3 weeks, 6 days ago
On 1/11/26 9:35 AM, Val Packett wrote:
> Add a device tree for the ECS LIVA QC710 (Snapdragon 7c) mini PC/devkit.

[...]

> +&mdss_dp {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&dp_hot_plug_det>;

please keep the order of:

property-n
property-names

throughout the file

[...]

> +&remoteproc_adsp {
> +	memory-region = <&adsp_mem>;
> +	firmware-name = "qcom/sc7180/ecs/liva-qc710/qcadsp7180.mbn";
> +	status = "okay";

And a consistent \n before 'status'

[...]

> +&usb_1_dwc3 {
> +	dr_mode = "host";
> +	#address-cells = <1>;
> +	#size-cells = <0>;
> +
> +	hub@1 {
> +		compatible = "usb5e3,608";
> +		reg = <1>;
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +
> +		r8152: ethernet@4 {

You don't need this label


> +			compatible = "usbbda,8152";
> +			reg = <4>;
> +		};
> +	};
> +};
> +
> +&usb_1_hsphy {
> +	vdd-supply = <&vreg_l4a_0p8>;
> +	vdda-pll-supply = <&vreg_l11a_1p8>;
> +	vdda-phy-dpdm-supply = <&vreg_l17a_3p0>;
> +	qcom,imp-res-offset-value = <8>;
> +	qcom,preemphasis-level = <QUSB2_V2_PREEMPHASIS_15_PERCENT>;
> +	qcom,preemphasis-width = <QUSB2_V2_PREEMPHASIS_WIDTH_HALF_BIT>;
> +	qcom,bias-ctrl-value = <0x22>;
> +	qcom,charge-ctrl-value = <3>;
> +	qcom,hsdisc-trim-value = <0>;

Have you verified these values (e.g. by reading back the related
registers in Windows)?

[...]

> +&apps_rsc {
> +	regulators-0 {
> +		compatible = "qcom,pm6150-rpmh-regulators";
> +		qcom,pmic-id = "a";
> +
> +		vreg_s1a_1p1: smps1 {
> +			regulator-min-microvolt = <1128000>;
> +			regulator-max-microvolt = <1128000>;
> +		};

Similarly, have you verified these?

> +	soc_bkoff_default: soc-bkoff-deault-state {
> +		pins = "gpio10";
> +		function = "gpio";
> +		drive-strength = <16>;
> +		bias-disable;
> +	};

This entry is unused

Konrad
Re: [PATCH 4/5] arm64: dts: qcom: Add support for ECS LIVA QC710
Posted by Dmitry Baryshkov 4 weeks ago
On Sun, Jan 11, 2026 at 05:35:12AM -0300, Val Packett wrote:
> Add a device tree for the ECS LIVA QC710 (Snapdragon 7c) mini PC/devkit.
> 
> Working:
> - Wi-Fi (wcn3990 hw1.0)
> - Bluetooth
> - USB Type-A (USB3 and USB2)
> - Ethernet (over USB2)
> - HDMI Display
> - eMMC
> - SDHC (microSD slot)
> 
> Not included:
> - HDMI Audio
> - EC (IT8987)
> 
> Signed-off-by: Val Packett <val@packett.cool>
> ---
>  arch/arm64/boot/dts/qcom/Makefile             |   2 +
>  .../boot/dts/qcom/sc7180-ecs-liva-qc710.dts   | 625 ++++++++++++++++++
>  2 files changed, 627 insertions(+)
>  create mode 100644 arch/arm64/boot/dts/qcom/sc7180-ecs-liva-qc710.dts
> 
> +
> +&wifi {
> +	vdd-0.8-cx-mx-supply = <&vreg_l9a_0p6>;
> +	vdd-1.8-xo-supply = <&vreg_l1c_1p8>;
> +	vdd-1.3-rfa-supply = <&vreg_l2c_1p3>;
> +	vdd-3.3-ch0-supply = <&vreg_l10c_3p3>;
> +	vdd-3.3-ch1-supply = <&vreg_l11c_3p3>;
> +
> +	status = "okay";

Almost missed it: please add the qcom,calibration-variant and, if the
original bdwlan file works, submit it to ath10k ML ([1]).

https://wireless.docs.kernel.org/en/latest/en/users/drivers/ath10k/boardfiles.html

-- 
With best wishes
Dmitry
Re: [PATCH 4/5] arm64: dts: qcom: Add support for ECS LIVA QC710
Posted by Dmitry Baryshkov 4 weeks ago
On Sun, Jan 11, 2026 at 05:35:12AM -0300, Val Packett wrote:
> Add a device tree for the ECS LIVA QC710 (Snapdragon 7c) mini PC/devkit.
> 
> Working:
> - Wi-Fi (wcn3990 hw1.0)
> - Bluetooth
> - USB Type-A (USB3 and USB2)
> - Ethernet (over USB2)
> - HDMI Display
> - eMMC
> - SDHC (microSD slot)
> 
> Not included:
> - HDMI Audio
> - EC (IT8987)
> 
> Signed-off-by: Val Packett <val@packett.cool>
> ---
>  arch/arm64/boot/dts/qcom/Makefile             |   2 +
>  .../boot/dts/qcom/sc7180-ecs-liva-qc710.dts   | 625 ++++++++++++++++++
>  2 files changed, 627 insertions(+)
>  create mode 100644 arch/arm64/boot/dts/qcom/sc7180-ecs-liva-qc710.dts
> 
> diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
> index 0ccd6ec16dfb..27a2dbb2f11c 100644
> --- a/arch/arm64/boot/dts/qcom/Makefile
> +++ b/arch/arm64/boot/dts/qcom/Makefile
> @@ -163,6 +163,8 @@ dtb-$(CONFIG_ARCH_QCOM)	+= sa8775p-ride.dtb
>  dtb-$(CONFIG_ARCH_QCOM)	+= sa8775p-ride-r3.dtb
>  sc7180-acer-aspire1-el2-dtbs	:= sc7180-acer-aspire1.dtb sc7180-el2.dtbo
>  dtb-$(CONFIG_ARCH_QCOM)	+= sc7180-acer-aspire1.dtb sc7180-acer-aspire1-el2.dtb
> +sc7180-ecs-liva-qc710-el2-dtbs	:= sc7180-ecs-liva-qc710.dtb sc7180-el2.dtbo
> +dtb-$(CONFIG_ARCH_QCOM)	+= sc7180-ecs-liva-qc710.dtb sc7180-ecs-liva-qc710-el2.dtb
>  dtb-$(CONFIG_ARCH_QCOM)	+= sc7180-idp.dtb
>  dtb-$(CONFIG_ARCH_QCOM)	+= sc7180-trogdor-coachz-r1.dtb
>  dtb-$(CONFIG_ARCH_QCOM)	+= sc7180-trogdor-coachz-r1-lte.dtb
> diff --git a/arch/arm64/boot/dts/qcom/sc7180-ecs-liva-qc710.dts b/arch/arm64/boot/dts/qcom/sc7180-ecs-liva-qc710.dts
> new file mode 100644
> index 000000000000..692085bc6169
> --- /dev/null
> +++ b/arch/arm64/boot/dts/qcom/sc7180-ecs-liva-qc710.dts
> @@ -0,0 +1,625 @@
> +// SPDX-License-Identifier: BSD-3-Clause
> +
> +/dts-v1/;
> +
> +#include <dt-bindings/gpio/gpio.h>
> +#include <dt-bindings/sound/qcom,q6asm.h>
> +#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
> +
> +#include "sc7180.dtsi"
> +
> +#include "pm6150.dtsi"
> +#include "pm6150l.dtsi"
> +
> +/delete-node/ &tz_mem;
> +/delete-node/ &ipa_fw_mem;
> +
> +/ {
> +	model = "ECS LIVA QC710";
> +	compatible = "ecs,liva-qc710", "qcom,sc7180";
> +	chassis-type = "desktop";
> +
> +	aliases {
> +		bluetooth0 = &bluetooth;
> +		hsuart0 = &uart3;
> +		wifi0 = &wifi;
> +	};
> +
> +	hdmi-bridge {
> +		compatible = "algoltek,ag6311";
> +
> +		ports {
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +
> +			port@0 {
> +				reg = <0>;
> +
> +				hdmi_bridge_dp_in: endpoint {
> +					remote-endpoint = <&usb_1_qmpphy_dp_out>;
> +				};
> +			};
> +
> +			port@1 {
> +				reg = <1>;
> +
> +				hdmi_bridge_tmds_out: endpoint {
> +					remote-endpoint = <&hdmi_con>;
> +				};
> +			};
> +		};
> +	};
> +
> +	hdmi-connector {
> +		compatible = "hdmi-connector";
> +		type = "a";
> +
> +		port {
> +			hdmi_con: endpoint {
> +				remote-endpoint = <&hdmi_bridge_tmds_out>;
> +			};
> +		};
> +	};
> +
> +	reserved-memory {
> +		gpu_mem: zap-shader@80840000 {
> +			reg = <0x0 0x80840000 0 0x2000>;
> +			no-map;
> +		};
> +
> +		venus_mem: venus@85b00000 {
> +			reg = <0x0 0x85b00000 0 0x500000>;
> +			no-map;
> +		};
> +
> +		mpss_mem: mpss@86000000 {
> +			reg = <0x0 0x86000000 0x0 0x2000000>;
> +			no-map;
> +		};
> +
> +		adsp_mem: adsp@8e400000 {
> +			reg = <0x0 0x8e400000 0x0 0x2800000>;
> +			no-map;
> +		};
> +
> +		wlan_mem: wlan@93900000 {
> +			reg = <0x0 0x93900000 0x0 0x200000>;
> +			no-map;
> +		};
> +	};
> +
> +	usb_a_connector: usb-a-connector {
> +		compatible = "usb-a-connector";
> +
> +		port {
> +			usb_a_connector_ss_in: endpoint {
> +				remote-endpoint = <&usb_1_qmpphy_usb_ss_out>;
> +			};
> +		};
> +	};
> +};
> +
> +&dpu_intf1_out {
> +	/delete-property/ remote-endpoint;

Why? It should not be necessary.

> +};
> +
> +&gpu {
> +	status = "okay";
> +};
> +
> +&gpu_zap_shader {
> +	firmware-name = "qcom/sc7180/ecs/liva-qc710/qcdxkmsuc7180.mbn";
> +};
> +
> +&mdss {
> +	status = "okay";
> +};
> +
> +&mdss_dp {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&dp_hot_plug_det>;
> +
> +	status = "okay";
> +};
> +
> +&mdss_dp_out {
> +	data-lanes = <0 1>;
> +	remote-endpoint = <&usb_1_qmpphy_dp_in>;

Ack for now. Probably we should make it a default and (temporarily)
delete in the Chrome setup.

> +};
> +
> +&mdss_dsi0_in {
> +	/delete-property/ remote-endpoint;
> +};
> +
> +&pm6150_pon {
> +	status = "disabled";

Do you know, how is Power-On routed?

> +};
> +
> +&pm6150_rtc {
> +	status = "okay";

No need for qcom,uefi-rtc-info ?

> +};
> +
> +&qfprom {
> +	vcc-supply = <&vreg_l11a_1p8>;
> +};
> +
> +&qupv3_id_0 {
> +	status = "okay";
> +};
> +
> +&qupv3_id_1 {
> +	status = "okay";
> +};
> +
> +&remoteproc_adsp {
> +	memory-region = <&adsp_mem>;
> +	firmware-name = "qcom/sc7180/ecs/liva-qc710/qcadsp7180.mbn";
> +	status = "okay";
> +};
> +
> +&remoteproc_mpss {
> +	firmware-name = "qcom/sc7180/ecs/liva-qc710/qcmpss7180_nm.mbn";
> +	status = "okay";
> +};
> +
> +&sdhc_1 {
> +	pinctrl-0 = <&sdc1_default>;
> +	pinctrl-1 = <&sdc1_sleep>;
> +	pinctrl-names = "default", "sleep";
> +	vmmc-supply = <&vreg_l19a_2p9>;
> +	vqmmc-supply = <&vreg_l12a_1p8>;
> +
> +	status = "okay";
> +};
> +
> +&sdhc_2 {
> +	pinctrl-0 = <&sdc2_default>;
> +	pinctrl-1 = <&sdc2_sleep>;
> +	pinctrl-names = "default", "sleep";
> +	vmmc-supply = <&vreg_l9c_2p9>;
> +	vqmmc-supply = <&vreg_l6c_2p9>;
> +
> +	cd-gpios = <&tlmm 69 GPIO_ACTIVE_LOW>;
> +
> +	status = "okay";
> +};
> +
> +&uart3 {
> +	/delete-property/ interrupts;
> +	interrupts-extended = <&intc GIC_SPI 604 IRQ_TYPE_LEVEL_HIGH>,
> +			      <&tlmm 41 IRQ_TYPE_EDGE_FALLING>;
> +
> +	pinctrl-1 = <&qup_uart3_sleep>;
> +	pinctrl-names = "default", "sleep";
> +
> +	status = "okay";
> +
> +	bluetooth: bluetooth {
> +		compatible = "qcom,wcn3991-bt";
> +		vddio-supply = <&vreg_l10a_1p8>;
> +		vddxo-supply = <&vreg_l1c_1p8>;
> +		vddrf-supply = <&vreg_l2c_1p3>;
> +		vddch0-supply = <&vreg_l10c_3p3>;
> +		max-speed = <3200000>;
> +	};
> +};
> +
> +&usb_1 {
> +	status = "okay";
> +};
> +
> +&usb_1_dwc3 {
> +	dr_mode = "host";
> +	#address-cells = <1>;
> +	#size-cells = <0>;
> +
> +	hub@1 {
> +		compatible = "usb5e3,608";
> +		reg = <1>;
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +

Are other ports routed somehow?

> +		r8152: ethernet@4 {
> +			compatible = "usbbda,8152";
> +			reg = <4>;
> +		};
> +	};
> +};
> +

-- 
With best wishes
Dmitry
Re: [PATCH 4/5] arm64: dts: qcom: Add support for ECS LIVA QC710
Posted by Val Packett 4 weeks ago
[resent for the lists as plaintext, oops]

On 1/11/26 1:50 PM, Dmitry Baryshkov wrote:

> On Sun, Jan 11, 2026 at 05:35:12AM -0300, Val Packett wrote:
>> Add a device tree for the ECS LIVA QC710 (Snapdragon 7c) mini PC/devkit.
>> [..]
>> +&dpu_intf1_out {
>> +	/delete-property/ remote-endpoint;
> Why? It should not be necessary.

It seemed to be implicated in annoying EPROBE_DEFER issues.. But you're 
right, it wasn't this after all.

>> +
>> +&pm6150_pon {
>> +	status = "disabled";
> Do you know, how is Power-On routed?
I think it's handled by the EC. Keeping this enabled doesn't make 
power-off work, and doesn't make the power button deliver events either.
>> +};
>> +
>> +&pm6150_rtc {
>> +	status = "okay";
> No need for qcom,uefi-rtc-info ?

Ack, will add it, the efivar is present of course.

Will send it for Aspire1 too..

>> [..]
>> +&usb_1_dwc3 {
>> +	dr_mode = "host";
>> +	#address-cells = <1>;
>> +	#size-cells = <0>;
>> +
>> +	hub@1 {
>> +		compatible = "usb5e3,608";
>> +		reg = <1>;
>> +		#address-cells = <1>;
>> +		#size-cells = <0>;
>> +
> Are other ports routed somehow?

Port 001 is routed to the 3.0 Type-A port on the back, Port 002 to the 
2.0 Type-A on the side. Should all of that be modeled?


// re: Wi-Fi calibration, submitting that to ath10k now too (though the 
default one worked perfectly fine)

Thanks,
~val
Re: [PATCH 4/5] arm64: dts: qcom: Add support for ECS LIVA QC710
Posted by Konrad Dybcio 3 weeks, 6 days ago
On 1/12/26 1:31 AM, Val Packett wrote:
> [resent for the lists as plaintext, oops]
> 
> On 1/11/26 1:50 PM, Dmitry Baryshkov wrote:
> 
>> On Sun, Jan 11, 2026 at 05:35:12AM -0300, Val Packett wrote:
>>> Add a device tree for the ECS LIVA QC710 (Snapdragon 7c) mini PC/devkit.
>>> [..]
>>> +&dpu_intf1_out {
>>> +    /delete-property/ remote-endpoint;
>> Why? It should not be necessary.
> 
> It seemed to be implicated in annoying EPROBE_DEFER issues.. But you're right, it wasn't this after all.
> 
>>> +
>>> +&pm6150_pon {
>>> +    status = "disabled";
>> Do you know, how is Power-On routed?
> I think it's handled by the EC. Keeping this enabled doesn't make power-off work, and doesn't make the power button deliver events either.
>>> +};

FYI I don't think a modern QC SoC can turn on without PON

What do you mean by "doesn't make power-off work"?

Konrad
Re: [PATCH 4/5] arm64: dts: qcom: Add support for ECS LIVA QC710
Posted by Dmitry Baryshkov 3 weeks, 6 days ago
On Mon, Jan 12, 2026 at 11:50:25AM +0100, Konrad Dybcio wrote:
> On 1/12/26 1:31 AM, Val Packett wrote:
> > [resent for the lists as plaintext, oops]
> > 
> > On 1/11/26 1:50 PM, Dmitry Baryshkov wrote:
> > 
> >> On Sun, Jan 11, 2026 at 05:35:12AM -0300, Val Packett wrote:
> >>> Add a device tree for the ECS LIVA QC710 (Snapdragon 7c) mini PC/devkit.
> >>> [..]
> >>> +&dpu_intf1_out {
> >>> +    /delete-property/ remote-endpoint;
> >> Why? It should not be necessary.
> > 
> > It seemed to be implicated in annoying EPROBE_DEFER issues.. But you're right, it wasn't this after all.
> > 
> >>> +
> >>> +&pm6150_pon {
> >>> +    status = "disabled";
> >> Do you know, how is Power-On routed?
> > I think it's handled by the EC. Keeping this enabled doesn't make power-off work, and doesn't make the power button deliver events either.
> >>> +};
> 
> FYI I don't think a modern QC SoC can turn on without PON
> 
> What do you mean by "doesn't make power-off work"?

It is basically a laptop SoM in the embedded case, so it has EC and PoN
generated via the EC.

-- 
With best wishes
Dmitry
Re: [PATCH 4/5] arm64: dts: qcom: Add support for ECS LIVA QC710
Posted by Konrad Dybcio 3 weeks, 5 days ago
On 1/13/26 2:31 AM, Dmitry Baryshkov wrote:
> On Mon, Jan 12, 2026 at 11:50:25AM +0100, Konrad Dybcio wrote:
>> On 1/12/26 1:31 AM, Val Packett wrote:
>>> [resent for the lists as plaintext, oops]
>>>
>>> On 1/11/26 1:50 PM, Dmitry Baryshkov wrote:
>>>
>>>> On Sun, Jan 11, 2026 at 05:35:12AM -0300, Val Packett wrote:
>>>>> Add a device tree for the ECS LIVA QC710 (Snapdragon 7c) mini PC/devkit.
>>>>> [..]
>>>>> +&dpu_intf1_out {
>>>>> +    /delete-property/ remote-endpoint;
>>>> Why? It should not be necessary.
>>>
>>> It seemed to be implicated in annoying EPROBE_DEFER issues.. But you're right, it wasn't this after all.
>>>
>>>>> +
>>>>> +&pm6150_pon {
>>>>> +    status = "disabled";
>>>> Do you know, how is Power-On routed?
>>> I think it's handled by the EC. Keeping this enabled doesn't make power-off work, and doesn't make the power button deliver events either.
>>>>> +};
>>
>> FYI I don't think a modern QC SoC can turn on without PON
>>
>> What do you mean by "doesn't make power-off work"?
> 
> It is basically a laptop SoM in the embedded case, so it has EC and PoN
> generated via the EC.

I got that part, but this doesn't answer my question. Val mentioned that
separately from the power button not generating keypress events.

Konrad
Re: [PATCH 4/5] arm64: dts: qcom: Add support for ECS LIVA QC710
Posted by Nikita Travkin 3 weeks, 5 days ago
Konrad Dybcio писал(а) 13.01.2026 13:30:
> On 1/13/26 2:31 AM, Dmitry Baryshkov wrote:
>> On Mon, Jan 12, 2026 at 11:50:25AM +0100, Konrad Dybcio wrote:
>>> On 1/12/26 1:31 AM, Val Packett wrote:
>>>> [resent for the lists as plaintext, oops]
>>>>
>>>> On 1/11/26 1:50 PM, Dmitry Baryshkov wrote:
>>>>
>>>>> On Sun, Jan 11, 2026 at 05:35:12AM -0300, Val Packett wrote:
>>>>>> Add a device tree for the ECS LIVA QC710 (Snapdragon 7c) mini PC/devkit.
>>>>>> [..]
>>>>>> +&dpu_intf1_out {
>>>>>> +    /delete-property/ remote-endpoint;
>>>>> Why? It should not be necessary.
>>>>
>>>> It seemed to be implicated in annoying EPROBE_DEFER issues.. But you're right, it wasn't this after all.
>>>>
>>>>>> +
>>>>>> +&pm6150_pon {
>>>>>> +    status = "disabled";
>>>>> Do you know, how is Power-On routed?
>>>> I think it's handled by the EC. Keeping this enabled doesn't make power-off work, and doesn't make the power button deliver events either.
>>>>>> +};
>>>
>>> FYI I don't think a modern QC SoC can turn on without PON
>>>
>>> What do you mean by "doesn't make power-off work"?
>> 
>> It is basically a laptop SoM in the embedded case, so it has EC and PoN
>> generated via the EC.
> 
> I got that part, but this doesn't answer my question. Val mentioned that
> separately from the power button not generating keypress events.
> 

FWIW on Aspire1 the power key is routed to the ec, and ec is routed to
pmic pon/resin (as well as ps_hold etc etc). Pressing the power key,
obviously, boots the laptop but after that it has no effect in windows
or in firmware. In linux neither pon nor resin receive any input events
when pressed so my guess was that EC pokes PON once to boot the system
and maybe pokes resin if user presses it long to do a hard reset. Due
to that I've disabled the pon node in aspire1 so there is no bogus input
device. I'm guessing Val has inherited that from aspire1.

Nikita

> Konrad
Re: [PATCH 4/5] arm64: dts: qcom: Add support for ECS LIVA QC710
Posted by Konrad Dybcio 3 weeks, 5 days ago
On 1/13/26 10:30 AM, Nikita Travkin wrote:
> Konrad Dybcio писал(а) 13.01.2026 13:30:
>> On 1/13/26 2:31 AM, Dmitry Baryshkov wrote:
>>> On Mon, Jan 12, 2026 at 11:50:25AM +0100, Konrad Dybcio wrote:
>>>> On 1/12/26 1:31 AM, Val Packett wrote:
>>>>> [resent for the lists as plaintext, oops]
>>>>>
>>>>> On 1/11/26 1:50 PM, Dmitry Baryshkov wrote:
>>>>>
>>>>>> On Sun, Jan 11, 2026 at 05:35:12AM -0300, Val Packett wrote:
>>>>>>> Add a device tree for the ECS LIVA QC710 (Snapdragon 7c) mini PC/devkit.
>>>>>>> [..]
>>>>>>> +&dpu_intf1_out {
>>>>>>> +    /delete-property/ remote-endpoint;
>>>>>> Why? It should not be necessary.
>>>>>
>>>>> It seemed to be implicated in annoying EPROBE_DEFER issues.. But you're right, it wasn't this after all.
>>>>>
>>>>>>> +
>>>>>>> +&pm6150_pon {
>>>>>>> +    status = "disabled";
>>>>>> Do you know, how is Power-On routed?
>>>>> I think it's handled by the EC. Keeping this enabled doesn't make power-off work, and doesn't make the power button deliver events either.
>>>>>>> +};
>>>>
>>>> FYI I don't think a modern QC SoC can turn on without PON
>>>>
>>>> What do you mean by "doesn't make power-off work"?
>>>
>>> It is basically a laptop SoM in the embedded case, so it has EC and PoN
>>> generated via the EC.
>>
>> I got that part, but this doesn't answer my question. Val mentioned that
>> separately from the power button not generating keypress events.
>>
> 
> FWIW on Aspire1 the power key is routed to the ec, and ec is routed to
> pmic pon/resin (as well as ps_hold etc etc). Pressing the power key,
> obviously, boots the laptop but after that it has no effect in windows
> or in firmware. In linux neither pon nor resin receive any input events
> when pressed so my guess was that EC pokes PON once to boot the system
> and maybe pokes resin if user presses it long to do a hard reset. Due
> to that I've disabled the pon node in aspire1 so there is no bogus input
> device. I'm guessing Val has inherited that from aspire1.

I'd still prefer to keep it enabled, as it's physically present on the
system. If it turns out that the EC randomly fires events at undesirable
times, we can disable it

Konrad
Re: [PATCH 4/5] arm64: dts: qcom: Add support for ECS LIVA QC710
Posted by Dmitry Baryshkov 4 weeks ago
On Sun, Jan 11, 2026 at 09:31:40PM -0300, Val Packett wrote:
> [resent for the lists as plaintext, oops]
> 
> On 1/11/26 1:50 PM, Dmitry Baryshkov wrote:
> 
> > On Sun, Jan 11, 2026 at 05:35:12AM -0300, Val Packett wrote:
> > > Add a device tree for the ECS LIVA QC710 (Snapdragon 7c) mini PC/devkit.
> > > [..]
> > > +&dpu_intf1_out {
> > > +	/delete-property/ remote-endpoint;
> > Why? It should not be necessary.
> 
> It seemed to be implicated in annoying EPROBE_DEFER issues.. But you're
> right, it wasn't this after all.

ok. Which EPROBE_DEFER issues do you observe?

> 
> > > +
> > > +&pm6150_pon {
> > > +	status = "disabled";
> > Do you know, how is Power-On routed?
> I think it's handled by the EC. Keeping this enabled doesn't make power-off
> work, and doesn't make the power button deliver events either.

ok

> > > +};
> > > +
> > > +&pm6150_rtc {
> > > +	status = "okay";
> > No need for qcom,uefi-rtc-info ?
> 
> Ack, will add it, the efivar is present of course.
> 
> Will send it for Aspire1 too..
> 
> > > [..]
> > > +&usb_1_dwc3 {
> > > +	dr_mode = "host";
> > > +	#address-cells = <1>;
> > > +	#size-cells = <0>;
> > > +
> > > +	hub@1 {
> > > +		compatible = "usb5e3,608";
> > > +		reg = <1>;
> > > +		#address-cells = <1>;
> > > +		#size-cells = <0>;
> > > +
> > Are other ports routed somehow?
> 
> Port 001 is routed to the 3.0 Type-A port on the back, Port 002 to the 2.0
> Type-A on the side. Should all of that be modeled?

I think, the comment would be sufficient for now.

> // re: Wi-Fi calibration, submitting that to ath10k now too (though the
> default one worked perfectly fine)

Thanks!

-- 
With best wishes
Dmitry