[U-Boot] question about software i2c multi instance
Heiko Schocher
hs at denx.de
Fri Mar 20 11:10:28 CET 2015
Hello Bo,
Am 20.03.2015 10:44, schrieb Bo Shen:
> Hi Heiko,
> After check the software i2c code, I found it can not support multi instances, although it has I2C_SOFT_DECLARATIONS2, I2C_SOFT_DECLARATIONS3, I2C_SOFT_DECLARATIONS4.
> Because, when do GPIO operation, there is only one pair of CONFIG_SOFT_I2C_GPIO_SCL and CONFIG_SOFT_I2C_GPIO_SDA.
> So, if want to support multi instances, it needs to extend the GPIO configuration for SCL/SDA, am I right?
Prefered way should be to use DM, Przemyslaw posted patches
for the soft-i2c driver, see
http://lists.denx.de/pipermail/u-boot/2015-March/207641.html
maybe you can try this?
If not, you are right, you must define your own I2C_SCL/I2C_SDA/I2C_READ/I2C_INIT
defines, for example:
# define I2C_SCL(bit) \
do { \
switch(I2C_ADAP_HWNR) {
case 0:
gpio_direction_output(CONFIG_SOFT_I2C_GPIO_SCL_0, bit); \
break;
case 1:
gpio_direction_output(CONFIG_SOFT_I2C_GPIO_SCL_1, bit); \
break;
[...]
I2C_GPIO_SYNC; \
} while (0)
bye,
Heiko
--
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
More information about the U-Boot
mailing list