Thread (12 messages) 12 messages, 4 authors, 2026-01-20

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

From: Quentin Schulz <hidden>
Date: 2026-01-20 10:21:42
Also in: linux-devicetree, linux-rockchip, lkml, stable

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:
quoted
在 2026/01/19 星期一 17:22, Alexey Charkov 写道:
quoted
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.
quoted
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).
quoted
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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help