Skip putting the GPIO module into a reset during the chip init. This makes
sure to preserve any existing GPIO configurations done by pre-kernel boot code.
Acked-by: Samuel Ortiz <sameo@linux.intel.com>
Signed-off-by: Sundar Iyer <sundar.iyer@stericsson.com>
Signed-off-by: Linus Walleij <linus.walleij@stericsson.com>
dev_info(tc3589x->dev, "manufacturer: %#x, version: %#x\n", manf, ver);
- /* Put everything except the IRQ module into reset */
+ /*
+ * Put everything except the IRQ module into reset;
+ * also spare the GPIO module for any pin initialization
+ * done during pre-kernel boot
+ */
ret = tc3589x_reg_write(tc3589x, TC3589x_RSTCTRL,
TC3589x_RSTCTRL_TIMRST
| TC3589x_RSTCTRL_ROTRST
- | TC3589x_RSTCTRL_KBDRST
- | TC3589x_RSTCTRL_GPIRST);
+ | TC3589x_RSTCTRL_KBDRST);
if (ret < 0)
return ret;