Support OV5640 on i.MX95 EVK board

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Support OV5640 on i.MX95 EVK board

shaojun_wang
NXP Employee
NXP Employee
1 0 2,113

Below picture is MIPI CSI schematic in i.MX95LP4XBB-15. We need to configure reset pin, enable pin and MCLK for OV5640. These changes can be done in device tree. Linux-6.12-enable-ov5640-on-mx95-evk.patch is the patch.

shaojun_wang_0-1757054958049.pngshaojun_wang_0-1757054958049.png

After apply the patch and run mx95 with imx95-15x15-evk-adv7535-ov5640.dtb, we can list the camera device

root@imx95evk:~# cam -l
Available cameras:
1: 'ov5640' (/base/soc/bus@42000000/i2c@42540000/ov5640_mipi@3c)

To capture camera image into a file, use below command

media-ctl -l "'ov5640 3-003c':0->'csidev-4ad30000.csi':0 [1]"
media-ctl -l "'csidev-4ad30000.csi':1 -> '4ac10000.syscon:formatter@20':0 [1]"
media-ctl -V "'ov5640 3-003c':0 [fmt: UYVY8_1X16/1920x1080 field:none]"
media-ctl -V "'csidev-4ad30000.csi':0 [fmt: UYVY8_1X16/1920x1080 field:none]"
media-ctl -V "'4ac10000.syscon:formatter@20':0 [fmt: UYVY8_1X16/1920x1080 field:none]"
media-ctl -V "'crossbar':2 [fmt: UYVY8_1X16/1920x1080 field:none]"
media-ctl -V "'mxc_isi.0':0 [fmt: UYVY8_1X16/1920x1080 field:none]"
v4l2-ctl -d "/dev/video0" -v width=1920,height=1080,pixelformat=YUYV --stream-mmap --stream-count=100 --stream-to=video.raw

Preview with gstreamer

gst-launch-1.0 libcamerasrc ! video/x-raw,width=1280,height=720,format=YUY2,stream-role=1 ! queue ! waylandsink

