MLK-13441-14 pinctrl: imx: support i.mx7ulp new iomux format
authorAnson Huang <Anson.Huang@nxp.com>
Fri, 4 Nov 2016 17:06:38 +0000 (01:06 +0800)
committerNitin Garg <nitin.garg@nxp.com>
Mon, 19 Mar 2018 19:52:36 +0000 (14:52 -0500)
On i.MX7ULP, IOMUX's mux and pad config are in
same register, but mux field is different, add
support in pinctrl driver.

Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
drivers/pinctrl/freescale/pinctrl-imx.c

index da8399b..d9474a6 100644 (file)
@@ -424,7 +424,7 @@ static int imx_pinconf_get(struct pinctrl_dev *pctldev,
        *config = readl(ipctl->base + pin_reg->conf_reg);
 
        if (info->flags & SHARE_MUX_CONF_REG)
-               *config &= 0xffff;
+               *config &= ~info->mux_mask;
 
        return 0;
 }
@@ -451,7 +451,7 @@ static int imx_pinconf_set(struct pinctrl_dev *pctldev,
                if (info->flags & SHARE_MUX_CONF_REG) {
                        u32 reg;
                        reg = readl(ipctl->base + pin_reg->conf_reg);
-                       reg &= ~0xffff;
+                       reg &= info->mux_mask;
                        reg |= configs[i];
                        writel(reg, ipctl->base + pin_reg->conf_reg);
                } else {