[U-Boot] [PATCH v2 3/9] kmp204x: I2C deblocking for I2C-bus1 added

Valentin Longchamp
2014-01-30T07:32:02Z

On 01/30/2014 03:30 AM, York Sun wrote:
> On 01/27/2014 02:49 AM, Valentin Longchamp wrote:
>> From: Rainer Boschung <rainer.boschung@keymile.com>
>>
>> -uses common deblocking algorithm from ../common/common.c
>
> I don't see any algorithm in the common.c file.

The file is board/keymile/common/common.c, where the i2c_make_abort() and the
i2c_write_start_seq() functions are defined. I guess that's what Rainer means
with "algorithm".

I agree that the relative path for the file is not very fortunate and that's why
you have not found the functions.

>
>> -supports deblocking of of I2C-bus1 by means of QRIO GPIO
>> - SCL1 = GPIO_A16
>> - SDA1 = GPIO_A17
>>
>> QRIO GPIOs act in an open-drain-like manner, for 0 GPIO drives
>> low and for 1 the GPIO is an input and must be pulled up externaly!
>>
>> Signed-off-by: Rainer Boschung <rainer.boschung@keymile.com>
>> Signed-off-by: Valentin Longchamp <valentin.longchamp@keymile.com>
>> ---
>>
>> Changes in v2: None
>>
>> board/keymile/kmp204x/kmp204x.c | 53 ++++++++++++++++++++++++++++++++++---
>> include/configs/km/kmp204x-common.h | 10 +++++++
>> 2 files changed, 60 insertions(+), 3 deletions(-)
>>
>> diff --git a/board/keymile/kmp204x/kmp204x.c b/board/keymile/kmp204x/kmp204x.c
>> index bbb2453..8d6eecb 100644
>> --- a/board/keymile/kmp204x/kmp204x.c
>> +++ b/board/keymile/kmp204x/kmp204x.c
>> @@ -33,12 +33,51 @@ int checkboard(void)
>> return 0;
>> }
>>
>> -/* TODO: implement the I2C deblocking function */
>> -int i2c_make_abort(void)
>> +/* I2C deblocking uses the algorithm defined in ../common/common.c, which
>> + * makes use of 2 QRIO GPIOs to act on the SCL and SDA signals of an I2C bus.
>> + * According to the standard I2C IOs must not drive HI-Levels, so the
>> + * QRIO GPIOs are used in open-drain fashion:
>> + * -> 0 GPIO configured as output that drives low
>> + * -> 1 GPIO configured as input pull-up ties high
>> + */
>> +
>
> I failed to understand these comments as well. Are these comments copy-n-paste?
>

I will let Rainer answer this as he has written this comment. But I don't think
it's copy-n-paste. It's maybe not very clear for people who don't know the hardware.

Valentin