Re: [PATCH v1 2/2] arm64: dts: qcom: Add Xiaomi Poco M3
From: Konrad Dybcio
Date: Tue Oct 27 2026 - 04:44:49 EST
On 10/27/26 8:51 AM, Amir Hanip wrote:
> Add initial device tree for the Xiaomi Poco M3 (codename citrus),
> based on the Qualcomm Snapdragon 662 (SM6115) SoC.
>
> Currently working:
> - UFS and microSD
> - USB host (OTG)
> - WiFi
> - Bluetooth
> - Remoteprocs (ADSP, CDSP and modem)
>
> WiFi, Bluetooth and the remoteprocs need device-specific firmware,
> which is not part of this series. WiFi additionally needs qrtr,
> tqftpserv and rmtfs running in userspace, and the Bluetooth
> controller needs its BD address set from userspace.
>
> Display panel, touchscreen, and the GPU display pipeline will
> be added later, so the display is currently only available through
> simple-framebuffer.
>
> Signed-off-by: Amir Hanip <killdeath104@xxxxxxxxx>
> ---
> arch/arm64/boot/dts/qcom/Makefile | 1 +
> .../boot/dts/qcom/sm6115-xiaomi-citrus.dts | 516 ++++++++++++++++++
> 2 files changed, 517 insertions(+)
> create mode 100644 arch/arm64/boot/dts/qcom/sm6115-xiaomi-citrus.dts
>
> diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
> index 88230c4e0..02e87dd78 100644
> --- a/arch/arm64/boot/dts/qcom/Makefile
> +++ b/arch/arm64/boot/dts/qcom/Makefile
> @@ -386,6 +386,7 @@ dtb-$(CONFIG_ARCH_QCOM) += shikra-iqs-evk-imx577-camera.dtb
> dtb-$(CONFIG_ARCH_QCOM) += sm4250-oneplus-billie2.dtb
> dtb-$(CONFIG_ARCH_QCOM) += sm4450-qrd.dtb
> dtb-$(CONFIG_ARCH_QCOM) += sm6115-fxtec-pro1x.dtb
> +dtb-$(CONFIG_ARCH_QCOM) += sm6115-xiaomi-citrus.dtb
> dtb-$(CONFIG_ARCH_QCOM) += sm6115-xiaomi-lemon.dtb
Any chance these two are related and should share some portion of
DT?
[...]
> + wcn3950-pmu {
> + compatible = "qcom,wcn3950-pmu";
> +
> + pinctrl-0 = <&sw_ctrl_default>;
> + pinctrl-names = "default";
> +
> + vddio-supply = <&pm6125_l9>;
> + vddxo-supply = <&pm6125_l16>;
> + vddrf-supply = <&pm6125_l17>;
> + vddch0-supply = <&pm6125_l23>;
> +
> + swctrl-gpios = <&tlmm 87 GPIO_ACTIVE_HIGH>;
> +
> + regulators {
> + vreg_pmu_io: ldo0 { regulator-name = "vreg_pmu_io"; };
> + vreg_pmu_xo: ldo1 { regulator-name = "vreg_pmu_xo"; };
> + vreg_pmu_rf: ldo2 { regulator-name = "vreg_pmu_rf"; };
> + vreg_pmu_ch0: ldo3 { regulator-name = "vreg_pmu_ch0"; };
> + vreg_pmu_ch1: ldo4 { regulator-name = "vreg_pmu_ch1"; };
Please unroll these scopes
[...]
> +&gpu_zap_shader {
> + firmware-name = "qcom/sm6115/xiaomi-citrus/a610_zap.mbn";
> +};
> +
> +&pil_adsp_mem {
> + reg = <0x0 0x53800000 0x0 0x2200000>;
> +};
> +
> +&pil_cdsp_mem {
> + reg = <0x0 0x51a00000 0x0 0xa00000>;
> +};
> +
> +&pil_gpu_mem {
> + reg = <0x0 0x55A15000 0x0 0x2000>;
> +};
> +
> +&pil_ipa_fw_mem {
> + reg = <0x0 0x55A00000 0x0 0x10000>;
> +};
> +
> +&pil_ipa_gsi_mem {
> + reg = <0x0 0x55A10000 0x0 0x5000>;
> +};
Let's use lowercase hex
[...]
> +&pmi632_vbus {
> + regulator-min-microamp = <500000>;
> + regulator-max-microamp = <1000000>;
> + status = "okay";
Let's keep an \n between 'status', file-wide
[...]
> +&tlmm {
> + gpio-reserved-ranges = <0 4>, <14 4>;
Do we know what these correspond to? Usually that's NFC eSE and
FP scanner - if you happen to know, please add some somments
(following the style in glymur-crd.dtsi)
Konrad