diff --git a/drivers/pinctrl/pinctrl_ite_it8xxx2.c b/drivers/pinctrl/pinctrl_ite_it8xxx2.c index 1416af04809..33b7075f02f 100644 --- a/drivers/pinctrl/pinctrl_ite_it8xxx2.c +++ b/drivers/pinctrl/pinctrl_ite_it8xxx2.c @@ -176,12 +176,14 @@ static int pinctrl_gpio_it8xxx2_configure_pins(const pinctrl_soc_pin_t *pins) /* * Handle alternate function. */ - if (reg_func3_gcr != NULL) { - *reg_func3_gcr &= ~gpio->func3_en_mask[pin]; - } - /* Ensure that func3-ext setting is in default state. */ - if (reg_func3_ext != NULL) { - *reg_func3_ext &= ~gpio->func3_ext_mask[pin]; + if (pins->alt_func == IT8XXX2_ALT_FUNC_3) { + if (reg_func3_gcr != NULL) { + *reg_func3_gcr &= ~gpio->func3_en_mask[pin]; + } + /* Ensure that func3-ext setting is in default state. */ + if (reg_func3_ext != NULL) { + *reg_func3_ext &= ~gpio->func3_ext_mask[pin]; + } } switch (pins->alt_func) {