jetson tx2: dtsi: gpio expansion node hierarchy in multiple camera case

Following the design from “Nvidia Jetson Camera module - Hardware design guide”(https://developer.nvidia.com/embedded/dlc/jetson-camera-module), we have designed a custom board that supports 6 cameras (i2c@0-5) which are behind an I2C mux. A single GPIO expander (i2c@6) is also behind the i2c mux.

We are working on the device tree changes using t18x-common-modules/tegra186-camera-e3333-a00.dtsi as the reference. But the corresponding quill file does not put the gpio expansion node inside the i2c mux. Is this the right way to design the device tree?

i2c@3180000 {
		tca6408_21: tca6408@21 {
			compatible = "ti,tca6408";

My understanding is that this gpio expansion node should be placed inside an i2c node (i2c@6 in this case)

i2c@3180000 {
	tca9548_77: tca9548@77 {
			compatible = "nxp,pca9548";
			reg = <0x77>;

			i2c@6 {
		                 tca6408_21: tca6408@21 {
                     			compatible = "ti,tca6408";

I think the expansion is connect to tegra i2c not instead of mux on quill design.

Yes, according to the quill dtsi it is connected to tegra i2c.

But if you have a look at page 20 of this guide which we have followed to design our interposer board (https://developer.nvidia.com/embedded/dlc/jetson-camera-module), you will i2c gpio expander behind i2c mux.

So should we modify quill dtsi according to that or not which was my original question.

You should modify it depend on you HW design.