From nobody Tue Sep 29 09:46:28 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 02E59248F57; Sun, 9 Aug 2026 16:48:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786294140; cv=none; b=cCbN1s3/otafEpQyEzXKfrDUYW8LGTcVrWUUCfSW3/9h7pJ30CzwU+paoLG1cT8+kUEXM6jnBtiAquIspV7bNR5+hzP1bir+JWb/3IpIkkXTEfkrXa0q14VoeVAinTB/kuMGxjmq/9BrN69WouQnEmyA/CGV+u1vWyJxvUXuZvE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786294140; c=relaxed/simple; bh=n7q/MgBvbnMsu9AL/8ahzd4dEQ8bPRYl6YKmNV4Q/YQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=owX7pJYASNDwbjNMXRENCpcHLVVXfGctA55CRyQcRue70in1uE3nK6fVM8+V93tfTKkHiNIei9/R2zIYk5jKXfCKvBYCNJJd4T91GGXwuh8ujQxBspXhEkTFe7lBz6nx2udYWlzjNOwupQCkcxSm3oxONNR+gF+0gYHQtK0USTA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=pkAJXfJO; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="pkAJXfJO" Received: by smtp.kernel.org (Postfix) with ESMTPS id 8B8C1C2BCF7; Sun, 9 Aug 2026 16:48:59 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1786294139; bh=n7q/MgBvbnMsu9AL/8ahzd4dEQ8bPRYl6YKmNV4Q/YQ=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=pkAJXfJOh594I23Sf8ZrjDsN8aPoV99JpzG4C3x64zdK9bSXbh/sLWGodRWwD+236 AZDeY2MF95knXSmjl4xzhP0mh+DZrDonvp9iHbdMsTxIMRPhz2QtL2PapcoLQNv3F8 l6K9lQFO3B33JNzWIVBCLnddhRLjDpvdC8sUor8/7Mh0hGzWunOpEtIY5OT78vBHqx eWa7Fq7HAobC/Riu/kHdh3+KiwkLLnn5ThsP2yaWI/plkMhreIcO0DfkLRMWxJzIms oIqA2vOaz09T/sIRvQnjTvpyR89W/xlWrbZCJbsfKcUFboDhfthEeHA149HRN4oj/Z vGyv22gwj8/Pw== Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 6BC51C5AD4E; Sun, 9 Aug 2026 16:48:59 +0000 (UTC) From: David Heidelberg via B4 Relay Date: Sun, 09 Aug 2026 18:48:54 +0200 Subject: [PATCH 1/2] dt-bindings: arm: qcom: Add Xiaomi Mi 8 family compatibles Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260809-dipper-v1-1-eb4d501e85df@ixit.cz> References: <20260809-dipper-v1-0-eb4d501e85df@ixit.cz> In-Reply-To: <20260809-dipper-v1-0-eb4d501e85df@ixit.cz> To: Bjorn Andersson , Konrad Dybcio , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Kees Cook , Tony Luck , "Guilherme G. Piccoli" Cc: linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, phone-devel@vger.kernel.org, David Heidelberg X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1821; i=david@ixit.cz; h=from:subject:message-id; bh=/Ll77Db7EYel11IohG9BeTICteMQOe9RQFJs36K0wIc=; b=owEBbQKS/ZANAwAIAWACP8TTSSByAcsmYgBqeK95dVXr0NeM4PpqgrRa1D0bkG3N3FuxCP1Qj rq43LOwXKGJAjMEAAEIAB0WIQTXegnP7twrvVOnBHRgAj/E00kgcgUCaniveQAKCRBgAj/E00kg ctXKD/wKNo+UCUc1oocYQcm1iyAy8EPbWC1bzIcUlTXXm30JJawwiyUFimqvZzSZtOthmnTdShj 909X9AFwvRAhzmsJDj8UaG2A6ZIO6Ti223jt49DKPdmBo9yP9jNApYDiomJ+kxMOzsmqFI77R8d MnftaSk+9Y8wuj8X288zf2nxPMnI9M8RR7Bo/FV+08bYe8d4g36EC8LiNYy+sASr4Cgqtth4Mzi xxtAy+fD/aJEibQyMMlt3zzVfM1vKWmDovPubBpxcJvOPzZlbEkSl6+7RCkv2tvMAWLqA+cCrKK jGrc2nCdqsLIphRaCdzFgbmUCiO+K0MufP4+45ESC/f0mXOiTr8RgZu6MdWaxqYt0o9odaDQud+ V7J2iwltYhLA2aThAF7hkdFqO9JTmW10xVpNfWRdmfJwVpkv7aJd7H+sQl7E3frxSBWfZunxKbE sBRHrXBdMgKvlqMva1PzkvFySkIXw9vK5ucHwF8KYBm0HMEPXqa52XSvzu0YB4NmKA0Nospt8rI iYmGonGJcIKu6R/yUVB3UMZ+aDfxyYXEZA27dIMLLlI/FYyZ+Wx58YZHU0reRdyl1BGzjzTPZw0 lkKENcI7JouLcYhOXGYeyG5abfA9g8Cs9UbBv+4qqtn/C4Vy9EB/wmR9YsAiXzSt14l1pL+f6x4 VkebCEm1DBxz4YQ== X-Developer-Key: i=david@ixit.cz; a=openpgp; fpr=D77A09CFEEDC2BBD53A7047460023FC4D3492072 X-Endpoint-Received: by B4 Relay for david@ixit.cz/default with auth_id=355 X-Original-From: David Heidelberg Reply-To: david@ixit.cz From: David Heidelberg This smartphone codenamed dipper is now supported by this series, variants such as ursa and equuleus just documented. Signed-off-by: David Heidelberg --- Documentation/devicetree/bindings/arm/qcom.yaml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/Documentation/devicetree/bindings/arm/qcom.yaml b/Documentatio= n/devicetree/bindings/arm/qcom.yaml index c7c9a92796846..5a43d480fd999 100644 --- a/Documentation/devicetree/bindings/arm/qcom.yaml +++ b/Documentation/devicetree/bindings/arm/qcom.yaml @@ -944,16 +944,25 @@ properties: - const: qcom,sdm670 =20 - items: - enum: - google,bonito-tianma - const: google,bonito - const: qcom,sdm670 =20 + - description: Xiaomi Mi 8 family + items: + - enum: + - xiaomi,dipper + - xiaomi,equuleus + - xiaomi,ursa + - const: xiaomi,dipper-common + - const: qcom,sdm845 + - description: Xiaomi Poco F1 items: - enum: - xiaomi,beryllium-ebbg - xiaomi,beryllium-tianma - const: xiaomi,beryllium - const: qcom,sdm845 =20 @@ -970,16 +979,17 @@ properties: - qcom,sdm845-mtp - shift,axolotl - samsung,starqltechn - samsung,w737 - sony,akari-row - sony,akatsuki-row - sony,apollo-row - thundercomm,db845c + - xiaomi,dipper - xiaomi,polaris - const: qcom,sdm845 =20 - items: - enum: - qcom,shikra-cqm-evk - const: qcom,shikra-cqm-som - const: qcom,shikra --=20 2.55.0 From nobody Tue Sep 29 09:46:28 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 0304B2641C6; Sun, 9 Aug 2026 16:48:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786294140; cv=none; b=MPBsu3Rpo7llyBAr7Nx6Ny8DFD47soZYfyALZfntUFZn4c+1MDH04y+BwkxlAvX1hNOXLpfVS7ywcN7Zoq3HKJMCcP8smYAJ1GihbJBKyrYOKrIU9B5i3BHD2ucVk+Uvntm0qTMqaWZ2PUemA1dbyouZ8J3CUiODY6FvLbfMghM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786294140; c=relaxed/simple; bh=Uw9We6kQ1c4xNIrhFQCV7DOnxBRYbOodTiEgzXXgPbo=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=OFM/HcPzEgskKDYlU/QCwTjZ6ciQN1lgX8cM9RsIa1GDm9fJarJWEw8f8zXPuOBvC6foaSXBoVBCXtN6pPp6jCU1Y5uFz/7RiZdbs9Nz+CDiyJ5i89EFNfglK9GC5J/SWX9f1t7buvX9R5a9l8SqZz5CoQ25/YyNz3eevpvSvFQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=b/E4t5y+; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="b/E4t5y+" Received: by smtp.kernel.org (Postfix) with ESMTPS id 9B449C2BCF6; Sun, 9 Aug 2026 16:48:59 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1786294139; bh=Uw9We6kQ1c4xNIrhFQCV7DOnxBRYbOodTiEgzXXgPbo=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=b/E4t5y+fSXVBt1s35Lqwjvuxk4ye8fyZ4aQFjAvwuyFYIqhN3yqSQh64ykX4826p atw15pAhOi+QyiN/iq407/MWoXusYhMu5sQbNnZmXR0RXJT39gvUMjyQGDbGz4H40f 10sRnZ4sq1eV7E9aimwPh/v05MjjNMdgQnztuGM3tXye3xkJHKE1A5VL6vDlMnDNaX dziHZ5h/GpRn56xhC9ULMjMsf7oG0tCjRiKQF2SZPLBqsq+Uk6hYxdUQ1knedH9DK3 349yDwLyQlcaA7dYvkuVyut0xaV2uLfxQlpd3/TRUHip1YDCpNIe/WDdQIKxAMrbV8 6FZj9374gvJoQ== Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7CBA3C5AE5D; Sun, 9 Aug 2026 16:48:59 +0000 (UTC) From: David Heidelberg via B4 Relay Date: Sun, 09 Aug 2026 18:48:55 +0200 Subject: [PATCH 2/2] arm64: dts: qcom: add Xiaomi Mi 8 (dipper) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260809-dipper-v1-2-eb4d501e85df@ixit.cz> References: <20260809-dipper-v1-0-eb4d501e85df@ixit.cz> In-Reply-To: <20260809-dipper-v1-0-eb4d501e85df@ixit.cz> To: Bjorn Andersson , Konrad Dybcio , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Kees Cook , Tony Luck , "Guilherme G. Piccoli" Cc: linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, phone-devel@vger.kernel.org, David Heidelberg X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=17394; i=david@ixit.cz; h=from:subject:message-id; bh=4rjCrG9bzdUIBEuYnZ2hhVIIPEKBcnaBoyOqdkZwLrA=; b=owEBbQKS/ZANAwAIAWACP8TTSSByAcsmYgBqeK95VOPuBwvbO2PrPcEzQzYdKBbJcj581vYs8 enqESwtAB+JAjMEAAEIAB0WIQTXegnP7twrvVOnBHRgAj/E00kgcgUCaniveQAKCRBgAj/E00kg crYnD/9xhEa5gTzVbRZAYPUjJQLE3O4ttLyZEPQMs7udyk1cIuHcnByho3YuCp8KfUyq6EP1RkK VEW4Gpti08Ai98+elKPFFAVuGjgNI7mkiy8DYDtFdhBvX1qJFzibej98ZhGKavxKGWWwUSp/UM5 6t43l2eBHs5oPh/rViOG0Fna3wShzumalm/hQ91gT7n3Tc74uVS/Fa3fzAmxK00M/Go5i4wnbzx cn2JQFfCMv9gO5PEjvCR8e6KE/AnLg140xQQScGNTnXwwCJNVytv3z9d3UEVlgsQapUJA/oUnda byVYjNXIdTzBRr++yFouZ7zdF4UWFdFSMjMLNP58Hp25yWATKTupNCpX0Z9W7+H50PvLw20JJDF XnmxQjAa8uKdhHvPRCCO8ykix8VfnqM/V8MJ8G6k0PiQqa6bk0FjcvowDbld1EnbIJ1FXUdSZ08 mhXshSdDMXEm1eh1AHT09vNnXZsDwZOepIUH2+ekhSFTNPNHOYnwfusQjKAuiJOd0uQ2LykmybH CUpuUug1974kb+zviFO74tMttsCD/fd7JwapCOTpwlFpMDFIgHxi5u7NN3SV4gza9GWHvyopQHk 3NT+p2zbIL3IZW7434aK55XFDkGr3IHd4fYY9gdnrGhLqshSH6DScTaqukm2u83rBJFMLiIhd/3 NyZ4O+7auaitZPw== X-Developer-Key: i=david@ixit.cz; a=openpgp; fpr=D77A09CFEEDC2BBD53A7047460023FC4D3492072 X-Endpoint-Received: by B4 Relay for david@ixit.cz/default with auth_id=355 X-Original-From: David Heidelberg Reply-To: david@ixit.cz From: David Heidelberg Initial submission for one member of the prime Xiaomi Mi 8 family. Mi 8 Pro (equuleus) and Mi 8 Explorer (ursa) are nearly identical. Known differences are battery capacity and fingerprint sensor placement. This submission includes basic abstraction for other developers to be able easily extend it to support other variants. What does work: framebuffer, USB, UFS, Bluetooth, Wi-Fi. Based on work of multiple people trying to bring the device in the past. Last attempt was done by Max Furman. Signed-off-by: David Heidelberg --- arch/arm64/boot/dts/qcom/Makefile | 1 + .../boot/dts/qcom/sdm845-xiaomi-dipper-common.dtsi | 623 +++++++++++++++++= ++++ arch/arm64/boot/dts/qcom/sdm845-xiaomi-dipper.dts | 30 + 3 files changed, 654 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/M= akefile index e05414290d8e5..80b57774281b8 100644 --- a/arch/arm64/boot/dts/qcom/Makefile +++ b/arch/arm64/boot/dts/qcom/Makefile @@ -324,16 +324,17 @@ dtb-$(CONFIG_ARCH_QCOM) +=3D sdm845-mtp.dtb dtb-$(CONFIG_ARCH_QCOM) +=3D sdm845-oneplus-enchilada.dtb dtb-$(CONFIG_ARCH_QCOM) +=3D sdm845-oneplus-fajita.dtb dtb-$(CONFIG_ARCH_QCOM) +=3D sdm845-samsung-starqltechn.dtb dtb-$(CONFIG_ARCH_QCOM) +=3D sdm845-sony-xperia-tama-akari.dtb dtb-$(CONFIG_ARCH_QCOM) +=3D sdm845-sony-xperia-tama-akatsuki.dtb dtb-$(CONFIG_ARCH_QCOM) +=3D sdm845-sony-xperia-tama-apollo.dtb dtb-$(CONFIG_ARCH_QCOM) +=3D sdm845-xiaomi-beryllium-ebbg.dtb dtb-$(CONFIG_ARCH_QCOM) +=3D sdm845-xiaomi-beryllium-tianma.dtb +dtb-$(CONFIG_ARCH_QCOM) +=3D sdm845-xiaomi-dipper.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 dtb-$(CONFIG_ARCH_QCOM) +=3D shikra-cqm-evk.dtb dtb-$(CONFIG_ARCH_QCOM) +=3D shikra-cqs-evk.dtb diff --git a/arch/arm64/boot/dts/qcom/sdm845-xiaomi-dipper-common.dtsi b/ar= ch/arm64/boot/dts/qcom/sdm845-xiaomi-dipper-common.dtsi new file mode 100644 index 0000000000000..f461fab994dac --- /dev/null +++ b/arch/arm64/boot/dts/qcom/sdm845-xiaomi-dipper-common.dtsi @@ -0,0 +1,623 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* + * Xiaomi Mi 8 family common device tree source. + * Covers Mi 8 Explorer Edition (equuleus), Mi 8 (dipper), Mi 8 Pro (urza). + * + * Copyright David Heidelberg. All rights reserved. + */ + +/dts-v1/; + +#include +#include +#include +#include +#include +#include +#include +#include "sdm845.dtsi" +#include "pm8998.dtsi" +#include "pmi8998.dtsi" + +/delete-node/ &adsp_mem; +/delete-node/ &cdsp_mem; +/delete-node/ &mba_region; +/delete-node/ &mpss_region; +/delete-node/ &rmtfs_mem; +/delete-node/ &slpi_mem; +/delete-node/ &spss_mem; +/delete-node/ &tz_mem; +/delete-node/ &venus_mem; +/delete-node/ &wlan_msa_mem; + +/ { + chassis-type =3D "handset"; + + qcom,msm-id =3D ; + + aliases { + serial0 =3D &uart9; + serial1 =3D &uart6; + }; + + chosen { + #address-cells =3D <2>; + #size-cells =3D <2>; + ranges; + + framebuffer { + compatible =3D "simple-framebuffer"; + memory-region =3D <&cont_splash_mem>; + + vci-supply =3D <&vreg_panel_vci>; + vddio-supply =3D <&vreg_panel_vddio>; + + width =3D <1080>; + height =3D <2248>; + stride =3D <(1080 * 4)>; + format =3D "a8r8g8b8"; + }; + }; + + gpio-keys { + compatible =3D "gpio-keys"; + autorepeat; + + pinctrl-0 =3D <&volume_up_gpio>; + pinctrl-names =3D "default"; + + key-volume-up { + label =3D "Volume Up"; + linux,code =3D ; + gpios =3D <&pm8998_gpios 6 GPIO_ACTIVE_LOW>; + wakeup-source; + debounce-interval =3D <15>; + }; + }; + + vreg_panel_vci: regulator-panel-vci { + compatible =3D "regulator-fixed"; + regulator-name =3D "panel_vci_vreg"; + + regulator-min-microvolt =3D <3000000>; + regulator-max-microvolt =3D <3000000>; + + gpio =3D <&tlmm 35 GPIO_ACTIVE_HIGH>; + enable-active-high; + startup-delay-us =3D <4000>; + regulator-boot-on; + }; + + vreg_panel_vddio: regulator-panel-vddio { + compatible =3D "regulator-fixed"; + regulator-name =3D "panel_vddio_vreg"; + + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + + gpio =3D <&tlmm 23 GPIO_ACTIVE_HIGH>; + enable-active-high; + startup-delay-us =3D <4000>; + regulator-boot-on; + }; + + reserved-memory { + adsp_mem: memory@8c500000 { + reg =3D <0 0x8c500000 0 0x1e00000>; + no-map; + }; + + cont_splash_mem: memory@9d400000 { + reg =3D <0 0x9d400000 0 0x950000>; + no-map; + }; + + wlan_msa_mem: memory@8e300000 { + reg =3D <0 0x8e300000 0 0x100000>; + no-map; + }; + + mpss_region: memory@8e400000 { + reg =3D <0 0x8e400000 0 0x7800000>; + no-map; + }; + + venus_mem: memory@95c00000 { + reg =3D <0 0x95c00000 0 0x500000>; + no-map; + }; + + cdsp_mem: memory@96100000 { + reg =3D <0 0x96100000 0 0x800000>; + no-map; + }; + + mba_region: memory@96900000 { + reg =3D <0 0x96900000 0 0x200000>; + no-map; + }; + + slpi_mem: memory@96b00000 { + reg =3D <0 0x96b00000 0 0x1400000>; + no-map; + }; + + spss_mem: memory@97f00000 { + reg =3D <0 0x97f00000 0 0x100000>; + no-map; + }; + + rmtfs_mem: memory@f7300000 { + compatible =3D "qcom,rmtfs-mem"; + reg =3D <0 0xf7300000 0 0x202000>; + qcom,use-guard-pages; + no-map; + + qcom,client-id =3D <1>; + qcom,vmid =3D ; + }; + + /* bootloader reserves this range for its own use. */ + memory@88f00000 { + reg =3D <0 0x88f00000 0 0x200000>; + no-map; + }; + + ramoops@b0000000 { + compatible =3D "ramoops"; + reg =3D <0 0xb0000000 0 0x00400000>; + record-size =3D <0x40000>; + console-size =3D <0x40000>; + ftrace-size =3D <0x40000>; + pmsg-size =3D <0x200000>; + }; + + linux,cma { + compatible =3D "shared-dma-pool"; + alloc-ranges =3D <0 0x00000000 0 0xffffffff>; + reusable; + alignment =3D <0 0x400000>; + size =3D <0 0x2c00000>; + linux,cma-default; + }; + }; + + vph_pwr: regulator-vph-pwr { + compatible =3D "regulator-fixed"; + regulator-name =3D "vph_pwr"; + + regulator-min-microvolt =3D <3700000>; + regulator-max-microvolt =3D <3700000>; + }; + + vreg_s4a_1p8: vreg-s4a-1p8 { + compatible =3D "regulator-fixed"; + regulator-name =3D "vreg_s4a_1p8"; + + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + regulator-always-on; + regulator-boot-on; + + vin-supply =3D <&vph_pwr>; + }; + + wcn3990-pmu { + compatible =3D "qcom,wcn3990-pmu"; + + pinctrl-0 =3D <&sw_ctrl_default>; + pinctrl-names =3D "default"; + + 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>; + + swctrl-gpios =3D <&pm8998_gpios 3 GPIO_ACTIVE_HIGH>; + + regulators { + vreg_pmu_io: ldo0 { + regulator-name =3D "vreg_pmu_io"; + }; + + vreg_pmu_xo: ldo1 { + regulator-name =3D "vreg_pmu_xo"; + }; + + vreg_pmu_rf: ldo2 { + regulator-name =3D "vreg_pmu_rf"; + }; + + vreg_pmu_ch0: ldo3 { + regulator-name =3D "vreg_pmu_ch0"; + }; + + vreg_pmu_ch1: ldo4 { + regulator-name =3D "vreg_pmu_ch1"; + }; + }; + }; +}; + +&adsp_pas { + firmware-name =3D "qcom/sdm845/Xiaomi/dipper/adsp.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-l9-supply =3D <&vreg_bob>; + vdd-l10-l23-l25-supply =3D <&vreg_bob>; + vdd-l13-l19-l21-supply =3D <&vreg_bob>; + vdd-l16-l28-supply =3D <&vreg_bob>; + vdd-l18-l22-supply =3D <&vreg_bob>; + vdd-l20-l24-supply =3D <&vreg_bob>; + vdd-l26-supply =3D <&vreg_s3a_1p35>; + vin-lvs-1-2-supply =3D <&vreg_s4a_1p8>; + + vreg_s2a_1p125: smps2 { + regulator-min-microvolt =3D <1100000>; + regulator-max-microvolt =3D <1100000>; + }; + + vreg_s3a_1p35: smps3 { + regulator-min-microvolt =3D <1352000>; + regulator-max-microvolt =3D <1352000>; + }; + + vreg_s5a_2p04: smps5 { + regulator-min-microvolt =3D <1904000>; + regulator-max-microvolt =3D <2040000>; + }; + + vreg_s7a_1p025: smps7 { + regulator-min-microvolt =3D <900000>; + regulator-max-microvolt =3D <1028000>; + }; + + vreg_l1a_0p875: ldo1 { + regulator-min-microvolt =3D <880000>; + regulator-max-microvolt =3D <880000>; + regulator-initial-mode =3D ; + }; + + vreg_l2a_1p2: ldo2 { + regulator-min-microvolt =3D <1200000>; + regulator-max-microvolt =3D <1200000>; + regulator-initial-mode =3D ; + regulator-always-on; + }; + + vreg_l5a_0p8: ldo5 { + regulator-min-microvolt =3D <800000>; + regulator-max-microvolt =3D <800000>; + regulator-initial-mode =3D ; + }; + + vreg_l7a_1p8: ldo7 { + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + regulator-initial-mode =3D ; + }; + + vreg_l12a_1p8: ldo12 { + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + regulator-initial-mode =3D ; + }; + + vreg_l14a_1p8: ldo14 { + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + regulator-initial-mode =3D ; + regulator-boot-on; + regulator-always-on; + }; + + vreg_l17a_1p3: ldo17 { + regulator-min-microvolt =3D <1304000>; + regulator-max-microvolt =3D <1304000>; + regulator-initial-mode =3D ; + }; + + vreg_l20a_2p95: ldo20 { + regulator-min-microvolt =3D <2950000>; + regulator-max-microvolt =3D <2960000>; + regulator-initial-mode =3D ; + }; + + vreg_l22a_2p864: ldo22 { + regulator-min-microvolt =3D <2864000>; + regulator-max-microvolt =3D <2864000>; + regulator-initial-mode =3D ; + }; + + vreg_l23a_3p3: ldo23 { + regulator-min-microvolt =3D <3000000>; + regulator-max-microvolt =3D <3312000>; + regulator-initial-mode =3D ; + }; + + vreg_l24a_3p075: ldo24 { + regulator-min-microvolt =3D <3088000>; + regulator-max-microvolt =3D <3088000>; + regulator-initial-mode =3D ; + }; + + vreg_l25a_3p3: ldo25 { + regulator-min-microvolt =3D <3300000>; + regulator-max-microvolt =3D <3312000>; + regulator-initial-mode =3D ; + }; + + vreg_l26a_1p2: ldo26 { + regulator-min-microvolt =3D <1200000>; + regulator-max-microvolt =3D <1200000>; + regulator-initial-mode =3D ; + regulator-boot-on; + }; + + vreg_l28a_3p3: ldo28 { + regulator-min-microvolt =3D <2856000>; + regulator-max-microvolt =3D <3008000>; + regulator-initial-mode =3D ; + }; + + vreg_lvs1_1p8: lvs1 { + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + }; + }; + + regulators-1 { + compatible =3D "qcom,pmi8998-rpmh-regulators"; + qcom,pmic-id =3D "b"; + + vdd-bob-supply =3D <&vph_pwr>; + + vreg_bob: bob { + regulator-min-microvolt =3D <3312000>; + regulator-max-microvolt =3D <3600000>; + regulator-initial-mode =3D ; + regulator-allow-bypass; + }; + }; +}; + +&dispcc { + /* Disable for now so simple-framebuffer continues working */ + status =3D "disabled"; +}; + +&gcc { + protected-clocks =3D , + , + , + , + ; +}; + +&gpi_dma0 { + status =3D "okay"; +}; + +&gpi_dma1 { + status =3D "okay"; +}; + +&gpu { + status =3D "okay"; +}; + +&gpu_zap_shader { + firmware-name =3D "qcom/sdm845/Xiaomi/dipper/a630_zap.mbn"; +}; + +&ibb { + regulator-min-microvolt =3D <4600000>; + regulator-max-microvolt =3D <6000000>; + regulator-over-current-protection; + regulator-pull-down; + regulator-soft-start; +}; + +&ipa { + firmware-name =3D "qcom/sdm845/Xiaomi/dipper/ipa_fws.mbn"; + + status =3D "okay"; +}; + +&lab { + regulator-min-microvolt =3D <4600000>; + regulator-max-microvolt =3D <6000000>; + regulator-pull-down; + regulator-soft-start; +}; + +&mdss { + /* Disable for now so simple-framebuffer continues working */ + status =3D "disabled"; +}; + +&mss_pil { + firmware-name =3D "qcom/sdm845/Xiaomi/dipper/mba.mbn", + "qcom/sdm845/Xiaomi/dipper/modem.mbn"; + + status =3D "okay"; +}; + +&pmi8998_charger { + monitored-battery =3D <&battery>; + + status =3D "okay"; +}; + +&pm8998_gpios { + sw_ctrl_default: sw-ctrl-default-state { + pins =3D "gpio3"; + function =3D "normal"; + input-enable; + bias-pull-down; + }; + + volume_up_gpio: vol-up-active-state { + pins =3D "gpio6"; + function =3D "normal"; + input-enable; + bias-pull-up; + power-source =3D <0>; + }; +}; + +&pm8998_resin { + linux,code =3D ; + + status =3D "okay"; +}; + +&qupv3_id_0 { + status =3D "okay"; +}; + +&qupv3_id_1 { + status =3D "okay"; +}; + +&qup_uart9_rx { + drive-strength =3D <2>; + bias-pull-up; +}; + +&qup_uart9_tx { + drive-strength =3D <2>; + bias-disable; +}; + +&i2c5 { + status =3D "okay"; + + /* tas2557 @4c */ +}; + +&i2c14 { + clock-frequency =3D <400000>; + + status =3D "okay"; + + /* stmfts5 @49 */ +}; + +&tlmm { + gpio-reserved-ranges =3D < 0 4>, /* SPI (Goodix Fingerprint) */ + <81 4>; /* SPI (Synaptics Fingerprint) */ +}; + +&ufs_mem_hc { + reset-gpios =3D <&tlmm 150 GPIO_ACTIVE_LOW>; + + vcc-supply =3D <&vreg_l20a_2p95>; + vcc-max-microamp =3D <600000>; + vccq2-supply =3D <&vreg_s4a_1p8>; + vccq2-max-microamp =3D <600000>; + + status =3D "okay"; + +}; + +&ufs_mem_phy { + vdda-phy-supply =3D <&vreg_l1a_0p875>; + vdda-pll-supply =3D <&vreg_l26a_1p2>; + + status =3D "okay"; +}; + +&usb_1 { + qcom,select-utmi-as-pipe-clk; + + status =3D "okay"; +}; + +&usb_1_dwc3 { + /* Until we have Type C hooked up we'll force this as peripheral. */ + dr_mode =3D "peripheral"; + + maximum-speed =3D "high-speed"; + phys =3D <&usb_1_hsphy>; + phy-names =3D "usb2-phy"; +}; + +&usb_1_hsphy { + vdd-supply =3D <&vreg_l1a_0p875>; + vdda-pll-supply =3D <&vreg_l12a_1p8>; + vdda-phy-dpdm-supply =3D <&vreg_l24a_3p075>; + + qcom,imp-res-offset-value =3D <8>; + qcom,hstx-trim-value =3D ; + qcom,preemphasis-level =3D ; + qcom,preemphasis-width =3D ; + + status =3D "okay"; +}; + +&uart6 { + pinctrl-0 =3D <&qup_uart6_4pin>; + + status =3D "okay"; + + bluetooth { + compatible =3D "qcom,wcn3990-bt"; + + /* + * This path is relative to the qca/ + * subdir under lib/firmware. + */ + firmware-name =3D "Xiaomi/dipper/crnv21.bin"; + + vddio-supply =3D <&vreg_pmu_io>; + vddxo-supply =3D <&vreg_pmu_xo>; + vddrf-supply =3D <&vreg_pmu_rf>; + vddch0-supply =3D <&vreg_pmu_ch0>; + + max-speed =3D <3200000>; + }; +}; + +&uart9 { + status =3D "okay"; +}; + +&wifi { + vdd-0.8-cx-mx-supply =3D <&vreg_l5a_0p8>; + vdd-1.8-xo-supply =3D <&vreg_pmu_xo>; + vdd-1.3-rfa-supply =3D <&vreg_pmu_rf>; + vdd-3.3-ch0-supply =3D <&vreg_pmu_ch0>; + vdd-3.3-ch1-supply =3D <&vreg_pmu_ch1>; + + qcom,snoc-host-cap-skip-quirk; + + status =3D "okay"; +}; diff --git a/arch/arm64/boot/dts/qcom/sdm845-xiaomi-dipper.dts b/arch/arm64= /boot/dts/qcom/sdm845-xiaomi-dipper.dts new file mode 100644 index 0000000000000..59393d9a780ef --- /dev/null +++ b/arch/arm64/boot/dts/qcom/sdm845-xiaomi-dipper.dts @@ -0,0 +1,30 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* + * Xiaomi Mi 8 (dipper). + * + * Copyright David Heidelberg. All rights reserved. + */ + +/dts-v1/; + +#include "sdm845-xiaomi-dipper-common.dtsi" + +/ { + model =3D "Xiaomi Mi 8"; + compatible =3D "xiaomi,dipper", "xiaomi,dipper-common", "qcom,sdm845"; + + qcom,board-id =3D <55 0>; + + battery: battery { + compatible =3D "simple-battery"; + + charge-full-design-microamp-hours =3D <3400000>; + voltage-min-design-microvolt =3D <3400000>; + voltage-max-design-microvolt =3D <4400000>; + }; + +}; + +&wifi { + qcom,calibration-variant =3D "Xiaomi_dipper"; +}; --=20 2.55.0