summaryrefslogtreecommitdiff
path: root/driver/tcpm/tcpm.h
diff options
context:
space:
mode:
authorDaisuke Nojiri <dnojiri@chromium.org>2019-05-31 16:45:32 -0700
committerchrome-bot <chrome-bot@chromium.org>2019-06-10 21:20:17 -0700
commit3a668749460466ff002b5dd2cbf00529f97e5974 (patch)
tree4f62d4856086362ebc646215c0d4ac31cdaf8b08 /driver/tcpm/tcpm.h
parentc89e3557f808c504d8feece4d28a96450089b05f (diff)
downloadchrome-ec-3a668749460466ff002b5dd2cbf00529f97e5974.tar.gz
TCPC: Make tcpc_config handle other bus types
Currently, tcpc_config assumes TCPCs are on I2C bus. ITE's EC has an embedded TCPC. This patch adds bus_type field to struct tcpc_config_t so that a TCPC location on other type of bus can be specified. Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org> BUG=none BRANCH=none TEST=buildall Change-Id: Ieac733011700b351e6323f46070dcf46d9e1154b Reviewed-on: https://chromium-review.googlesource.com/1640305 Commit-Ready: Daisuke Nojiri <dnojiri@chromium.org> Tested-by: Daisuke Nojiri <dnojiri@chromium.org> Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org> Reviewed-by: Jett Rink <jettrink@chromium.org>
Diffstat (limited to 'driver/tcpm/tcpm.h')
-rw-r--r--driver/tcpm/tcpm.h34
1 files changed, 17 insertions, 17 deletions
diff --git a/driver/tcpm/tcpm.h b/driver/tcpm/tcpm.h
index 0dee179e36..e5fec627c5 100644
--- a/driver/tcpm/tcpm.h
+++ b/driver/tcpm/tcpm.h
@@ -27,55 +27,55 @@
#ifndef CONFIG_USB_PD_TCPC_LOW_POWER
static inline int tcpc_write(int port, int reg, int val)
{
- return i2c_write8(tcpc_config[port].i2c_host_port,
- tcpc_config[port].i2c_slave_addr, reg, val);
+ return i2c_write8(tcpc_config[port].i2c_info.port,
+ tcpc_config[port].i2c_info.addr, reg, val);
}
static inline int tcpc_write16(int port, int reg, int val)
{
- return i2c_write16(tcpc_config[port].i2c_host_port,
- tcpc_config[port].i2c_slave_addr, reg, val);
+ return i2c_write16(tcpc_config[port].i2c_info.port,
+ tcpc_config[port].i2c_info.addr, reg, val);
}
static inline int tcpc_read(int port, int reg, int *val)
{
- return i2c_read8(tcpc_config[port].i2c_host_port,
- tcpc_config[port].i2c_slave_addr, reg, val);
+ return i2c_read8(tcpc_config[port].i2c_info.port,
+ tcpc_config[port].i2c_info.addr, reg, val);
}
static inline int tcpc_read16(int port, int reg, int *val)
{
- return i2c_read16(tcpc_config[port].i2c_host_port,
- tcpc_config[port].i2c_slave_addr, reg, val);
+ return i2c_read16(tcpc_config[port].i2c_info.port,
+ tcpc_config[port].i2c_info.addr, reg, val);
}
static inline int tcpc_xfer(int port, const uint8_t *out, int out_size,
uint8_t *in, int in_size)
{
- return i2c_xfer(tcpc_config[port].i2c_host_port,
- tcpc_config[port].i2c_slave_addr, out, out_size, in,
+ return i2c_xfer(tcpc_config[port].i2c_info.port,
+ tcpc_config[port].i2c_info.addr, out, out_size, in,
in_size);
}
static inline int tcpc_xfer_unlocked(int port, const uint8_t *out, int out_size,
uint8_t *in, int in_size, int flags)
{
- return i2c_xfer_unlocked(tcpc_config[port].i2c_host_port,
- tcpc_config[port].i2c_slave_addr, out, out_size, in,
+ return i2c_xfer_unlocked(tcpc_config[port].i2c_info.port,
+ tcpc_config[port].i2c_info.addr, out, out_size, in,
in_size, flags);
}
static inline int tcpc_read_block(int port, int reg, uint8_t *in, int size)
{
- return i2c_read_block(tcpc_config[port].i2c_host_port,
- tcpc_config[port].i2c_slave_addr, reg, in, size);
+ return i2c_read_block(tcpc_config[port].i2c_info.port,
+ tcpc_config[port].i2c_info.addr, reg, in, size);
}
static inline int tcpc_write_block(int port, int reg,
const uint8_t *out, int size)
{
- return i2c_write_block(tcpc_config[port].i2c_host_port,
- tcpc_config[port].i2c_slave_addr, reg, out, size);
+ return i2c_write_block(tcpc_config[port].i2c_info.port,
+ tcpc_config[port].i2c_info.addr, reg, out, size);
}
#else /* !CONFIG_USB_PD_TCPC_LOW_POWER */
@@ -94,7 +94,7 @@ int tcpc_xfer_unlocked(int port, const uint8_t *out, int out_size,
static inline void tcpc_lock(int port, int lock)
{
- i2c_lock(tcpc_config[port].i2c_host_port, lock);
+ i2c_lock(tcpc_config[port].i2c_info.port, lock);
}
/* TCPM driver wrapper function */