clrbits_le32(&power_regs->hw_power_minpwr, POWER_MINPWR_PWD_BO);
 
        while (readl(&power_regs->hw_power_ctrl) & POWER_CTRL_VBUS_VALID_IRQ)
-               clrbits_le32(&power_regs->hw_power_ctrl,
-                               POWER_CTRL_VBUS_VALID_IRQ);
+               writel(POWER_CTRL_VBUS_VALID_IRQ,
+                       &power_regs->hw_power_ctrl_clr);
 
        if (prev_5v_brnout) {
                writel(POWER_5VCTRL_PWDN_5VBRNOUT,
        }
 
        while (readl(&power_regs->hw_power_ctrl) & POWER_CTRL_VDD5V_DROOP_IRQ)
-               clrbits_le32(&power_regs->hw_power_ctrl,
-                               POWER_CTRL_VDD5V_DROOP_IRQ);
+               writel(POWER_CTRL_VDD5V_DROOP_IRQ,
+                       &power_regs->hw_power_ctrl_clr);
 
        if (prev_5v_droop)
                clrbits_le32(&power_regs->hw_power_ctrl,