Hi, Scott

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

Felix Radensky wrote:
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.
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

_______________________________________________
Linuxppc-embedded mailing list
Linuxppc-embedded@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-embedded

Reply via email to