lkml.org 
[lkml]   [2021]   [Dec]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH v2 3/4] dt-bindings: watchdog: da9062: add watchdog timeout mode
From
Date
On 11/30/21 10:42 PM, Andrej Picej wrote:
>
> On 30. 11. 21 18:46, Adam Thomson wrote:
>> On 30 November 2021 16:40, Guenter Roeck wrote:
>>
>>>>> Why does it need a value ? Why not just bool ?
>>>>
>>>> One argument might be that if the property isn't provided then the OTP
>>>> configured value can persist without needing a FW change around this DT
>>> binding.
>>>>
>>>> My belief though is that the majority of users would have this property set to 0
>>>> by default in OTP, so a boolean would be OK I think here to enable watchdog
>>>> shutdown.
>>>>
>>>
>>> Sorry, you lost me.
>>>     dlg,wdt-sd = <0>;
>>> is the current situation, and identical to not having the property in
>>> the first place.
>>>     dlg,wdt-sd = <1>;
>>> is new. I don't see the difference to
>>>     dlg,wdt-sd;
>>> vs. not having the property at all (which is, again, the current situation).
>>> Since it has to be backward compatible,
>>>     dlg,wdt-sd = <0>;
>>> will always be identical to not having the property at all.
>>> I can not find a situation where an integer would have any benefits over a
>>> boolean.
>>
>> So if you have a binary DT binding, it's either there or it isn't which implies
>> the bit to be set to 0/1 in this case. If you have a binding which has a value,
>> there can be 3 outcomes in this discussion:
>>
>>   1) Binding = 0, bit is set to 0
>>   2) Binding = 1, bit is set to 1
>>   3) Binding NOT present in DT, OTP default value in HW remains untouched
>>
>> Say a platform updates to a later kernel version, but sticks with existing DT
>> FW (i.e. the new boolean binding isn't present in FW), then the following could
>> happen:
>>
>>   1) OTP for DA9061/2 has this bit set to 1, system expectation is that watchdog
>>      triggers SHUTDOWN.
>>   2) New driver checks existance of 'dlg,wdt-sd' but it's obviously not there so
>>      assumes the bit should be set to 0 and does so
>>   3) When the watchdog fires, it will no longer trigger SHUTDOWN but instead
>>      POWER-DOWN due to binary handling of new boolean binding.
>>
>
> This was my thinking exactly. I also first thought about boolean value, but I then moved to the integer value of 0 or 1 after checking the OTP default for this bit. The da9062 I'm working with has the bit set to 1 by default.

That needs to be be documented.

Guenter

\
 
 \ /
  Last update: 2021-12-01 08:02    [W:0.056 / U:1.336 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site