Re: [PATCH v4 2/2] arm64: dts: qcom: Add Xiaomi 12 Lite 5G (taoyao) DTS

From: Stanislav Zaikin

Date: Wed Mar 18 2026 - 04:22:40 EST



On 3/16/26 9:47 PM, Val Packett wrote:

On 3/16/26 8:57 AM, Stanislav Zaikin wrote:
On 3/16/26 5:05 AM, Val Packett wrote:
On 3/5/26 6:39 AM, Stanislav Zaikin wrote:

Xiaomi 12 Lite 5G is a handset released in 2022

This commit has the following features working:
- Display (with simple fb)
- Touchscreen
- UFS
- Power and volume buttons
- Pinctrl
- RPM Regulators
- Remoteprocs - wifi, bluetooth
- USB (Device Mode)
[…]
+        vreg_l7b_2p96: ldo7 {
+            regulator-name = "vreg_l7b_2p96";
+            /* Constrained for UFS VCC, at least until UFS driver scales voltage */
+            regulator-min-microvolt = <2952000>;
+            regulator-max-microvolt = <2952000>;
+            regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+        };
[…]
+&ufs_mem_hc {
+    reset-gpios = <&tlmm 175 GPIO_ACTIVE_LOW>;
+
+    vcc-supply = <&vreg_l7b_2p96>;
+    vcc-max-microamp = <800000>;
+    /*
+     * Technically l9b enables an eLDO (supplied by s1b) which then powers
+     * VCCQ2 of the UFS.
+     */
+    vccq-supply = <&vreg_l9b_1p2>;
+    vccq-max-microamp = <900000>;

If this device has UFS 3.x flash, which it most likely does, the copy-pasted eLDO comment does not apply.. and VCC range is 2.4V-2.7V, 2.95 is overvoltage!

Hello Val,

Thank you for the review.

Though you're right that this comment is a copy-paste, taoyao has ufs2. This is the explaining comment from the downstream sources:

/*
* Yupik target supports both UFS2.2 & UFS3.1, here
* vccq2 is supplied via eLDO, [..]

So I thought it's better to keep a small comment regarding eLDO.

That's a comment from the qcom reference sources! I've literally seen it already in the downstream DTS for the device I'm currently working on (motorola-dubai) which definitely has UFS 3, hehe.

You can read /sys/bus/platform/devices/1d84000.ufshc/device_descriptor/specification_version to see which UFS spec version your flash is (0x310 == 3.1 etc.)
/home/user # cat /sys/bus/platform/devices/1d84000.ufshc/device_descriptor/specification_version

0x0220

(Lots of interesting stuff around there, there's also health_descriptor that shows your flash's wear estimation..)

Also if you have the schematics, you can check for whether an LDO is actually present there and whether VCCQ or VCCQ2 is connected :)
Unfortunately, I wasn't able to find schematics. It also a bummer that I don't know panel's name because I have a (semi-generated) driver for it.
If it's actually UFS 2 after all, it would be better to rename the property to vccq2-supply.
Could you elaborate please? Do you mean l9b?

No, the "vccq-supply". If you look at Documentation/devicetree/bindings/ufs/ufs-common.yaml you can see it supports both `vccq-supply` and `vccq2-supply`, the former is used for UFS3 and the latter for UFS2.

Will fix it in v5. Thanks a lot for so many inputs!

Best regards,
Stanislav