mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH v3 0/3] arm64: dts: qcom: Add Xiaomi Poco M3 (citrus)
@ 2026-11-07 14:14 Amir Hanip
  2026-11-07 14:14 ` [PATCH v3 1/3] dt-bindings: arm: qcom: Document Xiaomi Poco M3 Amir Hanip
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Amir Hanip @ 2026-11-07 14:14 UTC (permalink / raw)
  To: andersson, konradybcio, linux-arm-msm
  Cc: abelvesa, conor+dt, devicetree, killdeath104, krzk+dt,
	linux-kernel, robh, barnabas.czeman, a39skl, konrad.dybcio

This series adds initial support for the Xiaomi Poco M3 (codename
citrus), a smartphone based on the Qualcomm Snapdragon 662 (SM6115).
As suggested by Barnabas, the shared parts of lemon are moved into a
common dtsi, and citrus is added on top of it. The series is based on
v7.4-rc1.

Currently working on citrus:
- UFS and microSD
- USB host (OTG), limited to high-speed (SuperSpeed is untested)
- WiFi
- Bluetooth
- Remoteprocs (ADSP, CDSP and modem)

Not included yet: the display panel, touchscreen and the display
pipeline, which depend on drivers that are not upstream. The GPU and
its zap shader are enabled, but no DRM device is registered without
the display subsystem, so the GPU is not usable with this series
alone. Audio is not included either.

Firmware and userspace: WiFi, Bluetooth, the remoteprocs and the GPU
zap shader 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.

Testing: citrus was tested on a Poco M3 booted from microSD with a
v7.2-based kernel. I do not own a Redmi 9T, so lemon is untested on
hardware. Instead, I compared the lemon DTS before and after the
split, normalized with dtc (dtc -I dts -O dts -s). The only
difference is the numbering of auto-generated phandles.

Changes in v3:
- Split lemon into sm6115-xiaomi-lime-common.dtsi and add citrus on
  top of it (Barnabas). The IPA carve-outs are in the common dtsi.
- Fixed the unit addresses of the IPA and GPU reserved-memory nodes
  (Sashiko).
- Split the card detect pinctrl of the microSD slot into separate
  states, as lemon does. The pin configuration is unchanged.
- Kept the ADSP carve-out per variant. A larger range common to both
  works on citrus (tested), as Barnabas suggested, but wastes 4 MiB
  of RAM, as Konrad pointed out. I did not touch lemon's value
  because I cannot test it.
- Kept the deletion of cdsp_sec_mem and of the orientation-switch
  property of usb_qmpphy in citrus, as in v2, since that is the
  tested configuration. Barnabas suggested they may be leftovers from
  the reference design. I will test dropping them and follow up.
- Dropped Konrad's Reviewed-by on patch 3 because of the rework.
  Krzysztof's Acked-by on patch 1 is kept.
- Clarified in the commit message that the GPU is enabled but not
  usable without the display pipeline.

Open questions, mainly for Adam:
- lemon's GPU carve-out is 0xfa400000, citrus uses 0x55a15000 (right
  after pil_ipa_gsi_mem). Is the lemon value intentional?
- lemon's ADSP carve-out is 0x53400000/0x2600000. Barnabas reported
  that lemon's stock layout (from MIUI sysfs) starts at 0x53800000.
  If lemon also works with 0x53800000/0x2200000, the node could move
  to the common dtsi in a follow-up.
- lemon marks l5, l7 and l22 as always-on, citrus does not need it.
  Is it needed on lemon?

Link to v1:
https://lore.kernel.org/linux-arm-msm/20261027075116.41673-1-killdeath104@gmail.com/
Link to v2:
https://lore.kernel.org/linux-arm-msm/20261027205146.16384-1-killdeath104@gmail.com/

Amir Hanip (3):
  dt-bindings: arm: qcom: Document Xiaomi Poco M3
  arm64: dts: qcom: sm6115-xiaomi-lemon: Split out a common dtsi
  arm64: dts: qcom: Add Xiaomi Poco M3

 .../devicetree/bindings/arm/qcom.yaml         |   1 +
 arch/arm64/boot/dts/qcom/Makefile             |   1 +
 .../boot/dts/qcom/sm6115-xiaomi-citrus.dts    | 237 +++++++++++++
 .../boot/dts/qcom/sm6115-xiaomi-lemon.dts     | 317 +----------------
 .../dts/qcom/sm6115-xiaomi-lime-common.dtsi   | 335 ++++++++++++++++++
 5 files changed, 575 insertions(+), 316 deletions(-)
 create mode 100644 arch/arm64/boot/dts/qcom/sm6115-xiaomi-citrus.dts
 create mode 100644 arch/arm64/boot/dts/qcom/sm6115-xiaomi-lime-common.dtsi


base-commit: 6628e7d4c6b25c8d18f1345e3a20d21829aae7e4
-- 
2.47.3


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2026-11-07 17:49 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-11-07 14:14 [PATCH v3 0/3] arm64: dts: qcom: Add Xiaomi Poco M3 (citrus) Amir Hanip
2026-11-07 14:14 ` [PATCH v3 1/3] dt-bindings: arm: qcom: Document Xiaomi Poco M3 Amir Hanip
2026-11-07 14:14 ` [PATCH v3 2/3] arm64: dts: qcom: sm6115-xiaomi-lemon: Split out a common dtsi Amir Hanip
2026-11-07 17:49   ` Barnabás Czémán
2026-11-07 14:14 ` [PATCH v3 3/3] arm64: dts: qcom: Add Xiaomi Poco M3 Amir Hanip

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®