%3CLINGO-SUB%20id%3D%22lingo-sub-2164157%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ESupport%20OV5640%20on%20i.MX95%20EVK%20board%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2164157%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EBelow%20picture%20is%20MIPI%20CSI%20schematic%20in%20i.MX95LP4XBB-15.%20We%20need%20to%20configure%20reset%20pin%2C%20enable%20pin%20and%20MCLK%20for%20OV5640.%20These%20changes%20can%20be%20done%20in%20device%20tree.%20Linux-6.12-enable-ov5640-on-mx95-evk.patch%20is%20the%20patch.%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22shaojun_wang_0-1757054958049.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22shaojun_wang_0-1757054958049.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F355680i1F2E387E8B37521E%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22shaojun_wang_0-1757054958049.png%22%20alt%3D%22shaojun_wang_0-1757054958049.png%22%20%2F%3E%3Cspan%20class%3D%22lia-inline-image-caption%22%20onclick%3D%22event.preventDefault()%3B%22%3Eshaojun_wang_0-1757054958049.png%3C%2Fspan%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3EAfter%20apply%20the%20patch%20and%20run%20mx95%20with%26nbsp%3Bimx95-15x15-evk-adv7535-ov5640.dtb%2C%20we%20can%20list%20the%20camera%20device%3C%2FP%3E%0A%3CP%3E%3CFONT%20color%3D%22%23333399%22%3Eroot%40imx95evk%3A~%23%20cam%20-l%3C%2FFONT%3E%3CBR%20%2F%3E%3CFONT%20color%3D%22%23333399%22%3EAvailable%20cameras%3A%3C%2FFONT%3E%3CBR%20%2F%3E%3CFONT%20color%3D%22%23333399%22%3E1%3A%20'ov5640'%20(%2Fbase%2Fsoc%2Fbus%4042000000%2Fi2c%4042540000%2Fov5640_mipi%403c)%3C%2FFONT%3E%3C%2FP%3E%0A%3CP%3ETo%20capture%20camera%20image%20into%20a%20file%2C%20use%20below%20command%3C%2FP%3E%0A%3CP%3E%3CFONT%20color%3D%22%23333399%22%3Emedia-ctl%20-l%20%22'ov5640%203-003c'%3A0-%26gt%3B'csidev-4ad30000.csi'%3A0%20%5B1%5D%22%3C%2FFONT%3E%3CBR%20%2F%3E%3CFONT%20color%3D%22%23333399%22%3Emedia-ctl%20-l%20%22'csidev-4ad30000.csi'%3A1%20-%26gt%3B%20'4ac10000.syscon%3Aformatter%4020'%3A0%20%5B1%5D%22%3C%2FFONT%3E%3CBR%20%2F%3E%3CFONT%20color%3D%22%23333399%22%3Emedia-ctl%20-V%20%22'ov5640%203-003c'%3A0%20%5Bfmt%3A%20UYVY8_1X16%2F1920x1080%20field%3Anone%5D%22%3C%2FFONT%3E%3CBR%20%2F%3E%3CFONT%20color%3D%22%23333399%22%3Emedia-ctl%20-V%20%22'csidev-4ad30000.csi'%3A0%20%5Bfmt%3A%20UYVY8_1X16%2F1920x1080%20field%3Anone%5D%22%3C%2FFONT%3E%3CBR%20%2F%3E%3CFONT%20color%3D%22%23333399%22%3Emedia-ctl%20-V%20%22'4ac10000.syscon%3Aformatter%4020'%3A0%20%5Bfmt%3A%20UYVY8_1X16%2F1920x1080%20field%3Anone%5D%22%3C%2FFONT%3E%3CBR%20%2F%3E%3CFONT%20color%3D%22%23333399%22%3Emedia-ctl%20-V%20%22'crossbar'%3A2%20%5Bfmt%3A%20UYVY8_1X16%2F1920x1080%20field%3Anone%5D%22%3C%2FFONT%3E%3CBR%20%2F%3E%3CFONT%20color%3D%22%23333399%22%3Emedia-ctl%20-V%20%22'mxc_isi.0'%3A0%20%5Bfmt%3A%20UYVY8_1X16%2F1920x1080%20field%3Anone%5D%22%3C%2FFONT%3E%3CBR%20%2F%3E%3CFONT%20color%3D%22%23333399%22%3Ev4l2-ctl%20-d%20%22%2Fdev%2Fvideo0%22%20-v%20width%3D1920%2Cheight%3D1080%2Cpixelformat%3DYUYV%20--stream-mmap%20--stream-count%3D100%20--stream-to%3Dvideo.raw%3C%2FFONT%3E%3C%2FP%3E%0A%3CP%3E%3CFONT%20color%3D%22%230000FF%22%3E%3CFONT%20color%3D%22%23000000%22%3EPreview%20with%20gstreamer%3C%2FFONT%3E%3C%2FFONT%3E%3C%2FP%3E%0A%3CP%3E%3CFONT%20color%3D%22%23333399%22%3Egst-launch-1.0%20libcamerasrc%20!%20video%2Fx-raw%2Cwidth%3D1280%2Cheight%3D720%2Cformat%3DYUY2%2Cstream-role%3D1%20!%20queue%20!%20waylandsink%3C%2FFONT%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-TEASER%20id%3D%22lingo-teaser-2164157%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EOV5640%20MINISASTOCSI%20is%20widely%20used%20in%20i.MX8.%20This%20article%20shows%20how%20to%20enable%20it%20on%20i.MX95%2015x15%20EVK%20board.%20The%20Linux%20version%20is%206.12.20.%3C%2FP%3E%3C%2FLINGO-TEASER%3E%3CLINGO-LABS%20id%3D%22lingo-labs-2164157%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CLINGO-LABEL%3Ei.MX%26nbsp%3BProcessors%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E