Hi Jacopo, On Wed, Jan 3, 2018 at 3:13 PM, jacopo mondi <jacopo@xxxxxxxxxx> wrote: > That would be true if I would have declared the GPIO to be ACTIVE_LOW. > See patch [5/9] in this series and search for "rstb". The GPIO (which > is shared between two devices) is said to be active high... Just looked at your patch 5/9 and it seems it only works because you made two inversions :-) Initially the rest GPIO was doing: - gpio_set_value(GPIO_PTT3, 0); - mdelay(10); - gpio_set_value(GPIO_PTT3, 1); - mdelay(10); /* wait to let chip come out of reset */ So this is an active low reset. So you should have converted it to: GPIO_LOOKUP("sh7722_pfc", GPIO_PTT3, "rstb", GPIO_ACTIVE_LOW), and then in this patch you should do as I said earlier: gpiod_set_value(priv->rstb_gpio, 1); usleep_range(500, 1000); gpiod_set_value(priv->rstb_gpio, 0);