Other Parts Discussed in Thread: AM625
Hi Ti,
is there any example for GMSL camera, including dts setting, camera driver and v4l2/gstreamer example?
what should be the easiest way to port GSML link camera, can you suggest?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Hi Ti,
is there any example for GMSL camera, including dts setting, camera driver and v4l2/gstreamer example?
what should be the easiest way to port GSML link camera, can you suggest?
can you suggest how to make video device /dev/video0 ready using GMSL or FPD link camera?
Let me check internally and see if I can find any guidance on this. Please expect some delay in response.
Please refer to the FPLink drivers in TI's Linux kernel:
Also, the CSI2 RX driver: https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/tree/drivers/media/platform/ti/j721e-csi2rx/j721e-csi2rx.c?h=ti-linux-5.10.y
thanks, I will check how to write a dummy sensor driver.
have you ever checked if internal has already a solution on it?
actually I'm not talking about the GMSL driver, I'm talking about dummy sensor driver, which help to link to V4L2 subsystem even no sensor attached.
I hope the source code that I provided earlier can help you understand what is needed for a dummy driver.
Hi Jianzhong,
Where does the data flow through csi2rx go, can you point out this part of the code?
Hi Leijie,
Could you please elaborate more on your question?
Thanks,
Jianzhong
Hi Jianzhong,
the data flow is generally sensor->mipi->isp, I think am625 has no isp, so I wonder is csi2rx put the data directly to ram through dma?
so all related components in SOC should be cdns-dphy.c cdns-csi2rx.c and j721e-csi2rx.c, any others? please corrct me if it's not right.
so I wonder is csi2rx put the data directly to ram through dma?
Yes, that is correct.
all related components in SOC should be cdns-dphy.c cdns-csi2rx.c and j721e-csi2rx.c, any others?
Yes, this is correct as well.
This CSI2RX documentation page explains well. Specifically,
Regards,
Jianzhong
Hi Jianzhong,
with the dummy sensor driver, now I see below result, can you comment if it's as expect.
why there's 4 video node?
root@am62xx-z067-dms:/sys/class/gpio# v4l2-ctl --list-devices j721e-csi2rx (platform:30102000.ticsi2rx): /dev/video0 /dev/video1 /dev/video2 /dev/video3 /dev/media0 root@am62xx-z067-dms:/sys/class/gpio# media-ctl -d /dev/media0 -p Media controller API version 5.10.109 Media device information ------------------------ driver j721e-csi2rx model TI-CSI2RX serial bus info platform:30102000.ticsi2rx hw revision 0x1 driver version 5.10.109 Device topology - entity 1: 30102000.ticsi2rx (5 pads, 5 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev0 pad0: Sink <- "cdns_csi2rx.30101000.csi-bridge":1 [ENABLED,IMMUTABLE] pad1: Source -> "30102000.ticsi2rx context 0":0 [ENABLED,IMMUTABLE] pad2: Source -> "30102000.ticsi2rx context 1":0 [ENABLED,IMMUTABLE] pad3: Source -> "30102000.ticsi2rx context 2":0 [ENABLED,IMMUTABLE] pad4: Source -> "30102000.ticsi2rx context 3":0 [ENABLED,IMMUTABLE] - entity 7: cdns_csi2rx.30101000.csi-bridge (5 pads, 2 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev1 pad0: Sink <- "dummy_csi2_sensor":0 [ENABLED,IMMUTABLE] pad1: Source -> "30102000.ticsi2rx":0 [ENABLED,IMMUTABLE] pad2: Source pad3: Source pad4: Source - entity 13: dummy_csi2_sensor (1 pad, 1 link) type V4L2 subdev subtype Sensor flags 0 device node name /dev/v4l-subdev2 pad0: Source [fmt:UYVY8_2X8/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:full-range] -> "cdns_csi2rx.30101000.csi-bridge":0 [ENABLED,IMMUTABLE] - entity 19: 30102000.ticsi2rx context 0 (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video0 pad0: Sink <- "30102000.ticsi2rx":1 [ENABLED,IMMUTABLE] - entity 25: 30102000.ticsi2rx context 1 (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video1 pad0: Sink <- "30102000.ticsi2rx":2 [ENABLED,IMMUTABLE] - entity 31: 30102000.ticsi2rx context 2 (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video2 pad0: Sink <- "30102000.ticsi2rx":3 [ENABLED,IMMUTABLE] - entity 37: 30102000.ticsi2rx context 3 (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video3 pad0: Sink <- "30102000.ticsi2rx":4 [ENABLED,IMMUTABLE] root@am62xx-z067-dms:/sys/class/gpio#
Hello Leijie,
Yes, that's expected. TI's CSI2-RX driver wrapper (j721e-csi2rx.c) creates these video devices. They are not only for camera sensors, but also for other things using DMA. In addition, creating multiple video devices can support multiple sensors (that would require a CSI aggregator).
Regards,
Jianzhong