[RFC PATCH 2/2] arm64: dts: qcom: Add a minimal Xiaomi Warsaw description
From: Zhang Jiaxi
Date: Thu Oct 08 2026 - 18:38:33 EST
From: Jiaxi Zhang <z1529105815@xxxxxxxxxxx>
Add the board identity, reference clocks, PM8550/PMK8550 devices and
keys used by the v165 board. Retain its inherited debug UART alias,
stdout selection and QUP wrapper enable. Keep peripheral bring-up
and the Android bootloader memory contract in separate drafts.
Describe the board from the SoC and PMIC includes, rather than
inheriting all peripherals of the SM8750 MTP board. Reference clocks
and key pin configuration are retained from the MTP description
included by the existing Warsaw BSP.
Signed-off-by: Jiaxi Zhang <z1529105815@xxxxxxxxxxx>
---
This revised minimal board has not been boot-tested. The SoC include
already provides a memory-size placeholder and firmware reservations,
including SMEM; the bootloader must supply usable memory and preserve
correct firmware ownership. The full v165 board boot does not verify
these fixups for this smaller description. No captured bank list,
private firmware region or Android command line is added.
diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
--- a/arch/arm64/boot/dts/qcom/Makefile
+++ b/arch/arm64/boot/dts/qcom/Makefile
@@ -408,6 +408,7 @@
dtb-$(CONFIG_ARCH_QCOM) += sm8650-qrd.dtb
dtb-$(CONFIG_ARCH_QCOM) += sm8750-mtp.dtb
dtb-$(CONFIG_ARCH_QCOM) += sm8750-qrd.dtb
+dtb-$(CONFIG_ARCH_QCOM) += sm8750-xiaomi-warsaw.dtb
dtb-$(CONFIG_ARCH_QCOM) += talos-evk.dtb
talos-evk-el2-dtbs := talos-evk.dtb talos-el2.dtbo
diff --git a/arch/arm64/boot/dts/qcom/sm8750-xiaomi-warsaw.dts b/arch/arm64/boot/dts/qcom/sm8750-xiaomi-warsaw.dts
new file mode 100644
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/sm8750-xiaomi-warsaw.dts
@@ -0,0 +1,108 @@
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved.
+ */
+
+/dts-v1/;
+
+#include <dt-bindings/clock/qcom,rpmh.h>
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
+#include "sm8750.dtsi"
+#include "pm8550.dtsi"
+#include "pmk8550.dtsi"
+
+/ {
+ model = "Xiaomi Warsaw";
+ compatible = "xiaomi,warsaw", "qcom,sm8750";
+ chassis-type = "handset";
+
+ aliases {
+ serial0 = &uart7;
+ };
+
+ chosen {
+ stdout-path = "serial0:115200n8";
+ };
+
+ clocks {
+ xo_board: xo-board {
+ compatible = "fixed-clock";
+ clock-frequency = <76800000>;
+ #clock-cells = <0>;
+ };
+
+ sleep_clk: sleep-clk {
+ compatible = "fixed-clock";
+ clock-frequency = <32000>;
+ #clock-cells = <0>;
+ };
+
+ bi_tcxo_div2: bi-tcxo-div2-clk {
+ compatible = "fixed-factor-clock";
+ #clock-cells = <0>;
+
+ clocks = <&rpmhcc RPMH_CXO_CLK>;
+ clock-mult = <1>;
+ clock-div = <2>;
+ };
+
+ bi_tcxo_ao_div2: bi-tcxo-ao-div2-clk {
+ compatible = "fixed-factor-clock";
+ #clock-cells = <0>;
+
+ clocks = <&rpmhcc RPMH_CXO_CLK_A>;
+ clock-mult = <1>;
+ clock-div = <2>;
+ };
+ };
+
+ gpio-keys {
+ compatible = "gpio-keys";
+
+ pinctrl-0 = <&volume_up_n>;
+ pinctrl-names = "default";
+
+ key-volume-up {
+ label = "Volume Up";
+ linux,code = <KEY_VOLUMEUP>;
+ gpios = <&pm8550_gpios 6 GPIO_ACTIVE_LOW>;
+ debounce-interval = <15>;
+ linux,can-disable;
+ wakeup-source;
+ };
+ };
+};
+
+&pm8550_gpios {
+ volume_up_n: volume-up-n-state {
+ pins = "gpio6";
+ function = "normal";
+ bias-pull-up;
+ input-enable;
+ power-source = <1>;
+ };
+};
+
+&pon_pwrkey {
+ status = "okay";
+};
+
+&pon_resin {
+ linux,code = <KEY_VOLUMEDOWN>;
+
+ status = "okay";
+};
+
+&qupv3_1 {
+ status = "okay";
+};
+
+&uart7 {
+ status = "okay";
+};
+
+&tlmm {
+ /* GPIOs reserved by the Warsaw firmware. */
+ gpio-reserved-ranges = <36 4>, <48 4>, <74 1>;
+};