MLK-17092 staging: typec: enable vbus voltage low alarm
authorLi Jun <jun.li@nxp.com>
Wed, 6 Dec 2017 15:55:51 +0000 (23:55 +0800)
committerNitin Garg <nitin.garg@nxp.com>
Tue, 20 Mar 2018 19:50:26 +0000 (14:50 -0500)
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 <peter.chen@nxp.com>
Signed-off-by: Li Jun <jun.li@nxp.com>
drivers/staging/typec/tcpci.c
drivers/staging/typec/tcpci.h

index 530a05b..4a934b5 100644 (file)
@@ -516,6 +516,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);
+       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 |
index 75a9666..8b261a4 100644 (file)
@@ -69,6 +69,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_TERM            BIT(4)