Patchwork ARM: mxs: Slow down the I2C clock speed

login
register
mail settings
Submitter Marek Vasut
Date April 1, 2013, 11:29 p.m.
Message ID <1364858969-17745-1-git-send-email-marex@denx.de>
Download mbox | patch
Permalink /patch/232840/
State Awaiting Upstream
Headers show

Comments

Marek Vasut - April 1, 2013, 11:29 p.m.
Slow down the I2C clock speed on M28 and SPS1 as it turns out the
I2C block in i.MX28 can not operate stable enough with the bus
running at 400kHz. Note that the driver used by Freescale runs
the bus at 250kHz when 400kHz speed is selected, but the mainline
Linux kernel runs the bus at actual 400kHz and that's where it is
occasionally unstable. Play safe and run the bus at 100kHz.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Cc: Shawn Guo <shawn.guo@linaro.org>
---
 arch/arm/boot/dts/imx28-m28evk.dts |    1 -
 arch/arm/boot/dts/imx28-sps1.dts   |    1 -
 2 files changed, 2 deletions(-)
Shawn Guo - April 2, 2013, 11:28 a.m.
Marek,

On Tue, Apr 02, 2013 at 01:29:29AM +0200, Marek Vasut wrote:
> Slow down the I2C clock speed on M28 and SPS1 as it turns out the
> I2C block in i.MX28 can not operate stable enough with the bus
> running at 400kHz. Note that the driver used by Freescale runs
> the bus at 250kHz when 400kHz speed is selected, but the mainline
> Linux kernel runs the bus at actual 400kHz and that's where it is
> occasionally unstable. Play safe and run the bus at 100kHz.
> 
> Signed-off-by: Marek Vasut <marex@denx.de>

You consider it a fix for 3.9 or just material for 3.10?

Shawn

--
To unsubscribe from this list: send the line "unsubscribe linux-i2c" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Marek Vasut - April 2, 2013, 7:11 p.m.
Dear Shawn Guo,

> Marek,
> 
> On Tue, Apr 02, 2013 at 01:29:29AM +0200, Marek Vasut wrote:
> > Slow down the I2C clock speed on M28 and SPS1 as it turns out the
> > I2C block in i.MX28 can not operate stable enough with the bus
> > running at 400kHz. Note that the driver used by Freescale runs
> > the bus at 250kHz when 400kHz speed is selected, but the mainline
> > Linux kernel runs the bus at actual 400kHz and that's where it is
> > occasionally unstable. Play safe and run the bus at 100kHz.
> > 
> > Signed-off-by: Marek Vasut <marex@denx.de>
> 
> You consider it a fix for 3.9 or just material for 3.10?

Fix for 3.9 please.

Best regards,
Marek Vasut
--
To unsubscribe from this list: send the line "unsubscribe linux-i2c" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch

diff --git a/arch/arm/boot/dts/imx28-m28evk.dts b/arch/arm/boot/dts/imx28-m28evk.dts
index 5f0ba99..5aa44e0 100644
--- a/arch/arm/boot/dts/imx28-m28evk.dts
+++ b/arch/arm/boot/dts/imx28-m28evk.dts
@@ -177,7 +177,6 @@ 
 			i2c0: i2c@80058000 {
 				pinctrl-names = "default";
 				pinctrl-0 = <&i2c0_pins_a>;
-				clock-frequency = <400000>;
 				status = "okay";
 
 				sgtl5000: codec@0a {
diff --git a/arch/arm/boot/dts/imx28-sps1.dts b/arch/arm/boot/dts/imx28-sps1.dts
index e6cde8a..6c6a544 100644
--- a/arch/arm/boot/dts/imx28-sps1.dts
+++ b/arch/arm/boot/dts/imx28-sps1.dts
@@ -70,7 +70,6 @@ 
 			i2c0: i2c@80058000 {
 				pinctrl-names = "default";
 				pinctrl-0 = <&i2c0_pins_a>;
-				clock-frequency = <400000>;
 				status = "okay";
 
 				rtc: rtc@51 {