From nobody Wed Oct 1 20:31:29 2025 Received: from sender4-pp-o95.zoho.com (sender4-pp-o95.zoho.com [136.143.188.95]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 708B8212B31; Wed, 1 Oct 2025 14:21:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=pass smtp.client-ip=136.143.188.95 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1759328494; cv=pass; b=Cu+TP2xZq7esCY0rHoQAluojDX3tInVWPjhlhhuuWS8g9EoCKjCGOtuX/+6pmnY7FXIQaOeltZzwtGEzS6Cto6ypEMW08orvTRuCNjCIrOOxhozd7k3k1asqBKsWKpnnc/IaZ9BpKC9HAJTteKPi7F6NtHwITHFZvynMYSIIEGA= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1759328494; c=relaxed/simple; bh=UCx+Q/v+Up9aRvZQg7oI/4yA5Nu7M6K+nLP8T1RmvDo=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Gm88H41A2a0nw4X5lRhjxoDM/jRtJGObKqwuFAGcyGdA1c+ChRiglUMgBjdLzsCqjPpji7ojdrKdQkG8XVWWGuhb7iwP0JpoSvkPYsuYPbsk9Lr8r1vp/TqO0dVBWY/UDSCdAMKdcxKVXGb/c/tP3RX6BLVUqWFHNOQ6Yl55fPo= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=zohomail.com; spf=pass smtp.mailfrom=zohomail.com; dkim=pass (1024-bit key) header.d=zohomail.com header.i=newwheatzjz@zohomail.com header.b=VHsYt4j2; arc=pass smtp.client-ip=136.143.188.95 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=zohomail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=zohomail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=zohomail.com header.i=newwheatzjz@zohomail.com header.b="VHsYt4j2" ARC-Seal: i=1; a=rsa-sha256; t=1759328488; cv=none; d=zohomail.com; s=zohoarc; b=WiFNBVPsVmxNNZw3OPvmm+30OAgYwv0xmLbaxtC9NEHJFvwxCWwGk4aDTpvHeAP7VRs1O420sLnEThX1ui84YachEjXhD9bXfZR0U5VK9zueitKguhc4ovjhYMflHLQtsaCYXeVdqpuY9hfdDTFKg+izjMvov5h7DqBi1pL1w6w= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1759328488; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:Subject:To:To:Message-Id:Reply-To; bh=dXpyQVgErznLFISPFWnTrBznE8b+Zk77c6YDc0u8bEU=; b=Vbr70NP2CeoJ6pcZFd/WIABDI/TljMOh7ydVrK7birBCTjB0FN5cqXMgODhAZ3R/1zO29dQ7ylMPGOWFDcsfsaNGfElYyFDCIpux0SED3l6L7dO5o/TXDJNxMiNSLya10Kt3Z301ezIKAqbB7po0CUagyqV0ZAxtKrCMDBUQCSg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass header.i=zohomail.com; spf=pass smtp.mailfrom=newwheatzjz@zohomail.com; dmarc=pass header.from= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1759328488; s=zm2022; d=zohomail.com; i=newwheatzjz@zohomail.com; h=From:From:To:To:Cc:Cc:Subject:Subject:Date:Date:Message-ID:In-Reply-To:References:MIME-Version:Content-Transfer-Encoding:Feedback-ID:Message-Id:Reply-To; bh=dXpyQVgErznLFISPFWnTrBznE8b+Zk77c6YDc0u8bEU=; b=VHsYt4j2NbJfrdnRozLopsM1AtMKe+78/rvtyoNPmnMcNmEnhB5xGrVHTc58JUDq Ndj0Y28CHWagzrbjxE+XuCQwBon8uhJvwXOPR/dCkt4fS8uOA7SYWNvLgVi2Epz/LwN qhTTJxs1RF8OdCANZwLextoR5Lr4Jkij0wXK1Ag8= Received: by mx.zohomail.com with SMTPS id 1759328486480135.78304201248739; Wed, 1 Oct 2025 07:21:26 -0700 (PDT) From: Jingzhou Zhu To: andersson@kernel.org, konradybcio@kernel.org, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org Cc: linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Jingzhou Zhu Subject: [PATCH v2 1/2] dt-bindings: arm: qcom: Document Huawei MateBook E 2019 Date: Wed, 1 Oct 2025 22:21:06 +0800 Message-ID: <20251001142107.21860-2-newwheatzjz@zohomail.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20251001142107.21860-1-newwheatzjz@zohomail.com> References: <20251001142107.21860-1-newwheatzjz@zohomail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Feedback-ID: rr080112271a1f1c971be94ce0302376e40000da5bccac1cc02727949f127215b3c17459e22e6992d7312b50:zu08011227d9e9f6d188e6228d9686120100000b820426c8d050a954bb361e05158414ade1ee76c89dead2a8:rf0801122625009e2e70f4aae943dcba0d00000bde9bb1fb1a7dbf8d05739576a038748770c20fc80a29bc:ZohoMail X-ZohoMailClient: External Content-Type: text/plain; charset="utf-8" Add compatible for the sdm850-based tablet Huawei MateBook E 2019 using its codename "planck". Signed-off-by: Jingzhou Zhu --- Documentation/devicetree/bindings/arm/qcom.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/Documentation/devicetree/bindings/arm/qcom.yaml b/Documentatio= n/devicetree/bindings/arm/qcom.yaml index 18b5ed044f9f..2c1ceb8d4f25 100644 --- a/Documentation/devicetree/bindings/arm/qcom.yaml +++ b/Documentation/devicetree/bindings/arm/qcom.yaml @@ -893,6 +893,7 @@ properties: =20 - items: - enum: + - huawei,planck - lenovo,yoga-c630 - lg,judyln - lg,judyp --=20 2.47.3 From nobody Wed Oct 1 20:31:29 2025 Received: from sender4-pp-o95.zoho.com (sender4-pp-o95.zoho.com [136.143.188.95]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5640E303A24; Wed, 1 Oct 2025 14:21:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=pass smtp.client-ip=136.143.188.95 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1759328503; cv=pass; b=HBaib1QVYK9KRaoxj6GgE/vGN3ASzsoldQHSi4NS0eCsXc/h7EEYlQCirNyvptQfwV8y0JCyYRmNp3i8XWfpJkYqC8gSL+qUUibJWB1qWytuJ8dYh60vK2ieIGpOxCb8Ntjx9fhuit+ZLxw4EcPNai7XlMYXgbObG5VAezPIeEQ= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1759328503; c=relaxed/simple; bh=PIHurYqoudZQ+fdJSJ3VsV/qp3WOGMDfL/qhiEEKo1E=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Qedn1aW+NpkQfts4vN6Pr5TUYxDzGEI8RSReqHbbPfr4SFHqWnHXIAEKBqxfgR4VO1p48jgyMo4SJVJKYsLCOc67qE3AETlFNErew5aO+1FpnkjbC8iaHLhorhv52sj6xWm4A6Tjb/GtkAcsdbZ6ymMXKMTGHVTF1LkTEhXmPZg= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=zohomail.com; spf=pass smtp.mailfrom=zohomail.com; dkim=pass (1024-bit key) header.d=zohomail.com header.i=newwheatzjz@zohomail.com header.b=W5zfQBlg; arc=pass smtp.client-ip=136.143.188.95 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=zohomail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=zohomail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=zohomail.com header.i=newwheatzjz@zohomail.com header.b="W5zfQBlg" ARC-Seal: i=1; a=rsa-sha256; t=1759328494; cv=none; d=zohomail.com; s=zohoarc; b=TTcHQW6M/thyoOVnoqx5K7shWiuDDg5qFzPlASxLX/XkYUohv/UXcN7UgkHpGTi33HtxwccUhRJxsFJjoPgMo58tvggqVOIw/+f8mvpF+TTTQDaeTWwU30Nkndcf8bJb9BO3CMo7IYQuLZNhnSXzEe5pImEs6lAZ+vfIya/o5h8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1759328494; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:Subject:To:To:Message-Id:Reply-To; bh=kbzHSQW02PF6LFsMcROMvAHVhBdlGXB8pQjr7Uo3W2A=; b=a5pIEmk09g+hbe36HaZWGo9kXFecgLxEouktRuxWuHF+3dZ4hpCeMGN/xSMU+i/odZVDjxSBOTJXD8pULGX3B2znwHmsqNHkW3Tg+WqCMVcie39zyXjWoQ/PnnRMC1GNcXLBSxzGWNvF/UOqgarJ83hNBXL/AFVR5KPJSsJDvrI= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass header.i=zohomail.com; spf=pass smtp.mailfrom=newwheatzjz@zohomail.com; dmarc=pass header.from= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1759328494; s=zm2022; d=zohomail.com; i=newwheatzjz@zohomail.com; h=From:From:To:To:Cc:Cc:Subject:Subject:Date:Date:Message-ID:In-Reply-To:References:MIME-Version:Content-Transfer-Encoding:Feedback-ID:Message-Id:Reply-To; bh=kbzHSQW02PF6LFsMcROMvAHVhBdlGXB8pQjr7Uo3W2A=; b=W5zfQBlgAV/k42qZFXF8fw03set2IggvjMrkjL3AYz+V5sNwz36lhqv4udCZ7pG3 TmpTnoy9n+j6M7uQjaNSVPzx0eMX20te+GQVfMd7LWPvtm+DQGLFtmaJtGFvYpqTVe7 fdXJHcIz1iAgcTyKHecgrvIyl1rSfJOxPKABAnx4= Received: by mx.zohomail.com with SMTPS id 1759328492338631.9377227732632; Wed, 1 Oct 2025 07:21:32 -0700 (PDT) From: Jingzhou Zhu To: andersson@kernel.org, konradybcio@kernel.org, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org Cc: linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Jingzhou Zhu Subject: [PATCH v2 2/2] arm64: dts: qcom: Add support for Huawei MateBook E 2019 Date: Wed, 1 Oct 2025 22:21:07 +0800 Message-ID: <20251001142107.21860-3-newwheatzjz@zohomail.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20251001142107.21860-1-newwheatzjz@zohomail.com> References: <20251001142107.21860-1-newwheatzjz@zohomail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Feedback-ID: rr080112272ec23b7f14ff2859fd2d2f390000cf39ce3ddce6d172b1a624cbf89b47db0e37946aa3e3402695:zu080112276ed4e855702102727dcb526e0000b21155c9029996b32f2769ad058c6da5b44c8ed9cf985d9dc0:rf08011226f45d9f31f820ce46628b41bc00000a37e1a0e3e8f8eb3e20f91f9285e0c8e72f04404e50797d:ZohoMail X-ZohoMailClient: External Content-Type: text/plain; charset="utf-8" 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 --- 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/M= akefile 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) +=3D sdm845-xiaomi-beryllium-eb= bg.dtb dtb-$(CONFIG_ARCH_QCOM) +=3D sdm845-xiaomi-beryllium-tianma.dtb dtb-$(CONFIG_ARCH_QCOM) +=3D sdm845-xiaomi-polaris.dtb dtb-$(CONFIG_ARCH_QCOM) +=3D sdm845-shift-axolotl.dtb +dtb-$(CONFIG_ARCH_QCOM) +=3D sdm850-huawei-matebook-e-2019.dtb dtb-$(CONFIG_ARCH_QCOM) +=3D sdm850-lenovo-yoga-c630.dtb dtb-$(CONFIG_ARCH_QCOM) +=3D sdm850-samsung-w737.dtb dtb-$(CONFIG_ARCH_QCOM) +=3D sdx75-idp.dtb diff --git a/arch/arm64/boot/dts/qcom/sdm850-huawei-matebook-e-2019.dts b/a= rch/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 + */ + +/dts-v1/; + +#include +#include +#include +#include +#include +#include +#include +#include +#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 =3D "Huawei MateBook E 2019"; + compatible =3D "huawei,planck", "qcom,sdm845"; + chassis-type =3D "convertible"; + + aliases { + serial0 =3D &uart9; + serial1 =3D &uart6; + }; + + gpio-keys { + compatible =3D "gpio-keys"; + + pinctrl-0 =3D <&volume_up_gpio &mode_pin_active>; + pinctrl-names =3D "default"; + + key-vol-up { + label =3D "Volume up"; + gpios =3D <&pm8998_gpios 6 GPIO_ACTIVE_LOW>; + linux,code =3D ; + debounce-interval =3D <15>; + wakeup-source; + }; + + switch-mode { + label =3D "Tablet mode switch"; + gpios =3D <&tlmm 79 GPIO_ACTIVE_HIGH>; + linux,input-type =3D ; + linux,code =3D ; + wakeup-source; + }; + }; + + reserved-memory { + cont_splash_mem: framebuffer@80100000 { + reg =3D <0 0x80100000 0 0xd00000>; + no-map; + }; + + tz_mem: tz@86d00000 { + reg =3D <0 0x86d00000 0 0x4600000>; + no-map; + }; + + qseecom_mem: qseecom@8b500000 { + reg =3D <0 0x8b500000 0 0xa00000>; + no-map; + }; + + wlan_msa_mem: wlan-msa@8c400000 { + reg =3D <0 0x8c400000 0 0x100000>; + no-map; + }; + + adsp_mem: adsp@8c500000 { + reg =3D <0 0x8c500000 0 0x1a00000>; + no-map; + }; + + ipa_fw_mem: ipa-fw@8df00000 { + reg =3D <0 0x8df00000 0 0x100000>; + no-map; + }; + + slpi_mem: slpi@96700000 { + reg =3D <0 0x96700000 0 0x1200000>; + }; + + gpu_mem: gpu@97900000 { + reg =3D <0 0x97900000 0 0x5000>; + no-map; + }; + + rmtfs_mem: rmtfs@97c00000 { + compatible =3D "qcom,rmtfs-mem"; + reg =3D <0 0x97c00000 0 0x200000>; + no-map; + + qcom,client-id =3D <1>; + qcom,vmid =3D ; + + }; + }; + + sw_edp_1p2: edp-1p2-regulator { + compatible =3D "regulator-fixed"; + regulator-name =3D "sw_edp_1p2"; + + regulator-min-microvolt =3D <1200000>; + regulator-max-microvolt =3D <1200000>; + + pinctrl-0 =3D <&sw_edp_1p2_en>; + pinctrl-names =3D "default"; + + gpio =3D <&pm8998_gpios 9 GPIO_ACTIVE_HIGH>; + enable-active-high; + + vin-supply =3D <&vreg_l2a_1p2>; + }; + + sn65dsi86_refclk: sn65dsi86-refclk { + compatible =3D "fixed-clock"; + #clock-cells =3D <0>; + + clock-frequency =3D <19200000>; + }; + + vph_pwr: regulator-vph-pwr { + compatible =3D "regulator-fixed"; + regulator-name =3D "vph_pwr"; + + regulator-min-microvolt =3D <3700000>; + regulator-max-microvolt =3D <3700000>; + + regulator-always-on; + }; + + vlcm_3v3: regulator-vlcm-3v3 { + compatible =3D "regulator-fixed"; + regulator-name =3D "vlcm_3v3"; + + regulator-min-microvolt =3D <3300000>; + regulator-max-microvolt =3D <3300000>; + + gpio =3D <&tlmm 88 GPIO_ACTIVE_HIGH>; + enable-active-high; + + vin-supply =3D <&vph_pwr>; + }; + + leds { + compatible =3D "gpio-leds"; + + pinctrl-0 =3D <&cam_indicator_en>; + pinctrl-names =3D "default"; + + led: camera_indicator_led { + label =3D "white:camera-indicator"; + function =3D LED_FUNCTION_INDICATOR; + color =3D ; + gpios =3D <&tlmm 12 GPIO_ACTIVE_HIGH>; + linux,default-trigger =3D "none"; + default-state =3D "off"; + /* Reuse as a panic indicator until we get a "camera on" trigger */ + panic-indicator; + }; + }; +}; + +&adsp_pas { + firmware-name =3D "qcom/sdm850/HUAWEI/AL09/qcadsp850.mbn"; + status =3D "okay"; +}; + +&apps_rsc { + regulators-0 { + compatible =3D "qcom,pm8998-rpmh-regulators"; + qcom,pmic-id =3D "a"; + + vdd-s1-supply =3D <&vph_pwr>; + vdd-s2-supply =3D <&vph_pwr>; + vdd-s3-supply =3D <&vph_pwr>; + vdd-s4-supply =3D <&vph_pwr>; + vdd-s5-supply =3D <&vph_pwr>; + vdd-s6-supply =3D <&vph_pwr>; + vdd-s7-supply =3D <&vph_pwr>; + vdd-s8-supply =3D <&vph_pwr>; + vdd-s9-supply =3D <&vph_pwr>; + vdd-s10-supply =3D <&vph_pwr>; + vdd-s11-supply =3D <&vph_pwr>; + vdd-s12-supply =3D <&vph_pwr>; + vdd-s13-supply =3D <&vph_pwr>; + vdd-l1-l27-supply =3D <&vreg_s7a_1p025>; + vdd-l2-l8-l17-supply =3D <&vreg_s3a_1p35>; + vdd-l3-l11-supply =3D <&vreg_s7a_1p025>; + vdd-l4-l5-supply =3D <&vreg_s7a_1p025>; + vdd-l6-supply =3D <&vph_pwr>; + vdd-l7-l12-l14-l15-supply =3D <&vreg_s5a_2p04>; + vdd-l26-supply =3D <&vreg_s3a_1p35>; + vin-lvs-1-2-supply =3D <&vreg_s4a_1p8>; + + vreg_s2a_1p125: smps2 { + }; + + vreg_s3a_1p35: smps3 { + regulator-min-microvolt =3D <1352000>; + regulator-max-microvolt =3D <1352000>; + regulator-initial-mode =3D ; + }; + + vreg_s4a_1p8: smps4 { + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + regulator-initial-mode =3D ; + }; + + vreg_s5a_2p04: smps5 { + regulator-min-microvolt =3D <2040000>; + regulator-max-microvolt =3D <2040000>; + regulator-initial-mode =3D ; + }; + + vreg_s6a_0p8: smps6 { + regulator-min-microvolt =3D <800000>; + regulator-max-microvolt =3D <800000>; + regulator-initial-mode =3D ; + }; + + vreg_s7a_1p025: smps7 { + regulator-min-microvolt =3D <1028000>; + regulator-max-microvolt =3D <1028000>; + regulator-initial-mode =3D ; + }; + + vdd_qusb_hs0: + vdda_hp_pcie_core: + vdda_mipi_csi0_0p9: + vdda_mipi_csi1_0p9: + vdda_mipi_csi2_0p9: + vdda_mipi_dsi0_pll: + vdda_mipi_dsi1_pll: + vdda_qlink_lv: + vdda_qlink_lv_ck: + vdda_qrefs_0p875: + vdda_pcie_core: + vdda_pll_cc_ebi01: + vdda_pll_cc_ebi23: + vdda_sp_sensor: + vdda_ufs1_core: + vdda_ufs2_core: + vdda_usb1_ss_core: + vdda_usb2_ss_core: + vreg_l1a_0p875: ldo1 { + regulator-min-microvolt =3D <880000>; + regulator-max-microvolt =3D <880000>; + regulator-initial-mode =3D ; + }; + + vddpx_10: + vreg_l2a_1p2: ldo2 { + regulator-min-microvolt =3D <1200000>; + regulator-max-microvolt =3D <1200000>; + regulator-initial-mode =3D ; + regulator-always-on; + }; + + vreg_l3a_1p0: ldo3 { + }; + + vdd_wcss_cx: + vdd_wcss_mx: + vdda_wcss_pll: + vreg_l5a_0p8: ldo5 { + regulator-min-microvolt =3D <800000>; + regulator-max-microvolt =3D <800000>; + regulator-initial-mode =3D ; + }; + + vddpx_13: + vreg_l6a_1p8: ldo6 { + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + regulator-initial-mode =3D ; + }; + + vreg_l7a_1p8: ldo7 { + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + regulator-initial-mode =3D ; + }; + + vreg_l8a_1p2: ldo8 { + }; + + vreg_l9a_1p8: ldo9 { + }; + + vreg_l10a_1p8: ldo10 { + }; + + vreg_l11a_1p0: ldo11 { + }; + + vdd_qfprom: + vdd_qfprom_sp: + vdda_apc1_cs_1p8: + vdda_gfx_cs_1p8: + vdda_qrefs_1p8: + vdda_qusb_hs0_1p8: + vddpx_11: + vreg_l12a_1p8: ldo12 { + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + regulator-initial-mode =3D ; + }; + + vddpx_2: + vreg_l13a_2p95: ldo13 { + regulator-min-microvolt =3D <2960000>; + regulator-max-microvolt =3D <2960000>; + regulator-initial-mode =3D ; + }; + + vreg_l14a_1p88: ldo14 { + regulator-min-microvolt =3D <1880000>; + regulator-max-microvolt =3D <1880000>; + regulator-initial-mode =3D ; + regulator-always-on; + }; + + vreg_l15a_1p8: ldo15 { + }; + + vreg_l16a_2p7: ldo16 { + }; + + vreg_l17a_1p3: ldo17 { + regulator-min-microvolt =3D <1304000>; + regulator-max-microvolt =3D <1304000>; + regulator-initial-mode =3D ; + }; + + vreg_l18a_2p7: ldo18 { + }; + + vreg_l19a_3p0: ldo19 { + regulator-min-microvolt =3D <3000000>; + regulator-max-microvolt =3D <3000000>; + regulator-initial-mode =3D ; + }; + + vreg_l20a_2p95: ldo20 { + regulator-min-microvolt =3D <2960000>; + regulator-max-microvolt =3D <2960000>; + regulator-initial-mode =3D ; + }; + + vreg_l21a_2p95: ldo21 { + regulator-min-microvolt =3D <2960000>; + regulator-max-microvolt =3D <2960000>; + regulator-initial-mode =3D ; + }; + + vreg_l22a_2p85: ldo22 { + regulator-min-microvolt =3D <2800000>; + regulator-max-microvolt =3D <2800000>; + regulator-initial-mode =3D ; + + regulator-always-on; + }; + + vreg_l23a_3p3: ldo23 { + }; + + vdda_qusb_hs0_3p1: + vreg_l24a_3p075: ldo24 { + /* 3075000 uV causes -ENOTRECOVERABLE error */ + regulator-min-microvolt =3D <3088000>; + regulator-max-microvolt =3D <3088000>; + regulator-initial-mode =3D ; + }; + + vreg_l25a_3p3: ldo25 { + regulator-min-microvolt =3D <3104000>; + regulator-max-microvolt =3D <3104000>; + regulator-initial-mode =3D ; + }; + + vdda_hp_pcie_1p2: + vdda_hv_ebi0: + vdda_hv_ebi1: + vdda_hv_ebi2: + vdda_hv_ebi3: + vdda_mipi_csi_1p25: + vdda_mipi_dsi0_1p2: + vdda_mipi_dsi1_1p2: + vdda_pcie_1p2: + vdda_ufs1_1p2: + vdda_ufs2_1p2: + vdda_usb1_ss_1p2: + vdda_usb2_ss_1p2: + vreg_l26a_1p2: ldo26 { + regulator-min-microvolt =3D <1200000>; + regulator-max-microvolt =3D <1200000>; + regulator-initial-mode =3D ; + }; + + vreg_l28a_3p0: ldo28 { + /* 3300000 uV causes -ENOTRECOVERABLE error */ + regulator-min-microvolt =3D <2856000>; + regulator-max-microvolt =3D <3008000>; + regulator-initial-mode =3D ; + }; + + vreg_lvs1a_1p8: lvs1 { + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + }; + + vreg_lvs2a_1p8: lvs2 { + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + }; + }; + + regulators-1 { + compatible =3D "qcom,pm8005-rpmh-regulators"; + qcom,pmic-id =3D "c"; + + vdd-s1-supply =3D <&vph_pwr>; + vdd-s2-supply =3D <&vph_pwr>; + vdd-s3-supply =3D <&vph_pwr>; + vdd-s4-supply =3D <&vph_pwr>; + + vreg_s2c_0p752: smps2 { + regulator-min-microvolt =3D <752000>; + regulator-max-microvolt =3D <752000>; + }; + }; +}; + +&cci_i2c0 { + /* chipnext,cn3927e vcm@0xc */ + /* samsung,s5k3l6 camera@0x10 */ + /* eeprom@0x50 */ +}; + +&cci_i2c1 { + /* galaxycore,gc5025 camera@0x36 */ + /* eeprom@0x50 */ +}; + +&cdsp_pas { + firmware-name =3D "qcom/sdm850/HUAWEI/AL09/qccdsp850.mbn"; + status =3D "okay"; +}; + +&crypto { + /* FIXME: qce_start triggers an SError */ + status =3D "disabled"; +}; + +&gcc { + protected-clocks =3D , + , + , + , + ; +}; + +&gpu { + status =3D "okay"; + zap-shader { + memory-region =3D <&gpu_mem>; + firmware-name =3D "qcom/sdm850/HUAWEI/AL09/qcdxkmsuc850.mbn"; + }; +}; + +&i2c5 { + status =3D "okay"; + clock-frequency =3D <400000>; + + touchscreen: hid@5d { + compatible =3D "hid-over-i2c"; + reg =3D <0x5d>; + hid-descr-addr =3D <0x1>; + + interrupts-extended =3D <&tlmm 125 IRQ_TYPE_LEVEL_LOW>; + + pinctrl-0 =3D <&i2c5_hid_active>; + pinctrl-names =3D "default"; + + wakeup-source; + }; +}; + +&i2c7 { + /* ec@0x76 */ +}; + +&i2c10 { + status =3D "okay"; + clock-frequency =3D <400000>; + + sn65dsi86: bridge@2c { + compatible =3D "ti,sn65dsi86"; + reg =3D <0x2c>; + + pinctrl-0 =3D <&sn65dsi86_pin_active>; + pinctrl-names =3D "default"; + + enable-gpios =3D <&tlmm 96 GPIO_ACTIVE_HIGH>; + + vcca-supply =3D <&sw_edp_1p2>; + vcc-supply =3D <&sw_edp_1p2>; + vpll-supply =3D <&vreg_l14a_1p88>; + vccio-supply =3D <&vreg_l14a_1p88>; + + clocks =3D <&sn65dsi86_refclk>; + clock-names =3D "refclk"; + + no-hpd; + + ports { + #address-cells =3D <1>; + #size-cells =3D <0>; + + port@0 { + reg =3D <0>; + sn65dsi86_in: endpoint { + remote-endpoint =3D <&mdss_dsi0_out>; + }; + }; + + port@1 { + reg =3D <1>; + sn65dsi86_out: endpoint { + remote-endpoint =3D <&panel_in_edp>; + }; + }; + }; + + aux-bus { + panel: panel { + compatible =3D "innolux,p120zdg-bf1"; + power-supply =3D <&vlcm_3v3>; + + port { + panel_in_edp: endpoint { + remote-endpoint =3D <&sn65dsi86_out>; + }; + }; + }; + }; + }; +}; + +&ipa { + status =3D "okay"; + qcom,gsi-loader =3D "self"; + memory-region =3D <&ipa_fw_mem>; + firmware-name =3D "qcom/sdm850/HUAWEI/AL09/ipa_fws.elf"; +}; + +&mdss { + status =3D "okay"; +}; + +&mdss_dsi0 { + status =3D "okay"; + vdda-supply =3D <&vdda_mipi_dsi0_1p2>; +}; + +&mdss_dsi0_out { + remote-endpoint =3D <&sn65dsi86_in>; + data-lanes =3D <0 1 2 3>; +}; + +&mdss_dsi0_phy { + status =3D "okay"; + vdds-supply =3D <&vdda_mipi_dsi0_pll>; +}; + +&mss_pil { + firmware-name =3D "qcom/sdm850/HUAWEI/AL09/qcdsp1v2850.mbn", + "qcom/sdm850/HUAWEI/AL09/qcdsp2850.mbn"; + status =3D "okay"; +}; + +&pm8998_gpios { + sw_edp_1p2_en: pm8998-gpio9-state { + pins =3D "gpio9"; + function =3D "normal"; + + bias-disable; + qcom,drive-strength =3D ; + }; + + volume_up_gpio: pm8998-gpio6-state { + pins =3D "gpio6"; + function =3D "normal"; + + input-enable; + bias-pull-up; + qcom,drive-strength =3D ; + }; +}; + +&pm8998_pwrkey { + status =3D "okay"; +}; + +&pm8998_resin { + status =3D "okay"; + linux,code =3D ; +}; + +&qupv3_id_0 { + status =3D "okay"; +}; + +&qupv3_id_1 { + status =3D "okay"; +}; + +&q6asmdai { + dai@0 { + reg =3D ; + }; + + dai@1 { + reg =3D ; + }; + + dai@2 { + reg =3D ; + }; +}; + +&sdhc_2 { + status =3D "okay"; + + pinctrl-0 =3D <&sdc2_default_state &sdc2_card_det_n>; + pinctrl-names =3D "default"; + + vmmc-supply =3D <&vreg_l21a_2p95>; + vqmmc-supply =3D <&vddpx_2>; + + bus-width =3D <4>; + cd-gpios =3D <&tlmm 126 GPIO_ACTIVE_HIGH>; +}; + +&slpi_pas { + firmware-name =3D "qcom/sdm850/HUAWEI/AL09/qcslpi850.mbn"; + status =3D "okay"; +}; + +&sound { + compatible =3D "lenovo,yoga-c630-sndcard", "qcom,sdm845-sndcard"; + model =3D "HUAWEI-PAK_AL09-M1040"; + + audio-routing =3D "RX_BIAS", "MCLK", + "AMIC2", "MIC BIAS2", + "DMIC0", "MCLK", + "DMIC0", "MIC BIAS1", + "DMIC2", "MCLK", + "DMIC2", "MIC BIAS3", + "SpkrLeft IN", "SPK1 OUT", + "SpkrRight IN", "SPK2 OUT"; + + mm1-dai-link { + link-name =3D "MultiMedia1"; + cpu { + sound-dai =3D <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA1>; + }; + }; + + mm2-dai-link { + link-name =3D "MultiMedia2"; + cpu { + sound-dai =3D <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA2>; + }; + }; + + mm3-dai-link { + link-name =3D "MultiMedia3"; + cpu { + sound-dai =3D <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA3>; + }; + }; + + slim-dai-link { + link-name =3D "SLIM Playback"; + cpu { + sound-dai =3D <&q6afedai SLIMBUS_0_RX>; + }; + + platform { + sound-dai =3D <&q6routing>; + }; + + codec { + sound-dai =3D <&left_spkr>, <&right_spkr>, <&swm 0>, <&wcd9340 AIF1_PB>; + }; + }; + + slimcap-dai-link { + link-name =3D "SLIM Capture"; + cpu { + sound-dai =3D <&q6afedai SLIMBUS_0_TX>; + }; + + platform { + sound-dai =3D <&q6routing>; + }; + + codec { + sound-dai =3D <&wcd9340 AIF1_CAP>; + }; + }; + + slim-wcd-dai-link { + link-name =3D "SLIM WCD Playback"; + cpu { + sound-dai =3D <&q6afedai SLIMBUS_1_RX>; + }; + + platform { + sound-dai =3D <&q6routing>; + }; + + codec { + sound-dai =3D <&wcd9340 AIF2_PB>; + }; + }; +}; + +&tlmm { + gpio-reserved-ranges =3D <0 4>, <81 4>; + + cam_indicator_en: cam-indicator-en-state { + pins =3D "gpio12"; + function =3D "gpio"; + + drive-strength =3D <2>; + bias-disable; + }; + + sn65dsi86_pin_active: sn65dsi86-enable-state { + pins =3D "gpio96"; + function =3D "gpio"; + + drive-strength =3D <2>; + bias-disable; + }; + + i2c5_hid_active: i2c5-hid-active-state { + pins =3D "gpio125"; + function =3D "gpio"; + + drive-strength =3D <2>; + bias-pull-up; + }; + + mode_pin_active: mode-pin-state { + pins =3D "gpio79"; + function =3D "gpio"; + + bias-disable; + }; + + sdc2_default_state: sdc2-default-state { + clk-pins { + pins =3D "sdc2_clk"; + + drive-strength =3D <16>; + bias-disable; + }; + + cmd-pins { + pins =3D "sdc2_cmd"; + + drive-strength =3D <16>; + bias-pull-up; + }; + + data-pins { + pins =3D "sdc2_data"; + + drive-strength =3D <16>; + bias-pull-up; + }; + }; + + sdc2_card_det_n: sd-card-det-n-state { + pins =3D "gpio126"; + function =3D "gpio"; + + bias-pull-up; + }; +}; + +&uart6 { + pinctrl-0 =3D <&qup_uart6_4pin>; + pinctrl-names =3D "default"; + status =3D "okay"; + + bluetooth { + compatible =3D "qcom,wcn3990-bt"; + + vddio-supply =3D <&vreg_s4a_1p8>; + vddxo-supply =3D <&vreg_l7a_1p8>; + vddrf-supply =3D <&vreg_l17a_1p3>; + vddch0-supply =3D <&vreg_l25a_3p3>; + vddch1-supply =3D <&vreg_l23a_3p3>; + max-speed =3D <3200000>; + }; +}; + +&uart9 { + status =3D "okay"; +}; + +&ufs_mem_hc { + status =3D "okay"; + + reset-gpios =3D <&tlmm 150 GPIO_ACTIVE_LOW>; + + vcc-supply =3D <&vreg_l20a_2p95>; + vcc-max-microamp =3D <600000>; +}; + +&ufs_mem_phy { + status =3D "okay"; + + vdda-phy-supply =3D <&vdda_ufs1_core>; + vdda-pll-supply =3D <&vdda_ufs1_1p2>; +}; + +&usb_1 { + status =3D "okay"; +}; + +&usb_1_dwc3 { + dr_mode =3D "host"; +}; + +&usb_1_hsphy { + status =3D "okay"; + + vdd-supply =3D <&vdda_usb1_ss_core>; + vdda-pll-supply =3D <&vdda_qusb_hs0_1p8>; + vdda-phy-dpdm-supply =3D <&vdda_qusb_hs0_3p1>; + + qcom,imp-res-offset-value =3D <8>; + qcom,hstx-trim-value =3D ; + qcom,preemphasis-level =3D ; + qcom,preemphasis-width =3D ; +}; + +&usb_1_qmpphy { + status =3D "okay"; + + vdda-phy-supply =3D <&vdda_usb1_ss_1p2>; + vdda-pll-supply =3D <&vdda_usb1_ss_core>; +}; + +&usb_2 { + status =3D "okay"; +}; + +&usb_2_dwc3 { + dr_mode =3D "host"; +}; + +&usb_2_hsphy { + status =3D "okay"; + + vdd-supply =3D <&vdda_usb2_ss_core>; + vdda-pll-supply =3D <&vdda_qusb_hs0_1p8>; + vdda-phy-dpdm-supply =3D <&vdda_qusb_hs0_3p1>; + + qcom,imp-res-offset-value =3D <8>; + qcom,hstx-trim-value =3D ; +}; + +&usb_2_qmpphy { + status =3D "okay"; + + vdda-phy-supply =3D <&vdda_usb2_ss_1p2>; + vdda-pll-supply =3D <&vdda_usb2_ss_core>; +}; + +&venus { + firmware-name =3D "qcom/sdm850/HUAWEI/AL09/qcvss850.mbn"; + status =3D "okay"; +}; + +&wcd9340 { + reset-gpios =3D <&tlmm 64 GPIO_ACTIVE_HIGH>; + vdd-buck-supply =3D <&vreg_s4a_1p8>; + vdd-buck-sido-supply =3D <&vreg_s4a_1p8>; + vdd-tx-supply =3D <&vreg_s4a_1p8>; + vdd-rx-supply =3D <&vreg_s4a_1p8>; + vdd-io-supply =3D <&vreg_s4a_1p8>; + qcom,mbhc-buttons-vthreshold-microvolt =3D <75000 150000 237000 500000 + 500000 500000 500000 500000>; + qcom,mbhc-headset-vthreshold-microvolt =3D <1700000>; + qcom,mbhc-headphone-vthreshold-microvolt =3D <50000>; + qcom,micbias1-microvolt =3D <1800000>; + qcom,micbias2-microvolt =3D <2700000>; + qcom,micbias3-microvolt =3D <1800000>; + + swm: soundwire@c85 { + left_spkr: speaker@0,3 { + compatible =3D "sdw10217211000"; + reg =3D <0 3>; + powerdown-gpios =3D <&wcdgpio 1 GPIO_ACTIVE_LOW>; + #thermal-sensor-cells =3D <0>; + sound-name-prefix =3D "SpkrLeft"; + #sound-dai-cells =3D <0>; + }; + + right_spkr: speaker@0,4 { + compatible =3D "sdw10217211000"; + reg =3D <0 4>; + powerdown-gpios =3D <&wcdgpio 2 GPIO_ACTIVE_LOW>; + #thermal-sensor-cells =3D <0>; + sound-name-prefix =3D "SpkrRight"; + #sound-dai-cells =3D <0>; + }; + }; +}; + +&wifi { + status =3D "okay"; + + vdd-0.8-cx-mx-supply =3D <&vreg_l5a_0p8>; + vdd-1.8-xo-supply =3D <&vreg_l7a_1p8>; + vdd-1.3-rfa-supply =3D <&vreg_l17a_1p3>; + vdd-3.3-ch0-supply =3D <&vreg_l25a_3p3>; + vdd-3.3-ch1-supply =3D <&vreg_l23a_3p3>; + + qcom,snoc-host-cap-8bit-quirk; + qcom,calibration-variant =3D "Huawei_Planck"; +}; --=20 2.47.3