All of lore.kernel.org
 help / color / mirror / Atom feed
* Multiple ic2 muxes in a device tree
@ 2011-05-10 19:24 James Baldwin
       [not found] ` <1B936DB9F22546409EE7E2F50AE76BEE02031931-9O/25/N66ri8qk8cMQiaxVaTQe2KTcn/@public.gmane.org>
  0 siblings, 1 reply; 4+ messages in thread
From: James Baldwin @ 2011-05-10 19:24 UTC (permalink / raw)
  To: devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ


[-- Attachment #1.1: Type: text/plain, Size: 4644 bytes --]

I have tried many different combinations based on what I've been able to
find on

the internet over the last week and have reached a dead end.

 

I have the following i2c topology and specify the devices as follows:
Linux 2.6.38.5

only seems to recognize the devices connected directly to the i2c
controller when it boots.

 

I can add the muxes and lm73/m41st85 manually using the echo command
from the console:

"echo pca9547 0x70 > /sys/bus/12c/devices/i2c-2/new_device"

 

This tells me I have three prime candidates for potential issues.

1)  The device tree specification is incorrect

2)  The device tree processing is incorrect (It is 'appears'
correct in the /proc/devicetree hierarchy)

3)  The probing code for i2c devices doesn't currently traverse muxes
properly.

 

As validating the device tree should be the simplest to eliminate (and
is the part I'm

Directly involved with), I'd appreciate any Constructive comments on
solving this problem.

 

             |

i2c ctrl ----|

             |---lm73@0x49

             |

             |---24c02@0x54

             |

             |---pca9547@0x77---|

             |                  |-Chan 0---|---pca9547@0x70

             |                  |          |

             |                  |

             |                  |-Chan 1---|---pca9547@0x71

             |                  |          |

             |                  |

             |                  |-Chan 2---|---pca9547@0x72

             |                  |          |

             |                  |

             |                  |-Chan 3---|---pca9547@0x73

             |                  |          |

             |                  |

             |                  |-Chan 4---|---pca9547@0x74

             |                  |          |

             |                  |

             |                  |-Chan 5---|---pca9547@0x75

             |                  |          |

             |                  |

             |                  |-Chan 6---|---m41st85@0x68

             |                  |

             |                  |-Chan 7---|---lm73@0x48

             |                  |

 

i2c@3100 {

        #address-cells = <1>;

        #size-cells = <0>;

        cell-index = <1>;

        compatible = "fsl-i2c";

        reg = <0x3100 0x100>;

        interrupts = <15 0x8>;

        interrupt-parent = <&ipic>;

        dfsrr;

 

        temp-sensor@49 {

                compatible = "national,lm73";

                reg = <0x49>;

        };

 

        eeprom@54 {

                compatible = "at24,24c02";

                reg = <0x54>;

                pagesize = <4>;

        };

 

        mux@77 {

                #address-cells = <2>;

                #size-cells = <0>;

                compatible = "philips,pca9547";

                reg = <0x77>;

 

                mux@0,70 {

                        #address-cells = <2>;

                        #size-cells = <0>;

                        compatible = "philips,pca9547";

                        reg = <0 0x70>;

                };

 

                mux@0,71 {

                        #address-cells = <2>;

                        #size-cells = <0>;

                        compatible = "philips,pca9547";

                        reg = <1 0x71>;

                };

 

                mux@0,72 {

                        #address-cells = <2>;

                        #size-cells = <0>;

                        compatible = "philips,pca9547";

                        reg = <2 0x72>;

                };

 

                mux@0,73 {

                        #address-cells = <2>;

                        #size-cells = <0>;

                        compatible = "philips,pca9547";

                        reg = <3 0x73>;

                };

 

                mux@0,74 {

                        #address-cells = <2>;

                        #size-cells = <0>;

                        compatible = "philips,pca9547";

                        reg = <4 0x74>;

                };

 

                mux@0,75 {

                        #address-cells = <2>;

                        #size-cells = <0>;

                        compatible = "philips,pca9547";

                        reg = <0 0x75>;

                };

 

                temp-sensor@7,48 {

                        compatible = "national,lm73";

                        reg = <7 0x48 >;

                };

 

                rtc@6,68 {

                        compatible = "stm,m41st85";

                        reg = <6 0x68>;

                };

        };

 

};

 

 

Thanks,

Jim Baldwin




[-- Attachment #1.2: Type: text/html, Size: 31291 bytes --]

[-- Attachment #2: Type: text/plain, Size: 192 bytes --]

_______________________________________________
devicetree-discuss mailing list
devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org
https://lists.ozlabs.org/listinfo/devicetree-discuss

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

end of thread, other threads:[~2011-05-10 21:31 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-05-10 19:24 Multiple ic2 muxes in a device tree James Baldwin
     [not found] ` <1B936DB9F22546409EE7E2F50AE76BEE02031931-9O/25/N66ri8qk8cMQiaxVaTQe2KTcn/@public.gmane.org>
2011-05-10 19:54   ` Stephen Warren
2011-05-10 21:00   ` Mitch Bradley
     [not found]     ` <4DC9A785.1040209-D5eQfiDGL7eakBO8gow8eQ@public.gmane.org>
2011-05-10 21:31       ` Grant Likely

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.