MLK-14474-1 pinctrl-imx: Fix wrong mask when SHARE_MUX_CONF_REG is set
authorYe Li <ye.li@nxp.com>
Thu, 16 Mar 2017 03:28:54 +0000 (11:28 +0800)
committerYe Li <ye.li@nxp.com>
Wed, 5 Apr 2017 09:24:33 +0000 (17:24 +0800)
when using SHARE_MUX_CONF_REG, wrong mask is used for writing config value.
which causes mux value is cleared.

Signed-off-by: Ye Li <ye.li@nxp.com>
drivers/pinctrl/nxp/pinctrl-imx.c

index f0321c4..9b80d50 100644 (file)
@@ -156,7 +156,7 @@ static int imx_pinctrl_set_state(struct udevice *dev, struct udevice *config)
                if (!(config_val & IMX_NO_PAD_CTL)) {
                        if (info->flags & SHARE_MUX_CONF_REG) {
                                clrsetbits_le32(info->base + conf_reg,
-                                               info->mux_mask, config_val);
+                                               (~info->mux_mask), config_val);
                        } else {
                                writel(config_val, info->base + conf_reg);
                        }