i.MX95 max96724 2台のカメラの起動に関する問題 カメラを1台接続した場合は正常に起動しますが、同じモジュールのカメラを2台接続すると、すべてのカメラの起動に失敗します。 ログ情報: パイプラインを再生中に設定します... 新しい時計: GstSystemClock [0:00:31.239670305][973] INFO カメラ camera.cpp:1215ストリームの設定: (0) 1920x1536-YUYV/未設定 [0:00:31.250185346][972] エラー V4L2 v4l2_videodevice.cpp:1991/dev/video0[15:cap]: ストリーミングの開始に失敗しました: パイプが壊れています エラー: 要素 /GstPipeline:pipeline0/GstLibcameraSrc:libcamerasrc0 から: カメラの起動に失敗しました: パイプが壊れています 追加のデバッグ情報: ../src/gstreamer/gstlibcamerasrc.cpp(871): gst_libcamera_src_task_enter (): /GstPipeline:pipeline0/GstLibcameraSrc:libcamerasrc0: カメラ開始()エラーコード-32で失敗しました。 実行は0:00:00.012442958で終了しました。 パイプラインをNULLに設定中... パイプラインを解放する... Re: i.MX95 max96724 2 cameras bringup issue 2台のmax9295aカメラを同じMAX96724に接続した場合、フレーム同期モードのみが動作し、MAX96724での複数カメラ使用時にはフリーランモードは動作しません。
実際、MAX96724のデバッグにおける主な負荷は、カメラ(MAX9295a)とMAX96724間の設定にあるため、お客様はMaximからのサポートが必要になるかもしれません。Linuxが動作するためには、まずMAX96724のLOCKビットがエラーなく設定されていることを確認する必要があります。その後で初めて、MAX96724はMIPIビデオフレームをiMX95に出力できるようになります。 Re: i.MX95 max96724 2 cameras bringup issue max9295aを搭載したカメラはフリーランで動作し、フレーム同期は不要です。 cam -l、media-ctl、gst のログ情報: root@imx95evk:~# cam -l [0:01:54.016285137][1058] 警告 IPAManager ipa_manager.cpp:148'/media/jeffin/dev-work/nxp/codeaurora/libcamera/install/lib/libcamera/ipa' に IPA ファイルが見つかりませんでした。 [0:01:54.016504762][1058] INFO カメラ camera_manager.cpp:330libcamera v0.0.0+6194-lf-6.12.49-2.2.0-dirty (2026-04-24T21:03:02CST) [0:01:54.061756845][1059] WARN CameraSensor camera_sensor_legacy.cpp:502 'mx95wecam 8-0062': 静的プロパティにセンサー遅延が見つかりませんでした。未検証のデフォルト値を前提としています。 [0:01:54.061982970][1059] エラー DelayedControls delayed_controls.cpp:87コントロールID 0x00980911の遅延要求ですが、デバイス/dev/v4l-subdev12によってコントロールが公開されていません。 [0:01:54.062069678][1059] エラー DelayedControls delayed_controls.cpp:87コントロールID 0x009e0903の遅延要求ですが、デバイス/dev/v4l-subdev12によってコントロールが公開されていません。 [0:01:54.068941887][1059] WARN CameraSensor camera_sensor_legacy.cpp:502 'mx95wecam 9-0062': 静的プロパティにセンサ遅延が見つかりませんでした。未検証のデフォルト値を前提としています。 [0:01:54.069094470][1059] エラー DelayedControls delayed_controls.cpp:87コントロールID 0x00980911の遅延要求ですが、デバイス/dev/v4l-subdev13によってコントロールが公開されていません。 [0:01:54.069152970][1059] エラー DelayedControls delayed_controls.cpp:87コントロールID 0x009e0903の遅延要求ですが、デバイス/dev/v4l-subdev13によってコントロールが公開されていません。 [0:01:54.073940928][1059] INFO カメラ camera_manager.cpp:220パイプラインハンドラ simple にカメラ '/base/soc/bus@42000000/i2c@42540000/max96724@27/i2c-mux/i2c@0/mx95wecam@62' を追加します [0:01:54.074970262][1059] INFO カメラ camera_manager.cpp:220パイプラインハンドラ simple にカメラ '/base/soc/bus@42000000/i2c@42540000/max96724@27/i2c-mux/i2c@1/mx95wecam@62' を追加します 利用可能なカメラ: 1: 'mx95wecam' (/base/soc/bus@42000000/i2c@42540000/max96724@27/i2c-mux/i2c@0/mx95wecam@62) 2: 'mx95wecam' (/base/soc/bus@42000000/i2c@42540000/max96724@27/i2c-mux/i2c@1/mx95wecam@62) root@imx95evk:~# media-ctl -d /dev/media0 -p メディアコントローラーAPIバージョン6.12.49 メディアデバイス情報 ------------------------ ドライバー mxc-isi モデルFSLキャプチャメディアデバイス シリアル バス情報プラットフォーム:4ad50000.isi ハードウェアリビジョン 0x0 ドライバーバージョン 6.12.49 デバイストポロジー - エンティティ 1: クロスバー (パッド 13 個、リンク 10 個、ルート 8 個) タイプ V4L2 サブデバイス サブタイプ 不明 フラグ 0 デバイスノード名 /dev/v4l-subdev0 ルート: 2/0 → 5/0 [アクティブ] 2/0 → 6/0 [アクティブ] 2/0 → 7/0 [アクティブ] 2/0 → 8/0 [アクティブ] 2/0 → 9/0 [アクティブ] 2/0 → 10/0 [アクティブ] 2/0 → 11/0 [アクティブ] 2/0 → 12/0 [アクティブ] pad0: シンク、接続必須 pad1: シンク、接続必須 pad2: シンク、接続必須 [stream:0 fmt:UYVY8_1X16/1920x1536 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range] <- "4ac10000.syscon:formatter@20":1[有効、変更不可] pad3: シンク、接続必須 pad4: シンク、接続必須 <- "mxc_isi.output":0[有効、変更不可] pad5: ソース [stream:0 fmt:UYVY8_1X16/1920x1536 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range] -> "mxc_isi.0":0[有効、変更不可] pad6: ソース [stream:0 fmt:UYVY8_1X16/1920x1536 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range] -> "mxc_isi.1":0[有効、変更不可] pad7: ソース [stream:0 fmt:UYVY8_1X16/1920x1536 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range] -> "mxc_isi.2":0[有効、変更不可] pad8: ソース [stream:0 fmt:UYVY8_1X16/1920x1536 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range] -> "mxc_isi.3":0[有効、変更不可] pad9: ソース [stream:0 fmt:UYVY8_1X16/1920x1536 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range] -> "mxc_isi.4":0[有効、変更不可] pad10: ソース [stream:0 fmt:UYVY8_1X16/1920x1536 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range] -> "mxc_isi.5":0[有効、変更不可] pad11: ソース [stream:0 fmt:UYVY8_1X16/1920x1536 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range] -> "mxc_isi.6":0[有効、変更不可] pad12: ソース [stream:0 fmt:UYVY8_1X16/1920x1536 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range] -> "mxc_isi.7":0[有効、変更不可] - エンティティ 15: mxc_isi.0(パッド2個、リンク2個、ルート0個) タイプ V4L2 サブデバイス サブタイプ 不明 フラグ 0 デバイスノード名 /dev/v4l-subdev1 pad0: シンク [stream:0 fmt:UYVY8_1X16/1920x1536 field:none colorspace:jpeg xfer:srgb ycbcr:601 quantization:full-range compose.bounds:(0,0)/1920x1536 合成:(0,0)/1920x1536] <- "crossbar":5 [有効、不変] pad1: ソース [stream:0 fmt:YUV8_1X24/1920x1536 field:none colorspace:jpeg xfer:srgb ycbcr:601 quantization:full-range クロップの境界:(0,0)/1920x1536 トリミング:(0,0)/1920x1536] -> "mxc_isi.0.capture":0 [有効、不変] - エンティティ 18: mxc_isi.0.capture (1 パッド、1 リンク) タイプ ノード サブタイプ V4L フラグ 0 デバイスノード名 /dev/video0 pad0: シンク <- "mxc_isi.0":1[有効、変更不可] - エンティティ 26: mxc_isi.1 (パッド 2 個、リンク 2 個、ルート 0 個) タイプ V4L2 サブデバイス サブタイプ 不明 フラグ 0 デバイスノード名 /dev/v4l-subdev2 pad0: シンク [stream:0 fmt:UYVY8_1X16/1920x1536 field:none colorspace:jpeg xfer:srgb ycbcr:601 quantization:full-range compose.bounds:(0,0)/1920x1536 合成:(0,0)/1920x1536] <- "crossbar":6 [有効、不変] pad1: ソース [stream:0 fmt:YUV8_1X24/1920x1536 field:none colorspace:jpeg xfer:srgb ycbcr:601 quantization:full-range クロップの境界:(0,0)/1920x1536 トリミング:(0,0)/1920x1536] -> "mxc_isi.1.capture":0[有効、変更不可] - エンティティ 29: mxc_isi.1.capture(パッド1枚、リンク1つ) タイプ ノード サブタイプ V4L フラグ 0 デバイスノード名 /dev/video1 pad0: シンク <- "mxc_isi.1":1[有効、変更不可] - エンティティ 37: mxc_isi.2(パッド2個、リンク2個、ルート0個) タイプ V4L2 サブデバイス サブタイプ 不明 フラグ 0 デバイスノード名 /dev/v4l-subdev3 pad0: シンク [stream:0 fmt:UYVY8_1X16/1920x1536 field:none colorspace:jpeg xfer:srgb ycbcr:601 quantization:full-range compose.bounds:(0,0)/1920x1536 合成:(0,0)/1920x1536] <- "crossbar":7 [有効、不変] pad1: ソース [stream:0 fmt:YUV8_1X24/1920x1536 field:none colorspace:jpeg xfer:srgb ycbcr:601 quantization:full-range クロップの境界:(0,0)/1920x1536 トリミング:(0,0)/1920x1536] -> "mxc_isi.2.capture":0 [有効、不変] - エンティティ 40: mxc_isi.2.capture (1 パッド、1 リンク) タイプ ノード サブタイプ V4L フラグ 0 デバイスノード名 /dev/video2 pad0: シンク <- "mxc_isi.2":1[有効、変更不可] - エンティティ 48: mxc_isi.3(パッド2個、リンク2個、ルート0個) タイプ V4L2 サブデバイス サブタイプ 不明 フラグ 0 デバイスノード名 /dev/v4l-subdev4 pad0: シンク [stream:0 fmt:UYVY8_1X16/1920x1536 field:none colorspace:jpeg xfer:srgb ycbcr:601 quantization:full-range compose.bounds:(0,0)/1920x1536 合成:(0,0)/1920x1536] <- "crossbar":8 [有効、不変] pad1: ソース [stream:0 fmt:YUV8_1X24/1920x1536 field:none colorspace:jpeg xfer:srgb ycbcr:601 quantization:full-range クロップの境界:(0,0)/1920x1536 トリミング:(0,0)/1920x1536] -> "mxc_isi.3.capture":0[有効、変更不可] - エンティティ 51: mxc_isi.3.capture(パッド1枚、リンク1つ) タイプ ノード サブタイプ V4L フラグ 0 デバイスノード名 /dev/video3 pad0: シンク <- "mxc_isi.3":1[有効、変更不可] - エンティティ 59: mxc_isi.4(パッド2個、リンク2個、ルート0個) タイプ V4L2 サブデバイス サブタイプ 不明 フラグ 0 デバイスノード名 /dev/v4l-subdev5 pad0: シンク [stream:0 fmt:UYVY8_1X16/1920x1536 field:none colorspace:jpeg xfer:srgb ycbcr:601 quantization:full-range compose.bounds:(0,0)/1920x1536 合成:(0,0)/1920x1536] <- "crossbar":9 [有効、不変] pad1: ソース [stream:0 fmt:YUV8_1X24/1920x1536 field:none colorspace:jpeg xfer:srgb ycbcr:601 quantization:full-range クロップの境界:(0,0)/1920x1536 トリミング:(0,0)/1920x1536] -> "mxc_isi.4.capture":0 [有効、不変] - エンティティ 62: mxc_isi.4.capture (1 パッド、1 リンク) タイプ ノード サブタイプ V4L フラグ 0 デバイスノード名 /dev/video4 pad0: シンク <- "mxc_isi.4":1[有効、変更不可] - エンティティ 70: mxc_isi.5 (パッド 2 つ、リンク 2 つ、ルート 0 つ) タイプ V4L2 サブデバイス サブタイプ 不明 フラグ 0 デバイスノード名 /dev/v4l-subdev6 pad0: シンク [stream:0 fmt:UYVY8_1X16/1920x1536 field:none colorspace:jpeg xfer:srgb ycbcr:601 quantization:full-range compose.bounds:(0,0)/1920x1536 合成:(0,0)/1920x1536] <- "crossbar":10 [有効、不変] pad1: ソース [stream:0 fmt:YUV8_1X24/1920x1536 field:none colorspace:jpeg xfer:srgb ycbcr:601 quantization:full-range クロップの境界:(0,0)/1920x1536 トリミング:(0,0)/1920x1536] -> "mxc_isi.5.capture":0 [有効、不変] - エンティティ 73: mxc_isi.5.capture (1 パッド、1 リンク) タイプ ノード サブタイプ V4L フラグ 0 デバイスノード名 /dev/video5 pad0: シンク <- "mxc_isi.5":1[有効、変更不可] - エンティティ 81: mxc_isi.6 (パッド 2 個、リンク 2 個、ルート 0 個) タイプ V4L2 サブデバイス サブタイプ 不明 フラグ 0 デバイスノード名 /dev/v4l-subdev7 pad0: シンク [stream:0 fmt:UYVY8_1X16/1920x1536 field:none colorspace:jpeg xfer:srgb ycbcr:601 quantization:full-range compose.bounds:(0,0)/1920x1536 合成:(0,0)/1920x1536] <- "crossbar":11 [有効、不変] pad1: ソース [stream:0 fmt:YUV8_1X24/1920x1536 field:none colorspace:jpeg xfer:srgb ycbcr:601 quantization:full-range クロップの境界:(0,0)/1920x1536 トリミング:(0,0)/1920x1536] -> "mxc_isi.6.capture":0[有効、変更不可] - エンティティ 84: mxc_isi.6.capture(パッド1枚、リンク1つ) タイプ ノード サブタイプ V4L フラグ 0 デバイスノード名 /dev/video6 pad0: シンク <- "mxc_isi.6":1[有効、変更不可] - エンティティ 92: mxc_isi.7 (パッド 2 個、リンク 2 個、ルート 0 個) タイプ V4L2 サブデバイス サブタイプ 不明 フラグ 0 デバイスノード名 /dev/v4l-subdev8 pad0: シンク [stream:0 fmt:UYVY8_1X16/1920x1536 field:none colorspace:jpeg xfer:srgb ycbcr:601 quantization:full-range compose.bounds:(0,0)/1920x1536 合成:(0,0)/1920x1536] <- "crossbar":12 [有効、不変] pad1: ソース [stream:0 fmt:YUV8_1X24/1920x1536 field:none colorspace:jpeg xfer:srgb ycbcr:601 quantization:full-range クロップの境界:(0,0)/1920x1536 トリミング:(0,0)/1920x1536] -> "mxc_isi.7.capture":0 [有効、不変] - エンティティ 95: mxc_isi.7.capture (1 パッド、1 リンク) タイプ ノード サブタイプ V4L フラグ 0 デバイスノード名 /dev/video7 pad0: シンク <- "mxc_isi.7":1[有効、変更不可] - エンティティ 103: mxc_isi.output (1 パッド、1 リンク) タイプ ノード サブタイプ V4L フラグ 0 pad0: ソース -> "crossbar":4 [有効、不変] - エンティティ 110: 4ac10000.syscon:formatter@20(パッド2個、リンク2個、ルート1個) タイプ V4L2 サブデバイス サブタイプ 不明 フラグ 0 デバイスノード名 /dev/v4l-subdev9 ルート: 0/0 → 1/0 [アクティブ] pad0: シンク [stream:0 fmt:UYVY8_1X16/1920x1080 field:none colorspace:smpte170m xfer:709 ycbcr:601 quantization:lim-range] <- "csidev-4ad30000.csi":1[有効、変更不可] pad1: ソース [stream:0 fmt:UYVY8_1X16/1920x1080 field:none colorspace:smpte170m xfer:709 ycbcr:601 quantization:lim-range] -> "crossbar":2 [有効、不変] - エンティティ 115: csidev-4ad30000.csi (パッド 2 つ、リンク 2 つ、ルート 1 つ) タイプ V4L2 サブデバイス サブタイプ 不明 フラグ 0 デバイスノード名 /dev/v4l-subdev10 ルート: 0/0 → 1/0 [アクティブ] pad0: シンク [stream:0 fmt:UYVY8_1X16/1920x1080 field:none colorspace:smpte170m xfer:709 ycbcr:601 quantization:lim-range] <- "max96724 3-0027":4 [有効] pad1: ソース [stream:0 fmt:UYVY8_1X16/1920x1080 field:none colorspace:smpte170m xfer:709 ycbcr:601 quantization:lim-range] -> "4ac10000.syscon:formatter@20":0[有効、変更不可] - エンティティ 120: max96724 3-0027 (パッド 6 個、リンク 3 個、ルート 4 個) タイプ V4L2 サブデバイス サブタイプ 不明 フラグ 0 デバイスノード名 /dev/v4l-subdev11 ルート: 0/0 → 4/0 [アクティブ] 1/0 → 4/1 [アクティブ] 2/0 → 5/2 [アクティブ] 3/0 → 5/3 [アクティブ] pad0: シンク [stream:0 fmt:UYVY8_1X16/1920x1536 colorspace:raw] <- "mx95wecam 8-0062":0 [有効、不変] pad1: シンク [stream:0 fmt:UYVY8_1X16/1920x1536 colorspace:raw] <- "mx95wecam 9-0062":0 [有効、不変] pad2: シンク [stream:0 fmt:UYVY8_1X16/1920x1536 colorspace:raw] pad3: シンク [stream:0 fmt:UYVY8_1X16/1920x1536 colorspace:raw] pad4: ソース [stream:0 fmt:UYVY8_1X16/1920x1536 colorspace:raw] [stream:1 fmt:UYVY8_1X16/1920x1536 colorspace:raw] -> "csidev-4ad30000.csi":0[有効] pad5: ソース [stream:2 fmt:UYVY8_1X16/1920x1536 colorspace:raw] [stream:3 fmt:UYVY8_1X16/1920x1536 colorspace:raw] - エンティティ 129: mx95wecam 8-0062 (パッド 1、リンク 1、ルート 0) タイプ V4L2 サブデバイス サブタイプ センサー フラグ 0 デバイスノード名 /dev/v4l-subdev12 pad0: ソース [stream:0 fmt:UYVY8_1X16/1920x1536 field:none colorspace:raw xfer:none ycbcr:601 quantization:full-range クロップの境界:(0,0)/1920x1536 トリミング:(0,0)/1920x1536] -> "max96724 3-0027":0 [有効、不変] - エンティティ 133: mx95wecam 9-0062 (パッド 1、リンク 1、ルート 0) タイプ V4L2 サブデバイス サブタイプ センサ フラグ 0 デバイスノード名 /dev/v4l-subdev13 pad0: ソース [stream:0 fmt:UYVY8_1X16/1920x1536 field:none colorspace:raw xfer:none ycbcr:601 quantization:full-range クロップの境界:(0,0)/1920x1536 トリミング:(0,0)/1920x1536] -> "max96724 3-0027":1 [有効、不変] root@imx95evk:~# gst-launch-1.0 libcamerasrc camera-name=/base/soc/bus@42000000/i2c@42540000/max96724@27/i2c-mux/i2c@0/mx95wecam@62 ! video/x-raw,width=1920,height=1536,format=YUY2 ! autovid eosink パイプラインを一時停止状態に設定しています... [0:03:53.646204235][1061] 警告 IPAManager ipa_manager.cpp:148'/media/jeffin/dev-work/nxp/codeaurora/libcamera/install/lib/libcamera/ipa' に IPA ファイルが見つかりませんでした。 [0:03:53.646456819][1061] INFO カメラ camera_manager.cpp:330libcamera v0.0.0+6194-lf-6.12.49-2.2.0-dirty (2026-04-24T21:03:02CST) [0:03:53.694436152][1068] WARN CameraSensor camera_sensor_legacy.cpp:502 'mx95wecam 8-0062': 静的プロパティにセンサー遅延が見つかりませんでした。未検証のデフォルト値を前提としています。 [0:03:53.694678277][1068] エラー DelayedControls delayed_controls.cpp:87コントロールID 0x00980911の遅延要求ですが、デバイス/dev/v4l-subdev12によってコントロールが公開されていません。 [0:03:53.694785485][1068] エラー DelayedControls delayed_controls.cpp:87コントロールID 0x009e0903の遅延要求ですが、デバイス/dev/v4l-subdev12によってコントロールが公開されていません。 [0:03:53.702510985][1068] WARN CameraSensor camera_sensor_legacy.cpp:502 'mx95wecam 9-0062': 静的プロパティにセンサー遅延が見つかりませんでした。未検証のデフォルト値を前提としています。 [0:03:53.702685235][1068] エラー DelayedControls delayed_controls.cpp:87コントロールID 0x00980911の遅延要求ですが、デバイス/dev/v4l-subdev13によってコントロールが公開されていません。 [0:03:53.702777610][1068] エラー DelayedControls delayed_controls.cpp:87コントロールID 0x009e0903の遅延要求ですが、デバイス/dev/v4l-subdev13によってコントロールが公開されていません。 [0:03:53.708162819][1068] INFO カメラ camera_manager.cpp:220パイプラインハンドラ simple にカメラ '/base/soc/bus@42000000/i2c@42540000/max96724@27/i2c-mux/i2c@0/mx95wecam@62' を追加します [0:03:53.709431777][1068] INFO カメラ camera_manager.cpp:220パイプラインハンドラ simple にカメラ '/base/soc/bus@42000000/i2c@42540000/max96724@27/i2c-mux/i2c@1/mx95wecam@62' を追加します パイプラインは稼働中で、事前登録は不要です。 パイプラインは事前登録済みです... パイプラインを再生中に設定します... 新しい時計: GstSystemClock [0:03:53.713476694][1069] INFO カメラ camera.cpp:1215ストリームの設定: (0) 1920x1536-YUYV/未設定 [0:03:53.724398360][1068] エラー V4L2 v4l2_videodevice.cpp:1991/dev/video0[15:cap]: ストリーミングの開始に失敗しました: パイプが壊れています エラー: 要素 /GstPipeline:pipeline0/GstLibcameraSrc:libcamerasrc0 から: カメラの起動に失敗しました: パイプが壊れています 追加のデバッグ情報: ../src/gstreamer/gstlibcamerasrc.cpp(871): gst_libcamera_src_task_enter (): /GstPipeline:pipeline0/GstLibcameraSrc:libcamerasrc0: カメラ開始()エラーコード-32で失敗しました。 実行は0:00:00.013385834秒後に終了しました。 パイプラインをNULLに設定中... パイプラインを解放する... Re: i.MX95 max96724 2 cameras bringup issue はい、GMSL2リンクAとBは、max96724から2台のmax9295aカメラまでロックされています。 ドライバーログ: [ 9.882277] max96724 3-0027: GMSLリンクマスク: 設定済み = 0xf、ロック済み = 0x3 ドライバーコード: while (retries -- ) { locked_links = max96724_check_gmsl_links (priv); if (locked_links == priv->gmsl_link_mask) 壊す; usleep_range ( 2000 , 2500 ); } if (locked_links == 0 ) { regmap_write (priv->rmap, MAX96724_TOP_CTRL_PWR1 , RESET_ALL ); dev_err (dev, "3回の再試行後もGMSLリンクがロックされませんでした。中止します! \n " ); 戻り値- ENODEV; } dev_info (dev, "GMSLリンクマスク: 設定済み = 0x %x 、ロック済み = 0x %x \n " 、 priv->gmsl_link_mask、locked_links); つまり、max96724とmax9295aの間でフレーム同期は必須なのでしょうか? Re: i.MX95 max96724 2 cameras bringup issue カメラのセンサは何ですか?ドライバーの設定でフレーム同期モードになっていますか?一部のカメラはデフォルトでフリーランモードで動作します。この場合、単一のカメラはMAX96724に直接接続できますが、複数のカメラの場合は、MAX96724はフレーム同期モードで動作する必要があります。すべてのカメラは、MAX96724からSYNC信号を受信した後、ビデオフレームを送信する必要があります。
お客様が使用したmedia-ctlコマンドは何ですか? Re: i.MX95 max96724 2 cameras bringup issue GMSLロックだけでは不十分で、MIPI CSI2出力にはビデオロックが必要です。複数のカメラを使用する場合、フレーム同期モードでのみビデオロックが発生します。 Re: i.MX95 max96724 2 cameras bringup issue コード: ./drivers/media/mc/mc-entity.c ret = entity->ops->link_validate(link); if (ret) { printk( 「リンク ' %s':% u -> ' %s':% u の検証に失敗しました: %d\n」 リンク->ソース->エンティティ->名前、 リンク→ソース→インデックス、 リンク->シンク->エンティティ->名前、 link->sink->index, ret); エラーへ移動; } Re: i.MX95 max96724 2 cameras bringup issue ドライバを追跡したところ、エラーログは以下のとおりでした。 <7>[ 26.481786] mx95wecam 8-0062: !!!!!! ドライバ/media/i2c/mx95wecam.c:L302mx95wecam_get_fmt() <4>[ 26.481797] !!!!!! drivers/media/mc/mc-entity.c:L875__media_pipeline_start() <4>[ 26.481802] リンク 'mx95wecam 8-0062':0 -> 'max96724 3-0027':0 は有効です <4>[ 26.481807] !!!!!! ドライバ/media/mc/mc-entity.c:L897__media_pipeline_start() <4>[ 26.481811] パッド 'mx95wecam 8-0062' を検証中:0 <4>[ 26.481815] !!!!!! ドライバ/media/mc/mc-entity.c:L836__media_pipeline_start() <4>[ 26.481819] !!!!!! drivers/media/mc/mc-entity.c:L897__media_pipeline_start() <4>[ 26.481824] パッド 'max96724 3-0027' を検証中:1 <4>[ 26.481827] !!!!!! ドライバ/media/mc/mc-entity.c:L836__media_pipeline_start() <4>[ 26.481832] !!!!!! drivers/media/mc/mc-entity.c:L863__media_pipeline_start() <7>[ 26.481839] mx95wecam 9-0062: !!!!!! drivers/media/i2c/mx95wecam.c:L302mx95wecam_get_fmt() <4>[ 26.481845] リンク 'mx95wecam 9-0062':0 -> 'max96724 3-0027':1 の検証に失敗しました: -32 <4>[ 26.481851] !!!!!! ドライバ/media/mc/mc-entity.c:L919__media_pipeline_start() <4>[ 26.481860] !!!!!! ドライバ/media/プラットフォーム/nxp/imx8-isi/imx8-isi-video.c:L1312mxc_isi_video_streamon() リンク A パイプ 0 カメラ mx95wecam 8-0062 はパイプリンク OK です。 リンクBパイプ1カメラmx95wecam 9-0062はパイプラインが故障しています。 それは配管の問題ですか? Re: i.MX95 max96724 2 cameras bringup issue デフォルトのmx95mbcamドライバはox03c10+MAX96717と組み合わされていますが、お客様がコードを変更する必要があると思います。また、dts設定はどうなっていますか? Re: i.MX95 max96724 2 cameras bringup issue はい、imx95-19x19-evk-ox03c10.dtsoとmx95mbcam.cを使ってコードを修正しました。 ちなみに、カメラを1台だけ接続しても問題ありません。 私の95年式EVKはA1バージョンのチップで、B0バージョンのチップではありません。 Re: i.MX95 max96724 2 cameras bringup issue DTSの設定ではカメラ4台のままにしておいても構いませんが、ポート0とポート1にそれぞれ2台のカメラを接続するだけで大丈夫です。
查看全文