On Mon, Jul 27, 2026 at 02:59:05PM +0800, Eric Chung wrote: > Fix pull-up/pull-down configuration to honor the argument parameter: > when argument is non-zero, enable the requested pull direction; > when argument is zero, clear all pull bits to disable.
Since this is a bug in a patch that hasn't been merged, please fix it in place and re-spin the pinctrl/GPIO/SPI-NOR series. > Signed-off-by: Eric Chung <[email protected]> > > --- > v6: > - Fix pull-up/pull-down configuration. > --- > drivers/pinctrl/spacemit/pinctrl-k1.c | 10 ++++++++-- > 1 file changed, 8 insertions(+), 2 deletions(-) > > diff --git a/drivers/pinctrl/spacemit/pinctrl-k1.c > b/drivers/pinctrl/spacemit/pinctrl-k1.c > index 6ed511879da..454bc307ba3 100644 > --- a/drivers/pinctrl/spacemit/pinctrl-k1.c > +++ b/drivers/pinctrl/spacemit/pinctrl-k1.c > @@ -425,11 +425,17 @@ static int spacemit_pinconf_set(struct udevice *dev, > unsigned int pin_selector, > break; > case PIN_CONFIG_BIAS_PULL_DOWN: > mask = PAD_PULLDOWN | PAD_PULLUP | PAD_PULL_EN; > - clrsetbits_le32(addr, mask, PAD_PULLDOWN | PAD_PULL_EN); > + if (argument) > + clrsetbits_le32(addr, mask, PAD_PULLDOWN | PAD_PULL_EN); > + else > + clrbits_le32(addr, PAD_PULLDOWN | PAD_PULL_EN); This could be simplified as clrsetbits_le32(addr, PAD_PULLDOWN | PAD_PULLUP | PAD_PULL_EN, argument ? PAD_PULLDOWN | PAD_PULL_EN : 0); similar for the pull-up case. > break; > case PIN_CONFIG_BIAS_PULL_UP: > mask = PAD_PULLDOWN | PAD_PULLUP | PAD_PULL_EN; > - clrsetbits_le32(addr, mask, PAD_PULLUP | PAD_PULL_EN); > + if (argument) > + clrsetbits_le32(addr, mask, PAD_PULLUP | PAD_PULL_EN); > + else > + clrbits_le32(addr, PAD_PULLUP | PAD_PULL_EN); > break; > case PIN_CONFIG_DRIVE_STRENGTH: > io_type = IO_TYPE_1V8; > > -- > 2.51.0 > Best regards, Yao Zi
