summaryrefslogtreecommitdiff
path: root/include/usb_pd_tcpm.h
diff options
context:
space:
mode:
authorScott Collyer <scollyer@google.com>2019-04-02 17:35:02 -0700
committerchrome-bot <chrome-bot@chromium.org>2019-04-17 21:32:25 -0700
commitf562e995c896e32816f013b848b8ffe61c8f09cd (patch)
treef19048398dc014684479eb162f3db3e56cbd9f24 /include/usb_pd_tcpm.h
parent8841b815c195aadacb8f0f6e625041c3427bbd97 (diff)
downloadchrome-ec-f562e995c896e32816f013b848b8ffe61c8f09cd.tar.gz
tcpm: Refactor tcpc_config to include a flags field
tcpc_config contained a field for both the alert polarity and open drain/push pull configuration. There is also a possible difference in TCPC reset polarity. Instead of adding yet another field to describe this configuration, it would be better to convert alert polairty, open drain and reset polarity into a single flags field. This CL modifies the tcpc_config struct to use a single flags field and adds defines for what existing flag options can be. BUG=b:130194031 BRANCH=none TEST=make -j buildall Change-Id: Ifb7e7604edb7021fb2d36ee279049eb52fefc99e Signed-off-by: Scott Collyer <scollyer@google.com> Signed-off-by: Furquan Shaikh <furquan@google.com> Reviewed-on: https://chromium-review.googlesource.com/1551581 Commit-Ready: Furquan Shaikh <furquan@chromium.org> Tested-by: Furquan Shaikh <furquan@chromium.org> Reviewed-by: Jett Rink <jettrink@chromium.org> Reviewed-by: Paul Fagerburg <pfagerburg@chromium.org>
Diffstat (limited to 'include/usb_pd_tcpm.h')
-rw-r--r--include/usb_pd_tcpm.h23
1 files changed, 12 insertions, 11 deletions
diff --git a/include/usb_pd_tcpm.h b/include/usb_pd_tcpm.h
index bdd497b563..874b231dce 100644
--- a/include/usb_pd_tcpm.h
+++ b/include/usb_pd_tcpm.h
@@ -265,22 +265,23 @@ struct tcpm_drv {
#endif
};
-enum tcpc_alert_polarity {
- TCPC_ALERT_ACTIVE_LOW,
- TCPC_ALERT_ACTIVE_HIGH,
-};
-
-enum tcpc_alert_open_drain {
- TCPC_ALERT_PUSH_PULL = 0,
- TCPC_ALERT_OPEN_DRAIN,
-};
+/*
+ * Macros for tcpc_config_t flags field.
+ *
+ * Bit 0 --> Polarity for TCPC alert. Set to 1 if alert is active high.
+ * Bit 1 --> Set to 1 if TCPC alert line is open-drain instead of push-pull.
+ * Bit 2 --> Polarity for TCPC reset. Set to 1 if reset line is active high.
+ */
+#define TCPC_FLAGS_ALERT_ACTIVE_HIGH BIT(0)
+#define TCPC_FLAGS_ALERT_OD BIT(1)
+#define TCPC_FLAGS_RESET_ACTIVE_HIGH BIT(2)
struct tcpc_config_t {
int i2c_host_port;
int i2c_slave_addr;
const struct tcpm_drv *drv;
- enum tcpc_alert_polarity pol;
- enum tcpc_alert_open_drain od;
+ /* See TCPC_FLAGS_* above */
+ uint32_t flags;
};
/**