[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <wyqml5ywfzwh3uulp4gzlfzx24kb2545w36pkpnz5g27xtnqoi@yywysi37tdor>
Date: Sun, 11 Jan 2026 18:50:22 +0200
From: Dmitry Baryshkov <dmitry.baryshkov@....qualcomm.com>
To: Val Packett <val@...kett.cool>
Cc: Bjorn Andersson <andersson@...nel.org>,
Konrad Dybcio <konradybcio@...nel.org>, Rob Herring <robh@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>,
cros-qcom-dts-watchers@...omium.org, linux-arm-msm@...r.kernel.org,
devicetree@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 4/5] arm64: dts: qcom: Add support for ECS LIVA QC710
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@...kett.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@...40000 {
> + reg = <0x0 0x80840000 0 0x2000>;
> + no-map;
> + };
> +
> + venus_mem: venus@...00000 {
> + reg = <0x0 0x85b00000 0 0x500000>;
> + no-map;
> + };
> +
> + mpss_mem: mpss@...00000 {
> + reg = <0x0 0x86000000 0x0 0x2000000>;
> + no-map;
> + };
> +
> + adsp_mem: adsp@...00000 {
> + reg = <0x0 0x8e400000 0x0 0x2800000>;
> + no-map;
> + };
> +
> + wlan_mem: wlan@...00000 {
> + 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
Powered by blists - more mailing lists