On 05/01/2024 15:33, Mark Brown wrote:
On Thu, Jan 04, 2024 at 08:08:50PM +0100, Krzysztof Kozlowski wrote:
On 04/01/2024 17:30, Sean Anderson wrote:
device post-assert delay post-deassert delay ====== ================= =================== A 500us 1ms B 1ms 300us
...
Now, if we are back to realistic cases - use just the longest reset time.
Isn't the main concern here that when one device probes we don't yet know the times for the other devices?
You can never know when second device will appear. It might come from modules, DTB overlay etc. If we want to satisfy all users, then we need to wait till all users appear, which I think is not even possible, considering runtime loaded overlays.
If we leave things up to the drivers, then whoever probes first will get to decide the reset sequence.
In current design yes, but it's not a problem to change it. Where is the limitation? Just read other values and update the reset time.
We might have already done a reset by that time and earlier devices might prevent later devices from resetting again. It shouldn't be such an issue for the post delay, but might be one for the pre delay.
If the reset deassert (or assert, depending what's the default state) is triggered in the probe, then it will happen with the probe of the first device. If the delays of that reset are not suitable for the second - not yet probed - then what do you propose? I have the answer: do not use the simple, generic solution. The simple and generic solutions work for simple and generic cases.
Best regards, Krzysztof