TI:OMAP: [PATCH 2/7] Enable I2C bus switching

From 9bb1c3501c8f098dac6e224c99e409ebf92b0ab9 Mon Sep 17 00:00:00 2001

Khasim Syed Mohammed wrote:

From 9bb1c3501c8f098dac6e224c99e409ebf92b0ab9 Mon Sep 17 00:00:00 2001
From: Syed Mohammed Khasim <khasim@ti.com>
Date: Mon, 18 Jan 2010 18:11:14 +0530
Subject: [PATCH] Enable I2C bus switching

OMAP3 supports Multiple I2C channels, this patch allows
us to use i2c dev <bus no> command to switch between busses.

Signed-off-by: Syed Mohammed Khasim <khasim@ti.com>
Acked-by: Heiko Schocher <hs@denx.de>
---
drivers/i2c/omap24xx_i2c.c | 5 +++++
include/configs/omap3_beagle.h | 6 ++++++
2 files changed, 11 insertions(+), 0 deletions(-)

diff --git a/drivers/i2c/omap24xx_i2c.c b/drivers/i2c/omap24xx_i2c.c
index ff18991..e8c8184 100644
--- a/drivers/i2c/omap24xx_i2c.c
+++ b/drivers/i2c/omap24xx_i2c.c
@@ -435,3 +435,8 @@ int i2c_set_bus_num(unsigned int bus)

   return 0;
}
+
+int i2c_get_bus_num(void)
+{
+ return (int) current_bus;
+}
diff --git a/include/configs/omap3_beagle.h b/include/configs/omap3_beagle.h
index a8abb0e..4d516a4 100644
--- a/include/configs/omap3_beagle.h
+++ b/include/configs/omap3_beagle.h
@@ -100,6 +100,12 @@
/* DDR - I use Micron DDR */
#define CONFIG_OMAP3_MICRON_DDR 1

+/* Enable Multi Bus support for I2C */
+#define CONFIG_I2C_MULTI_BUS 1
+
+/* Probe all devices */
+#define CONFIG_SYS_I2C_NOPROBES {0x0, 0x0}

Most/All of the configs I reviewed set the addr element
to a valid address. I do not believe 0 is a valid address
on omap. If the intent is a double negative
{0, 0} == probe all
Then add a comment.

Tom

Khasim Syed Mohammed wrote:

From 9bb1c3501c8f098dac6e224c99e409ebf92b0ab9 Mon Sep 17 00:00:00 2001
From: Syed Mohammed Khasim <khasim@ti.com>
Date: Mon, 18 Jan 2010 18:11:14 +0530
Subject: [PATCH] Enable I2C bus switching

OMAP3 supports Multiple I2C channels, this patch allows
us to use i2c dev <bus no> command to switch between busses.

Signed-off-by: Syed Mohammed Khasim <khasim@ti.com>
Acked-by: Heiko Schocher <hs@denx.de>
---
drivers/i2c/omap24xx_i2c.c | 5 +++++
include/configs/omap3_beagle.h | 6 ++++++
2 files changed, 11 insertions(+), 0 deletions(-)

diff --git a/drivers/i2c/omap24xx_i2c.c b/drivers/i2c/omap24xx_i2c.c
index ff18991..e8c8184 100644
--- a/drivers/i2c/omap24xx_i2c.c
+++ b/drivers/i2c/omap24xx_i2c.c
@@ -435,3 +435,8 @@ int i2c_set_bus_num(unsigned int bus)

   return 0;

}
+
+int i2c_get_bus_num(void)
+{
+ return (int) current_bus;
+}
diff --git a/include/configs/omap3_beagle.h
b/include/configs/omap3_beagle.h
index a8abb0e..4d516a4 100644
--- a/include/configs/omap3_beagle.h
+++ b/include/configs/omap3_beagle.h
@@ -100,6 +100,12 @@
/* DDR - I use Micron DDR */
#define CONFIG_OMAP3_MICRON_DDR 1

+/* Enable Multi Bus support for I2C */
+#define CONFIG_I2C_MULTI_BUS 1
+
+/* Probe all devices */
+#define CONFIG_SYS_I2C_NOPROBES {0x0, 0x0}

Most/All of the configs I reviewed set the addr element
to a valid address. I do not believe 0 is a valid address
on omap. If the intent is a double negative
{0, 0} == probe all
Then add a comment.

I thought I already added a comment ,

+/* Probe all devices */

What more are you expecting. please print ...

Regards,
Khasim

Khasim Syed Mohammed wrote:

Khasim Syed Mohammed wrote:

From 9bb1c3501c8f098dac6e224c99e409ebf92b0ab9 Mon Sep 17 00:00:00 2001
From: Syed Mohammed Khasim <khasim@ti.com>
Date: Mon, 18 Jan 2010 18:11:14 +0530
Subject: [PATCH] Enable I2C bus switching

OMAP3 supports Multiple I2C channels, this patch allows
us to use i2c dev <bus no> command to switch between busses.

