/* time interval between OVDD and SYSRSTN at least be 10ms */
        if (pdata->gpiod_reset) {
                usleep_range(10000, 20000);
-               gpiod_set_value_cansleep(pdata->gpiod_reset, 0);
-               usleep_range(1000, 2000);
                gpiod_set_value_cansleep(pdata->gpiod_reset, 1);
+               usleep_range(1000, 2000);
+               gpiod_set_value_cansleep(pdata->gpiod_reset, 0);
                usleep_range(25000, 35000);
        }
 
        disable_irq_nosync(it6505->irq);
 
        if (pdata->gpiod_reset)
-               gpiod_set_value_cansleep(pdata->gpiod_reset, 0);
+               gpiod_set_value_cansleep(pdata->gpiod_reset, 1);
 
        if (pdata->pwr18) {
                err = regulator_disable(pdata->pwr18);
                return PTR_ERR(pdata->ovdd);
        }
 
-       pdata->gpiod_reset = devm_gpiod_get(dev, "reset", GPIOD_OUT_LOW);
+       pdata->gpiod_reset = devm_gpiod_get(dev, "reset", GPIOD_OUT_HIGH);
        if (IS_ERR(pdata->gpiod_reset)) {
                dev_err(dev, "gpiod_reset gpio not found");
                return PTR_ERR(pdata->gpiod_reset);