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

Reply via email to