static int imx6sx_pcie_enable_ref_clk(struct imx_pcie *imx_pcie, bool enable)
 {
-       if (enable)
-               regmap_clear_bits(imx_pcie->iomuxc_gpr, IOMUXC_GPR12,
-                                 IMX6SX_GPR12_PCIE_TEST_POWERDOWN);
-
+       regmap_update_bits(imx_pcie->iomuxc_gpr, IOMUXC_GPR12,
+                          IMX6SX_GPR12_PCIE_TEST_POWERDOWN,
+                          enable ? 0 : IMX6SX_GPR12_PCIE_TEST_POWERDOWN);
        return 0;
 }
 
 {
        int offset = imx_pcie_grp_offset(imx_pcie);
 
-       if (enable) {
-               regmap_clear_bits(imx_pcie->iomuxc_gpr, offset, IMX8MQ_GPR_PCIE_CLK_REQ_OVERRIDE);
-               regmap_set_bits(imx_pcie->iomuxc_gpr, offset, IMX8MQ_GPR_PCIE_CLK_REQ_OVERRIDE_EN);
-       }
-
+       regmap_update_bits(imx_pcie->iomuxc_gpr, offset,
+                          IMX8MQ_GPR_PCIE_CLK_REQ_OVERRIDE,
+                          enable ? 0 : IMX8MQ_GPR_PCIE_CLK_REQ_OVERRIDE);
+       regmap_update_bits(imx_pcie->iomuxc_gpr, offset,
+                          IMX8MQ_GPR_PCIE_CLK_REQ_OVERRIDE_EN,
+                          enable ? IMX8MQ_GPR_PCIE_CLK_REQ_OVERRIDE_EN : 0);
        return 0;
 }
 
 static int imx7d_pcie_enable_ref_clk(struct imx_pcie *imx_pcie, bool enable)
 {
-       if (!enable)
-               regmap_set_bits(imx_pcie->iomuxc_gpr, IOMUXC_GPR12,
-                               IMX7D_GPR12_PCIE_PHY_REFCLK_SEL);
+       regmap_update_bits(imx_pcie->iomuxc_gpr, IOMUXC_GPR12,
+                          IMX7D_GPR12_PCIE_PHY_REFCLK_SEL,
+                          enable ? 0 : IMX7D_GPR12_PCIE_PHY_REFCLK_SEL);
        return 0;
 }