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

Reply via email to