* [PATCH 1/5] dt-bindings: arm: qcom: Add ECS LIVA QC710
2026-01-11 8:35 [PATCH 0/5] Add support for ECS LIVA QC710 mini PC/devkit Val Packett
@ 2026-01-11 8:35 ` Val Packett
2026-01-12 10:39 ` Konrad Dybcio
2026-01-11 8:35 ` [PATCH 4/5] arm64: dts: qcom: Add support for " Val Packett
` (2 subsequent siblings)
3 siblings, 1 reply; 19+ messages in thread
From: Val Packett @ 2026-01-11 8:35 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: Val Packett, linux-arm-msm, devicetree, linux-kernel
Document the SC7180 (Snapdragon 7c) based ECS LIVA QC710 mini PC/devkit.
Signed-off-by: Val Packett <val@packett.cool>
---
Documentation/devicetree/bindings/arm/qcom.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/arm/qcom.yaml b/Documentation/devicetree/bindings/arm/qcom.yaml
index d48c625d3fc4..54750b11895f 100644
--- a/Documentation/devicetree/bindings/arm/qcom.yaml
+++ b/Documentation/devicetree/bindings/arm/qcom.yaml
@@ -385,6 +385,7 @@ properties:
- items:
- enum:
- acer,aspire1
+ - ecs,liva-qc710
- qcom,sc7180-idp
- const: qcom,sc7180
--
2.51.2
^ permalink raw reply related [flat|nested] 19+ messages in thread* Re: [PATCH 1/5] dt-bindings: arm: qcom: Add ECS LIVA QC710
2026-01-11 8:35 ` [PATCH 1/5] dt-bindings: arm: qcom: Add ECS LIVA QC710 Val Packett
@ 2026-01-12 10:39 ` Konrad Dybcio
0 siblings, 0 replies; 19+ messages in thread
From: Konrad Dybcio @ 2026-01-12 10:39 UTC (permalink / raw)
To: Val Packett, Bjorn Andersson, Konrad Dybcio, Rob Herring,
Krzysztof Kozlowski, Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel
On 1/11/26 9:35 AM, Val Packett wrote:
> Document the SC7180 (Snapdragon 7c) based ECS LIVA QC710 mini PC/devkit.
>
> Signed-off-by: Val Packett <val@packett.cool>
> ---
> Documentation/devicetree/bindings/arm/qcom.yaml | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/Documentation/devicetree/bindings/arm/qcom.yaml b/Documentation/devicetree/bindings/arm/qcom.yaml
> index d48c625d3fc4..54750b11895f 100644
> --- a/Documentation/devicetree/bindings/arm/qcom.yaml
> +++ b/Documentation/devicetree/bindings/arm/qcom.yaml
> @@ -385,6 +385,7 @@ properties:
> - items:
> - enum:
> - acer,aspire1
> + - ecs,liva-qc710
You'll need to patch Documentation/devicetree/bindings/vendor-prefixes.yaml
with this one too
btw only patches 1,4,5 arrived to linux-arm-msm (and my inbox) - please
consider using b4, which will grab all the right Ccs for you
https://b4.docs.kernel.org/
Konrad
^ permalink raw reply [flat|nested] 19+ messages in thread
* [PATCH 4/5] arm64: dts: qcom: Add support for ECS LIVA QC710
2026-01-11 8:35 [PATCH 0/5] Add support for ECS LIVA QC710 mini PC/devkit Val Packett
2026-01-11 8:35 ` [PATCH 1/5] dt-bindings: arm: qcom: Add ECS LIVA QC710 Val Packett
@ 2026-01-11 8:35 ` Val Packett
2026-01-11 16:50 ` Dmitry Baryshkov
` (3 more replies)
2026-01-11 8:35 ` [PATCH 5/5] firmware: qcom: scm: Allow QSEECOM on " Val Packett
2026-01-21 9:57 ` (subset) [PATCH 0/5] Add support for ECS LIVA QC710 mini PC/devkit Dmitry Baryshkov
3 siblings, 4 replies; 19+ messages in thread
From: Val Packett @ 2026-01-11 8:35 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, cros-qcom-dts-watchers
Cc: Val Packett, linux-arm-msm, devicetree, linux-kernel
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
^ permalink raw reply related [flat|nested] 19+ messages in thread* Re: [PATCH 4/5] arm64: dts: qcom: Add support for ECS LIVA QC710
2026-01-11 8:35 ` [PATCH 4/5] arm64: dts: qcom: Add support for " Val Packett
@ 2026-01-11 16:50 ` Dmitry Baryshkov
2026-01-12 0:31 ` Val Packett
2026-01-11 19:47 ` Dmitry Baryshkov
` (2 subsequent siblings)
3 siblings, 1 reply; 19+ messages in thread
From: Dmitry Baryshkov @ 2026-01-11 16:50 UTC (permalink / raw)
To: Val Packett
Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, cros-qcom-dts-watchers, linux-arm-msm, devicetree,
linux-kernel
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
^ permalink raw reply [flat|nested] 19+ messages in thread* Re: [PATCH 4/5] arm64: dts: qcom: Add support for ECS LIVA QC710
2026-01-11 16:50 ` Dmitry Baryshkov
@ 2026-01-12 0:31 ` Val Packett
2026-01-12 0:55 ` Dmitry Baryshkov
2026-01-12 10:50 ` Konrad Dybcio
0 siblings, 2 replies; 19+ messages in thread
From: Val Packett @ 2026-01-12 0:31 UTC (permalink / raw)
To: Dmitry Baryshkov
Cc: cros-qcom-dts-watchers, linux-arm-msm, devicetree, linux-kernel
[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
^ permalink raw reply [flat|nested] 19+ messages in thread* Re: [PATCH 4/5] arm64: dts: qcom: Add support for ECS LIVA QC710
2026-01-12 0:31 ` Val Packett
@ 2026-01-12 0:55 ` Dmitry Baryshkov
2026-01-12 10:50 ` Konrad Dybcio
1 sibling, 0 replies; 19+ messages in thread
From: Dmitry Baryshkov @ 2026-01-12 0:55 UTC (permalink / raw)
To: Val Packett
Cc: cros-qcom-dts-watchers, linux-arm-msm, devicetree, linux-kernel
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
^ permalink raw reply [flat|nested] 19+ messages in thread* Re: [PATCH 4/5] arm64: dts: qcom: Add support for ECS LIVA QC710
2026-01-12 0:31 ` Val Packett
2026-01-12 0:55 ` Dmitry Baryshkov
@ 2026-01-12 10:50 ` Konrad Dybcio
2026-01-13 1:31 ` Dmitry Baryshkov
1 sibling, 1 reply; 19+ messages in thread
From: Konrad Dybcio @ 2026-01-12 10:50 UTC (permalink / raw)
To: Val Packett, Dmitry Baryshkov
Cc: cros-qcom-dts-watchers, linux-arm-msm, devicetree, linux-kernel
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
^ permalink raw reply [flat|nested] 19+ messages in thread* Re: [PATCH 4/5] arm64: dts: qcom: Add support for ECS LIVA QC710
2026-01-12 10:50 ` Konrad Dybcio
@ 2026-01-13 1:31 ` Dmitry Baryshkov
2026-01-13 8:30 ` Konrad Dybcio
0 siblings, 1 reply; 19+ messages in thread
From: Dmitry Baryshkov @ 2026-01-13 1:31 UTC (permalink / raw)
To: Konrad Dybcio
Cc: Val Packett, cros-qcom-dts-watchers, linux-arm-msm, devicetree,
linux-kernel
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
^ permalink raw reply [flat|nested] 19+ messages in thread* Re: [PATCH 4/5] arm64: dts: qcom: Add support for ECS LIVA QC710
2026-01-13 1:31 ` Dmitry Baryshkov
@ 2026-01-13 8:30 ` Konrad Dybcio
2026-01-13 9:30 ` Nikita Travkin
0 siblings, 1 reply; 19+ messages in thread
From: Konrad Dybcio @ 2026-01-13 8:30 UTC (permalink / raw)
To: Dmitry Baryshkov
Cc: Val Packett, cros-qcom-dts-watchers, linux-arm-msm, devicetree,
linux-kernel
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
^ permalink raw reply [flat|nested] 19+ messages in thread* Re: [PATCH 4/5] arm64: dts: qcom: Add support for ECS LIVA QC710
2026-01-13 8:30 ` Konrad Dybcio
@ 2026-01-13 9:30 ` Nikita Travkin
2026-01-13 10:17 ` Konrad Dybcio
0 siblings, 1 reply; 19+ messages in thread
From: Nikita Travkin @ 2026-01-13 9:30 UTC (permalink / raw)
To: Konrad Dybcio
Cc: Dmitry Baryshkov, Val Packett, cros-qcom-dts-watchers,
linux-arm-msm, devicetree, linux-kernel
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
^ permalink raw reply [flat|nested] 19+ messages in thread* Re: [PATCH 4/5] arm64: dts: qcom: Add support for ECS LIVA QC710
2026-01-13 9:30 ` Nikita Travkin
@ 2026-01-13 10:17 ` Konrad Dybcio
0 siblings, 0 replies; 19+ messages in thread
From: Konrad Dybcio @ 2026-01-13 10:17 UTC (permalink / raw)
To: Nikita Travkin
Cc: Dmitry Baryshkov, Val Packett, cros-qcom-dts-watchers,
linux-arm-msm, devicetree, linux-kernel
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
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH 4/5] arm64: dts: qcom: Add support for ECS LIVA QC710
2026-01-11 8:35 ` [PATCH 4/5] arm64: dts: qcom: Add support for " Val Packett
2026-01-11 16:50 ` Dmitry Baryshkov
@ 2026-01-11 19:47 ` Dmitry Baryshkov
2026-01-12 10:53 ` Konrad Dybcio
2026-01-13 9:01 ` Neil Armstrong
3 siblings, 0 replies; 19+ messages in thread
From: Dmitry Baryshkov @ 2026-01-11 19:47 UTC (permalink / raw)
To: Val Packett
Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, cros-qcom-dts-watchers, linux-arm-msm, devicetree,
linux-kernel
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
^ permalink raw reply [flat|nested] 19+ messages in thread* Re: [PATCH 4/5] arm64: dts: qcom: Add support for ECS LIVA QC710
2026-01-11 8:35 ` [PATCH 4/5] arm64: dts: qcom: Add support for " Val Packett
2026-01-11 16:50 ` Dmitry Baryshkov
2026-01-11 19:47 ` Dmitry Baryshkov
@ 2026-01-12 10:53 ` Konrad Dybcio
2026-01-13 9:01 ` Neil Armstrong
3 siblings, 0 replies; 19+ messages in thread
From: Konrad Dybcio @ 2026-01-12 10:53 UTC (permalink / raw)
To: Val Packett, Bjorn Andersson, Konrad Dybcio, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, cros-qcom-dts-watchers
Cc: linux-arm-msm, devicetree, linux-kernel
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
^ permalink raw reply [flat|nested] 19+ messages in thread* Re: [PATCH 4/5] arm64: dts: qcom: Add support for ECS LIVA QC710
2026-01-11 8:35 ` [PATCH 4/5] arm64: dts: qcom: Add support for " Val Packett
` (2 preceding siblings ...)
2026-01-12 10:53 ` Konrad Dybcio
@ 2026-01-13 9:01 ` Neil Armstrong
2026-01-19 1:52 ` Val Packett
3 siblings, 1 reply; 19+ messages in thread
From: Neil Armstrong @ 2026-01-13 9:01 UTC (permalink / raw)
To: Val Packett, Bjorn Andersson, Konrad Dybcio, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, cros-qcom-dts-watchers
Cc: linux-arm-msm, devicetree, linux-kernel
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
^ permalink raw reply [flat|nested] 19+ messages in thread* Re: [PATCH 4/5] arm64: dts: qcom: Add support for ECS LIVA QC710
2026-01-13 9:01 ` Neil Armstrong
@ 2026-01-19 1:52 ` Val Packett
0 siblings, 0 replies; 19+ messages in thread
From: Val Packett @ 2026-01-19 1:52 UTC (permalink / raw)
To: Neil Armstrong; +Cc: linux-arm-msm, devicetree, linux-kernel
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
^ permalink raw reply [flat|nested] 19+ messages in thread
* [PATCH 5/5] firmware: qcom: scm: Allow QSEECOM on ECS LIVA QC710
2026-01-11 8:35 [PATCH 0/5] Add support for ECS LIVA QC710 mini PC/devkit Val Packett
2026-01-11 8:35 ` [PATCH 1/5] dt-bindings: arm: qcom: Add ECS LIVA QC710 Val Packett
2026-01-11 8:35 ` [PATCH 4/5] arm64: dts: qcom: Add support for " Val Packett
@ 2026-01-11 8:35 ` Val Packett
2026-01-11 17:05 ` Dmitry Baryshkov
2026-01-21 9:57 ` (subset) [PATCH 0/5] Add support for ECS LIVA QC710 mini PC/devkit Dmitry Baryshkov
3 siblings, 1 reply; 19+ messages in thread
From: Val Packett @ 2026-01-11 8:35 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio; +Cc: Val Packett, linux-arm-msm, linux-kernel
Allow this machine to access efivars through qseecom/uefisecapp.
Signed-off-by: Val Packett <val@packett.cool>
---
drivers/firmware/qcom/qcom_scm.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/firmware/qcom/qcom_scm.c b/drivers/firmware/qcom/qcom_scm.c
index 1ced6022c716..3b5742193738 100644
--- a/drivers/firmware/qcom/qcom_scm.c
+++ b/drivers/firmware/qcom/qcom_scm.c
@@ -2007,6 +2007,7 @@ static const struct of_device_id qcom_scm_qseecom_allowlist[] __maybe_unused = {
{ .compatible = "dell,inspiron-14-plus-7441" },
{ .compatible = "dell,latitude-7455" },
{ .compatible = "dell,xps13-9345" },
+ { .compatible = "ecs,liva-qc710" },
{ .compatible = "hp,elitebook-ultra-g1q" },
{ .compatible = "hp,omnibook-x14" },
{ .compatible = "huawei,gaokun3" },
--
2.51.2
^ permalink raw reply related [flat|nested] 19+ messages in thread* Re: (subset) [PATCH 0/5] Add support for ECS LIVA QC710 mini PC/devkit
2026-01-11 8:35 [PATCH 0/5] Add support for ECS LIVA QC710 mini PC/devkit Val Packett
` (2 preceding siblings ...)
2026-01-11 8:35 ` [PATCH 5/5] firmware: qcom: scm: Allow QSEECOM on " Val Packett
@ 2026-01-21 9:57 ` Dmitry Baryshkov
3 siblings, 0 replies; 19+ messages in thread
From: Dmitry Baryshkov @ 2026-01-21 9:57 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, linux-arm-msm, devicetree, linux-kernel,
Val Packett
On Sun, 11 Jan 2026 05:35:08 -0300, Val Packett wrote:
> This piece of Arm history was an early Windows dev kit before Volterra..
> (Though it holds the brand of its manufacturer Elitegroup, not Microsoft's).
> It's also a cheap device that can be used wherever you need a mini PC.
> Now with Linux ^_^
>
> Most things work, including Wi-Fi, Bluetooth, USB, eMMC, microSD, GPU.
>
> [...]
Applied to drm-misc-next, thanks!
[2/5] dt-bindings: display: bridge: simple: document the Algoltek AG6311 DP-to-HDMI bridge
commit: e58be49a9a09112fdb4e4d68b4653a2545746091
[3/5] drm/bridge: simple: add the Algoltek AG6311 DP-to-HDMI bridge
commit: d51e390ae84857a999ad2046e074e97663e98e36
Best regards,
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 19+ messages in thread