[U-Boot-Users] [PATCH] soft_i2c/i2c_probe(): Perform reads instead of writes
Tolunay Orkun
listmember at orkun.us
Fri May 27 00:35:14 CEST 2005
Peter,
I believe the implementation was correct but the comment was wrong. It
should be a write transaction with just address byte. After the address
byte is transmitted the I2C slave will acknowledge (if present) and we
finish the transaction by generating the stop condition. i.e. fake write.
Best regards,
Tolunay
Peter Korsgaard wrote:
> Hi,
>
> The following little patch makes the i2c_probe function use reads
> instead of writes to match the comment (broken in r1.2).
>
> * Patch by Peter Korsgaard, 26 May 2005:
> Use reads instead of writes for probe in soft_i2c.
>
>
>
> ------------------------------------------------------------------------
>
> Index: common/soft_i2c.c
> ===================================================================
> RCS file: /cvsroot/u-boot/u-boot/common/soft_i2c.c,v
> retrieving revision 1.5
> diff -u -p -u -r1.5 soft_i2c.c
> --- common/soft_i2c.c 21 Nov 2004 00:06:35 -0000 1.5
> +++ common/soft_i2c.c 26 May 2005 19:45:05 -0000
> @@ -290,7 +290,7 @@ int i2c_probe(uchar addr)
>
> /* perform 1 byte read transaction */
> send_start();
> - rc = write_byte ((addr << 1) | 0);
> + rc = write_byte ((addr << 1) | 1);
> send_stop();
>
> return (rc ? 1 : 0);
>
>
> ------------------------------------------------------------------------
>
>
More information about the U-Boot
mailing list