On Thu, Jun 5, 2008 at 10:18 AM, Timur Tabi <[EMAIL PROTECTED]> wrote: > Grant Likely wrote: > >> [EMAIL PROTECTED] { >> #size-cells = <1>; >> #address-cells = <1>; >> ranges = <0 0xe00000000 0x1000>; >> [EMAIL PROTECTED] { >> cell-index = <0>; >> regs = <0 0x100>; >> } >> [EMAIL PROTECTED] { >> cell-index = <1>; >> regs = <0x100 0x100>; >> } >> } >> [EMAIL PROTECTED] { >> #size-cells = <1>; >> #address-cells = <1>; >> ranges = <0 0xe10000000 0x1000>; >> [EMAIL PROTECTED] { >> cell-index = <0>; >> regs = <0 0x100>; >> } >> [EMAIL PROTECTED] { >> cell-index = <1>; >> regs = <0x100 0x100>; >> } >> } > > What resources are being shared in this example? Each I2C device has its own > address ranges. I don't see how cell-index provides any useful info here.
As I said; *assume* that the i2c devices have shared resources. I didn't explicitly show them in the example, but assume that there are shared registers in the multifunction nodes. cell-index provides details about which bits in the shared registers belong to the device, but since there are 2 identical multifunction devices in the system there are 2 sets of shared regs. You cannot now use the values 0, 1, 2 and 3 for each cell index because '2' and '3' have no valid meaning on how to reference the shared resource. So, cell-index isn't useful for enumerating the i2c busses at the system level. Cheers, g. -- Grant Likely, B.Sc., P.Eng. Secret Lab Technologies Ltd. _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev