This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] AM625:SK-AM62P-LP 无法在 Android SDK 上启用 V3 Link

Guru**** 2393725 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1485490/am625-sk-am62p-lp-unable-to-enable-v3-link-on-android-sdk

器件型号:AM625

工具与软件:

尊敬的团队、 

这与 https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1397621/am625-am625/5348691相关

此任务的目标:   使用 imx219传感器启动 www.arducam.com/.../以捕获原始帧

步骤1:

已创建随附的补丁。  v3-imx219.patch

diff --git a/BUILD.bazel b/BUILD.bazel
index 98e28fa43..ee55dacaa 100644
--- a/BUILD.bazel
+++ b/BUILD.bazel
@@ -765,6 +765,11 @@ kernel_build(
         "ti/k3-am62-lp-sk-microtips-mf101hie-panel.dtbo",
         "ti/k3-am62p5-sk-mcan.dtbo",
         "ti/k3-am62p5-sk-microtips-mf101hie-panel.dtbo",
+	"ti/k3-am62x-sk-csi2-v3link-fusion.dtbo",
+	"ti/k3-v3link-imx219-0-0.dtbo",
+	"ti/k3-v3link-imx219-0-1.dtbo",
+	"ti/k3-v3link-imx219-0-2.dtbo",
+	"ti/k3-v3link-imx219-0-3.dtbo",
     ],
     outs = [
         "Image",
@@ -789,6 +794,11 @@ kernel_build(
         "k3-am625-sk-m2-cc3301.dtbo",
         "k3-am62p5-sk-m2-cc3301.dtbo",
         "k3-am625-sk-wl1837.dtbo",
+	"k3-am62x-sk-csi2-v3link-fusion.dtbo",
+	"k3-v3link-imx219-0-0.dtbo",
+	"k3-v3link-imx219-0-1.dtbo",
+	"k3-v3link-imx219-0-2.dtbo",
+	"k3-v3link-imx219-0-3.dtbo",
         "vmlinux",
         "vmlinux.symvers",
     ],
@@ -845,6 +855,8 @@ kernel_build(
         "drivers/leds/leds-tlc591xx.ko",
         "drivers/mailbox/omap-mailbox.ko",
         "drivers/mailbox/ti-msgmgr.ko",
+	"drivers/media/i2c/ds90ub960.ko",
+	"drivers/media/i2c/imx219.ko",
         "drivers/media/i2c/ov5640.ko",
         "drivers/media/platform/cadence/cdns-csi2rx.ko",
         "drivers/media/platform/chips-media/wave5/wave5.ko",
@@ -966,6 +978,11 @@ kernel_images(
         ":ti/k3-am625-sk-m2-cc3301.dtbo",
         ":ti/k3-am62p5-sk-m2-cc3301.dtbo",
         ":ti/k3-am625-sk-wl1837.dtbo",
+	":ti/k3-am62x-sk-csi2-v3link-fusion.dtbo",
+	":ti/k3-v3link-imx219-0-0.dtbo",
+	":ti/k3-v3link-imx219-0-1.dtbo",
+	":ti/k3-v3link-imx219-0-2.dtbo",
+	":ti/k3-v3link-imx219-0-3.dtbo",
     ]
 )
 
diff --git a/arch/arm64/boot/dts/ti/k3-am62p-main.dtsi b/arch/arm64/boot/dts/ti/k3-am62p-main.dtsi
index e2fb5fcd8..ab33d590e 100644
--- a/arch/arm64/boot/dts/ti/k3-am62p-main.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-am62p-main.dtsi
@@ -1152,27 +1152,27 @@
 
 				csi0_port0: port@0 {
 					reg = <0>;
-					status = "disabled";
+					status = "enabled";
 				};
 
 				csi0_port1: port@1 {
 					reg = <1>;
-					status = "disabled";
+					status = "enabled";
 				};
 
 				csi0_port2: port@2 {
 					reg = <2>;
-					status = "disabled";
+					status = "enabled";
 				};
 
 				csi0_port3: port@3 {
 					reg = <3>;
-					status = "disabled";
+					status = "enabled";
 				};
 
 				csi0_port4: port@4 {
 					reg = <4>;
-					status = "disabled";
+					status = "enabled";
 				};
 			};
 		};
