From bec4be9a199c2bbb8294e3698592a4d5ef5697d4 Mon Sep 17 00:00:00 2001 From: Benoit Rat <benoit@sevensols.com> Date: Mon, 28 Jan 2013 15:56:07 +0100 Subject: [PATCH] libswitchhw: update pca9554 i2c functions --- userspace/libswitchhw/libshw_i2c.c | 6 ++---- userspace/libswitchhw/libshw_i2c.h | 4 +++- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/userspace/libswitchhw/libshw_i2c.c b/userspace/libswitchhw/libshw_i2c.c index e98f9e040..12331d9ee 100644 --- a/userspace/libswitchhw/libshw_i2c.c +++ b/userspace/libswitchhw/libshw_i2c.c @@ -1,14 +1,12 @@ #include "libshw_i2c.h" -int wrswhw_pca9554_configure(struct i2c_bus* bus, uint32_t address) +int wrswhw_pca9554_configure(struct i2c_bus* bus, uint32_t address,uint8_t value) { //config initial port dir - uint8_t config_outputs[2] = {PCA9554_CMD_DIR_REG, WRSWHW_OUTPUT_BITMAP}; + uint8_t config_outputs[2] = {PCA9554_CMD_DIR_REG, value}; int result = i2c_transfer(bus, address, sizeof(config_outputs), 0, config_outputs); if (result < 0) return result; - - return wrswhw_pca9554_set_output_reg(bus, address, WRSWHW_INITIAL_OUTPUT_STATE); } diff --git a/userspace/libswitchhw/libshw_i2c.h b/userspace/libswitchhw/libshw_i2c.h index 02dc9486d..c308bc609 100644 --- a/userspace/libswitchhw/libshw_i2c.h +++ b/userspace/libswitchhw/libshw_i2c.h @@ -20,12 +20,14 @@ #define PCA9554_CMD_POLARITY_REG 2 #define PCA9554_CMD_DIR_REG 3 +#define I2C_CHIP_PCA9554 1 + //output bitmap for each expander (all out) #define WRSWHW_OUTPUT_BITMAP 0 //initial state for outputs #define WRSWHW_INITIAL_OUTPUT_STATE (LINK1_SFP_TX_DISABLE | LINK0_SFP_TX_DISABLE) -int wrswhw_pca9554_configure(struct i2c_bus* bus, uint32_t address); +int wrswhw_pca9554_configure(struct i2c_bus* bus, uint32_t address,uint8_t value); int wrswhw_pca9554_set_output_reg(struct i2c_bus* bus, uint32_t address, uint8_t value); int wrswhw_pca9554_get_input(struct i2c_bus* bus, uint32_t address); -- GitLab