Thread (3 messages) 3 messages, 2 authors, 2008-10-27

Re: I2C mux and device tree

From: Felix Radensky <hidden>
Date: 2008-10-27 23:05:46

Hi, Scott

Scott Wood wrote:
[added linuxppc-dev for a wider audience]

Felix Radensky wrote:
quoted
I run linux-2.6.26 on custom 460EX based board.
This platform has PCA9548 I2C mux on I2C bus 0.
I was wondering how can I describe the mux itself
and devices behind it (e.g RTC and temperature sensors)
in the device tree.
Describe it as a node that is both an i2c client and an i2c controller.

The Sun i2c binding says that i2c devices should have two reg cells, 
the first being the bus number within the controller, and the second 
being a shifted-left-by-one i2c bus address (as opposed to the 
one-cell non-shifted address we currently use, because the Sun binding 
wasn't known to us at the time).

We could extend of_register_i2c_devices to understand two-cell 
addresses, and call it once for each sub-bus with the bus number as a 
parameter.
That would be nice.
I have everything working now, using platform data and 
i2c_register_board_info() in board setup
code. But it would be great to have everything defined in device tree.
quoted
If this is impossible at the moment, what other means
exist to work with devices behind the mux ? I have
found the pca954x patch and related virtual i2c patch
and was able to integrate them intro my kernel.
You'll have to update it to be a new-style i2c device, unless there's 
a newer version floating around that what a quick google search turned 
up.
The latest version uses new-style i2c device, see
http://www.mail-archive.com/i2c%40lm-sensors.org/msg01538.html

Unfortunately it was not accepted.
-Scott

_______________________________________________
Linuxppc-embedded mailing list
Linuxppc-embedded@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-embedded
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help