--- 76a69f6a5e2c707eced46cff07acc098ec48e4a8 +++ cac88b2dcd707782b1cd2686e66affa7f9dff8eb @@ -1993,11 +1993,12 @@ static void clear_ssp_gpio(void) .inv_int_pol = 0, }; struct pm_gpio ap_mcu_nrst_cfg = { - .direction = PM_GPIO_DIR_IN, - .pull = PM_GPIO_PULL_DN, + .direction = PM_GPIO_DIR_OUT, + .pull = PM_GPIO_PULL_NO, .vin_sel = 2, .function = PM_GPIO_FUNC_NORMAL, .inv_int_pol = 0, + .out_strength = PM_GPIO_STRENGTH_HIGH, }; pm8xxx_gpio_config(GPIO_AP_MCU_INT, &ap_mcu_int_cfg); @@ -2005,6 +2006,7 @@ static void clear_ssp_gpio(void) pm8xxx_gpio_config(GPIO_MCU_AP_INT_2, &mcu_ap_int_2_cfg); if (system_rev >= 5) pm8xxx_gpio_config(GPIO_MCU_NRST, &ap_mcu_nrst_cfg); + gpio_set_value_cansleep(GPIO_MCU_NRST, 0); mdelay(1); pr_info("[SSP] %s done\n", __func__); } @@ -2040,6 +2042,7 @@ static int initialize_ssp_gpio(void) .vin_sel = 2, .function = PM_GPIO_FUNC_NORMAL, .inv_int_pol = 0, + .out_strength = PM_GPIO_STRENGTH_HIGH, }; pr_info("[SSP]%s\n", __func__);