:*Kernel version: <code>Linux raspberrypi 6.12.25+rpt-rpi-2712 #1 SMP PREEMPT Debian 1:6.12.25-1+rpt1 (2025-04-30) aarch64 GNU/Linux</code>
:<mark>'''[STEP1]'''</mark>
:Add the following two lines to the <code>/boot/firmware/config.txt</code> file:
<pre>
dtoverlay=tc358743,4lane=1
</pre>
:<mark>'''[STEP2]'''</mark>
:After adding the driver configuration, restart the Raspberry Pi for the changes to take effect. If the configuration is correct, execute the following command in the terminal: <code>ls /dev/video*</code>. The configuration is successful if video devices appear in the output:
<pre>
pi@raspberrypi:~/Desktop $ ls /dev/video*
</pre>
:<mark>'''[STEP3]'''</mark>
:First, execute the command <code>nano 1080p60edid</code> in the terminal to create an EDID file for 1080p60Hz. The content of this file is as follows:
<pre>
00 ff ff ff ff ff ff 00 52 62 00 37 00 00 00 00
</pre>
:<span classmark>'''[STEP4]'''</mark> :Execute <code>nano testC7xx.sh</code> in the same directory to create a test script. The content of this file is as follows:<pre>#!/bin/bashMEDIADEVICE=-1#SELECT RESOLUTION VALID VALUES (720p60edid, 1080p25edid, 1080p30edid, 1080p50edid, 1080p60edid)VIDEDID=1080p60edid# Finding Media Devicei=0while true ; do MEDIADEVICE=$(udevadm info -a -n /dev/media$i | grep --line-buffered 'DRIVERS=="tb_red\rp1-cfe"' | while read -r line; do echo $i ; done) if ! [[ $MEDIADEVICE = '' ]]; then break fi i=$((i+1))done #v4l2-ctl --list-devices# Locate the node corresponding to tc358743 as v4l-subdev2, and the pad0 of rp1-cfe-csi2_ch0 as video0:#media-ctl -d /dev/media$MEDIADEVICE -p # Loading Driverv4l2-ctl -d /dev/v4l-subdev2 --set-edid=file=$VIDEDID --fix-edid-checksums# Wait drive loadssleep 5s # To query the current input source information, if the resolution displays as 0, it indicates that no input source signal has been detected. In this case, you should check the hardware connections and follow the steps mentioned above to troubleshoot.v4l2-ctl -d /dev/v4l-subdev2 --query-dv-timings# Confirm the current input source information.v4l2-ctl -d /dev/v4l-subdev2 --set-dv-bt-timings query # Initialize mediamedia-ctl -d /dev/media$MEDIADEVICE -r# Connect CSI2's pad4 to rp1-cfe-csi2_ch0's pad0.media-ctl -d /dev/media$MEDIADEVICE -l ''\''csi2'\'':4 ->'\''rp1-cfe-csi2_ch0'\'':0 [1]'# Configure the media node.media-ctl -d /dev/media$MEDIADEVICE -V ''\''csi2'\'':0 [fmt:RGB888_1X24/1920x1080 field:none colorspace:srgb]'media-ctl -d /dev/media$MEDIADEVICE -V ''\''csi2'\'':4 [fmt:RGB888_1X24/1920x1080 field:none colorspace:srgb]'media-ctl -d /dev/media$MEDIADEVICE -V ''\''tc358743 11-000f'\'':0 [fmt:RGB888_1X24/1920x1080 field:none colorspace:srgb]' #Set the output format.v4l2-ctl -v width=1920,height=1080,pixelformat=RGB3 # test framesv4l2-ctl --stream-mmap=3 --stream-count=10 --stream-to=test.yuv</pre> :<mark>'''[STEP5]'''</spanmark> :Execute <code>bash testC7xx.sh</code>directly in the terminal; the output is as follows:<pre>pi@raspberrypi:~/Desktop $ bash testC7xx.sh Active width: 1920Active height: 1080Total width: 2200Total height: 1125Frame format: progressivePolarities: -vsync -hsyncPixelclock: 148500000 Hz (60.00 frames per second)Horizontal frontporch: 0Horizontal sync: 280Horizontal backporch: 0Vertical frontporch: 0Vertical sync: 45Vertical backporch: 0Standards: Flags: BT timings set<<<<<<<<<<</pre> :If you have installed the Raspberry Pi Desktop version, you can use ffplay to play YUV files directly.
<pre>
ffplay -f rawvideo -video_size 1920x1080 -pixel_format bgr24 test.yuv
</pre>
:*On a Windows PC, you can use tools such as 7yuv to view .yuv files.
:*For the 1920×1080 input format tutorial, select BGR888 in the top-right corner of 7yuv and set the resolution to 1920×1080 to view the two captured frames.
==User Manual==