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

Heiko Stuebner
2026-01-20T10:26:29Z

Am Dienstag, 20. Januar 2026, 11:21:34 Mitteleuropäische Normalzeit schrieb Quentin Schulz:
> 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.

Yeah, this is what I "meant", but explained badly :-)

Also this is the reason I'd like that v2 soon'ish, that it can make its
way still into 6.20-rc1 and thus into u-boot.