From a9d7417951efb95cb2c076791b0bea6d4e4d62e2 Mon Sep 17 00:00:00 2001 From: Alec Berg Date: Thu, 3 Dec 2015 18:16:32 -0800 Subject: tcpc: add 2 bytes into TX byte count register Add 2 bytes into the TX byte count register used in TCPC interface. BUG=chrome-os-partner:48256 BRANCH=none TEST=load on glados and attach zinger, make sure PD negotiation successful. Change-Id: Ie57d79f20def861c22f6e2e023545a65825ab3b4 Signed-off-by: Alec Berg Reviewed-on: https://chromium-review.googlesource.com/315879 Reviewed-by: Vincent Palatin --- common/usb_pd_tcpc.c | 3 --- driver/tcpm/tcpci.c | 3 ++- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/common/usb_pd_tcpc.c b/common/usb_pd_tcpc.c index 5ca80bb147..e38d9e24db 100644 --- a/common/usb_pd_tcpc.c +++ b/common/usb_pd_tcpc.c @@ -1252,9 +1252,6 @@ static int tcpc_i2c_read(int port, int reg, uint8_t *payload) case TCPC_REG_POWER_STATUS_MASK: payload[0] = pd[port].power_status_mask; return 1; - case TCPC_REG_TX_BYTE_CNT: - payload[0] = PD_HEADER_CNT(pd[port].tx_head); - return 1; case TCPC_REG_TX_HDR: payload[0] = pd[port].tx_head & 0xff; payload[1] = (pd[port].tx_head >> 8) & 0xff; diff --git a/driver/tcpm/tcpci.c b/driver/tcpm/tcpci.c index acc61e70c4..2d268a961a 100644 --- a/driver/tcpm/tcpci.c +++ b/driver/tcpm/tcpci.c @@ -173,7 +173,8 @@ int tcpm_transmit(int port, enum tcpm_transmit_type type, uint16_t header, int reg = TCPC_REG_TX_DATA; int rv, cnt = 4*PD_HEADER_CNT(header); - rv = tcpc_write(port, TCPC_REG_TX_BYTE_CNT, cnt); + /* TX_BYTE_CNT includes 2 bytes for message header */ + rv = tcpc_write(port, TCPC_REG_TX_BYTE_CNT, cnt + 2); rv |= tcpc_write16(port, TCPC_REG_TX_HDR, header); -- cgit v1.2.1