From 5975862b292b9bce09d544279443864de72edd5c Mon Sep 17 00:00:00 2001 From: Peter Chen Date: Wed, 9 Jan 2019 14:22:08 +0530 Subject: [PATCH] MLK-16285-2 usb: typec: tcpci: add optional reset pin support Some USB3 differential channel switch chips need to do reset before functional, we add this support here. Signed-off-by: Peter Chen Acked-by: Li Jun Signed-off-by: Vipul Kumar --- drivers/usb/typec/tcpci.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/drivers/usb/typec/tcpci.c b/drivers/usb/typec/tcpci.c index 592320573cdc..87eecb3fddb4 100644 --- a/drivers/usb/typec/tcpci.c +++ b/drivers/usb/typec/tcpci.c @@ -659,6 +659,16 @@ static int tcpci_parse_config(struct tcpci *tcpci) static int tcpci_ss_mux_control_init(struct tcpci *tcpci) { struct device *dev = tcpci->dev; + struct gpio_desc *gpiod_reset; + + gpiod_reset = devm_gpiod_get_optional(dev, "reset", GPIOD_OUT_HIGH); + if (IS_ERR(gpiod_reset)) { + dev_err(dev, "Failed to request reset gpio."); + return PTR_ERR(gpiod_reset); + } + + if (gpiod_reset) + usleep_range(700, 1000); tcpci->ss_sel_gpio = devm_gpiod_get_optional(dev, "ss-sel", GPIOD_OUT_HIGH); -- 2.17.1