[U-Boot] [PATCH] i2c: fix SDA contention in read_byte()

Reinhard Meyer reinhard.meyer at emk-elektronik.de
Mon Jul 12 08:49:26 CEST 2010


Thomas Chou schrieb:
> Reinhard Meyer wrote:
>> Its even simpler, provided the  hardware can do open collector. Here
>> was my solution for AVR32AP7000:
>>
> 
> Then we could add a config for open drain similar to that of linux driver.
> 
> # ifndef I2C_SDA
> #  ifdef CONFIG_SOFT_I2C_GPIO_SDA_IS_OPEN_DRAIN
> #   define I2C_SDA(bit) gpio_set_value(CONFIG_SOFT_I2C_GPIO_SDA, bit)
> #  else
> #   define I2C_SDA(bit) \
>     if (bit) {                        \
>         gpio_direction_input(CONFIG_SOFT_I2C_GPIO_SDA);    \
>     } else {                        \
>         gpio_direction_output(CONFIG_SOFT_I2C_GPIO_SDA, 0);\
>     }
> #  endif
> # endif

Why would we need that? Since the defines reside in the board/project specific
include/configs/*.h file, it is well known if the hardware has open drain or
not.

> 
> BTW, will you be interested in using common gpio framework for avr32
> family?

No, AVR32AP7000 is dead for me. Working on AT91SAM9xxx now, which already uses gpio framework...

Reinhard

-------------- next part --------------
A non-text attachment was scrubbed...
Name: reinhard_meyer.vcf
Type: text/x-vcard
Size: 370 bytes
Desc: not available
Url : http://lists.denx.de/pipermail/u-boot/attachments/20100712/6db4bf2c/attachment.vcf 


More information about the U-Boot mailing list