Reviewed-by: Peng Fan <peng....@nxp.com> > -----Original Message----- > From: Ye Li > Sent: 2019年1月4日 17:08 > To: sba...@denx.de; u-boot@lists.denx.de > Cc: Fabio Estevam <fabio.este...@nxp.com>; Peng Fan > <peng....@nxp.com>; dl-uboot-imx <uboot-...@nxp.com> > Subject: [PATCH] pinctrl: imx: Fix select input issue > > The pinctrl supports to set any bit in input register on iMX6 if the MSB of > input > value is 0xff. But the driver uses signed int for input value, so when > executing > the codes below, it won't meet. > Because this is arithmetic right shift. > > if (input_val >> 24 == 0xff) > > Fix the issue by changing the input_val, config_val and mux_mode to u32. > > Signed-off-by: Ye Li <ye...@nxp.com> > Reviewed-by: Fugang Duan <fugang.d...@nxp.com> > --- > drivers/pinctrl/nxp/pinctrl-imx.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/pinctrl/nxp/pinctrl-imx.c > b/drivers/pinctrl/nxp/pinctrl-imx.c > index 04ea82a..0c9d15c 100644 > --- a/drivers/pinctrl/nxp/pinctrl-imx.c > +++ b/drivers/pinctrl/nxp/pinctrl-imx.c > @@ -22,7 +22,8 @@ static int imx_pinctrl_set_state(struct udevice *dev, > struct udevice *config) > const struct fdt_property *prop; > u32 *pin_data; > int npins, size, pin_size; > - int mux_reg, conf_reg, input_reg, input_val, mux_mode, config_val; > + int mux_reg, conf_reg, input_reg; > + u32 input_val, mux_mode, config_val; > u32 mux_shift = info->mux_mask ? ffs(info->mux_mask) - 1 : 0; > int i, j = 0; > > -- > 2.7.4
_______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot