Message ID | 1358223982-2507-1-git-send-email-prabhakar@freescale.com |
---|---|
State | Superseded |
Delegated to: | Andy Fleming |
Headers | show |
> > +u8 qixis_read_i2c(unsigned int reg) > +{ > + return i2c_reg_read(CONFIG_SYS_I2C_FPGA_ADDR, reg); > +} > + > +void qixis_write_i2c(unsigned int reg, u8 value) > +{ > + u8 val = value; > + i2c_reg_write(CONFIG_SYS_I2C_FPGA_ADDR, reg, val); > +} > + This breaks ALL other boards with QIXIS, as they don't all define CONFIG_SYS_I2C_FPGA_ADDR.
On 01/24/2013 03:36 AM, Andy Fleming wrote: > > > +u8 qixis_read_i2c(unsigned int reg) > +{ > + return i2c_reg_read(CONFIG_SYS_I2C_FPGA_ADDR, reg); > +} > + > +void qixis_write_i2c(unsigned int reg, u8 value) > +{ > + u8 val = value; > + i2c_reg_write(CONFIG_SYS_I2C_FPGA_ADDR, reg, val); > +} > + > > > > This breaks ALL other boards with QIXIS, as they don't all define > CONFIG_SYS_I2C_FPGA_ADDR. oh.. Then, I will put this code under #ifdef CONFIG_SYS_I2C_FPGA_ADDR and provide v2 version of this patch. Regards, Prabhakar
diff --git a/board/freescale/common/qixis.c b/board/freescale/common/qixis.c index c92902a..71d857d 100644 --- a/board/freescale/common/qixis.c +++ b/board/freescale/common/qixis.c @@ -14,8 +14,20 @@ #include <common.h> #include <command.h> #include <asm/io.h> +#include <i2c.h> #include "qixis.h" +u8 qixis_read_i2c(unsigned int reg) +{ + return i2c_reg_read(CONFIG_SYS_I2C_FPGA_ADDR, reg); +} + +void qixis_write_i2c(unsigned int reg, u8 value) +{ + u8 val = value; + i2c_reg_write(CONFIG_SYS_I2C_FPGA_ADDR, reg, val); +} + u8 qixis_read(unsigned int reg) { void *p = (void *)QIXIS_BASE; diff --git a/board/freescale/common/qixis.h b/board/freescale/common/qixis.h index b98b180..f2e83f1 100644 --- a/board/freescale/common/qixis.h +++ b/board/freescale/common/qixis.h @@ -88,8 +88,13 @@ struct qixis { u8 qixis_read(unsigned int reg); void qixis_write(unsigned int reg, u8 value); +u8 qixis_read_i2c(unsigned int reg); +void qixis_write_i2c(unsigned int reg, u8 value); #define QIXIS_READ(reg) qixis_read(offsetof(struct qixis, reg)) #define QIXIS_WRITE(reg, value) qixis_write(offsetof(struct qixis, reg), value) +#define QIXIS_READ_I2C(reg) qixis_read_i2c(offsetof(struct qixis, reg)) +#define QIXIS_WRITE_I2C(reg, value) \ + qixis_write_i2c(offsetof(struct qixis, reg), value) #endif