Re: [PATCH] arm64: dts: rockchip: Explicitly request UFS reset pin on RK3576

From: Quentin Schulz

Date: Tue Jan 20 2026 - 05:21:42 EST


Hi Heiko,

On 1/20/26 9:55 AM, Heiko Stuebner wrote:
Am Dienstag, 20. Januar 2026, 02:39:28 Mitteleuropäische Normalzeit schrieb Shawn Lin:
在 2026/01/19 星期一 17:22, Alexey Charkov 写道:
Rockchip RK3576 UFS controller uses a dedicated pin to reset the connected
UFS device, which can operate either in a hardware controlled mode or as a
GPIO pin.


It's the only one 1.2V IO could be used on RK3576 to reset ufs devices,
except ufs refclk. So it's a dedicated pin for sure if using ufs, that's
why we put it into rk3576.dtsi.

Power-on default is GPIO mode, but the boot ROM reconfigures it to a
hardware controlled mode if it uses UFS to load the next boot stage.


ROM code could be specific, but the linux/loader driver is compatible,
so for the coming SoCs, with more 1.2V IO could be used, it's more
flexible to use gpio-based instead of hardware controlled(of course,
move reset pinctrl settings into board dts).

Given that existing bindings (and rk3576.dtsi) expect a GPIO-controlled
device reset, request the required pin config explicitly.

This doesn't appear to affect Linux, but it does affect U-boot:


IIUC, it's more or less a fix for loader, more precisely U-boot here?
I'm not entirely certain about the handling here, is it standard
convention to add a fixes tag in this context?

Yes, a fixes tag is warranted here, in Linux it "only" fixes a potential
issue due to the mismatch between pinconfig and gpio during probe.

nce this patch then enters the kernel, it can be cherry-picked to
the current u-boot development cycle. I don't think u-boot is doing
stable releases though, so U-Boot will only profit for the next
version where this is included.


U-Boot only takes what's in devicetree-rebasing (https://git.kernel.org/pub/scm/linux/kernel/git/devicetree/devicetree-rebasing.git), so only from Linus's tree AFAICT. C.f. https://docs.u-boot.org/en/latest/develop/process.html#resyncing-of-the-device-tree-subtree and https://docs.u-boot.org/en/latest/develop/devicetree/control.html#resyncing-with-devicetree-rebasing. See also OF_UPSTREAM Kconfig symbol in U-Boot.

This policy does make adding support for a new board quite slow as we may need to wait months before it makes it to Linus's tree, and then go through the development cycle in U-Boot which can also take a few months if the timing is unfortunate. For now it seems like we're sticking with this policy to avoid too much in "downstream" DT in U-Boot. I know we push for this aggressively for new Rockchip boards and SoCs, cannot say for other vendors.

Cheers,
Quentin