[PATCH RFC v3 0/2] arm64: dts: qcom: introduce minimal REDMI K90 Ultra support

From: Zhang Jiaxi

Date: Wed Oct 21 2026 - 08:51:16 EST


Add initial core/USB support for the REDMI K90 Ultra, whose Xiaomi internal
codename is Warsaw. The compatible and DTS filename retain that codename.
The two patches change only qcom.yaml, the qcom Makefile and the board DTS.
The base remains torvalds/linux 6c377d19d4a5116d9bec5203aa3c6c11523e7898.

Changes since v2, following Konrad's review:
- Use the market name in model and sort board extensions/clock nodes.
- Reuse pmih0108.dtsi and retain Warsaw's repeater supplies and tuning.
The Kaanapali variant instead attaches to spmi_bus1; SM8750 has
&spmi_bus (bus 0) and its reference boards use the generic include.
- Clarify firmware-reserved GPIOs without inventing a use for 48-51.
- Explicitly leave the provisional peripheral restriction open for review.
- Move tool-use disclosure to the cover, following current upstream guidance.

Previous v2 submission:
https://lore.kernel.org/r/20261016-b4-warsaw-minimal-usb2-v2-0-1b03496396b4@xxxxxxxxxxx

The generic PMIC include also introduces its GPIO controller, temperature
alarm and thermal zone/trips, so v3 is not equivalent to the previously
booted repeater-only DT. All existing device properties except model are
unchanged after phandle normalization; the seven PMIC nodes are the only
additions. The 246-line source compiles to a 104362-byte DTB, SHA-256
0c0c2bf0af3e12d4be7d371698fb7178b13912e4c7bf424bdc1d4d64e1cf1e28.
It passes dtschema 2026.9 with the complete processed official 6c binding
set and Warsaw enum, with zero diagnostics. DTC has 18 inherited warnings.

One RAM-only boot of this v3 DT reached BusyBox PID1, brought all eight
CPUs online and exposed a configured high-speed USB Ethernet gadget. All
ten original core-driver bindings were present; PMIH0108, its GPIO,
temperature-alarm and repeater drivers also bound. The PMIC thermal zone
was readable, without establishing calibrated temperature accuracy or
thermal protection. The report was collected after 40 seconds; the guest
returned to Android A at the 90-second test bound.

The native test environment reuses the unmodified 6c kernel Image and
configuration (SHA256 d20500bb1ee86f3218f351bca0274c20f177c390b26d11bf5774cff19a79086a).
A separate native ARM64 adapter supplies the external FDT/initrd and handles
the firmware-inherited watchdog before Linux entry; it is not in this series.
Runtime DT provisioning is limited to memory, reserved-memory and chosen.
The source contains no captured RAM map, private firmware range or Android
command line. This does not claim stock boot-v4 directly boots this raw DTB.
The test retains cpuidle.off=1; default idle, suspend and other peripherals
remain outside the validation scope. The matching config and build recipe
can be supplied as supporting material.

GPIOs 36-39 and 74 have been identified as NFC eSE on Qualcomm's SM8750
MTP/QRD reference boards. The Warsaw OEM tree reserves those pins and 48-51;
the latter's board function has not been identified. All reservations stay.

The downstream Warsaw DT limits USB to high-speed, substitutes the USB3 PHY
with a nop PHY and disables the USB/DP combo PHY. Its inherited configuration
still has OTG/role switching through UCSI. Thus dr_mode = "peripheral" is
a provisional restriction in this RFC, not a peripheral-only hardware
claim. The connector, role-control and VBUS path are not described here;
changing the string to "otg" alone would not complete that integration.
I would appreciate guidance on whether the restriction is acceptable for
the initial RFC or USB should remain disabled until dual-role support is
described and validated. Gadget validation does not close that question.
The Warsaw display DT also disables sde_dp and omits DP from its connector
list. Physical Type-C routing has not been independently verified; USB2
speed alone does not establish DP absence. No DP support is proposed.

I used Codex/LLM assistance for source analysis, drafting and host/guest
test preparation.
I remain responsible for the submission and its DCO declarations.

---
Jiaxi Zhang (2):
dt-bindings: arm: qcom: Add Xiaomi Warsaw
arm64: dts: qcom: Add a minimal REDMI K90 Ultra description

Documentation/devicetree/bindings/arm/qcom.yaml | 1 +
arch/arm64/boot/dts/qcom/Makefile | 1 +
arch/arm64/boot/dts/qcom/sm8750-xiaomi-warsaw.dts | 246 ++++++++++++++++++++++
3 files changed, 248 insertions(+)
---
base-commit: 6c377d19d4a5116d9bec5203aa3c6c11523e7898
change-id: 20261015-b4-warsaw-minimal-usb2-44808df9f2f3

Best regards,
--
Jiaxi Zhang <z1529105815@xxxxxxxxxxx>