IMX8MP CSI port 2 configuration

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

IMX8MP CSI port 2 configuration

跳至解决方案
214 次查看
Vilius
Contributor II

Greetings,

I was wondering what is the correct way to setup the IMX8MP CSI port 2 as a single camera interface with 4 lanes?

I have tried similar stuff to this as we are running a compulab bsp.
https://github.com/compulab-yokneam/linux-compulab/blob/bca57e9940b5454a8c77a3a1bf50bc2a23c6c68e/arc...

But seems like something is not getting wired correctly and the subdev device in v4l2 is not getting brought up. 

When running on CSI1, I get the expected result of (and the expected media graph):

root@ucm-imx8m-plus:~# v4l2-ctl --list-devices
 ():
        /dev/v4l-subdev0
        /dev/v4l-subdev1
        /dev/v4l-subdev2
 (csi0):
        /dev/v4l-subdev3
FSL Capture Media Device (platform:32c00000.bus:camera):
        /dev/media1
VIV (platform:viv0):
        /dev/video2
vsi_v4l2dec (platform:vsi_v4l2dec):
        /dev/video1
vsi_v4l2enc (platform:vsi_v4l2enc):
        /dev/video0
viv_media (platform:vvcam-video.0):
        /dev/media0

and dmesg output of:

[ 8.715165] mx8-img-md: Registered sensor subdevice: imx67x 4-001a (1) [ 8.720058] enter isp_mi_stop [ 8.722050] mx8-img-md: created link [imx67x 4-001a] => [mxc-mipi-csi2.0] [ 8.731969] mxc-md 32c00000.bus:camera: mxc_md_create_links

But when using a DTB for CSI port 2, then I dont get the subdevices linked/registered.

So my question is what is important to get the subdevice up and running? And how are they getting linked? Does the CSI port 2 require ISP2? Does the registers change or what? 

标记 (4)
0 项奖励
回复
1 解答
70 次查看
Vilius
Contributor II
This DTB works, ensure you load the kernel modules in the correct order.

在原帖中查看解决方案

0 项奖励
回复
3 回复数
164 次查看
Manuel_Salas
NXP TechSupport
NXP TechSupport

Hello @Vilius 

I hope you are doing very well.

 

Please take a look to the imx8mp-frdm-ap1302-dual.dts.

 

Best regards,

Salas.

0 项奖励
回复
147 次查看
Vilius
Contributor II

Well, like I mentioned, I have looked into other dtbs with csi port 2, but even checking the one you linked, I still have yet to get the media graph setup correctly.

DTB snippet of what I'm currently trying to use

&i2c5 {
       pinctrl-0 = <&pinctrl_i2c5>;
       scl-gpios = <&gpio3 26>;
       sda-gpios = <&gpio3 27>;
       status = "okay";
   
       /delete-node/ ov5640_mipi@3c;
       imx_camera: camera_mipi@1a {
               compatible = "framos,imx67x";
               reg = <0x1a>;
               pinctrl-names = "default";
               pinctrl-0 = <&pinctrl_csi_mclk>;
               clocks = <&clk IMX8MP_CLK_IPP_DO_CLKO2>;
               clock-names = "csi_mclk";
               csi_id = <1>;
               en-gpios = <&gpio1 0 GPIO_ACTIVE_LOW>;
               rst-gpios = <&gpio1 1 GPIO_ACTIVE_LOW>;
               mipi_csi;
               status = "okay";
               port {
                       camera_mipi_1_ep: endpoint {
                               remote-endpoint = <&mipi_csi1_ep>;
                               data-lanes = <1 2 3 4>;
                               clock-lanes = <0>;
                               max-pixel-frequency = /bits/ 64 <266000000>;
                       };
               };
       };
};

&mipi_csi_0 {
       status = "disabled";
};

