The Jetpack 5.1 announcement, JetPack 5.1 with Jetson Linux 35.2.1 Released, included mention of support for AR1335 cameras. We use the AR1335 based e-CAM130A_CUXVR from e-con systems so I have been testing the support included now in Jetpack and it seems to me that there is an addressing issue in the device tree. Below I provide some details in case it helps others.
Jetpack 5.1.1 includes a kernel module driver for the AR1335 based off e-con’s and a device tree overlay for the eCAM130A_CUXVR. There is no flashing configuration file by default that includes the overlay so I created one and flashed a Xavier AGX dev kit but the camera detection fails.
invalid GPIO 65019
...
ar1335 30-0042: pwdn gpios not in DT
The eCAM130A_CUXVR has a base board that mounts to the expansion header of the xavier carrier board and has an I2C GPIO chip that provides the GPIOs that control camera power down and reset etc. Detection of this GPIO chip fails:
pca953x 1-0022: using AI
pca953x 1-0022: failed writing register
pca953x: probe of 1-0022 failed with error -121
When running Jetpack 5.0.1 and software provided by e-con this detection looks like:
pca953x 7-0022: using AI
gpio-281 (tca6424_22_outlow): hogged as output/low
gpio-282 (tca6424_22_outlow): hogged as output/low
...
Note that the I2C address that is being used for the GPIO chip is different, 7-0022 vs 1-0022
I downloaded the Jetpack sources and looking at the dtsi files the file kernel-dts/common/tegra194-p2822-camera-eCAM130A_CUXVR.dtsi has the following
i2c@c240000 {
#address-cells = <1>;
#size-cells = <0>;
tca6424_22: tca6424@22 {
but the corresponding e-con supplied dtsi file has a different address for the I2C bus, c250000 instead of c240000, which signifies a different bus controller:
i2c@c250000 {
status = "okay";
#address-cells = <1>;
#size-cells = <0>;
tca6424_22: tca6424@22 {
I changed the incorrect address c240000 to c250000 in the 3 dts files where it is used, built the dtbs and copied the built tegra194-p2822-camera-eCAM130A_CUXVR-overlay.dtbo and tegra194-p2888-0001-p2822-0000.dtb into the Linux_for_Tegra tree. I reflashed the dev kit and cameras were successfully detected.
So it seems to me that the Jetpack5.1 support for eCAM130A_CUXVR works except for this addressing error. Hopefully this can be corrected in the next release