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.