diff options
author | Daisuke Nojiri <dnojiri@chromium.org> | 2019-05-31 16:45:32 -0700 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2019-06-10 21:20:17 -0700 |
commit | 3a668749460466ff002b5dd2cbf00529f97e5974 (patch) | |
tree | 4f62d4856086362ebc646215c0d4ac31cdaf8b08 /driver/tcpm | |
parent | c89e3557f808c504d8feece4d28a96450089b05f (diff) | |
download | chrome-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')
-rw-r--r-- | driver/tcpm/anx7447.c | 8 | ||||
-rw-r--r-- | driver/tcpm/mt6370.c | 4 | ||||
-rw-r--r-- | driver/tcpm/tcpci.c | 28 | ||||
-rw-r--r-- | driver/tcpm/tcpm.h | 34 |
4 files changed, 37 insertions, 37 deletions
diff --git a/driver/tcpm/anx7447.c b/driver/tcpm/anx7447.c index c57504bb09..9e540f95aa 100644 --- a/driver/tcpm/anx7447.c +++ b/driver/tcpm/anx7447.c @@ -68,7 +68,7 @@ const struct anx7447_i2c_addr anx7447_i2c_addrs[] = { static inline int anx7447_reg_write(int port, int reg, int val) { - int rv = i2c_write8(tcpc_config[port].i2c_host_port, + int rv = i2c_write8(tcpc_config[port].i2c_info.port, anx[port].i2c_slave_addr, reg, val); #ifdef CONFIG_USB_PD_TCPC_LOW_POWER @@ -79,7 +79,7 @@ static inline int anx7447_reg_write(int port, int reg, int val) static inline int anx7447_reg_read(int port, int reg, int *val) { - int rv = i2c_read8(tcpc_config[port].i2c_host_port, + int rv = i2c_read8(tcpc_config[port].i2c_info.port, anx[port].i2c_slave_addr, reg, val); #ifdef CONFIG_USB_PD_TCPC_LOW_POWER @@ -287,7 +287,7 @@ static int anx7447_init(int port) * specified TCPC slave address */ for (i = 0; i < ARRAY_SIZE(anx7447_i2c_addrs); i++) { - if (tcpc_config[port].i2c_slave_addr == + if (tcpc_config[port].i2c_info.addr == anx7447_i2c_addrs[i].tcpc_slave_addr) { anx[port].i2c_slave_addr = anx7447_i2c_addrs[i].spi_slave_addr; @@ -296,7 +296,7 @@ static int anx7447_init(int port) } if (!anx[port].i2c_slave_addr) { ccprintf("TCPC I2C slave addr 0x%x is invalid for ANX7447\n", - tcpc_config[port].i2c_slave_addr); + tcpc_config[port].i2c_info.addr); return EC_ERROR_UNKNOWN; } diff --git a/driver/tcpm/mt6370.c b/driver/tcpm/mt6370.c index e478d560a0..dc6c86d2c4 100644 --- a/driver/tcpm/mt6370.c +++ b/driver/tcpm/mt6370.c @@ -22,8 +22,8 @@ /* i2c_write function which won't wake TCPC from low power mode. */ static int mt6370_i2c_write8(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 int mt6370_init(int port) diff --git a/driver/tcpm/tcpci.c b/driver/tcpm/tcpci.c index b7150a4935..2e6f2a6fca 100644 --- a/driver/tcpm/tcpci.c +++ b/driver/tcpm/tcpci.c @@ -40,8 +40,8 @@ int tcpc_write(int port, int reg, int val) pd_wait_exit_low_power(port); - rv = i2c_write8(tcpc_config[port].i2c_host_port, - tcpc_config[port].i2c_slave_addr, reg, val); + rv = i2c_write8(tcpc_config[port].i2c_info.port, + tcpc_config[port].i2c_info.addr, reg, val); pd_device_accessed(port); return rv; @@ -53,8 +53,8 @@ int tcpc_write16(int port, int reg, int val) pd_wait_exit_low_power(port); - rv = i2c_write16(tcpc_config[port].i2c_host_port, - tcpc_config[port].i2c_slave_addr, reg, val); + rv = i2c_write16(tcpc_config[port].i2c_info.port, + tcpc_config[port].i2c_info.addr, reg, val); pd_device_accessed(port); return rv; @@ -66,8 +66,8 @@ int tcpc_read(int port, int reg, int *val) pd_wait_exit_low_power(port); - rv = i2c_read8(tcpc_config[port].i2c_host_port, - tcpc_config[port].i2c_slave_addr, reg, val); + rv = i2c_read8(tcpc_config[port].i2c_info.port, + tcpc_config[port].i2c_info.addr, reg, val); pd_device_accessed(port); return rv; @@ -79,8 +79,8 @@ int tcpc_read16(int port, int reg, int *val) pd_wait_exit_low_power(port); - rv = i2c_read16(tcpc_config[port].i2c_host_port, - tcpc_config[port].i2c_slave_addr, reg, val); + rv = i2c_read16(tcpc_config[port].i2c_info.port, + tcpc_config[port].i2c_info.addr, reg, val); pd_device_accessed(port); return rv; @@ -92,8 +92,8 @@ int tcpc_read_block(int port, int reg, uint8_t *in, int size) pd_wait_exit_low_power(port); - rv = i2c_read_block(tcpc_config[port].i2c_host_port, - tcpc_config[port].i2c_slave_addr, reg, in, size); + rv = i2c_read_block(tcpc_config[port].i2c_info.port, + tcpc_config[port].i2c_info.addr, reg, in, size); pd_device_accessed(port); return rv; @@ -105,8 +105,8 @@ int tcpc_write_block(int port, int reg, const uint8_t *out, int size) pd_wait_exit_low_power(port); - rv = i2c_write_block(tcpc_config[port].i2c_host_port, - tcpc_config[port].i2c_slave_addr, reg, out, size); + rv = i2c_write_block(tcpc_config[port].i2c_info.port, + tcpc_config[port].i2c_info.addr, reg, out, size); pd_device_accessed(port); return rv; @@ -131,8 +131,8 @@ int tcpc_xfer_unlocked(int port, const uint8_t *out, int out_size, pd_wait_exit_low_power(port); - rv = i2c_xfer_unlocked(tcpc_config[port].i2c_host_port, - tcpc_config[port].i2c_slave_addr, out, + rv = i2c_xfer_unlocked(tcpc_config[port].i2c_info.port, + tcpc_config[port].i2c_info.addr, out, out_size, in, in_size, flags); pd_device_accessed(port); 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 */ |