diff --git a/arch/arm64/configs/ti_gki.fragment b/arch/arm64/configs/ti_gki.fragment
index e9562f376..452a5442b 100644
--- a/arch/arm64/configs/ti_gki.fragment
+++ b/arch/arm64/configs/ti_gki.fragment
@@ -159,3 +159,5 @@ CONFIG_WL18XX=m
 CONFIG_WLAN_VENDOR_TI=y
 CONFIG_WLCORE=m
 CONFIG_WLCORE_SDIO=m
+CONFIG_VIDEO_DS90UB960=m
+CONFIG_VIDEO_IMX219=m

第2步:  

在 uBoot 上:
  1. 环境设置 dtbo_index "14 15 16 17 18"
  2. saveenv
  3. 复位

第3步:

立即下载固件
  1. ADB 根
  2. ADB 外壳
  3. CD /vendor/lib/modules
  4. insmod imx219.ko

但是、我没有看到任何确认 V3链路已启动且 imx219处于活动状态的内核日志。 您可以帮助我获取正确的补丁吗?

1.我认为 V3 Link 必须列出4个虚拟视频设备。

此致、

Libin Jose

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    正常情况下,如果您的设备树覆盖是正常的,您不需要手动加载驱动程序 系统应该加载它自己。

    对于没有日志它是因为我们把 quiet 在内核命令行中所以我们在串行控制台中没有看到很多缺省值,你可以从控制台或 adb shell 在根模式下运行 dmesg 命令。
    如果您希望、可以重新构建 Android 并 在"device/ti/am62x/device-common.mk"中从 Board_kernel_CMDLINE 中删除"quiet "。


    我没有这张扩展卡很难在我身边测试,你在 Linux BSP 上测试它,然后在 Android 上移动?

    如果您可以从 logcat dmesg 等共享更多日志

    此致、
    纪尧姆

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    亲爱的纪尧姆、

    我将在星期一分享登录信息。 您的是否可以验证我的补丁?

    如果不是对 dmesg 日志,至少"adb shell dumpsys media.camera"应该已经列出了摄像头。 但是、 我们的案例中没有列出它。

    因此、我认为贴片中存在一些问题。 您能评论一下这个补丁吗?

    此致、

    Libin Jose。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    除了 k3-am62p-main.dtsi 中的部分、您的补丁看起来不错、因为在加载器件树叠加层时应启用节点。

    但是、正如我说过的、 V3 Link 子板不会太难验证。

    我在中读到、 除了捕获原始图像外、您的第一个 e2e IMX 传感器不受支持、因此该传感器可能在 Android 上也无法正常工作。


    adb shell dumpsys media.camera 列出的相机,这是一个很好的选择,以配合 Android。

    您需要使用 cam -l 命令来查看相机 HAL 是否找到并接受它。
    https://software-dl.ti.com/processor-sdk-android/esd/AM62PX/10_01_00/docs/devices/AM62PX/android/Application_Notes_Camera .html#debuging-tips

    如果  正在加载 imx219和 DS90UB960驱动程序、是否使用 lsmod 命令进行检查?


    纪尧姆

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 

    我正在关注您提到的页面:

    $ adb shell lsmod | grep " 1 "
    rpmsg_ns               20480  1 virtio_rpmsg_bus
    cdns_csi2rx            24576  1 
    snd_soc_simple_card_utils    32768  1 snd_soc_simple_card
    ds90ub960              53248  1 
    i2c_atr                24576  1 ds90ub960
    snd_soc_ti_sdma        20480  1 snd_soc_davinci_mcasp
    snd_soc_ti_udma        20480  1 snd_soc_davinci_mcasp
    snd_soc_ti_edma        20480  1 snd_soc_davinci_mcasp
    snd_soc_tlv320aic3x_i2c    20480  1 
    snd_soc_tlv320aic3x    90112  1 snd_soc_tlv320aic3x_i2c
    k3_udma_glue           45056  1 ti_am65_cpsw_nuss,[permanent]
    tidss                  69632  1 
    drm_dma_helper         28672  1 tidss
    gpio_regulator         20480  1 
    palmas                 24576  1 palmas_regulator
    rtc_ti_k3              20480  1 
    sa2ul                  45056  1 
    zsmalloc               40960  1 zram

    我没有看到 lsmod 中的 imx219。 但是、当我手动插入时、似乎没有错误。

    console:/vendor/lib/modules # insmod ./imx219.ko                               
    console:/vendor/lib/modules # 
    

    onsole:/vendor/lib/modules # cam --camera 1 --info
    [0:18:33.703581010] [2403]  WARN IPAManager ipa_manager.cpp:154 No IPA found in '/vendor/lib64/libcamera'
    [0:18:33.703825715] [2403]  INFO Camera camera_manager.cpp:284 libcamera v0.1.0+22-60b023a0-dirty (2023-09-12T09:47:48+02:00)
    [0:18:33.705628175] [2404] ERROR SimplePipeline simple.cpp:1423 No sensor found
    Camera 1 not found
    Failed to create camera session
    
    --- logcat ----
    01-01 00:00:26.945   344   344 I libcamera:  INFO HAL camera3_hal.cpp:61 Initialising Android camera HAL
    01-01 00:00:27.121   344   344 D libcamera: DEBUG HALConfig camera_hal_config.cpp:189 '/base/bus@f0000/bus@b00000/i2c@2b200000/camera@3c' (0)[0]
    01-01 00:00:27.124   344   344 D libcamera: DEBUG HALConfig camera_hal_config.cpp:189 '/base/bus@f0000/i2c@20020000/i2c-switch@71/i2c@1/camera@3c' (0)[0]
    01-01 00:00:27.150   344   344 W libcamera:  WARN IPAManager ipa_manager.cpp:154 No IPA found in '/vendor/lib64/libcamera'
    01-01 00:00:27.151   344   344 I libcamera:  INFO Camera camera_manager.cpp:284 libcamera v0.1.0+22-60b023a0-dirty (2023-09-12T09:47:48+02:00)
    01-01 00:00:27.164   344   385 D libcamera: DEBUG Camera camera_manager.cpp:69 Starting camera manager
    01-01 00:00:27.165   344   385 D libcamera: DEBUG DeviceEnumerator device_enumerator.cpp:224 New media device "j721e-csi2rx" created from /dev/media0
    01-01 00:00:27.165   344   385 D libcamera: DEBUG DeviceEnumerator device_enumerator.cpp:252 Added device /dev/media0: j721e-csi2rx
    01-01 00:00:27.165   344   385 D libcamera: DEBUG Camera camera_manager.cpp:113 Found registered pipeline handler 'SimplePipelineHandler'
    01-01 00:00:27.165   344   385 D libcamera: DEBUG DeviceEnumerator device_enumerator.cpp:312 Successful match for media device "j721e-csi2rx"
    01-01 00:00:27.165   344   385 E libcamera: ERROR SimplePipeline simple.cpp:1423 No sensor found
    01-01 00:00:27.198   344   344 I CamPrvdr@2.4-legacy: Loaded "libcamera camera HALv3 module" camera module
    01-01 00:00:27.292   318   318 D nativeloader: InitDefaultPublicLibraries for_preload=1: libandroid.so:libaaudio.so:libamidi.so:libbinder_ndk.so:libc.so:libcamera2ndk.so:libdl.so:libEGL.so:libGLESv1_CM.so:libGLESv2.so:libGLESv3.so:libicu.so:libicui18n.so:libicuuc.so:libjnigraphics.so:liblog.so:libmediandk.so:libm.so:libnativehelper.so:libnativewindow.so:libOpenMAXAL.so:libOpenSLES.so:libRS.so:libstdc++.so:libsync.so:libvulkan.so:libwebviewchromium_plat_support.so:libz.so
    

    有什么想法吗?

    此致

    Libin Jose

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    如果您的 IMX 模块在启动时没有自动下降,这可能是因为您在 device-tree 中有问题,您可以在/proc/device-tree 中搜索 ,如果您找到 compatbile 'sony、imx219',并检查是否串行器的驱动程序也是 insmod : https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/tree/arch/arm64/boot/dts/ti/k3-v3link-imx219-0-0.dtso?h=ti-android-linux-6.6.y#n47


    纪尧姆