summaryrefslogtreecommitdiff
path: root/driver/tcpm/anx7447.c
diff options
context:
space:
mode:
Diffstat (limited to 'driver/tcpm/anx7447.c')
-rw-r--r--driver/tcpm/anx7447.c42
1 files changed, 23 insertions, 19 deletions
diff --git a/driver/tcpm/anx7447.c b/driver/tcpm/anx7447.c
index 0a3c98c6ac..7883f72717 100644
--- a/driver/tcpm/anx7447.c
+++ b/driver/tcpm/anx7447.c
@@ -5,6 +5,7 @@
/* ANX7447 port manager */
+#include "common.h"
#include "anx7447.h"
#include "console.h"
#include "hooks.h"
@@ -40,7 +41,7 @@
(((anx7447_get_vbus_voltage(port))) > vsafe0v_max)
struct anx_state {
- int i2c_slave_addr;
+ uint16_t i2c_slave_addr__7bf;
};
struct anx_usb_mux {
@@ -63,18 +64,18 @@ static struct anx_usb_mux mux[CONFIG_USB_PD_PORT_COUNT];
* anx7447_reg_write() and anx7447_reg_read() are implemented here to access
* ANX7447 SPI slave address.
*/
-const struct anx7447_i2c_addr anx7447_i2c_addrs[] = {
- {AN7447_TCPC0_I2C_ADDR, AN7447_SPI0_I2C_ADDR},
- {AN7447_TCPC1_I2C_ADDR, AN7447_SPI1_I2C_ADDR},
- {AN7447_TCPC2_I2C_ADDR, AN7447_SPI2_I2C_ADDR},
- {AN7447_TCPC3_I2C_ADDR, AN7447_SPI3_I2C_ADDR}
+const struct anx7447_i2c_addr anx7447_i2c_addrs__7bf[] = {
+ {AN7447_TCPC0_I2C_ADDR__7bf, AN7447_SPI0_I2C_ADDR__7bf},
+ {AN7447_TCPC1_I2C_ADDR__7bf, AN7447_SPI1_I2C_ADDR__7bf},
+ {AN7447_TCPC2_I2C_ADDR__7bf, AN7447_SPI2_I2C_ADDR__7bf},
+ {AN7447_TCPC3_I2C_ADDR__7bf, AN7447_SPI3_I2C_ADDR__7bf}
};
static inline int anx7447_reg_write(int port, int reg, int val)
{
- int rv = i2c_write8(tcpc_config[port].i2c_info.port,
- anx[port].i2c_slave_addr,
- reg, val);
+ int rv = i2c_write8__7bf(tcpc_config[port].i2c_info.port,
+ anx[port].i2c_slave_addr__7bf,
+ reg, val);
#ifdef CONFIG_USB_PD_TCPC_LOW_POWER
pd_device_accessed(port);
#endif
@@ -83,9 +84,9 @@ 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_info.port,
- anx[port].i2c_slave_addr,
- reg, val);
+ int rv = i2c_read8__7bf(tcpc_config[port].i2c_info.port,
+ anx[port].i2c_slave_addr__7bf,
+ reg, val);
#ifdef CONFIG_USB_PD_TCPC_LOW_POWER
pd_device_accessed(port);
#endif
@@ -290,17 +291,20 @@ static int anx7447_init(int port)
* find corresponding anx7447 SPI slave address according to
* specified TCPC slave address
*/
- for (i = 0; i < ARRAY_SIZE(anx7447_i2c_addrs); i++) {
- 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;
+ for (i = 0; i < ARRAY_SIZE(anx7447_i2c_addrs__7bf); i++) {
+ if (I2C_GET_ADDR__7b(
+ tcpc_config[port].i2c_info.addr__7bf) ==
+ I2C_GET_ADDR__7b(
+ anx7447_i2c_addrs__7bf[i].tcpc_slave_addr__7bf)) {
+ anx[port].i2c_slave_addr__7bf =
+ anx7447_i2c_addrs__7bf[i].spi_slave_addr__7bf;
break;
}
}
- if (!anx[port].i2c_slave_addr) {
+ if (!I2C_GET_ADDR__7b(anx[port].i2c_slave_addr__7bf)) {
ccprintf("TCPC I2C slave addr 0x%x is invalid for ANX7447\n",
- tcpc_config[port].i2c_info.addr);
+ I2C_GET_ADDR__7b(tcpc_config[port]
+ .i2c_info.addr__7bf));
return EC_ERROR_UNKNOWN;
}