Integrating ADV7282-m with Orin NX

Hello,

I want to integrate the adv7282-m with orin nx(jetpack 5). I have gone through some forums related to this PAL to mipi conversion. But these all forums and patch files are related to jetpack 3 and 4.

Can i use the same driver code which they given in that forum?

Thanks in advance.

Regards,
Kamalesh

Suppose yes.

Hi ShaneCCC,

Thank you for the confirmation. In device tree side, I have to create the seperate one for adv-7282m and do compilation as like earlier jetpack method.

Please confirm, if my above statement is correct or not?

Some other forums, they are saying like we dont need subnode properties in i2c and we can harcode it. I can’t get this point.
Could you please explain these and also suggest any documentation will help us to do the integration of adv7282-m with orin nx?

Regards,
Kamalesh

I don’t understand why need hardcode the i2c properties?
Does you hardware don’t need i2c command to initialize the output?

Actually i have seen in this below forum. could you please see once in #76th chat. They have mentioned like no subnode.

Also i have downloaded the attachment which does not have the mode properties in device-tree. If there is no resolution in device tree means, where i have to give those settings?

I am stucking because of this confusion. could you please tell me what was the issue here?

What kind of steps have to be taken for this?

Thank you.

Regards,
kamalesh

Doesn’t looks like relative with i2c.
By the way for Orin NX you need to modify the csi5_fops.c and vi5_fops.c instead of csi2 and vi2.

Hi,

Okay.

What kind of modification? Is there any patch file for this to apply?

Could you please explain bit more.

Regards,
Kamalesh

Please download the kernel source code to know the driver to apply the modification.

https://docs.nvidia.com/jetson/archives/r35.1/DeveloperGuide/text/SD/CameraDevelopment/SensorSoftwareDriverProgramming.html?highlight=pix_clk_hz#

Hi,

I have already downloaded the source code from BSP website.

This below path having those files
/Linux_for_Tegra/source/public/kernel/nvidia/drivers/media/platform/tegra/camera/nvcsi/csi5_fops.c

Next, what i have to do?

Regards,
Kamalesh

Check below document to know the detail.

https://docs.nvidia.com/jetson/archives/r35.1/DeveloperGuide/text/SD/CameraDevelopment/SensorSoftwareDriverProgramming.html?highlight=pix_clk_hz#

Hi Shane,

Sorry for the late reply.

I have gone through the above link.

Now while integrating these adv7282m in L4T 35.4.1, I am facing other difficulties. I attached the driver as well as device tree. But Video node creation is not happening. I have loaded the driver as dynamically. Loaded without any error. I have checked the lsmod, driver loaded. But while checking the dmesg, there is no information regarding adv7282-m.

I gone through some other forum, they are saying to check the i2c declaration in device tree. I have checked and corrected the device tree. I have given driver as well as device tree. Could you please check and tell me? what was the issue here?

I have taken the driver from raspberry pi website for kernel-5.10. I made device tree. I have given some printk statement in driver file. These print statement also not coming.

NOTE: I have not connected the adv7282m board. Is there any condition like presence of device only video node will create?

Please check below link.

https://drive.google.com/drive/folders/19vX4iRs25puf3MdyC6qjfZ5VCqF7M0H6?usp=drive_link

Thanks in advance.

Regards,
Kamalesh

Hi,

Is there any updates?

Dump the device tree to confirm your dts was applied correctly.

sudo dtc -I fs -O dts -o extracted_proc.dts /proc/device-tree

Thanks

Hi,

I have checked the device tree. This ADV7282-m details are updated in the main dtb. What was the issue now?

Thanks

Usually the driver didn’t load could be the “compatible” doesn’t match or in incorrect i2c scope.

Maybe try to build it to loadable kernel module(.ko) to probe manually to check the message.

Hi,

I have used the compatible as “adi, adv7282-m”. General driver have all the compatible string in same structure array.

Basically I am using the general driver of adv7180.c. I have changed the compatible string as adi,adv7280-m. This change updated in kernel and i have received the kernel messages in dmesg. But using this “adi, adv7282-m”, I am not at all receiving messages.

Why it is happening like this?

Regards,
Kamalesh

Hi,

Is there any update for us?

Regards,
Kamalesh

Don’t understand your description.
Do you try build as ko to try?

Hi,

Yes i have tried. There are two cases listed below:

Aim - To load the driver specifications for adv7282-m(PAL to MIPI).

Note:- I have loaded the adv7180.c driver in both cases.

CASE 1 - In device tree , Compatible string is adi,adv7282-m(failed and no debug messages).

CASE 2 - Compatible string is adi,adv7180(loaded and debug messages came).

Now, I dont want to load the properties of adv7180. I have to load the properties of adv7282-m. But if i give the compatible string as adi,adv7282m, It is not loading properly.

I have tried .ko file loading also, no use.

Regards,
Kamalesh

That’s obviously could be the compatible string didn’t match to load the driver.