• Johan Hovold's avatar
    regulator: add pm8008 pmic regulator driver · 11d861d2
    Johan Hovold authored
    The Qualcomm PM8008 is an I2C-controlled PMIC containing seven LDO
    regulators.
    
    The driver is based on a driver submitted by Satya Priya, but it has
    been cleaned up and reworked to match the new devicetree binding which
    no longer describes each regulator as a separate device.
    
    This avoids describing internal details like register offsets in the
    devicetree and allows for extending the implementation with features
    like over-current protection without having to update the binding.
    
    Specifically note that the regulator interrupts are shared between all
    regulators.
    
    Note that the secondary regmap is looked up by name and that if the
    driver ever needs to be generalised to support regulators provided by
    the primary regmap (I2C address) such information could be added to the
    device-id table.
    
    This also fixes the original implementation, which looked up regulators
    by 'regulator-name' property rather than devicetree node name and which
    prevented the regulators from being named to match board schematics.
    
    Link: https://lore.kernel.org/r/1655200111-18357-8-git-send-email-quic_c_skakit@quicinc.com
    Cc: Satya Priya Kakitapalli <quic_skakitap@quicinc.com>
    Cc: Stephen Boyd <swboyd@chromium.org>
    Reviewed-by: default avatarMark Brown <broonie@kernel.org>
    Signed-off-by: default avatarJohan Hovold <johan+linaro@kernel.org>
    Link: https://lore.kernel.org/r/20240608155526.12996-12-johan+linaro@kernel.orgSigned-off-by: default avatarLee Jones <lee@kernel.org>
    11d861d2
qcom-pm8008-regulator.c 5.06 KB