Signed-off-by: Syed Mohammed Khasim <khasim@ti.com>
Acked-by: Heiko Schocher <hs@denx.de>
---
drivers/i2c/omap24xx_i2c.c | 5 +++++
include/configs/omap3_beagle.h | 6 ++++++
2 files changed, 11 insertions(+), 0 deletions(-)

diff --git a/drivers/i2c/omap24xx_i2c.c b/drivers/i2c/omap24xx_i2c.c
index ff18991..e8c8184 100644
--- a/drivers/i2c/omap24xx_i2c.c
+++ b/drivers/i2c/omap24xx_i2c.c
@@ -435,3 +435,8 @@ int i2c_set_bus_num(unsigned int bus)

       return 0;
}
+
+int i2c_get_bus_num(void)
+{
+ return (int) current_bus;
+}
diff --git a/include/configs/omap3_beagle.h
b/include/configs/omap3_beagle.h
index a8abb0e..4d516a4 100644
--- a/include/configs/omap3_beagle.h
+++ b/include/configs/omap3_beagle.h
@@ -100,6 +100,12 @@
/* DDR - I use Micron DDR */
#define CONFIG_OMAP3_MICRON_DDR 1

+/* Enable Multi Bus support for I2C */
+#define CONFIG_I2C_MULTI_BUS 1
+
+/* Probe all devices */
+#define CONFIG_SYS_I2C_NOPROBES {0x0, 0x0}

Most/All of the configs I reviewed set the addr element
to a valid address. I do not believe 0 is a valid address
on omap. If the intent is a double negative
{0, 0} == probe all
Then add a comment.

I thought I already added a comment ,

+/* Probe all devices */

What more are you expecting. please print ...

Sorry.
I missed that.
This is fine.
Tom

I would fix this, but I have no idea what to add :frowning: Any hint?

Dirk

Dirk,

Khasim Syed Mohammed wrote:
     

   From 9bb1c3501c8f098dac6e224c99e409ebf92b0ab9 Mon Sep 17 00:00:00 2001
From: Syed Mohammed Khasim<khasim@ti.com>
Date: Mon, 18 Jan 2010 18:11:14 +0530
Subject: [PATCH] Enable I2C bus switching

OMAP3 supports Multiple I2C channels, this patch allows
us to use i2c dev<bus no> command to switch between busses.

Signed-off-by: Syed Mohammed Khasim<khasim@ti.com>
Acked-by: Heiko Schocher<hs@denx.de>
---
   drivers/i2c/omap24xx_i2c.c | 5 +++++
   include/configs/omap3_beagle.h | 6 ++++++
   2 files changed, 11 insertions(+), 0 deletions(-)

diff --git a/drivers/i2c/omap24xx_i2c.c b/drivers/i2c/omap24xx_i2c.c
index ff18991..e8c8184 100644
--- a/drivers/i2c/omap24xx_i2c.c
+++ b/drivers/i2c/omap24xx_i2c.c
@@ -435,3 +435,8 @@ int i2c_set_bus_num(unsigned int bus)

     return 0;
   }
+
+int i2c_get_bus_num(void)
+{
+ return (int) current_bus;
+}
diff --git a/include/configs/omap3_beagle.h b/include/configs/omap3_beagle.h
index a8abb0e..4d516a4 100644
--- a/include/configs/omap3_beagle.h
+++ b/include/configs/omap3_beagle.h
@@ -100,6 +100,12 @@
   /* DDR - I use Micron DDR */
   #define CONFIG_OMAP3_MICRON_DDR 1

+/* Enable Multi Bus support for I2C */
+#define CONFIG_I2C_MULTI_BUS 1
+
+/* Probe all devices */
+#define CONFIG_SYS_I2C_NOPROBES {0x0, 0x0}
       

Most/All of the configs I reviewed set the addr element
to a valid address. I do not believe 0 is a valid address
on omap. If the intent is a double negative
{0, 0} == probe all
Then add a comment.
     

I would fix this, but I have no idea what to add :frowning: Any hint?

CONFIG_SYS_I2C_NOPROBES doesn't have to be defined. It's there as a convenience in case there are devices that you don't want to be included when probing the bus. If there's nothing you want to skip, don't define it.

Dirk
_____
   

regards,
Ben

With out this option enabled it fails to compile for Multi bus I2C support

More over, this patch is already accepted and has nothing more to do.
May be Tom is waiting for a re-submission along with other patches.

May be we can post only the beagle rev and I2C patch first.

Regards,
Khasim

Syed Mohammed, Khasim wrote:

Dirk,

Khasim Syed Mohammed wrote:

  From 9bb1c3501c8f098dac6e224c99e409ebf92b0ab9 Mon Sep 17 00:00:00 2001
From: Syed Mohammed Khasim<khasim@ti.com>
Date: Mon, 18 Jan 2010 18:11:14 +0530
Subject: [PATCH] Enable I2C bus switching

OMAP3 supports Multiple I2C channels, this patch allows
us to use i2c dev<bus no> command to switch between busses.

Signed-off-by: Syed Mohammed Khasim<khasim@ti.com>
Acked-by: Heiko Schocher<hs@denx.de>
---
  drivers/i2c/omap24xx_i2c.c | 5 +++++
  include/configs/omap3_beagle.h | 6 ++++++
  2 files changed, 11 insertions(+), 0 deletions(-)

