From c19dfefee32f63e9a67425e8368409559a1a4f4b Mon Sep 17 00:00:00 2001 From: Li Jun Date: Wed, 9 Jan 2019 14:44:42 +0530 Subject: [PATCH] MLK-17092 usb: typec: enable vbus voltage low alarm We use vbus low voltage alarm to start vbus discharge to meet timing requirement on turning off vbus for power swap from source to sink, per type-C port controller spec(tcpci), the Voltage Alarms Power status reporting is disabled by default, so we need enable it at tcpci init. Acked-by: Peter Chen Signed-off-by: Li Jun Signed-off-by: Vipul Kumar --- drivers/usb/typec/tcpci.c | 5 +++++ drivers/usb/typec/tcpci.h | 1 + 2 files changed, 6 insertions(+) diff --git a/drivers/usb/typec/tcpci.c b/drivers/usb/typec/tcpci.c index be905a2eebb2..36017a5a0caf 100644 --- a/drivers/usb/typec/tcpci.c +++ b/drivers/usb/typec/tcpci.c @@ -550,6 +550,11 @@ static int tcpci_init(struct tcpc_dev *tcpc) if (ret < 0) return ret; + /* Enable Voltage Alarms Power status reporting */ + regmap_read(tcpci->regmap, TCPC_POWER_CTRL, ®); + reg &= ~TCPC_POWER_CTRL_DIS_VOL_ALARM; + ret = regmap_write(tcpci->regmap, TCPC_POWER_CTRL, reg); + reg = TCPC_ALERT_TX_SUCCESS | TCPC_ALERT_TX_FAILED | TCPC_ALERT_TX_DISCARDED | TCPC_ALERT_RX_STATUS | TCPC_ALERT_RX_HARD_RST | TCPC_ALERT_CC_STATUS | diff --git a/drivers/usb/typec/tcpci.h b/drivers/usb/typec/tcpci.h index 5cecb5c92232..8a3594aca6f6 100644 --- a/drivers/usb/typec/tcpci.h +++ b/drivers/usb/typec/tcpci.h @@ -60,6 +60,7 @@ #define TCPC_POWER_CTRL 0x1c #define TCPC_POWER_CTRL_VCONN_ENABLE BIT(0) #define TCPC_POWER_CTRL_FORCEDISCH BIT(2) +#define TCPC_POWER_CTRL_DIS_VOL_ALARM BIT(5) #define TCPC_CC_STATUS 0x1d #define TCPC_CC_STATUS_TOGGLING BIT(5) -- 2.17.1