Currently a lot of DTS look like (Added comment for clarity):
/*
* Connected capacitors C644, C645, and C1524 are rated for 6.3V.
*
* According to Ref.8, the connected NCP134AMX105TCG and NCP134AMX100TCG regulators expect an input voltage range of 0.8V to 5.5V.
*
* Exceeding 5.5V (5 500 000 microvolts) will exponentially increase the risk of permanent damage to the regulators, and going beyond 6.3V will accelerate capacitor wear.
*/
Where we have a voltage range of 0.8 ~ 5.5V, but everyone seems to set the 80% of maximum leading to programmatically wrong code as the voltage range is inaccurate.
Instead proposing;
vdda_cc_ebi23:
vsw_s1:
vreg_s1a_0p8: smps1 {
regulator-min-microvolt = <800000>; // 0.8V = 800 000 microvolts
regulator-max-microvolt = <5500000>; // 5.5V = 5 500 000 microvolts
// Proposed option, expected to be set to 80 by default and with ability to be negative to go past the set max:
regulator-max-safety-margin = <80>; // 80% of regulator-max-microvolt
}
As to me it makes the code cleaner and logically correct while enabling easier adjustments of the safety margin e.g. in case the regulator handles GPU which might benefit from lesser safety margin
This is the regulator binding, not a spec issue. Submit patches against the regulator binding schema if you want to make additions to it. It lives in the Linux kernel tree.
Currently a lot of DTS look like (Added comment for clarity):
Where we have a voltage range of 0.8 ~ 5.5V, but everyone seems to set the 80% of maximum leading to programmatically wrong code as the voltage range is inaccurate.
Instead proposing;
As to me it makes the code cleaner and logically correct while enabling easier adjustments of the safety margin e.g. in case the regulator handles GPU which might benefit from lesser safety margin