lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <a0202e76-4931-4061-9915-5fae50d3abdf@cherry.de>
Date: Thu, 5 Jun 2025 11:05:53 +0200
From: Quentin Schulz <quentin.schulz@...rry.de>
To: Heiko Stuebner <heiko@...ech.de>
Cc: jonas@...boo.se, dsimic@...jaro.org,
 linux-arm-kernel@...ts.infradead.org, linux-rockchip@...ts.infradead.org,
 linux-kernel@...r.kernel.org
Subject: Re: [PATCH] arm64: dts: rockchip: add regulator-enable-ramp-delay to
 RK860-2/-3 regulators

On 6/5/25 10:57 AM, Quentin Schulz wrote:
> Hi Heiko,
> 
> On 6/4/25 10:24 PM, Heiko Stuebner wrote:
>> The RK860-2/-3 regulators are used on rk3588 boards to supply components
>> like the big cpu-clusters and npu individually.
>>
>> Most of these things will be, and in fact most regulator nodes right 
>> now are,
>> always-on - probably nobody has tried completely turning of the big 
>> clusters
>> for example.
>>
> 
> This is a bit of a confusing wording here. If most things will be (and 
> are) always-on, then the ramp-up typically shouldn't be an issue I 
> assume? I'm not too familiar with the regulator subsystem but I guess 
> for the first initial enable this could be an issue?
> 
>> This changed with the new NPU driver, which does combined runtime- 
>> suspends
>> with the regulator being tied to the power-domain (it supplies the pd).
>>
>> If the NPU runtime-suspends while running a load and then starts again
>> hangs can be observed with messages like
>>
>>    rockchip-pm-domain fd8d8000.power-management:power-controller: 
>> failed to set domain 'nputop' on, val=0
>>
>> Removing the regulator from the domain and instead setting it to 
>> always-on
>> "fixes" the issue, which suggests that the domain is trying to get 
>> current
>> from the regulator before it is ready when it gets turned back on.
>>
> 
> If I'm not mistaken, this is also misleading as nothing currently uses 
> that (NPU support not merged yet and most if not all NPU regulators 
> currently are always-on so typically not impacted by this issue).
> 
> I assume this will be an issue the moment we add support for suspending 
> the NPU regulator, which would anyway require modification of the 
> various DT. Is that correct?
> 
>> And in fact the datasheet for the regulator defines an "Internal soft- 
>> start
>> time". For a target output voltage of 1.0V the _typical_ time to reach at
>> least 92% of the output is given as 260uS.
>>
> 
> Indeed. Now looking at the existing Device Trees, it seems some set the 
> ramp-up delay already, but to 2300 and not 500 like suggested here. 
> Maybe it'd be safer to go for 2300 by default then? This could also be 
> the typical "this Device Tree got merged, we use the same node, so we 
> simply copy it" case and not really backed by anything (though I would 
> hope the Toybrick and Rockchip evaluation boards values are based on 
> *something* since Rockchip would (could) have done measurements for 
> those?).
> 

I have been told by you in private that I mixed 
regulator-enable-ramp-delay and regulator-ramp-delay for that, so just 
acknowledging it publicly :) You can ignore the above paragraph :)

>> So that value is dependent on the target voltage (up to 1.5V for the 
>> type)
>> and also the rest of the board design.
>>
>> So add a regulator-enable-ramp-delay to all rk860-2/-3 nodes we have in
> 
> Maybe mention that there's currently no rk8601 node upstream, and the 
> only rk8600 (arch/arm64/boot/dts/rockchip/rk3566-radxa-zero-3.dtsi) 

Based on the above revelation, we should add this enable-ramp-delay to 
that DT too I believe.

> already has a ramp-up delay configured. Otherwise reading this I'm 
> wondering why the rk860-0 and rk860-1 while being handled by the same 
> datasheet are implicitly excluded from this change.
> 
>> mainline right now. I've chosen 500uS to be on the safe side, as
>> 260uS is the "typical" value for 1.0V and sadly no max value is given
>> in the datasheet.
>>
> 
> Reading the rk808 regulator driver... maybe we should also set the 
> typical delay as default in the fan53555.c driver? See rk805_reg which 
> sets the enable_time for some (typically the LDO with 400 and the DCDC 
> at 0). I assume those can be overridden from the DT anyway, but at least 
> we would have some decently safe defaults?
> 
> If we do not do this, then we should probably force the presence of 
> regulator-ramp-delay property for the rk860x DT binding so we don't 
> forget for future Device Trees?
> 

Read regulator-enable-ramp-delay here instead but still applicable.

Quentin

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