On Fri, Nov 07, 2014 at 06:24:21AM +0100, Wolfram Sang wrote:
> On Thu, Nov 06, 2014 at 12:52:06PM +0100, Geert Uytterhoeven wrote:
> > On sh73a0/kzm9g-legacy, probing of the i2c masters fails with:
> >
> > i2c-sh_mobile i2c-sh_mobile.0: timing values out of range:
> > L/H=0x208/0x1bf
> > sh_mobile: probe of i2c-sh_mobile.0 failed with error -22
>
> Yay, so the warning I added found another bug \o/
>
> >
> > According to the datasheet, the transfer rate is derived from the HP
> > clock (which runs at 104 MHz) divided by two. Hence
> > i2c_sh_mobile_platform_data.clks_per_count should be set to two.
> >
> > Now probing succeeds, and i2c works:
> >
> > i2c-sh_mobile i2c-sh_mobile.0: I2C adapter 0 with bus speed 100000 Hz
> > (L/H=0x104/0xe0)
> >
> > Signed-off-by: Geert Uytterhoeven <[email protected]>
>
> Reviewed-by: Wolfram Sang <[email protected]>
>
> > ---
> > Note that the L/H values still differ from the Transfer Rate Settings
> > example in Table 19.3 of the datasheet, which suggests 0x121/0xe7.
>
> Is the formula different or is it rounding errors?
Hi Geert,
As this appears to be a bug fix I would like to accompany this patch with
some text describing when the problem was introduced and what its effects
are. In short a rough guide to if it should be applied to -stable. To that
end I prepared the following which I would appreciate your feedback on.
* ARM: shmobile: kzm9g legacy: Set i2c clks_per_count
This problem appears to have been introduced when i2c shmobile support was
added to the sh73a9 by b028f94b76319e1b8 ("ARM: mach-shmobile: sh73a0
i2c_shmobile support.") in v2.6.37.
Without this fix i2c may not operate correctly on the sh73a0/kzm9g.
--
To unsubscribe from this list: send the line "unsubscribe linux-i2c" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html