Re: [RFC] i2c: omap: TEST: do IP reset during probe.

From: Tony Lindgren
Date: Fri Nov 28 2014 - 17:16:20 EST


* Kevin Hilman <khilman@xxxxxxxxxx> [141126 13:27]:
> Alexander Kochetkov <al.kochet@xxxxxxxxx> writes:
>
> > NOT FOR UPSTREAM
> >
> > The patch checks if IP reset during probe could bring I2C bus
> > to a free state on omap2430 - omap3530 boards.
> >
> > I guess, IP hold one of I2C lines in a low state.
> > I guess, u-boot haven't sent a stop condition.
> >
> > The patch is rebased on branch 'i2c/for-next' of
> > git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux
> > (6e79807443cba7397cd855ed29d6faba51d4c893)
> >
> > Signed-off-by: Alexander Kochetkov <al.kochet@xxxxxxxxx>
> > Reported-by: Kevin Hilman <khilman@xxxxxxxxxx>
> > Tested-by: Kevin Hilman <khilman@xxxxxxxxxx>
>
> Built for omap2plus_defconfig and tested on all my OMAP boards. Results
> here:
>
> http://people.linaro.org/~khilman/tmp/next-20141126-1-g760388ee02e4/arm-omap2plus_defconfig/

And below is the output from 2430sdp with linux next plus Alexander's
test patch. Looks like for some time 2430 i2c has not been behaving
reliably unless I force compatible to ti,omap2420-i2c instead of
ti,omap2430-i2c.. The output below is with ti,omap2430-i2c.

Regards,

Tony

8< -------------
[ 0.913574] omap_i2c 48070000.i2c: init0: STAT=0x0000; IE=0x601f; CON=0x8000; SYSTEST=0x0000; SDA=00 [OI]; SCL=00 [OI] (omap_i2c_init:493)
[ 1.931365] omap_i2c 48070000.i2c: timeout waiting for bus ready
[ 1.931457] omap_i2c 48070000.i2c: init1: STAT=0x0000; IE=0x601f; CON=0x8000; SYSTEST=0x0000; SDA=00 [OI]; SCL=00 [OI] (omap_i2c_init:497)
[ 1.931518] omap_i2c 48070000.i2c: init1: bb_valid=0
[ 2.949249] omap_i2c 48070000.i2c: timeout waiting for bus ready
[ 2.949340] omap_i2c 48070000.i2c: init2: STAT=0x0000; IE=0x601f; CON=0x8000; SYSTEST=0x0000; SDA=00 [OI]; SCL=00 [OI] (omap_i2c_init:504)
[ 2.949401] omap_i2c 48070000.i2c: init2: bb_valid=0
[ 2.952941] omap_i2c 48070000.i2c: bus 0 rev3.3 at 100 kHz (rev 00000036)
[ 2.969299] omap_i2c 48072000.i2c: init0: STAT=0x0000; IE=0x601f; CON=0x8000; SYSTEST=0x0000; SDA=00 [OI]; SCL=00 [OI] (omap_i2c_init:493)
[ 3.987091] omap_i2c 48072000.i2c: timeout waiting for bus ready
[ 3.987182] omap_i2c 48072000.i2c: init1: STAT=0x0000; IE=0x601f; CON=0x8000; SYSTEST=0x0000; SDA=00 [OI]; SCL=00 [OI] (omap_i2c_init:497)
[ 3.987243] omap_i2c 48072000.i2c: init1: bb_valid=0
[ 5.004974] omap_i2c 48072000.i2c: timeout waiting for bus ready
[ 5.005096] omap_i2c 48072000.i2c: init2: STAT=0x0000; IE=0x601f; CON=0x8000; SYSTEST=0x0000; SDA=00 [OI]; SCL=00 [OI] (omap_i2c_init:504)
[ 5.005126] omap_i2c 48072000.i2c: init2: bb_valid=0
[ 5.017517] omap_i2c 48072000.i2c: bus 1 rev3.3 at 100 kHz (rev 00000036)
[ 7.555419] twl4030_keypad 48072000.i2c:twl@48:keypad: OF: linux,keymap property not defined in /ocp/i2c@48072000/twl@48/keypad
[ 7.567626] twl4030_keypad 48072000.i2c:twl@48:keypad: Failed to build keymap
[ 7.575439] twl4030_keypad: probe of 48072000.i2c:twl@48:keypad failed with error -2
[ 7.599639] input: twl4030_pwrbutton as /devices/platform/ocp/48072000.i2c/i2c-1/1-0048/48072000.i2c:twl@48:pwrbutton/input/input1
[ 7.624450] twl_rtc 48072000.i2c:twl@48:rtc: Power up reset detected.
[ 7.631988] twl_rtc 48072000.i2c:twl@48:rtc: Enabling TWL-RTC
[ 7.655456] twl_rtc 48072000.i2c:twl@48:rtc: rtc core: registered 48072000.i2c:twl@48 as rtc0
[ 7.923187] i2c /dev entries driver
[ 8.246795] twl_rtc 48072000.i2c:twl@48:rtc: hctosys: unable to read the hardware clock
[ 9.675994] omap_i2c 48072000.i2c: controller timed out
[ 10.704010] omap_i2c 48072000.i2c: controller timed out
[ 11.734069] omap_i2c 48072000.i2c: controller timed out
root@omap2430sdp:/# [ 12.823638] omap_i2c 48072000.i2c: controller timed out
[ 12.834747] twl4030: I2C error -110 reading PIH ISR
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/