• Stephan Gerhold's avatar
    arm64: dts: qcom: apq8016-sbc: Fix regulator constraints · e27654df
    Stephan Gerhold authored
    For some reason DB410c has completely bogus regulator constraints that
    actually just correspond to the programmable voltages which are already
    provided by the regulator driver. Some of them are not just outside the
    recommended operating conditions of the APQ8016E SoC but even exceed
    the absolute maximum ratings, potentially risking permanent device
    damage.
    
    In practice it's not quite as dangerous thanks to the RPM firmware:
    It turns out that it has its own voltage constraints and silently
    clamps all regulator requests. For example, requesting 3.3V for L5
    (allowed by the current regulator constraints!) still results in 1.8V
    being programmed in the actual regulator hardware.
    
    Experimentation with various voltages shows that the internal RPM
    voltage constraints roughly correspond to the safe "specified range"
    in the PM8916 Device Specification (rather than the "programmable
    range" used inside apq8016-sbc.dtsi right now).
    
    Combine those together with some fixed voltages used in the old
    msm-3.10 device tree from Qualcomm to give DB410c some actually valid
    voltage constraints.
    
    Cc: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
    Fixes: 4c7d53d1 ("arm64: dts: apq8016-sbc: add regulators support")
    Signed-off-by: default avatarStephan Gerhold <stephan@gerhold.net>
    Signed-off-by: default avatarBjorn Andersson <andersson@kernel.org>
    Link: https://lore.kernel.org/r/20230510-msm8916-regulators-v1-1-54d4960a05fc@gerhold.net
    e27654df
apq8016-sbc.dts 16.8 KB