summaryrefslogtreecommitdiff
path: root/driver
diff options
context:
space:
mode:
authorKeith Short <keithshort@chromium.org>2020-11-16 17:52:40 -0700
committerCommit Bot <commit-bot@chromium.org>2020-11-18 00:13:24 +0000
commitef1ebb6ee64a3e070057c50d87046a095971ccc5 (patch)
tree23ac0ce48a3a92b60e583fcf9b4cd4828a0d7cfc /driver
parent4ffec8ecbdf9eef45daf8de1adbdf556d5d2688e (diff)
downloadchrome-ec-ef1ebb6ee64a3e070057c50d87046a095971ccc5.tar.gz
tcpc: Cleanup usage of tcpci_set_role_ctrl()
Cleanup arguments for tcpci_set_role_ctrl(). BUG=b:171430855 BRANCH=firmware-volteer-13521.B-master TEST=make buildall Signed-off-by: Keith Short <keithshort@chromium.org> Change-Id: Ib58defb5f9bcd3c3fe3d7de4239aa19e5545b778 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2544802 Reviewed-by: Denis Brockus <dbrockus@chromium.org> Reviewed-by: Abe Levkoy <alevkoy@chromium.org>
Diffstat (limited to 'driver')
-rw-r--r--driver/tcpm/fusb307.c2
-rw-r--r--driver/tcpm/ps8xxx.c3
-rw-r--r--driver/tcpm/tcpci.c13
-rw-r--r--driver/tcpm/tcpci.h8
4 files changed, 16 insertions, 10 deletions
diff --git a/driver/tcpm/fusb307.c b/driver/tcpm/fusb307.c
index 9a578637a9..749aaaa139 100644
--- a/driver/tcpm/fusb307.c
+++ b/driver/tcpm/fusb307.c
@@ -28,7 +28,7 @@ static int fusb307_tcpm_init(int port)
rv = tcpci_tcpm_init(port);
- rv = tcpci_set_role_ctrl(port, 1, TYPEC_RP_USB, TYPEC_CC_RD);
+ rv = tcpci_set_role_ctrl(port, TYPEC_DRP, TYPEC_RP_USB, TYPEC_CC_RD);
pd_set_dual_role(port, PD_DRP_TOGGLE_ON);
return rv;
diff --git a/driver/tcpm/ps8xxx.c b/driver/tcpm/ps8xxx.c
index 4d1a8e9d22..ebfe43d916 100644
--- a/driver/tcpm/ps8xxx.c
+++ b/driver/tcpm/ps8xxx.c
@@ -376,7 +376,8 @@ static int ps8xxx_tcpc_drp_toggle(int port)
}
/* Set auto drp toggle, starting with the opposite pull */
- rv |= tcpci_set_role_ctrl(port, 1, TYPEC_RP_USB, opposite_pull);
+ rv |= tcpci_set_role_ctrl(port, TYPEC_DRP, TYPEC_RP_USB,
+ opposite_pull);
/* Set Look4Connection command */
rv |= tcpc_write(port, TCPC_REG_COMMAND,
diff --git a/driver/tcpm/tcpci.c b/driver/tcpm/tcpci.c
index a311abd0df..f3c887b365 100644
--- a/driver/tcpm/tcpci.c
+++ b/driver/tcpm/tcpci.c
@@ -492,7 +492,7 @@ int tcpci_tcpm_get_cc(int port, enum tcpc_cc_voltage_status *cc1,
int tcpci_tcpm_set_cc(int port, int pull)
{
- int role = TCPC_REG_ROLE_CTRL_SET(0,
+ int role = TCPC_REG_ROLE_CTRL_SET(TYPEC_NO_DRP,
tcpci_get_cached_rp(port),
pull, pull);
@@ -503,13 +503,14 @@ int tcpci_tcpm_set_cc(int port, int pull)
}
#ifdef CONFIG_USB_PD_DUAL_ROLE_AUTO_TOGGLE
-int tcpci_set_role_ctrl(int port, int toggle, int rp, int pull)
+int tcpci_set_role_ctrl(int port, enum tcpc_drp drp, enum tcpc_rp_value rp,
+ enum tcpc_cc_pull pull)
{
- int role = TCPC_REG_ROLE_CTRL_SET(toggle, rp, pull, pull);
+ int role = TCPC_REG_ROLE_CTRL_SET(drp, rp, pull, pull);
if (IS_ENABLED(DEBUG_ROLE_CTRL_UPDATES))
- CPRINTS("C%d: SET_ROLE_CTRL toggle=%d rp=%d pull=%d role=0x%X",
- port, toggle, rp, pull, role);
+ CPRINTS("C%d: SET_ROLE_CTRL drp=%d rp=%d pull=%d role=0x%X",
+ port, drp, rp, pull, role);
return tcpc_write(port, TCPC_REG_ROLE_CTRL, role);
}
@@ -535,7 +536,7 @@ int tcpci_tcpc_drp_toggle(int port)
pull = (tcpc_config[port].flags & TCPC_FLAGS_TCPCI_REV2_0)
? TYPEC_CC_RP : TYPEC_CC_RD;
- rv = tcpci_set_role_ctrl(port, 1, TYPEC_RP_USB, pull);
+ rv = tcpci_set_role_ctrl(port, TYPEC_DRP, TYPEC_RP_USB, pull);
if (rv)
return rv;
diff --git a/driver/tcpm/tcpci.h b/driver/tcpm/tcpci.h
index db05c978e8..a8aa7774c4 100644
--- a/driver/tcpm/tcpci.h
+++ b/driver/tcpm/tcpci.h
@@ -73,7 +73,10 @@
#define TCPC_REG_ROLE_CTRL_CC2_MASK (BIT(3)|BIT(2))
#define TCPC_REG_ROLE_CTRL_CC1_MASK (BIT(1)|BIT(0))
#define TCPC_REG_ROLE_CTRL_SET(drp, rp, cc1, cc2) \
- ((drp) << 6 | (rp) << 4 | (cc2) << 2 | (cc1))
+ ((((drp) << 6) & TCPC_REG_ROLE_CTRL_DRP_MASK) | \
+ (((rp) << 4) & TCPC_REG_ROLE_CTRL_RP_MASK) | \
+ (((cc2) << 2) & TCPC_REG_ROLE_CTRL_CC2_MASK) | \
+ ((cc1) & TCPC_REG_ROLE_CTRL_CC1_MASK))
#define TCPC_REG_ROLE_CTRL_DRP(reg) \
(((reg) & TCPC_REG_ROLE_CTRL_DRP_MASK) >> 6)
#define TCPC_REG_ROLE_CTRL_RP(reg) \
@@ -230,7 +233,8 @@ int tcpci_tcpm_transmit(int port, enum tcpm_transmit_type type,
uint16_t header, const uint32_t *data);
int tcpci_tcpm_release(int port);
#ifdef CONFIG_USB_PD_DUAL_ROLE_AUTO_TOGGLE
-int tcpci_set_role_ctrl(int port, int toggle, int rp, int pull);
+int tcpci_set_role_ctrl(int port, enum tcpc_drp drp, enum tcpc_rp_value rp,
+ enum tcpc_cc_pull pull);
int tcpci_tcpc_drp_toggle(int port);
#endif
#ifdef CONFIG_USB_PD_TCPC_LOW_POWER