Hi all~
i tested custom board and that using max9295 + max9296 + imx390 serdes with two cameras
almost same but different thing is Link A is YUV and LINK B is RGB.
first camera is /dev/video0 and modified to YUV and it is works well
2nd camera is /dev/video1 and RG12 as same as reference setting.
but not work and v4l2 status printed ‘no power’
and i teseting gstreamer with v4l2src but it got Internal data stream error.
gst-launch-1.0 v4l2src device=/dev/video0 ! fakesink
// ...
ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Internal data stream error.
Additional debug info:
../libs/gst/base/gstbasesrc.c(3127): gst_base_src_loop (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
streaming stopped, reason not-negotiated (-4)
ERROR: pipeline doesn't want to preroll.
so i checking v4l2-ctl but /dev/video1 status is (no power)
test@test-desktop:~$ v4l2-ctl -d /dev/video1 --all
Driver Info (not using libv4l2):
Driver name : tegra-video
Card type : vi-output, imx390 2-001c
Bus info : platform:15700000.vi:0
Driver version: 4.9.140
Capabilities : 0x84200001
Video Capture
Streaming
Extended Pix Format
Device Capabilities
Device Caps : 0x04200001
Video Capture
Streaming
Extended Pix Format
Priority: 2
Video input : 0 (Camera 0: no power)
Format Video Capture:
Width/Height : 1920/720
Pixel Format : 'RG12'
Field : None
Bytes per Line : 3840
Size Image : 2764800
Colorspace : sRGB
Transfer Function : Default (maps to sRGB)
YCbCr/HSV Encoding: Default (maps to ITU-R 601)
Quantization : Default (maps to Full Range)
but /dev/video0 is works well
test@test-desktop:~$ v4l2-ctl -d /dev/video0 --all
Driver Info (not using libv4l2):
Driver name : tegra-video
Card type : vi-output, imx390 2-001b
Bus info : platform:15700000.vi:0
Driver version: 4.9.140
Capabilities : 0x84200001
Video Capture
Streaming
Extended Pix Format
Device Capabilities
Device Caps : 0x04200001
Video Capture
Streaming
Extended Pix Format
Priority: 2
Video input : 0 (Camera 0: ok)
Format Video Capture:
Width/Height : 1920/720
Pixel Format : 'YUYV'
Field : None
Bytes per Line : 3840
Size Image : 2764800
Colorspace : sRGB
Transfer Function : Default (maps to sRGB)
YCbCr/HSV Encoding: Default (maps to ITU-R 601)
Quantization : Default (maps to Limited Range) :
// ...
i checked vi4_power_on or off function and dmesg, i2c … but i cant find error or different msg even
not different. and two port are works well when i set only /dev/video0 but /dev/video1 is not work.
You have to check the driver to know what cause the debugfs created failed. However if both of the register video node successfully maybe can ignore this message.
BTW what do you mean “cam device has works good but my device has still not work”
That means cam devices has own encoder and it dont need a specific setup kinds.
and i checked max9296 sio pins and transferring data from cam devices. too
but i can not checking details kinds of clk or data yet because cam devices have something problem and i will fix that next week.
anyway i checked device driver and DT .
imx390 2-001b: imx390_probe: debugfs name imx390_a
imx390 2-001c: imx390_probe: debugfs name imx390_a
This board design is for virtual channel support that tell both of imx390_a/imx390_b connect to the same CSI port but gmsl output different vcid for different sensor.
From your have verified one sensor working well at least the Max9296 → NVCSI without problem.
I think it could be the senor configure problem. You can dedicate on video1 to get the trace log for checking.
i think that problem is senor configure problem. because i changed YUV → RGB on DT for /dev/video0.
gst-device-monitor-1.0 can’t discover devices. but i changed /dev/video0 and /dev/video1 to YUV.
gst find both but problem is RGB setting is jetpack 4.4 reference.
i fixed RGB fpga chips and fixing wrong codes and enabled rgb888
root@test-desktop:/home/test# v4l2-ctl -d 1 --all
Driver Info (not using libv4l2):
Driver name : tegra-video
Card type : vi-output, imx390 2-001c
Bus info : platform:15700000.vi:0
Driver version: 4.9.140
Capabilities : 0x84200001
Video Capture
Streaming
Extended Pix Format
Device Capabilities
Device Caps : 0x04200001
Video Capture
Streaming
Extended Pix Format
Priority: 2
Video input : 0 (Camera 0: no power)
Format Video Capture:
Width/Height : 1920/720
Pixel Format : 'AR24'
Field : None
Bytes per Line : 7680
Size Image : 5529600
Colorspace : sRGB
Transfer Function : Default (maps to sRGB)
YCbCr/HSV Encoding: Default (maps to ITU-R 601)
Quantization : Default (maps to Full Range)
Flags :
I asked that and the FPGA sides answered that ’ we got nothing to wrong and check your SW settings’.
The HW and FPGA said video data is sending and serdes registers setting is works.
but data isnt coming. so i want to check DT for CSI and MIPI settings.
Anyway i have questions about serdes and csi .
my question is
Can I using Virtual Channel?
reference using vc and i had same setting too. but my custom device is get yuvu and rgb888 data from serdes (max9296, max9295) .
YUV is 16 bit and RGB is 24 bits so is it have to using different csi port on gmsl-link ?
and how to changing that?