goto reset_direct;
}
+ ret = palmas_update_bits(palmas, PALMAS_PMU_CONTROL_BASE,
+ PALMAS_SWOFF_COLDRST, PALMAS_SWOFF_COLDRST_SW_RST,
+ PALMAS_SWOFF_COLDRST_SW_RST);
+ if (ret < 0) {
+ dev_err(palmas_pm->dev,
+ "SWOFF_COLDRST update failed: %d\n", ret);
+ goto reset_direct;
+ }
+
ret = palmas_update_bits(palmas, PALMAS_PMU_CONTROL_BASE,
PALMAS_DEV_CTRL, PALMAS_DEV_CTRL_SW_RST,
PALMAS_DEV_CTRL_SW_RST);
reset_direct:
dev_info(palmas_pm->dev, "Power reset the device\n");
+ palmas_update_bits(palmas, PALMAS_PMU_CONTROL_BASE,
+ PALMAS_SWOFF_COLDRST, PALMAS_SWOFF_COLDRST_SW_RST,
+ PALMAS_SWOFF_COLDRST_SW_RST);
palmas_update_bits(palmas, PALMAS_PMU_CONTROL_BASE,
PALMAS_DEV_CTRL, 0x2, 0x2);
}