&mipi_csi_1 {
       #address-cells = <1>;
       #size-cells = <0>;
       status = "okay";
       port@1 {
               reg = <1>;
               mipi_csi1_ep: endpoint {
                       remote-endpoint = <&camera_mipi_1_ep>;
                       data-lanes = <4>;
                       csis-hs-settle = <13>;
                       csis-clk-settle = <2>;
                       csis-wclk;
               };
       };
};

&isi_0 {
       status = "disabled";
};

&isi_1 {
       status = "disabled";
};

&isp_0 {
       status = "okay";
};

 

0 项奖励
回复
71 次查看
Vilius
Contributor II
This DTB works, ensure you load the kernel modules in the correct order.
0 项奖励
回复
%3CLINGO-SUB%20id%3D%22lingo-sub-2222628%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3EIMX8MP%20CSI%20%E7%AB%AF%E5%8F%A3%202%20%E9%85%8D%E7%BD%AE%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2222628%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E6%82%A8%E5%A5%BD%3C%2FP%3E%3CP%3E%E6%88%91%E6%83%B3%E7%9F%A5%E9%81%93%E5%B0%86%20IMX8MP%20CSI%20%E7%AB%AF%E5%8F%A3%202%20%E8%AE%BE%E7%BD%AE%E4%B8%BA%E5%85%B7%E6%9C%89%204%20%E4%B8%AA%E9%80%9A%E9%81%93%E7%9A%84%E5%8D%95%E6%91%84%E5%83%8F%E5%A4%B4%E6%8E%A5%E5%8F%A3%E7%9A%84%E6%AD%A3%E7%A1%AE%E6%96%B9%E6%B3%95%E6%98%AF%E4%BB%80%E4%B9%88%EF%BC%9F%3C%2FP%3E%3CP%3E%E5%BD%93%E6%88%91%E4%BB%AC%E8%BF%90%E8%A1%8C%20compulab%20%E7%94%B5%E8%B7%AF%E6%9D%BF%E6%94%AF%E6%8C%81%E5%8C%85%20%E6%97%B6%EF%BC%8C%E6%88%91%E5%B7%B2%E7%BB%8F%E5%B0%9D%E8%AF%95%E8%BF%87%E4%B8%8E%E6%AD%A4%E7%B1%BB%E4%BC%BC%E7%9A%84%E4%B8%9C%E8%A5%BF%E3%80%82%3CBR%20%2F%3E%3CA%20href%3D%22https%3A%2F%2Fgithub.com%2Fcompulab-yokneam%2Flinux-compulab%2Fblob%2Fbca57e9940b5454a8c77a3a1bf50bc2a23c6c68e%2Farch%2Farm64%2Fboot%2Fdts%2Fcompulab%2Fsom-imx8m-plus_mipi-csi2.dtsi%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3Ehttps%3A%2F%2Fgithub.com%2Fcompulab-yokneam%2Flinux-compulab%2Fblob%2Fbca57e9940b5454a8c77a3a1bf50bc2a23c6c68e%2Farch%2Farm64%2Fboot%2Fdts%2Fcompulab%2Fsom-imx8m-plus_mipi-csi2.dtsi%3C%2FA%3E%20%3CBR%20%2F%3E%20%3CBR%20%2F%3E%E4%BD%86%E6%98%AF%E4%BC%BC%E4%B9%8E%E6%9C%89%E4%BA%9B%E4%B8%9C%E8%A5%BF%E6%B2%A1%E6%9C%89%E6%AD%A3%E7%A1%AE%E6%8E%A5%E7%BA%BF%EF%BC%8Cv4l2%20%E4%B8%AD%E7%9A%84%E5%AD%90%E5%BC%80%E5%8F%91%E8%AE%BE%E5%A4%87%E4%B9%9F%E6%B2%A1%E6%9C%89%E5%90%AF%E5%8A%A8%E3%80%82%3CBR%20%2F%3E%3CBR%20%2F%3E%3C%2FP%3E%3CP%3E%E5%9C%A8%20CSI1%20%E4%B8%8A%E8%BF%90%E8%A1%8C%E6%97%B6%EF%BC%8C%E6%88%91%E5%BE%97%E5%88%B0%E4%BA%86%E9%A2%84%E6%9C%9F%E7%9A%84%E7%BB%93%E6%9E%9C%EF%BC%88%E5%92%8C%E9%A2%84%E6%9C%9F%E7%9A%84%E5%AA%92%E4%BD%93%E5%9B%BE%EF%BC%89%EF%BC%9A%3C%2FP%3E%3CPRE%20class%3D%22lia-code-sample%20language-markup%22%3E%3CCODE%20translate%3D%22no%22%3Eroot%40ucm-imx8m-plus%3A~%23%20v4l2-ctl%20--list-devices%0A%20()%3A%0A%20%20%20%20%20%20%20%20%2Fdev%2Fv4l-subdev0%0A%20%20%20%20%20%20%20%20%2Fdev%2Fv4l-subdev1%0A%20%20%20%20%20%20%20%20%2Fdev%2Fv4l-subdev2%0A%20(csi0)%3A%0A%20%20%20%20%20%20%20%20%2Fdev%2Fv4l-subdev3%0AFSL%20Capture%20Media%20Device%20(platform%3A32c00000.bus%3Acamera)%3A%0A%20%20%20%20%20%20%20%20%2Fdev%2Fmedia1%0AVIV%20(platform%3Aviv0)%3A%0A%20%20%20%20%20%20%20%20%2Fdev%2Fvideo2%0Avsi_v4l2dec%20(platform%3Avsi_v4l2dec)%3A%0A%20%20%20%20%20%20%20%20%2Fdev%2Fvideo1%0Avsi_v4l2enc%20(platform%3Avsi_v4l2enc)%3A%0A%20%20%20%20%20%20%20%20%2Fdev%2Fvideo0%0Aviv_media%20(platform%3Avvcam-video.0)%3A%0A%20%20%20%20%20%20%20%20%2Fdev%2Fmedia0%3C%2FCODE%3E%3C%2FPRE%3E%3CP%3E%E5%92%8C%20dmesg%20%E7%9A%84%E8%BE%93%E5%87%BA%EF%BC%9A%3C%2FP%3E%3CPRE%20class%3D%22lia-code-sample%20language-markup%22%3E%3CCODE%20translate%3D%22no%22%3E%5B%208.715165%5D%20mx8-img-md%3A%20Registered%20sensor%20subdevice%3A%20imx67x%204-001a%20(1)%20%5B%208.720058%5D%20enter%20isp_mi_stop%20%5B%208.722050%5D%20mx8-img-md%3A%20created%20link%20%5Bimx67x%204-001a%5D%20%3D%26gt%3B%20%5Bmxc-mipi-csi2.0%5D%20%5B%208.731969%5D%20mxc-md%2032c00000.bus%3Acamera%3A%20mxc_md_create_links%3C%2FCODE%3E%3C%2FPRE%3E%3CP%3E%E4%BD%86%E5%9C%A8%20CSI%20%E7%AB%AF%E5%8F%A3%202%20%E4%BD%BF%E7%94%A8%20DTB%20%E6%97%B6%EF%BC%8C%E6%88%91%E6%97%A0%E6%B3%95%E9%93%BE%E6%8E%A5%2F%E6%B3%A8%E5%86%8C%E5%AD%90%E8%AE%BE%E5%A4%87%E3%80%82%3C%2FP%3E%3CP%3E%E5%9B%A0%E6%AD%A4%EF%BC%8C%E6%88%91%E7%9A%84%E9%97%AE%E9%A2%98%E6%98%AF%EF%BC%8C%E4%BB%80%E4%B9%88%E6%98%AF%E5%90%AF%E5%8A%A8%E5%92%8C%E8%BF%90%E8%A1%8C%E5%AD%90%E8%AE%BE%E5%A4%87%E7%9A%84%E9%87%8D%E8%A6%81%E5%9B%A0%E7%B4%A0%EF%BC%9F%E5%AE%83%E4%BB%AC%E6%98%AF%E5%A6%82%E4%BD%95%E8%81%94%E7%B3%BB%E5%9C%A8%E4%B8%80%E8%B5%B7%E7%9A%84%EF%BC%9FCSI%20%E7%AB%AF%E5%8F%A3%202%20%E6%98%AF%E5%90%A6%E9%9C%80%E8%A6%81%20ISP2%EF%BC%9F%E7%99%BB%E8%AE%B0%E5%86%8C%E6%98%AF%E5%90%A6%E6%9C%89%E5%8F%98%E5%8C%96%EF%BC%9F%20%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2232768%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20IMX8MP%20CSI%20port%202%20configuration%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2232768%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E5%B0%B1%E5%83%8F%E6%88%91%E6%8F%90%E5%88%B0%E7%9A%84%EF%BC%8C%E6%88%91%E7%A0%94%E7%A9%B6%E8%BF%87%E5%85%B6%E4%BB%96%E5%B8%A6%E6%9C%89%20csi%20%E7%AB%AF%E5%8F%A3%202%20%E7%9A%84%20dtbs%EF%BC%8C%E4%BD%86%E5%8D%B3%E4%BD%BF%E6%A3%80%E6%9F%A5%E4%BA%86%E4%BD%A0%E9%93%BE%E6%8E%A5%E7%9A%84%E9%82%A3%E4%B8%AA%EF%BC%8C%E6%88%91%E4%BB%8D%E7%84%B6%E6%97%A0%E6%B3%95%E6%AD%A3%E7%A1%AE%E8%AE%BE%E7%BD%AE%E5%AA%92%E4%BD%93%E5%9B%BE%E3%80%82%3C%2FP%3E%3CP%3E%E6%88%91%E7%9B%AE%E5%89%8D%E6%AD%A3%E5%9C%A8%E5%B0%9D%E8%AF%95%E4%BD%BF%E7%94%A8%E7%9A%84%20DTB%20%E7%89%87%E6%AE%B5%3C%2FP%3E%3CPRE%20class%3D%22lia-code-sample%20language-markup%22%3E%3CCODE%20translate%3D%22no%22%3E%26amp%3Bi2c5%20%7B%0A%20%20%20%20%20%20%20pinctrl-0%20%3D%20%26lt%3B%26amp%3Bpinctrl_i2c5%26gt%3B%3B%0A%20%20%20%20%20%20%20scl-gpios%20%3D%20%26lt%3B%26amp%3Bgpio3%2026%26gt%3B%3B%0A%20%20%20%20%20%20%20sda-gpios%20%3D%20%26lt%3B%26amp%3Bgpio3%2027%26gt%3B%3B%0A%20%20%20%20%20%20%20status%20%3D%20%22okay%22%3B%0A%20%20%20%0A%20%20%20%20%20%20%20%2Fdelete-node%2F%20ov5640_mipi%403c%3B%0A%20%20%20%20%20%20%20imx_camera%3A%20camera_mipi%401a%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20compatible%20%3D%20%22framos%2Cimx67x%22%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20reg%20%3D%20%26lt%3B0x1a%26gt%3B%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20pinctrl-names%20%3D%20%22default%22%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20pinctrl-0%20%3D%20%26lt%3B%26amp%3Bpinctrl_csi_mclk%26gt%3B%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20clocks%20%3D%20%26lt%3B%26amp%3Bclk%20IMX8MP_CLK_IPP_DO_CLKO2%26gt%3B%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20clock-names%20%3D%20%22csi_mclk%22%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20csi_id%20%3D%20%26lt%3B1%26gt%3B%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20en-gpios%20%3D%20%26lt%3B%26amp%3Bgpio1%200%20GPIO_ACTIVE_LOW%26gt%3B%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20rst-gpios%20%3D%20%26lt%3B%26amp%3Bgpio1%201%20GPIO_ACTIVE_LOW%26gt%3B%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20mipi_csi%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20status%20%3D%20%22okay%22%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20port%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20camera_mipi_1_ep%3A%20endpoint%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20remote-endpoint%20%3D%20%26lt%3B%26amp%3Bmipi_csi1_ep%26gt%3B%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20data-lanes%20%3D%20%26lt%3B1%202%203%204%26gt%3B%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20clock-lanes%20%3D%20%26lt%3B0%26gt%3B%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20max-pixel-frequency%20%3D%20%2Fbits%2F%2064%20%26lt%3B266000000%26gt%3B%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%3B%0A%20%20%20%20%20%20%20%7D%3B%0A%7D%3B%0A%0A%26amp%3Bmipi_csi_0%20%7B%0A%20%20%20%20%20%20%20status%20%3D%20%22disabled%22%3B%0A%7D%3B%0A%0A%26amp%3Bmipi_csi_1%20%7B%0A%20%20%20%20%20%20%20%23address-cells%20%3D%20%26lt%3B1%26gt%3B%3B%0A%20%20%20%20%20%20%20%23size-cells%20%3D%20%26lt%3B0%26gt%3B%3B%0A%20%20%20%20%20%20%20status%20%3D%20%22okay%22%3B%0A%20%20%20%20%20%20%20port%401%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20reg%20%3D%20%26lt%3B1%26gt%3B%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20mipi_csi1_ep%3A%20endpoint%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20remote-endpoint%20%3D%20%26lt%3B%26amp%3Bcamera_mipi_1_ep%26gt%3B%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20data-lanes%20%3D%20%26lt%3B4%26gt%3B%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20csis-hs-settle%20%3D%20%26lt%3B13%26gt%3B%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20csis-clk-settle%20%3D%20%26lt%3B2%26gt%3B%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20csis-wclk%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%3B%0A%20%20%20%20%20%20%20%7D%3B%0A%7D%3B%0A%0A%26amp%3Bisi_0%20%7B%0A%20%20%20%20%20%20%20status%20%3D%20%22disabled%22%3B%0A%7D%3B%0A%0A%26amp%3Bisi_1%20%7B%0A%20%20%20%20%20%20%20status%20%3D%20%22disabled%22%3B%0A%7D%3B%0A%0A%26amp%3Bisp_0%20%7B%0A%20%20%20%20%20%20%20status%20%3D%20%22okay%22%3B%0A%7D%3B%3C%2FCODE%3E%3C%2FPRE%3E%3CBR%20%2F%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2228824%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20IMX8MP%20CSI%20port%202%20configuration%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2228824%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E4%BD%A0%E5%A5%BD%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F248662%22%20target%3D%22_blank%22%3E%40Vilius%3C%2FA%3E%3C%2FP%3E%0A%3CP%3E%E5%B8%8C%E6%9C%9B%E4%BD%A0%E4%B8%80%E5%88%87%E9%83%BD%E5%A5%BD%E3%80%82%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3E%E8%AF%B7%E6%9F%A5%E7%9C%8B%3CA%20href%3D%22https%3A%2F%2Fgithub.com%2Fnxp-imx%2Flinux-imx%2Fblob%2Fbe78e49cb4339fd38c9a40019df49b72fbb8bcb7%2Farch%2Farm64%2Fboot%2Fdts%2Ffreescale%2Fimx8mp-frdm-ap1302-dual.dts%23L125%22%20target%3D%22_self%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3Eimx8mp-frdm-ap1302-dual.dts%3C%2FA%3E%E3%80%82%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3E%E9%A1%BA%E7%A5%9D%E5%95%86%E7%A5%BA%EF%BC%81%3C%2FP%3E%0A%3CP%3E%E8%90%A8%E6%8B%89%E6%96%AF%3C%2FP%3E%3C%2FLINGO-BODY%3E