On 01/30/2014 08:32 AM, Valentin Longchamp wrote: > On 01/30/2014 03:30 AM, York Sun wrote: >> On 01/27/2014 02:49 AM, Valentin Longchamp wrote: >>> From: Rainer Boschung <rainer.bosch...@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".
That is what I meant. I will add a more precise comment. > > 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.bosch...@keymile.com> >>> Signed-off-by: Valentin Longchamp <valentin.longch...@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. No the comment isn't copy-n-paste. The GPIO just drives low states, for a high states the pin is not driven (= GPIO configured as input), it is pull-up by a resistor. I will try to clarify this comment. > > Valentin Rainer _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot