On 1. 12. 21 08:01, Guenter Roeck wrote:
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
Ok, I will add a note about the default value and how it is defined by
OTP. Will submit a v3.
Thanks for review.
BR,
Andrej