diff --git a/drivers/i2c/omap24xx_i2c.c b/drivers/i2c/omap24xx_i2c.c
index ff18991..e8c8184 100644
--- a/drivers/i2c/omap24xx_i2c.c
+++ b/drivers/i2c/omap24xx_i2c.c
@@ -435,3 +435,8 @@ int i2c_set_bus_num(unsigned int bus)

       return 0;
  }
+
+int i2c_get_bus_num(void)
+{
+ return (int) current_bus;
+}
diff --git a/include/configs/omap3_beagle.h
b/include/configs/omap3_beagle.h
index a8abb0e..4d516a4 100644
--- a/include/configs/omap3_beagle.h
+++ b/include/configs/omap3_beagle.h
@@ -100,6 +100,12 @@
  /* DDR - I use Micron DDR */
  #define CONFIG_OMAP3_MICRON_DDR 1

+/* Enable Multi Bus support for I2C */
+#define CONFIG_I2C_MULTI_BUS 1
+
+/* Probe all devices */
+#define CONFIG_SYS_I2C_NOPROBES {0x0, 0x0}

Most/All of the configs I reviewed set the addr element
to a valid address. I do not believe 0 is a valid address
on omap. If the intent is a double negative
{0, 0} == probe all
Then add a comment.

I would fix this, but I have no idea what to add :frowning: Any hint?

CONFIG_SYS_I2C_NOPROBES doesn't have to be defined. It's there as a
convenience in case there are devices that you don't want to be included
when probing the bus. If there's nothing you want to skip, don't define it.

With out this option enabled it fails to compile for Multi bus I2C support

I had reservations about the CONFIG_SYS_I2C_NOPROBES being noop-ed.
Maybe the multibus support needs to be improved?

More over, this patch is already accepted and has nothing more to do.
May be Tom is waiting for a re-submission along with other patches.

This was part of a patch set.
I was expecting a rev of the whole patch set.

May be we can post only the beagle rev and I2C patch first.

If you are waiting on a rev of the patchset, you may break the
patchset into its logical parts.
Given the late comment on the i2c patch, it may be best to break the
Beagle rev from the i2c.

Tom

Syed,

Dirk,

Khasim Syed Mohammed wrote:

   From 9bb1c3501c8f098dac6e224c99e409ebf92b0ab9 Mon Sep 17 00:00:00 2001
From: Syed Mohammed Khasim<khasim@ti.com>
Date: Mon, 18 Jan 2010 18:11:14 +0530
Subject: [PATCH] Enable I2C bus switching

OMAP3 supports Multiple I2C channels, this patch allows
us to use i2c dev<bus no> command to switch between busses.

Signed-off-by: Syed Mohammed Khasim<khasim@ti.com>
Acked-by: Heiko Schocher<hs@denx.de>
---
   drivers/i2c/omap24xx_i2c.c | 5 +++++
   include/configs/omap3_beagle.h | 6 ++++++
   2 files changed, 11 insertions(+), 0 deletions(-)

diff --git a/drivers/i2c/omap24xx_i2c.c b/drivers/i2c/omap24xx_i2c.c
index ff18991..e8c8184 100644
--- a/drivers/i2c/omap24xx_i2c.c
+++ b/drivers/i2c/omap24xx_i2c.c
@@ -435,3 +435,8 @@ int i2c_set_bus_num(unsigned int bus)

        return 0;
   }
+
+int i2c_get_bus_num(void)
+{
+ return (int) current_bus;
+}
diff --git a/include/configs/omap3_beagle.h
b/include/configs/omap3_beagle.h
index a8abb0e..4d516a4 100644
--- a/include/configs/omap3_beagle.h
+++ b/include/configs/omap3_beagle.h
@@ -100,6 +100,12 @@
   /* DDR - I use Micron DDR */
   #define CONFIG_OMAP3_MICRON_DDR 1

+/* Enable Multi Bus support for I2C */
+#define CONFIG_I2C_MULTI_BUS 1
+
+/* Probe all devices */
+#define CONFIG_SYS_I2C_NOPROBES {0x0, 0x0}

Most/All of the configs I reviewed set the addr element
to a valid address. I do not believe 0 is a valid address
on omap. If the intent is a double negative
{0, 0} == probe all
Then add a comment.

I would fix this, but I have no idea what to add :frowning: Any hint?

CONFIG_SYS_I2C_NOPROBES doesn't have to be defined. It's there as a
convenience in case there are devices that you don't want to be included
when probing the bus. If there's nothing you want to skip, don't define it.
     

With out this option enabled it fails to compile for Multi bus I2C support

Then there's something wrong with this submission. I can build any in-tree board with MULTI_BUS support with and without the NOPROBES list. There's no reason why they should be coupled.

More over, this patch is already accepted and has nothing more to do.
May be Tom is waiting for a re-submission along with other patches.

May be we can post only the beagle rev and I2C patch first.

Regards,
Khasim
   

regards,
Ben