lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <njknmya7qcxypc5pb3ddj27oulvtf723hkzgx2qdtyt2tuefh2@lbo55224blkq>
Date: Wed, 1 Oct 2025 22:27:56 -0500
From: Bjorn Andersson <andersson@...nel.org>
To: Jingzhou Zhu <newwheatzjz@...omail.com>
Cc: konradybcio@...nel.org, robh@...nel.org, krzk+dt@...nel.org, 
	conor+dt@...nel.org, linux-arm-msm@...r.kernel.org, devicetree@...r.kernel.org, 
	linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2 2/2] arm64: dts: qcom: Add support for Huawei MateBook
 E 2019

On Wed, Oct 01, 2025 at 10:21:07PM +0800, Jingzhou Zhu wrote:
> Add device tree for Huawei MateBook E 2019, which is a 2-in-1 tablet based
> on Qualcomm's sdm850 platform.
> 
> Supported features:
>  - ACSP, CDSP and SLPI
>  - Volume Key
>  - Power Key
>  - Tablet Mode Switching
>  - Display
>  - Touchscreen
>  - Stylus
>  - WiFi
>  - Bluetooth
>  - GPU
>  - USB
>  - Keyboard
>  - Touchpad
>  - UFS
>  - SD Card
>  - Audio (right internal mic and headphone mic not working)
>  - Mobile Network
> 
> Features not supported yet:
>  - Panel Backlight
>  - Lid Detection
>  - Battery
>  - EFI Variable Access
>  - Cameras
> 
> 1. Panel backlight, lid detection and battery will be supported with the
>    EC driver upstreamed.
> 2. EFI variables can only be read with the QSEECOM driver, and will be
>    enabled when the driver is fixed.
> 3. Cameras are tested to work with modified downstream driver, and once
>    drivers for these camera modules are included in the tree, cameras can
>    be enabled.
> 
> Features won't be supported:
>  - External Display
>  - Fingerprint
> 
> 1. To make external display work, more reverse engineering may be required,
>    but it's beyond my ability.
> 2. Fingerprint is controlled by TrustZone, meaning direct access to it
>    isn't possible.
> 
> Signed-off-by: Jingzhou Zhu <newwheatzjz@...omail.com>
> ---
>  arch/arm64/boot/dts/qcom/Makefile             |   1 +
>  .../qcom/sdm850-huawei-matebook-e-2019.dts    | 962 ++++++++++++++++++
>  2 files changed, 963 insertions(+)
>  create mode 100644 arch/arm64/boot/dts/qcom/sdm850-huawei-matebook-e-2019.dts
> 
> diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
> index 296688f7cb26..a6bcebe66dd7 100644
> --- a/arch/arm64/boot/dts/qcom/Makefile
> +++ b/arch/arm64/boot/dts/qcom/Makefile
> @@ -258,6 +258,7 @@ dtb-$(CONFIG_ARCH_QCOM)	+= sdm845-xiaomi-beryllium-ebbg.dtb
>  dtb-$(CONFIG_ARCH_QCOM)	+= sdm845-xiaomi-beryllium-tianma.dtb
>  dtb-$(CONFIG_ARCH_QCOM)	+= sdm845-xiaomi-polaris.dtb
>  dtb-$(CONFIG_ARCH_QCOM)	+= sdm845-shift-axolotl.dtb
> +dtb-$(CONFIG_ARCH_QCOM)	+= sdm850-huawei-matebook-e-2019.dtb
>  dtb-$(CONFIG_ARCH_QCOM)	+= sdm850-lenovo-yoga-c630.dtb
>  dtb-$(CONFIG_ARCH_QCOM)	+= sdm850-samsung-w737.dtb
>  dtb-$(CONFIG_ARCH_QCOM)	+= sdx75-idp.dtb
> diff --git a/arch/arm64/boot/dts/qcom/sdm850-huawei-matebook-e-2019.dts b/arch/arm64/boot/dts/qcom/sdm850-huawei-matebook-e-2019.dts
> new file mode 100644
> index 000000000000..ec786286a604
> --- /dev/null
> +++ b/arch/arm64/boot/dts/qcom/sdm850-huawei-matebook-e-2019.dts
> @@ -0,0 +1,962 @@
> +// SPDX-License-Identifier: BSD-3-Clause
> +/*
> + * Huawei MateBook E 2019
> + *
> + * Copyright (c) 2025, Jingzhou Zhu <newwheatzjz@...omail.com>
> + */
> +
> +/dts-v1/;
> +
> +#include <dt-bindings/input/gpio-keys.h>
> +#include <dt-bindings/input/input.h>
> +#include <dt-bindings/leds/common.h>
> +#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
> +#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
> +#include <dt-bindings/sound/qcom,q6afe.h>
> +#include <dt-bindings/sound/qcom,q6asm.h>
> +#include <dt-bindings/sound/qcom,wcd934x.h>
> +#include "sdm850.dtsi"
> +#include "sdm845-wcd9340.dtsi"
> +#include "pm8998.dtsi"
> +
> +/*
> + * Update following upstream (sdm845.dtsi) reserved
> + * memory mappings for firmware loading to succeed
> + * and enable the IPA device.
> + */
> +/delete-node/ &tz_mem;
> +/delete-node/ &rmtfs_mem;
> +/delete-node/ &qseecom_mem;
> +/delete-node/ &ipa_fw_mem;
> +/delete-node/ &ipa_gsi_mem;
> +/delete-node/ &gpu_mem;
> +/delete-node/ &adsp_mem;
> +/delete-node/ &wlan_msa_mem;
> +/delete-node/ &slpi_mem;
> +
> +/ {
> +	model = "Huawei MateBook E 2019";
> +	compatible = "huawei,planck", "qcom,sdm845";
> +	chassis-type = "convertible";
> +
> +	aliases {
> +		serial0 = &uart9;
> +		serial1 = &uart6;
> +	};
> +
> +	gpio-keys {
> +		compatible = "gpio-keys";
> +
> +		pinctrl-0 = <&volume_up_gpio &mode_pin_active>;
> +		pinctrl-names = "default";
> +
> +		key-vol-up {
> +			label = "Volume up";
> +			gpios = <&pm8998_gpios 6 GPIO_ACTIVE_LOW>;
> +			linux,code = <KEY_VOLUMEUP>;
> +			debounce-interval = <15>;
> +			wakeup-source;
> +		};
> +
> +		switch-mode {
> +			label = "Tablet mode switch";
> +			gpios = <&tlmm 79 GPIO_ACTIVE_HIGH>;
> +			linux,input-type = <EV_SW>;
> +			linux,code = <SW_TABLET_MODE>;
> +			wakeup-source;
> +		};
> +	};
> +
> +	reserved-memory {
> +		cont_splash_mem: framebuffer@...00000 {
> +			reg = <0 0x80100000 0 0xd00000>;
> +			no-map;
> +		};
> +
> +		tz_mem: tz@...00000 {
> +			reg = <0 0x86d00000 0 0x4600000>;
> +			no-map;
> +		};
> +
> +		qseecom_mem: qseecom@...00000 {
> +			reg = <0 0x8b500000 0 0xa00000>;
> +			no-map;
> +		};
> +
> +		wlan_msa_mem: wlan-msa@...00000 {
> +			reg = <0 0x8c400000 0 0x100000>;
> +			no-map;
> +		};
> +
> +		adsp_mem: adsp@...00000 {
> +			reg = <0 0x8c500000 0 0x1a00000>;
> +			no-map;
> +		};
> +
> +		ipa_fw_mem: ipa-fw@...00000 {
> +			reg = <0 0x8df00000 0 0x100000>;
> +			no-map;
> +		};
> +
> +		slpi_mem: slpi@...00000 {
> +			reg = <0 0x96700000 0 0x1200000>;
> +		};
> +
> +		gpu_mem: gpu@...00000 {
> +			reg = <0 0x97900000 0 0x5000>;
> +			no-map;
> +		};
> +
> +		rmtfs_mem: rmtfs@...00000 {
> +			compatible = "qcom,rmtfs-mem";
> +			reg = <0 0x97c00000 0 0x200000>;
> +			no-map;
> +
> +			qcom,client-id = <1>;
> +			qcom,vmid = <QCOM_SCM_VMID_MSS_MSA>;
> +
> +		};
> +	};
> +
> +	sw_edp_1p2: edp-1p2-regulator {

Please see and adjust according to "Order of Nodes" section in
Documentation/devicetree/bindings/dts-coding-style.rst ("edp" <
"leds" < "regulator" < "reserved" ...)

> +		compatible = "regulator-fixed";
> +		regulator-name = "sw_edp_1p2";
> +
> +		regulator-min-microvolt = <1200000>;
> +		regulator-max-microvolt = <1200000>;
> +
> +		pinctrl-0 = <&sw_edp_1p2_en>;
> +		pinctrl-names = "default";
> +
> +		gpio = <&pm8998_gpios 9 GPIO_ACTIVE_HIGH>;
> +		enable-active-high;
> +
> +		vin-supply = <&vreg_l2a_1p2>;
> +	};
> +
> +	sn65dsi86_refclk: sn65dsi86-refclk {
> +		compatible = "fixed-clock";
> +		#clock-cells = <0>;
> +
> +		clock-frequency = <19200000>;
> +	};
> +
[..]
> +&i2c5 {
> +	status = "okay";

And for these, look at the "Order of Properties in Device Node" section.


> +	clock-frequency = <400000>;
> +

Regards,
Bjorn

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