linux-i2c.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Problem with multiple i2c multiplexers on one bus, and mux bus naming
@ 2013-11-16 18:31 Guenter Roeck
       [not found] ` <5287B9E4.1020107-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org>
  0 siblings, 1 reply; 10+ messages in thread
From: Guenter Roeck @ 2013-11-16 18:31 UTC (permalink / raw)
  To: linux-i2c-u79uwXL29TY76Z2rM5mHXA, Jean Delvare

Hi all,

I have an interesting situation with multiple i2c multiplexers (pca9548) on a single i2c bus.

The problem with this is that multiple mux i2c adapters and up with the same name,
"i2c-N-mux (chan_id M)", where N is the parent bus number and M is the mux channel.
This makes it difficult to identify the actual mux chip serving a mux adapter.

Here is an example with two pca9548 in a system, both connected to i2c bus 2 (which is
itself a mux connected to bus 0).

# grep . */name
i2c-0/name:MPC adapter at 0xfff703000
i2c-1/name:MPC adapter at 0xfff703100
i2c-10/name:i2c-2-mux (chan_id 7)
i2c-11/name:i2c-2-mux (chan_id 0)
i2c-12/name:i2c-2-mux (chan_id 1)
i2c-13/name:i2c-2-mux (chan_id 2)
i2c-14/name:i2c-2-mux (chan_id 3)
i2c-15/name:i2c-2-mux (chan_id 4)
i2c-16/name:i2c-2-mux (chan_id 5)
i2c-17/name:i2c-2-mux (chan_id 6)
i2c-18/name:i2c-2-mux (chan_id 7)
i2c-19/name:i2c-0-mux (chan_id 1)
i2c-2/name:i2c-0-mux (chan_id 0)
i2c-20/name:i2c-0-mux (chan_id 2)
i2c-21/name:i2c-0-mux (chan_id 3)
i2c-22/name:i2c-0-mux (chan_id 4)
i2c-23/name:i2c-0-mux (chan_id 5)
i2c-24/name:i2c-0-mux (chan_id 6)
i2c-25/name:i2c-0-mux (chan_id 7)
i2c-3/name:i2c-2-mux (chan_id 0)
i2c-4/name:i2c-2-mux (chan_id 1)
i2c-5/name:i2c-2-mux (chan_id 2)
i2c-6/name:i2c-2-mux (chan_id 3)
i2c-7/name:i2c-2-mux (chan_id 4)
i2c-8/name:i2c-2-mux (chan_id 5)
i2c-9/name:i2c-2-mux (chan_id 6)

In this example, i2c-3 and i2c-11 share the same name, as do i2c-4 and i2c-12 and so on.
If I now have, say, temperature sensors on address 0x49 on both i2c-3 and i2c-11,
I have no means to determine the location of those temperature sensors. Sure,
I can figure it out manually, but if something changes in bus numbering I have
to start all over again.

Would it be possible to add the chip address into the mux name ? Something like
	i2c-N-XX-M-mux
where N is the parent bus number, XX is the mux i2c address, and M is the mux channel.
I understand this may require an API change, as the mux chip is not necessarily an i2c
and the i2c-mux core code doesn't really care what the mux chip is. So maybe there is
a different/better solution; ultimately, what I need is really a means to identify
the mux chip if there are multiple muxes on a single i2c bus. And, of course, unique
i2c adapter names would be nice to have as well.

Is there another way to identify the mux adapter chip through sysfs in this situation ?

Thanks,
Guenter

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2013-11-18 17:14 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-11-16 18:31 Problem with multiple i2c multiplexers on one bus, and mux bus naming Guenter Roeck
     [not found] ` <5287B9E4.1020107-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org>
2013-11-16 20:41   ` Jean Delvare
     [not found]     ` <20131116214116.3d035b76-R0o5gVi9kd7kN2dkZ6Wm7A@public.gmane.org>
2013-11-16 20:43       ` Jean Delvare
     [not found]         ` <20131116214318.1d101d35-R0o5gVi9kd7kN2dkZ6Wm7A@public.gmane.org>
2013-11-17 18:56           ` Guenter Roeck
     [not found]             ` <20131117185624.GA23639-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org>
2013-11-17 20:41               ` Jean Delvare
     [not found]                 ` <20131117214102.236ae09a-R0o5gVi9kd7kN2dkZ6Wm7A@public.gmane.org>
2013-11-17 21:13                   ` Guenter Roeck
     [not found]                     ` <52893187.3000600-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org>
2013-11-18 14:14                       ` Jean Delvare
     [not found]                         ` <20131118151441.0ad2b5d8-R0o5gVi9kd7kN2dkZ6Wm7A@public.gmane.org>
2013-11-18 17:14                           ` Guenter Roeck
2013-11-17 17:23       ` Guenter Roeck
     [not found]         ` <5288FB94.6000304-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org>
2013-11-17 20:31           ` Jean Delvare

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).