Patchwork [U-Boot] cm-t35: add I2C multi-bus support

login
register
mail settings
Submitter Igor Grinberg
Date April 2, 2012, 12:29 p.m.
Message ID <1333369771-27289-1-git-send-email-grinberg@compulab.co.il>
Download mbox | patch
Permalink /patch/150133/
State Accepted
Commit 79874ae9341d000d7428ae05d3bce54d90adb81c
Delegated to: Tom Rini
Headers show

Comments

Igor Grinberg - April 2, 2012, 12:29 p.m.
From: Nikita Kiryanov <nikita@compulab.co.il>

Enable I2C multi-bus support and config I2C muxes for I2C2 and I2C3.

Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il>
Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
---
 board/cm_t35/cm_t35.c    |    6 ++++++
 include/configs/cm_t35.h |    1 +
 2 files changed, 7 insertions(+), 0 deletions(-)
Tom Rini - April 2, 2012, 2:18 p.m.
On 04/02/2012 05:29 AM, Igor Grinberg wrote:
> From: Nikita Kiryanov<nikita@compulab.co.il>
>
> Enable I2C multi-bus support and config I2C muxes for I2C2 and I2C3.
>
> Signed-off-by: Nikita Kiryanov<nikita@compulab.co.il>
> Signed-off-by: Igor Grinberg<grinberg@compulab.co.il>

Have you confirmed this is sufficient and there's no changes required in 
omap24xx_i2c.c ?  Thanks!
Igor Grinberg - April 3, 2012, 6:09 a.m.
Hi Tom,

On 04/02/12 17:18, Tom Rini wrote:
> On 04/02/2012 05:29 AM, Igor Grinberg wrote:
>> From: Nikita Kiryanov<nikita@compulab.co.il>
>>
>> Enable I2C multi-bus support and config I2C muxes for I2C2 and I2C3.
>>
>> Signed-off-by: Nikita Kiryanov<nikita@compulab.co.il>
>> Signed-off-by: Igor Grinberg<grinberg@compulab.co.il>
> 
> Have you confirmed this is sufficient and there's no changes required in omap24xx_i2c.c ?  Thanks!

I don't know what do you mean by sufficient...
I've tested this patch on bus 0 and 2 by reading/writing to eeproms and
it is working fine, so IMO it is sufficient.

Some time ago, I've seen a problem with Ethernet initialization
and tracked it down to:
0607e2b ARMV7: OMAP: Write more than 1 byte at a time in i2c_write

cm-t35 and cm-t3730 have Ethernet reset signal wired to TPS65930 GPIO,
so I2C transaction is needed to reset the Ethernet.

So my conclusion was that the commit above changed the timings and
that broke the Ethernet reset code.

After examining the Ethernet reset code, the fix was obvious,
as the reset code had wrong timing for the reset pulse.
So I've fixed this locally, but forgot to send a patch.
Sending in a moment...
Tom Rini - April 3, 2012, 4:20 p.m.
On Mon, Apr 02, 2012 at 03:29:31PM +0300, Igor Grinberg wrote:

> From: Nikita Kiryanov <nikita@compulab.co.il>
> 
> Enable I2C multi-bus support and config I2C muxes for I2C2 and I2C3.
> 
> Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il>
> Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>

Queued up for u-boot-ti/next (which I intend to PR Friday).
Tom Rini - April 20, 2012, 5:27 p.m.
On Mon, Apr 2, 2012 at 5:29 AM, Igor Grinberg <grinberg@compulab.co.il> wrote:
> From: Nikita Kiryanov <nikita@compulab.co.il>
>
> Enable I2C multi-bus support and config I2C muxes for I2C2 and I2C3.
>
> Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il>
> Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>

Applied to u-boot-ti/next (and this missed the PR I just sent, sorry).
Igor Grinberg - April 22, 2012, 6:09 a.m.
Hi Tom,

On 04/20/12 20:27, Tom Rini wrote:
> On Mon, Apr 2, 2012 at 5:29 AM, Igor Grinberg <grinberg@compulab.co.il> wrote:
>> From: Nikita Kiryanov <nikita@compulab.co.il>
>>
>> Enable I2C multi-bus support and config I2C muxes for I2C2 and I2C3.
>>
>> Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il>
>> Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
> 
> Applied to u-boot-ti/next (and this missed the PR I just sent, sorry).

Hmmm...
Will you send another pull request in some time during the merge window,
so it will still reach the v2012.07?
Tom Rini - April 23, 2012, 3:05 p.m.
On 04/21/2012 11:09 PM, Igor Grinberg wrote:
> Hi Tom,
>
> On 04/20/12 20:27, Tom Rini wrote:
>> On Mon, Apr 2, 2012 at 5:29 AM, Igor Grinberg<grinberg@compulab.co.il>  wrote:
>>> From: Nikita Kiryanov<nikita@compulab.co.il>
>>>
>>> Enable I2C multi-bus support and config I2C muxes for I2C2 and I2C3.
>>>
>>> Signed-off-by: Nikita Kiryanov<nikita@compulab.co.il>
>>> Signed-off-by: Igor Grinberg<grinberg@compulab.co.il>
>>
>> Applied to u-boot-ti/next (and this missed the PR I just sent, sorry).
>
> Hmmm...
> Will you send another pull request in some time during the merge window,
> so it will still reach the v2012.07?

Absolutely.

Patch

diff --git a/board/cm_t35/cm_t35.c b/board/cm_t35/cm_t35.c
index 0a04994..bc991c4 100644
--- a/board/cm_t35/cm_t35.c
+++ b/board/cm_t35/cm_t35.c
@@ -241,6 +241,12 @@  static void cm_t3x_set_common_muxconf(void)
 	/* I2C1 */
 	MUX_VAL(CP(I2C1_SCL),		(IEN  | PTU | EN  | M0)); /*I2C1_SCL*/
 	MUX_VAL(CP(I2C1_SDA),		(IEN  | PTU | EN  | M0)); /*I2C1_SDA*/
+	/* I2C2 */
+	MUX_VAL(CP(I2C2_SCL),		(IEN  | PTU | EN  | M0)); /*I2C2_SCL*/
+	MUX_VAL(CP(I2C2_SDA),		(IEN  | PTU | EN  | M0)); /*I2C2_SDA*/
+	/* I2C3 */
+	MUX_VAL(CP(I2C3_SCL),		(IEN  | PTU | EN  | M0)); /*I2C3_SCL*/
+	MUX_VAL(CP(I2C3_SDA),		(IEN  | PTU | EN  | M0)); /*I2C3_SDA*/
 
 	/* control and debug */
 	MUX_VAL(CP(SYS_32K),		(IEN  | PTD | DIS | M0)); /*SYS_32K*/
diff --git a/include/configs/cm_t35.h b/include/configs/cm_t35.h
index fe91c10..b28bd8e 100644
--- a/include/configs/cm_t35.h
+++ b/include/configs/cm_t35.h
@@ -156,6 +156,7 @@ 
 #define CONFIG_DRIVER_OMAP34XX_I2C
 #define CONFIG_SYS_I2C_EEPROM_ADDR	0x50
 #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN	1
+#define CONFIG_I2C_MULTI_BUS
 
 /*
  * TWL4030