Unable to detect camera through i2c in camera expansion port in xavier nx

I connected ov5640 module using a flat flex cable to the camera connector in Xavier NX.
I tried to detect the i2c slave address of the camera using “i2cdetect -y -r 2” but I am unable to detect it.
Is there any other way to detect it ?
The camera is working fine in another platform but I am unable to detect i2c slave in NX.

Please have HW guide to probe to check to analysis it.

You should check the I2C signals first to make sure no hardware issue.

Hi @Trumany ,
I probed using a oscilloscope to see if I get a signal in the I2C lines, I was able to get i2c signal through the corresponding lines in camera connector cam1.

Hi @Trumany @ShaneCCC ,
the CAM0_PWDN pin should be set to logic high for my camera to work.
Seems only the 40 PIN header can be controlled , How can I set the pin(CAM0_PWDN) to high?

Reference to …/hardware/nvidia/platform/t19x/jakku/kernel-dts/common/tegra194-camera-jakku-rbpcv2-imx219.dtsi to add CAM0_PWDN for it.

Hi @ShaneCCC ,
Is there any way to control the pin from user-space ?

It’s define as below. You can check the TEGRA194_MAIN_GPIO macro to find the GPIO number.

#define CAM0_PWDN TEGRA194_MAIN_GPIO(P, 4)

Also you can add your pin to camera-control-output-high like below to make it status as high after kernel boot up.

	gpio@2200000 {
85 		camera-control-output-high {
86 			status = "okay";
87 			gpio-hog;
88 			gpios = <CAM1_RST_HDMI 0>;
89 			output-high;
90 			label = "cam1-rst";
91 		};

Hi @ShaneCCC,
I made the changes to device tree to keep the pin high and its working.
Now i am able to detect the i2c slave address of camera in cam0 but unable to detect in cam1 port.
I tried to probe using oscilloscope to see if i get any signal but not able to get any signal. Is there anyway it might be disabled by default if so how to enable it?

Both of them connect to the same bus? May need to consider the slave address conflict problem.

1 Like