* [U-Boot-Users] [PATCH 1/2] Add support for multiple I2C buses
@ 2006-08-30 21:35 Ben Warren
2006-09-01 3:45 ` Nishanth Menon
2006-09-07 20:50 ` Ben Warren
0 siblings, 2 replies; 9+ messages in thread
From: Ben Warren @ 2006-08-30 21:35 UTC (permalink / raw)
To: u-boot
Hello,
Attached is a patch providing support for multiple I2C buses at the
command level. The second part of the patch includes an implementation
for the MPC834x CPU and MPC8349EMDS board. Note - this does not include
support for 10-bit addresses. That's too profound a change to include
here... Hopefully this addresses concerns with my previous attempts.
Overview:
1. Include new 'i2c' command (based on USB implementation) using
CONFIG_I2C_CMD_TREE. Note - I opted to not use the last remaining CMD
bit in 'include/cmd_confdefs.h'.
2. Allow multiple buses by defining CONFIG_I2C_MULTI_BUS. Note that
this is only available under the new 'i2c' command mentioned in bullet
1.
3. Allow by-passing of devices when probing a bus by defining
CFG_I2C_MULTI_NOPROBES. This is an array of bus-device pairs that will
be skipped by the 'i2c probe' command.
CHANGELOG:
Added new 'i2c' master command for all I2C interaction. This is
conditionally compiled with CONFIG_I2C_CMD_TREE. New commands added for
setting I2C bus speed as well as changing the active bus if the board
has more than one bus (conditionally compiled with
CONFIG_I2C_MULTI_BUS). Added a list of devices to ignore when probing
the buses when more than one bus is present. Updated README.
regards,
Ben
-------------- next part --------------
A non-text attachment was scrubbed...
Name: i2c_multibus.PATCH
Type: text/x-patch
Size: 9093 bytes
Desc: not available
Url : http://lists.denx.de/pipermail/u-boot/attachments/20060830/df28dfeb/attachment.bin
^ permalink raw reply [flat|nested] 9+ messages in thread* [U-Boot-Users] [PATCH 1/2] Add support for multiple I2C buses 2006-08-30 21:35 [U-Boot-Users] [PATCH 1/2] Add support for multiple I2C buses Ben Warren @ 2006-09-01 3:45 ` Nishanth Menon 2006-09-01 19:42 ` Ben Warren 2006-09-07 20:50 ` Ben Warren 1 sibling, 1 reply; 9+ messages in thread From: Nishanth Menon @ 2006-09-01 3:45 UTC (permalink / raw) To: u-boot Ben Warren stated on 8/30/2006 4:35 PM: > Overview: <snip> > be skipped by the 'i2c probe' command. Thanks Ben, this is finally in tune with Denx requirements I guess ;) > ------------------------------------------------------------------------ > > diff --git a/README b/README > index e772c1a..f674050 100644 > --- a/README > +++ b/README > @@ -1188,7 +1188,12 @@ The following options need to be configu > clock chips. See common/cmd_i2c.c for a description of the > command line interface. > > - CONFIG_HARD_I2C selects the CPM hardware driver for I2C. > + CONFIG_I2C_CMD_TREE is a recommended option that places > + all I2C commands under a single 'i2c' root command. The > + older 'imm', 'imd', 'iprobe' etc. commands are considered > + deprecated and may disappear in the future. > + > + CONFIG_HARD_I2C selects a hardware I2C controller. I guess I am slow abt this.... but !slow_i2c... is that not good enough? and I cant see any other part in the the common patch using it... > diff --git a/common/cmd_i2c.c b/common/cmd_i2c.c > index c543bb5..824f7c7 100644 > --- a/common/cmd_i2c.c > +++ b/common/cmd_i2c.c > +int do_i2c_bus_speed(cmd_tbl_t * cmdtp, int flag, int argc, char *argv[]) > +{ > + int speed, ret=0; > + > + if (argc == 1) /* querying current speed */ > + { > + printf("Current bus speed=%d\n", i2c_get_bus_speed()); > + } > + else > + { > + speed = simple_strtoul(argv[1], NULL, 10); > + printf("Setting bus speed to %d Hz\n", speed); > + ret = i2c_set_bus_speed(speed); > + if(ret) > + { > + printf("Failure changing bus speed (%d)\n", ret); > + } > + } > + return ret; > +} Err... Does this mean that all other folks who can only support a single speed need to implement this api (including all other existing drivers??)...... Lotsa people are not going to like this if that is so... Looks good to me.. it should fit in OMAP2430 framework too :) Some one gotta tell Denx to update this: http://sourceforge.net/cvs/?group_id=65938. i thought we moved to git sometime back. Do we even look at cvs anymore??? :( Regards, Nishanth Menon ^ permalink raw reply [flat|nested] 9+ messages in thread
* [U-Boot-Users] [PATCH 1/2] Add support for multiple I2C buses 2006-09-01 3:45 ` Nishanth Menon @ 2006-09-01 19:42 ` Ben Warren 2006-09-01 21:03 ` Wolfgang Denk 2006-09-01 23:42 ` nishanth menon 0 siblings, 2 replies; 9+ messages in thread From: Ben Warren @ 2006-09-01 19:42 UTC (permalink / raw) To: u-boot On Thu, 2006-08-31 at 22:45 -0500, Nishanth Menon wrote: > Ben Warren stated on 8/30/2006 4:35 PM: > > > Overview: > <snip> > > be skipped by the 'i2c probe' command. > Thanks Ben, this is finally in tune with Denx requirements I guess ;) Hope so... > > ------------------------------------------------------------------------ > > > > diff --git a/README b/README > > index e772c1a..f674050 100644 > > --- a/README > > +++ b/README > > @@ -1188,7 +1188,12 @@ The following options need to be configu > > clock chips. See common/cmd_i2c.c for a description of the > > command line interface. > > > > - CONFIG_HARD_I2C selects the CPM hardware driver for I2C. > > + CONFIG_I2C_CMD_TREE is a recommended option that places > > + all I2C commands under a single 'i2c' root command. The > > + older 'imm', 'imd', 'iprobe' etc. commands are considered > > + deprecated and may disappear in the future. > > + > > + CONFIG_HARD_I2C selects a hardware I2C controller. > I guess I am slow abt this.... but !slow_i2c... is that not good enough? > and I cant see any other part in the the common patch using it... Sorry, I don't know what you're talking about. What's slow_i2c? I just grepped the source and didn't find it anywhere. > > diff --git a/common/cmd_i2c.c b/common/cmd_i2c.c > > index c543bb5..824f7c7 100644 > > --- a/common/cmd_i2c.c > > +++ b/common/cmd_i2c.c > > > +int do_i2c_bus_speed(cmd_tbl_t * cmdtp, int flag, int argc, char *argv[]) > > +{ > > + int speed, ret=0; > > + > > + if (argc == 1) /* querying current speed */ > > + { > > + printf("Current bus speed=%d\n", i2c_get_bus_speed()); > > + } > > + else > > + { > > + speed = simple_strtoul(argv[1], NULL, 10); > > + printf("Setting bus speed to %d Hz\n", speed); > > + ret = i2c_set_bus_speed(speed); > > + if(ret) > > + { > > + printf("Failure changing bus speed (%d)\n", ret); > > + } > > + } > > + return ret; > > +} > Err... Does this mean that all other folks who can only support a single > speed need to implement this api (including all other existing > drivers??)...... Lotsa people are not going to like this if that is so... Yes. If you want to use the new command tree, you'll have to add a small number of stub functions to your driver. Or else use the old commands. Although I've mentioned deprecation, I suspect they'll be around longer than you or me. I guess if there's huge pushback we can always wrap these calls by yet another CONFIG option, but aren't there enough already? > > Looks good to me.. it should fit in OMAP2430 framework too :) > > Some one gotta tell Denx to update this: > http://sourceforge.net/cvs/?group_id=65938. i thought we moved to git > sometime back. Do we even look at cvs anymore??? :( > Wolfgang has mentioned MANY times to people that the CVS isn't in use any more and to use git. I suspect it's hard if not impossible to remove that from Sourceforge, and obviously Wolfgang has lots of things on his plate that have a priority... > Regards, > Nishanth Menon ^ permalink raw reply [flat|nested] 9+ messages in thread
* [U-Boot-Users] [PATCH 1/2] Add support for multiple I2C buses 2006-09-01 19:42 ` Ben Warren @ 2006-09-01 21:03 ` Wolfgang Denk 2006-09-05 17:59 ` Tolunay Orkun 2006-09-01 23:42 ` nishanth menon 1 sibling, 1 reply; 9+ messages in thread From: Wolfgang Denk @ 2006-09-01 21:03 UTC (permalink / raw) To: u-boot In message <1157139773.13685.113.camel@saruman.qstreams.net> you wrote: > > Wolfgang has mentioned MANY times to people that the CVS isn't in use > any more and to use git. I suspect it's hard if not impossible to > remove that from Sourceforge, and obviously Wolfgang has lots of things > on his plate that have a priority... It's impossible to remove (and does not ake sense - IMHO it's actually a very good thing that projects cannot just disappear for example if someone retires or ries to convert it to another, non-open license model). Also, the web page mentioned cannot be edited by me, as it's one of the common site docs. Best regards, Wolfgang Denk -- Software Engineering: Embedded and Realtime Systems, Embedded Linux Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de If all you have is a hammer, everything looks like a nail. ^ permalink raw reply [flat|nested] 9+ messages in thread
* [U-Boot-Users] [PATCH 1/2] Add support for multiple I2C buses 2006-09-01 21:03 ` Wolfgang Denk @ 2006-09-05 17:59 ` Tolunay Orkun 0 siblings, 0 replies; 9+ messages in thread From: Tolunay Orkun @ 2006-09-05 17:59 UTC (permalink / raw) To: u-boot Wolfgang, Wolfgang Denk wrote: > In message <1157139773.13685.113.camel@saruman.qstreams.net> you wrote: >> Wolfgang has mentioned MANY times to people that the CVS isn't in use >> any more and to use git. I suspect it's hard if not impossible to >> remove that from Sourceforge, and obviously Wolfgang has lots of things >> on his plate that have a priority... > > It's impossible to remove (and does not ake sense - IMHO it's > actually a very good thing that projects cannot just disappear for > example if someone retires or ries to convert it to another, non-open > license model). Also, the web page mentioned cannot be edited by me, > as it's one of the common site docs. How about adding a warning text to the Makefile on CVS repository so that if someone checks out from CVS and does a build they are given warning that CVS repository is obsolete and they should use git repository only at denx.de Best regards, Tolunay ^ permalink raw reply [flat|nested] 9+ messages in thread
* [U-Boot-Users] [PATCH 1/2] Add support for multiple I2C buses 2006-09-01 19:42 ` Ben Warren 2006-09-01 21:03 ` Wolfgang Denk @ 2006-09-01 23:42 ` nishanth menon 2006-09-02 3:18 ` Ben Warren 1 sibling, 1 reply; 9+ messages in thread From: nishanth menon @ 2006-09-01 23:42 UTC (permalink / raw) To: u-boot On 9/1/06, Ben Warren <bwarren@qstreams.com> wrote: > > > + CONFIG_HARD_I2C selects a hardware I2C controller. > > I guess I am slow abt this.... but !slow_i2c... is that not good enough? > > and I cant see any other part in the the common patch using it... > Sorry, I don't know what you're talking about. What's slow_i2c? I just > grepped the source and didn't find it anywhere. Voila, a typo :-) ! I should have stated soft_i2c. !CONFIG_SOFT_I2C should mean HARD_I2C. Regards, Nishanth Menon ^ permalink raw reply [flat|nested] 9+ messages in thread
* [U-Boot-Users] [PATCH 1/2] Add support for multiple I2C buses 2006-09-01 23:42 ` nishanth menon @ 2006-09-02 3:18 ` Ben Warren 2006-09-02 5:21 ` Nishanth Menon 0 siblings, 1 reply; 9+ messages in thread From: Ben Warren @ 2006-09-02 3:18 UTC (permalink / raw) To: u-boot Nishanth, --- nishanth menon <menon.nishanth@gmail.com> wrote: > On 9/1/06, Ben Warren <bwarren@qstreams.com> wrote: > > > > + CONFIG_HARD_I2C selects a hardware > I2C controller. > > > I guess I am slow abt this.... but !slow_i2c... > is that not good enough? > > > and I cant see any other part in the the common > patch using it... > > Sorry, I don't know what you're talking about. > What's slow_i2c? I just > > grepped the source and didn't find it anywhere. > Voila, a typo :-) ! I should have stated soft_i2c. > !CONFIG_SOFT_I2C > should mean HARD_I2C. > Regards, > Nishanth Menon OK... look a little more closely at the diff. All I did was change the word 'CPM' to 'hardware', because nowadays there are many more I2C controllers than the ones in QUICC engines. I was just cleaning up documentation, and didn't change any code regarding either HARD_I2C or SOFT_I2C. Sorry for the confusion, Ben ^ permalink raw reply [flat|nested] 9+ messages in thread
* [U-Boot-Users] [PATCH 1/2] Add support for multiple I2C buses 2006-09-02 3:18 ` Ben Warren @ 2006-09-02 5:21 ` Nishanth Menon 0 siblings, 0 replies; 9+ messages in thread From: Nishanth Menon @ 2006-09-02 5:21 UTC (permalink / raw) To: u-boot Hi Ben, Ben Warren stated on 9/1/2006 10:18 PM: > OK... look a little more closely at the diff. All I > did was change the word 'CPM' to 'hardware', because Accepted :) But I still in my naivete question the sense of CONFIG_HARD_I2C? what is !HARD_I2C && !SOFT_I2C?? Regards, Nishanth Menon ^ permalink raw reply [flat|nested] 9+ messages in thread
* [U-Boot-Users] [PATCH 1/2] Add support for multiple I2C buses 2006-08-30 21:35 [U-Boot-Users] [PATCH 1/2] Add support for multiple I2C buses Ben Warren 2006-09-01 3:45 ` Nishanth Menon @ 2006-09-07 20:50 ` Ben Warren 1 sibling, 0 replies; 9+ messages in thread From: Ben Warren @ 2006-09-07 20:50 UTC (permalink / raw) To: u-boot Hello, Attached is a patch providing support for multiple I2C buses at the command level. The second part of the patch includes an implementation for the MPC834x CPU and MPC8349EMDS board. /*** Note: This patch replaces ticket DNX#2006083042000018 ***/ Signed-off-by: Ben Warren <bwarren@qstreams.com> Overview: 1. Include new 'i2c' command (based on USB implementation) using CONFIG_I2C_CMD_TREE. 2. Allow multiple buses by defining CONFIG_I2C_MULTI_BUS. Note that the commands to change bus number and speed are only available under the new 'i2c' command mentioned in the first bullet. 3. The option CFG_I2C_NOPROBES has been expanded to work in multi-bus systems. When CONFIG_I2C_MULTI_BUS is used, this option takes the form of an array of bus-device pairs. Otherwise, it is an array of uchar. CHANGELOG: Added new 'i2c' master command for all I2C interaction. This is conditionally compiled with CONFIG_I2C_CMD_TREE. New commands added for setting I2C bus speed as well as changing the active bus if the board has more than one (conditionally compiled with CONFIG_I2C_MULTI_BUS). Updated NOPROBE logic to handle multiple buses. Updated README. regards, Ben -------------- next part -------------- A non-text attachment was scrubbed... Name: i2c_multibus.PATCH Type: text/x-patch Size: 9128 bytes Desc: not available Url : http://lists.denx.de/pipermail/u-boot/attachments/20060907/4a89a054/attachment.bin ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2006-09-07 20:50 UTC | newest] Thread overview: 9+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2006-08-30 21:35 [U-Boot-Users] [PATCH 1/2] Add support for multiple I2C buses Ben Warren 2006-09-01 3:45 ` Nishanth Menon 2006-09-01 19:42 ` Ben Warren 2006-09-01 21:03 ` Wolfgang Denk 2006-09-05 17:59 ` Tolunay Orkun 2006-09-01 23:42 ` nishanth menon 2006-09-02 3:18 ` Ben Warren 2006-09-02 5:21 ` Nishanth Menon 2006-09-07 20:50 ` Ben Warren
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox