mirror of
https://github.com/Fishwaldo/u-boot.git
synced 2025-03-16 12:11:32 +00:00
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.li@nxp.com> Reviewed-by: Fugang Duan <fugang.duan@nxp.com> Reviewed-by: Peng Fan <peng.fan@nxp.com>
This commit is contained in:
parent
59ceb152f8
commit
11a1c27eb4
1 changed files with 2 additions and 1 deletions
|
@ -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;
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue