Jetson Nano Devkit Camera EV9500M

Hello everyone,

Last days I’ve been trying to build the modules and device tree of the EV9500M sony camera onto a jetson nano devkit.
I’m running the attached ev9500m.c (ev9500m.txt) script, which has been cross-compiled and probed in the jetson’s kernel.
I’m also attaching (as extracted_proc.txt) the extracted device tree from the jetson using the command: dtc -I fs /proc/device-tree -O dts -o extracted_proc.dts

extracted_proc.txt (325.5 KB)
ev9500m.txt (13.2 KB)

(I uploaded as .txt since the other formats .c and .dts weren’t possible)

The result when I probe the camera device is:

[ 832.739818] DOP I am here @ ev9500m probe
[ 832.739825] ev9500m 6-0010: DOP probing ev9500m v4l2 sensor at addr 0x10
[ 832.746644] DOP I am here devm_kzalloc after
[ 832.746649] DOP I am here — if (!priv) — after
[ 832.746658] DOP I am here — tc_dev = devm_kzalloc — after
[ 832.746661] DOP I am here — if (!tc_dev) — after
[ 832.747065] ev9500m 6-0010: mclk absent,assuming sensor driven externally
[ 832.754001] ev9500m 6-0010: tegracam sensor driver:ev9500m_v2.0.6
[ 832.754003] DOP The Err value tegracam_device_register 0
[ 832.754005] DOP I am here tegracam_device_register after
[ 832.754008] DOP The Err value ev9500m_board_setup 0
[ 832.754016] DOP The Err value tegracam_v4l2subdev_register 0
[ 832.754018] DOP I am here tegracam_v4l2subdev_register after
[ 832.754021] ev9500m 6-0010: DOP detected ev9500m sensor
[ 832.759342] DOP S…S…

Which looks like the probe has been conducted properly. However, when I try to list the video devices, this is the result:

v4l2-ctl --list-devices
Failed to open /dev/video0: No such file or directory

Also, after the driver is loaded, the device /dev/media0 was added:

jetson@jetson:/dev$ ls | grep media
media0

Can someone help me to understand why there is not any video device listed after the driver is probed?

Thanks!!
Regards,
Marco

Please trace into the tegracam_device_register () to know the root cause.

Thanks

Dear Shane,

I was checking tegracam_device_register function in linux kernel (/home/jetson/Linux_for_Tegra/source/public/kernel/nvidia/drivers/media/platform/tegra/camera), and I found out that this point is actually reached in the output of dmesg:

dev_info(dev, “tegracam sensor driver:%s_v%d.%d.%d\n”,
tc_dev->name, TEGRACAM_MAJOR_VERSION,
TEGRACAM_MINOR_VERSION, TEGRACAM_PATCH_VERSION);

What else should I check in this function?

The key should be in the video_register_device() function at …/drivers/media/platform/tegra/camera/vi/graph.c