Loading drivers/platform/msm/qpnp-power-on.c +45 −4 Original line number Diff line number Diff line Loading @@ -24,6 +24,13 @@ #include <linux/log2.h> #include <linux/qpnp/power-on.h> #define PMIC_VER_8941 0x01 #define PMIC_VERSION_REG 0x0105 #define PMIC_VERSION_REV4_REG 0x0103 #define PMIC8941_V1_REV4 0x01 #define PMIC8941_V2_REV4 0x02 /* Common PNP defines */ #define QPNP_PON_REVISION2(base) (base + 0x01) Loading Loading @@ -915,6 +922,8 @@ static int qpnp_pon_config_init(struct qpnp_pon *pon) struct device_node *pp = NULL; struct qpnp_pon_config *cfg; u8 pon_ver; u8 pmic_type; u8 revid_rev4; /* Check if it is rev B */ rc = spmi_ext_register_readl(pon->spmi->ctrl, pon->spmi->sid, Loading Loading @@ -997,6 +1006,38 @@ static int qpnp_pon_config_init(struct qpnp_pon *pon) cfg->use_bark = of_property_read_bool(pp, "qcom,use-bark"); rc = spmi_ext_register_readl(pon->spmi->ctrl, pon->spmi->sid, PMIC_VERSION_REG, &pmic_type, 1); if (rc) { dev_err(&pon->spmi->dev, "Unable to read PMIC type\n"); return rc; } if (pmic_type == PMIC_VER_8941) { rc = spmi_ext_register_readl(pon->spmi->ctrl, pon->spmi->sid, PMIC_VERSION_REV4_REG, &revid_rev4, 1); if (rc) { dev_err(&pon->spmi->dev, "Unable to read PMIC revision ID\n"); return rc; } /*PM8941 V3 does not have harware bug. Hence bark is not required from PMIC versions 3.0*/ if (!(revid_rev4 == PMIC8941_V1_REV4 || revid_rev4 == PMIC8941_V2_REV4)) { cfg->support_reset = false; cfg->use_bark = false; } } if (cfg->use_bark) { cfg->bark_irq = spmi_get_irq_byname(pon->spmi, NULL, "resin-bark"); Loading Loading
drivers/platform/msm/qpnp-power-on.c +45 −4 Original line number Diff line number Diff line Loading @@ -24,6 +24,13 @@ #include <linux/log2.h> #include <linux/qpnp/power-on.h> #define PMIC_VER_8941 0x01 #define PMIC_VERSION_REG 0x0105 #define PMIC_VERSION_REV4_REG 0x0103 #define PMIC8941_V1_REV4 0x01 #define PMIC8941_V2_REV4 0x02 /* Common PNP defines */ #define QPNP_PON_REVISION2(base) (base + 0x01) Loading Loading @@ -915,6 +922,8 @@ static int qpnp_pon_config_init(struct qpnp_pon *pon) struct device_node *pp = NULL; struct qpnp_pon_config *cfg; u8 pon_ver; u8 pmic_type; u8 revid_rev4; /* Check if it is rev B */ rc = spmi_ext_register_readl(pon->spmi->ctrl, pon->spmi->sid, Loading Loading @@ -997,6 +1006,38 @@ static int qpnp_pon_config_init(struct qpnp_pon *pon) cfg->use_bark = of_property_read_bool(pp, "qcom,use-bark"); rc = spmi_ext_register_readl(pon->spmi->ctrl, pon->spmi->sid, PMIC_VERSION_REG, &pmic_type, 1); if (rc) { dev_err(&pon->spmi->dev, "Unable to read PMIC type\n"); return rc; } if (pmic_type == PMIC_VER_8941) { rc = spmi_ext_register_readl(pon->spmi->ctrl, pon->spmi->sid, PMIC_VERSION_REV4_REG, &revid_rev4, 1); if (rc) { dev_err(&pon->spmi->dev, "Unable to read PMIC revision ID\n"); return rc; } /*PM8941 V3 does not have harware bug. Hence bark is not required from PMIC versions 3.0*/ if (!(revid_rev4 == PMIC8941_V1_REV4 || revid_rev4 == PMIC8941_V2_REV4)) { cfg->support_reset = false; cfg->use_bark = false; } } if (cfg->use_bark) { cfg->bark_irq = spmi_get_irq_byname(pon->spmi, NULL, "resin-bark"); Loading