2056240_ja-JP

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

2056240_ja-JP

2056240_ja-JP

imx8mp DTS 構成 (2 レーンカメラ用)

IMX8MPのCSIポート0に2レーンのMIPI接続があります。
データをキャプチャすることはできますが、画像はゴミであり、解決しようとしています。

私は次のDTS構成を持っています:

&cameradev {    
  status = "okay";    
        cap_device {    
               status = "okay";    
        };    
 };    
     
 &i2c3 {    
     status = "okay";    
         
     lvds_bridge {    
        reg = <0x5A>;    
        status = "okay";    
        compatible = "lt9211c";    
        #address-cells = <0x1>;    
        #size-cells = <0x0>;     
         
        port {    
         lt9211c_ep: endpoint {    
          data-lanes = <1 2>;    
          clock-lanes = <0>;    
          bus-type = <4>;    
          clock-noncontinuous = <1>;       
          remote-endpoint = <&mipi_csi0_ep>;    
          clock-frequency = <74250000>; // Pixel clock in Hz (74.25 MHz)     
          hsync-active = <0>;  // Sync polarity    
          vsync-active = <0>;           
          pclk-sample = <1>;   // Sample on rising edge    
         };                              
        };                                
                                          
     };                                                                                                                                                                                      
 };                                        
 
 &isi_0 {    
       status = "okay";    
        cap_device {
               status = "okay";
        };
        m2m_device {
         status = "disabled";
        };
 };
 
 &isi_1 {
         status = "disabled";
         cap_device {
                status = "okay";
         };
 };
 
 &mipi_csi_0 {
   status = "okay";
   #address-cells = <1>;
   #size-cells = <0>;
  
   port@0 {
   reg = <0>;
   mipi_csi0_ep: endpoint {
    remote-endpoint = <&lt9211c_ep>;
     data-lanes = <2>;
     csis-hs-settle = <4>;
     csis-clk-settle = <2>;
     csis-wclk;
     bus-type = <4>;  /* 4 = MIPI CSI-2 D-PHY */
    };
  };
 };
 

これで、mipi_csi0_ep: エンドポイントで data-lanes=<2> が確認できます。
CSI ドライバ imx8-mipi-csi2-sam.cには、これらのデータレーンを解析するための次の行があります。

of_property_read_u32(node, "data-lanes", &state->num_lanes);

したがって、2つのデータレーンを正しく解析できます。

ただし、カーネルログには次のように表示されます。

[  143.134848] mc: media_release: Media Release
[  149.819027] mxc-mipi-csi2.0: mipi_csis_imx8mp_phy_reset: bus fmt is 12 bit !
[  149.843365] Parent device name: 32e00000.isi
[  149.869847] Parent device name: 32e00000.isi
[  150.889587] mxc-mipi-csi2.0: mipi_csis_imx8mp_phy_reset: bus fmt is 12 bit !

この警告は、function() の CSI ドライバーからphy_reset

   /* temporary place */
   if (state->mix_gpr) {
    if ((format.format.code == MEDIA_BUS_FMT_SRGGB8_1X8) ||
       (format.format.code == MEDIA_BUS_FMT_SGRBG8_1X8) ||
       (format.format.code == MEDIA_BUS_FMT_SGBRG8_1X8) ||
       (format.format.code == MEDIA_BUS_FMT_SBGGR8_1X8)) {
     mipi_csis_imx8mp_dewarp_ctl_data_type(state,
        ISP_DEWARP_CTRL_DATA_TYPE_RAW8);
     v4l2_dbg(1, debug, &state->sd,
       "%s: bus fmt is 8 bit!\n", __func__);
    } else if ((format.format.code == MEDIA_BUS_FMT_SRGGB10_1X10) ||
        (format.format.code == MEDIA_BUS_FMT_SGRBG10_1X10) ||
        (format.format.code == MEDIA_BUS_FMT_SGBRG10_1X10) ||
        (format.format.code == MEDIA_BUS_FMT_SBGGR10_1X10)) {
     mipi_csis_imx8mp_dewarp_ctl_data_type(state,
       ISP_DEWARP_CTRL_DATA_TYPE_RAW10);
     v4l2_dbg(1, debug, &state->sd,
       "%s: bus fmt is 10 bit !\n", __func__);
    } else {
     mipi_csis_imx8mp_dewarp_ctl_data_type(state,
       ISP_DEWARP_CTRL_DATA_TYPE_RAW12);
     v4l2_dbg(1, debug, &state->sd,
       "%s: bus fmt is 12 bit !\n", __func__);
    }
    goto write_regmap;
   }
        

最初のIF条件に以下を追加して8ビットに強制しようとしましたが、問題は解決しませんでした。

(format.format.code == MEDIA_BUS_FMT_SGRBG8_1X24) ||

誰かが明確にすることができます、ここで正しい方法は何ですか?


タグ(1)
評価なし
バージョン履歴
最終更新日:
‎11-21-2025 02:30 PM
更新者: