Imx390 driver can not work in jetpack 4.4 and 4.4 developer preview

Hi all,

The camera driver I used enable me to open 8 cams. But in Jetpack 4.4, it can not work.

I have 4 deserializer board. The first camera of every camera deserializer board can not be opened. The second one of every camera deseializer board can be opened. But I can not open two different camera, I can only open one camera each time, or I need to reboot.

This is my dmesg log. The address it mentioned seems to be ser_prim in tegra194-p2822-0000-camera-imx390-a00.dtsi.

dmesg.log (6.1 KB)

Thanks in advance

hello 346842280,

may I know what’s your connection of these 8 cameras;
could you please review Port Index session, may I know is this failure related to sharing a CSI port.

Hi JerryChang. Thank you for your reply. I solved this problem today by replacing max9296 and using the one in older version(jetpack 4.2).

hello 346842280,

is this SerDes issue or you’re saying there’s regression after upgrade to JetPack-4.4?

It only happens in jetpack 4.4 and 4.4 dp. In 4.3 and 4.2, I don’t have to replace original max9296 source code

hello 346842280,

I’m still wondering it’s a bug, could you please compare max9296 source codes to check the difference,
according to L4T release notes, there’s known issues related to SerDes driver;
you may check issue-id 2574909 for descriptions.

HI JerryChang,

max9296.patch.txt (6.2 KB)
This is the patch file I make about max9296.c

Hi JerryChang.

I just found another problem. There is a small online update for xavier. And after I updated and reboot, the video devices in /dev are gone

hello 346842280,

could you please share the commands you’re used for software updates,
you might also share the details of sw version with the failures, i.e. $ cat /etc/nv_tegra_release.

This is the /etc/nv_tegra_release that works for me

# R32 (release), REVISION: 4.3, GCID: 21589087, BOARD: t186ref, EABI: aarch64, DATE: Fri Jun 26 04:34:27 UTC 2020

We are about to do another testing, so I will try to update later.
And for the update, it just a pop-out update of linux. But it contained update for kernel, like bootloader

hello 346842280,

thanks, looking for your testing results.

Hi JerryChang.

If I use sudo apt-get upgrade, it will update kernel and the video nodes in /dev will be gone. The info in /etc/nv_tegra_release is the same

There is one thing. I2c bus switch (tca9546) can not be used in updated version. So the multiplexed i2c channel for camera are gone. Is there a way to solve this issue?

hello 346842280,

you’re using sudo apt-get upgrade to have software updates, it’ll download kernel images from nvidia repository.
since you have your own implementation, such software update overwrite your customization.

you may maintain the kernel source by running the script, to add your patches and recompile the kernel images.
or, you could built your driver as Loadable Kernel Module (LKM).

The problem has been solved. Thank you!