MIPI-CSI2、IMX8MP 的 ISI 驱动程序混淆 大家好。我希望能得到一些建议。 我正在尝试让 Sony IMX287(全局快门、720x540、单色传感器)与 IMX8MP 配合使用。我根据 imx296 驱动程序为传感器编写了一个新驱动程序——经过修改以支持该传感器并提供 imx8_media_dev 模块所需的焊盘。使用示波器测试摄像机信号(LVDS CLK 和数据、Vsync、Hsync、INCK……全部正确且有效)。 我们正在使用 Lattice FPGA 将传感器的 LVDS 输出转换为 4 通道 MIPI-CSI2。我们在 FPGA 中的 LVDS 摄入和索尼解析方面遇到了一些问题,但我们已经解决了这些问题并获得了一些像素(几条线)。 现在,我在 CSI2 驱动程序(imx8-mipi-csi2-sam)中启用了调试,我们在 FPGA 或 i.mx8 端均未看到该级别的错误(从 CSI2 寄存器转储中看到)。 问题是我们的传感器输出单色 RAW10,但 CSI2 和 ISI 驱动程序似乎不支持这一点。 参考了这里的几个帖子,我修改了驱动程序以支持 Y10_1X10 (RAW10)。v4l2-ctl 可以显示格式的更新列表,当我开始尝试捕获原始图像时,它正确地绕过了 csc,获得了正确的格式,并且 ISI 寄存器中的所有内容都显示正确。但是 MIPI-CSI2 不断出现 FIFO 溢出错误,因此 ISI 似乎没有清空 FIFO。我不确定为什么。但这让我走上了一条令我困惑的道路。 我使用的驱动程序来自 linux/drivers/staging/media/imx 目录(用于获取 imx8_media_dev 模块)。 令我感到困惑的是,我必须在 CSI2 和 ISI 驱动程序中添加对 RAW10 的支持,而其他人多年来也一直不得不这样做。我还对所呈现的内核配置选项感到困惑(并且在 NXPs Yocto 设置中默认选择构建)。linux/drivers/media/platform/imx8 下还有其他驱动程序。有一个 CSI2-YAV“另一个版本”驱动程序。然后在 linux/drivers/media/platform/nxp 下有另一个 csi2 驱动程序和另一个 ISI 驱动程序。这些驱动程序似乎是最近才维护的,并且似乎已经支持 RAW10。但尚不清楚它们是否适用于 8M Plus...或者是否需要构建一些额外的东西来建立链接,就像 imx8_media_dev 驱动程序一样。 有人能解释一下哪些驱动程序是适合/最适合在 IMX8MP 上使用的吗? 有谁知道为什么当我最终让所有驱动程序同意 MBUS 格式和 PIXEL 格式时,ISI 不会清空 CSI2 的 FIFO? 我从其他帖子中得知,问题将是“您为什么不使用 ISP?” 原因如下: 1) 根据移植指南,为 ISP 设置驱动程序看起来非常复杂。 2)我们不需要任何 ISP 功能。我们所需要的是从传感器捕获 RAW10 帧并将它们快速推送到 Gstreamer。所有后续帧处理均在配备 Nvidia GPU 的 PC 上完成。我们必须实现的主要目标是实现高帧率的流式传输能力。 3) 虽然我有一个可以正常工作的 i2c 驱动程序,理论上可以生成 .drv除此之外,还保留了 ISP 所需的相机校准元数据。这不是一件小事,产品的其余部分还没有准备好经历这样的过程(我们也没有时间去做这件事,因为基本上没有任何好处)。 3) 从我迄今为止尝试使用 MIPI 和 ISI 驱动程序时遇到的问题来看,我对 ISP 路由中不会遇到类似问题没有信心。 由于我们不需要 ISP 提供的功能,因此通过 ISI 似乎是最直接的选择。 您有什么想法吗? 回复:MIPI-CSI2 混淆,IMX8MP 的 ISI 驱动程序 这没有下载任何东西,所以我不确定它包含什么。有没有我可以查询的 AN 号码? 我已经解决了主要问题。我们现在正在捕获,下一个挑战是防止由于帧速率而导致 v4l2-ctl 或 gstreamer 中丢帧。MIPI 接口似乎可以很好地达到 360fps(并且一旦我们优化了 FPGA,可能可以处理更高的帧速率)。 我看到 v4l2-ctl 报告的帧速率与 CSI 事件的统计数据显示的帧速率相匹配,但是当我尝试捕获到 ramdisk 上的文件时,帧速率下降了 170fps。似乎是 v4l2-ctl 丢帧了...好像它跟不上。Gstreamer 似乎在 100fps 左右达到峰值,但我不知道为什么。此时,我不确定是否是中断太多、内存吞吐量太大,还是用户空间应用程序无法跟上速率。 至于让 RAW10 与 ISI 配合使用,对于其他尝试此操作的人来说,关键是: 1) 为 csi2-sam 和 isi 驱动程序添加对输入和输出格式的支持。这些驱动程序也存在一些错误——一些输出格式被交换,并且垫圈寄存器转储代码双重应用了偏移量,因此它读取了错误的地址。我会看看是否可以提交补丁。 2)将色彩空间设置为COLORSPACE_RAW。我认为有三个地方必须这样做。 3) 请勿使用 32 位/并行模式。RAW10 按 40 位对齐。所以你需要“正常/单像素”模式。 4) ISI 输出格式可以设置为几种不同的格式。如果将其设置为 RAW10,它将左对齐(填充 6 LSB),这通常不是您想要的。将其设置为 RAW16,您将获得正确的输出(16 位像素,高位用零填充)。您可以获得 Y10 输出。如果您添加 GREY 格式支持(Y8),它也可以工作并且与 libjpeg 之类的兼容。Y16 实际上与 Y10 相同。 5) 如果您像我一样进行 FPGA 转换,请确保 FPGA 在 MIPI 成帧器中获取正确的字数。这是我们遇到的另一个问题,由于未对齐而产生 CRC 错误和 FIFO 溢出。 我将把这个问题标记为已解决。 回复:MIPI-CSI2 混淆,IMX8MP 的 ISI 驱动程序 建议你可以参考这个AN
i.MX 8M系列MIPI采集系统(nxp.com) 回复:MIPI-CSI2 混淆,IMX8MP 的 ISI 驱动程序 更新当前状态。我们还没有完全实现这一目标,但已经非常接近了。 事实证明, MIPI_CSIS_ISPCFG_ALIGN_32BIT 和 MIPI_CSIS_CMN_CTRL_HDR_MODE 与该问题无关。 事实上,虽然设置 MIPI_CSIS_ISPCFG_ALIGN_32BIT 似乎有助于缓解 FIFO 溢出,但它实际上导致了数据格式错误并导致了 2 周的挫败感。据我所知,神奇的未记录的“HDR_MODE”位似乎没有什么区别。 我对设备树中的时钟做了一些工作,解决了我们看到的一些 CRC 错误。我尝试了四模式和双模式,因为手册似乎暗示需要其中一种。由于它们似乎与 32 位(“并行”)模式不兼容,因此我将其关闭。我得到了正确的像素数据(在使用 RAW16 的 ISI 格式后...RAW10 左移 6 位,正如手册所解释的那样,它将数据放在字节的 MSB 中...使用 RAW16 可以使其低对齐,这是首选)。通过更好地设置时钟,我可以获得没有 FIFO 溢出或 CRC 错误的图像。但是,四倍模式给了我一个四分之一宽度的图像,其中只有每组 4 个像素中的第一个。双模式给了我一个像素为 0 和 2 的半宽图像。它们是正确的值,只是缺少数据(这解释了为什么图像分别为 1/4 和 1/2 宽度)。手册中对这些模式的解释完全是违反直觉的。这让人相信像 RAW10 这样的东西应该需要四模式。不。您需要“正常”/“单像素”模式。并且时钟速度足够快,可以提取数据。 与 ChatGPT 的对话表明,它对“四像素模式、双像素模式和 32 位模式”的了解比 NXP 文档或我所查看的 MIPI-CSI2 规范中的任何内容都要多。 我仍然需要提高我的时钟以达到我需要的帧速率,但我现在已经取得了一些进展。 我对设备树中的正确时钟设置感到困惑。 我*认为*我需要在“端点”节中包含以下内容: link-frequencies = /bits/ 64 <2376000000>, <1188000000>; //(全速率和半速率模式的总带宽) 最大车道频率=/位/ 64 <297000000>; 最大像素频率 = /位/ 64 <297000000>; // 假设 MIPI-CSI2“像素”为 8 位,即使我们的源像素是 10 位 最大数据速率=/位/ 64 <2376000000>; 目前 mipi-csi 时钟使用默认的 500MHz,APB 时钟使用默认的 200MHz。 我相信我需要将 D-PHY 时钟提高到 1188MHz(在 1.5GHz 最大值以内)。 像素时钟/“包装”时钟...GPT 认为它需要是 1.7GHz(720w * 540h * 437fps * 10bpp)。这超出了 1.5GHz 的最大值,所以我可能需要牺牲一些帧速率。不确定这个数字是否正确...它看起来像是在计算位,而不是像素。因此真正的像素率可能只有 170MHz。 任何有关正确的设备树时钟设置的建议都将受到欢迎。供参考: 传感器为 720x540 活动像素,每通道 297MHz(DDR,因此每通道 594Mbps),4 通道,全速率模式下总带宽为 2.376Gbps。全速率支持高达 437fps。我可以通过调整消隐来降低帧速率。我们的应用程序至少需要 250fps。 感谢您对计时的任何建议,我希望这对其他遇到此问题的人有所帮助。看来 ISI 确实能够引入 RAW10 单色。 回复:MIPI-CSI2 混淆,IMX8MP 的 ISI 驱动程序 在mipi csi驱动程序的mipi_csis_set_fmt函数中,你介意打印“mf->code”吗?检查mf->code是否设置为MEDIA_BUS_FMT_SBGGR10_1X10? 回复:MIPI-CSI2 混淆,IMX8MP 的 ISI 驱动程序 在isi驱动程序的mxc_isi_cap_g_fmt_mplane函数中
https://github.com/nxp-imx/linux-imx/blob/lf-6.6.y/drivers/staging/media/imx/imx8-isi-cap.c#L846
您是否将 V4L2_COLORSPACE_SRGB 更改为 V4L2_COLORSPACE_RAW? 回复:MIPI-CSI2 混淆,IMX8MP 的 ISI 驱动程序 我昨晚回复了,不知道为什么现在没有显示。 前一天晚上,在添加了一些额外的调试输出(这与时间有关)并修复了 CSI 驱动程序的垫圈寄存器转储中的一个错误之后,我开始成功地避免了 FIFO 溢出,该错误总是显示所有垫圈寄存器都是零,因为它读取了错误的偏移量(它将偏移量应用于已经包含偏移量的值)。我修复了垫片转储并看到垫片正在获取数据。 收到您的回复后,我禁用了 HDR 位。我注意到设置了一些“保留”位并想知道那是什么。我绝对不需要 HDR 模式。 设置 ISPCFG_ALIGN_32BIT 有很大帮助。我们在 FPGA 中实现了一个简单的梯度测试模式,以暂时从方程中去除实际的 CMOS 传感器。现在,我们看到了渐变,但有两个问题: 1) 这些值左移 6 位(因此看起来 10 位像素数据进入了字的高端而不是低端)。 2)我们有垂直条纹,因为每 5 个像素都是一个与我们的数据不相关的常数值。 #2 令我印象深刻,因为它符合 MIPI 通过在 5 个字节中打包 4 个 10 位像素来发送 RAW10 的模式。根据 MIPI 规范,它通过发送 pixA2-9 pixB2-9 pixC2-9 pixD2-9 后跟由 LSB 组成的第 5 个字节来实现此目的:pA0 pA1 pB0 pB1 pC0 pC1 pD0 pD1。所以看起来这个结构仍然被保存下来。 我认为 MIPI 解码器会将其解码回 10 位像素,并与 16 位字的低位对齐(“Y10 格式”),并且由于我们绕过了 CSC,ISI 会将其直接写入内存。 因此,我们发送的数据如下所示: 0x000 0x004 0x008 0x00c 0x010 0x014 等。我们得到如下数据: 00 00 AA 01 01 02 02 02 03 03 04 00 AA 01 05 02 06 02 07 03 08 00 AA 01 09 02 0A 02 0B 03 0C 00 AA 01 0D 02 0E 02 0F 03 10 00 AA 01 11 02 12 02 13 03 14 00 AA 01 15 02 16 02 17 03 18 00 AA 01 19 02 1A 02 1B 03 1C 00 AA 01 1D 02 1E 02 1F 03 20 00 AA 01 21 02 22 02 23 03 24 00 AA 01 “AA01”字是出现的“第 5 个”字,它导致了图像中出现垂直条纹。您可以看到,如果将单词“0101”,“0202”等右移 6 位,则可以恢复实际发送的数据。 有没有办法避免使用后捕获过滤器?它能正确存储数据吗?您对如何纠正这个问题有什么想法吗? 如果我们需要添加过滤器,我会担心吞吐量。我们打算以低分辨率但高帧率(120fps +)运行。 非常感谢! 回复:MIPI-CSI2 混淆,IMX8MP 的 ISI 驱动程序 谢谢。昨晚,在向 ISI 添加了更多调试输出(希望这并不意味着存在时间问题)后,我开始获得一些更真实的数据。此外,CSI 驱动程序的垫圈寄存器转储有一个错误...它读取了错误的偏移量,因此总是显示零。我之前看到过其他人遇到过这个问题并且我发现了原因。 我看到了“保留”设置并想知道它是什么。我绝对不需要设置 HDR 模式。禁用该功能并设置 ISPCFG_ALIGN_32BIT 有很大帮助。 为了进行测试,我们在 FPGA 中实现了一个测试模式,它发送像素数据(如 0x004 0x008 0x00c 0x010 0x014 等)来为线数据生成渐变(从每条线开始)。我们现在得到了一个渐变,但是灰度颜色值发生了变化,并且每 5 个像素就有一条垂直条纹。 上面的数据出来了: 00 00 AA 01 01 02 02 02 03 03 04 00 AA 01 05 02 06 02 07 03 08 00 AA 01 09 02 0A 02 0B 03 0C 00 AA 01 0D 02 0E 02 0F 03 10 00 AA 01 11 02 12 02 13 03 14 00 AA 01 15 02 16 02 17 03 18 00 AA 01 19 02 1A 02 1B 03 1C 00 AA 01 1D 02 1E 02 1F 03 20 00 AA 01 21 02 22 02 23 03 24 00 AA 01 25 02 26 02 27 03 28 00 AA 01 29 02 2A 02 2B 03 2C 00 AA 01 2D 02 2E 02 2F 03 30 00 AA 01 31 02 32 02 33 03 34 00 AA 01 35 02 36 02 37 03 38 00 AA 01 请注意,每 5 个 16 位字都是 0xAA01。如果将其他像素右移 6,那么您就会得到正确的数据。因此看起来好像是将像素对齐到高位,而不是低位。有没有办法修复它而不必在捕获后过滤图像?我们希望以高帧率(>120fps)运行,我担心在软件中移动所有像素会影响我们的性能。此外,每 5 个字为 0xAA01 很有趣,因为据我所知,MIPI 上的 RAW10(格式 0x2b)以 5 字节序列格式化为 pixA2_9 pixB2_9 pixC2_9 pixD2_9 LSB(a0a1b0b1c0c1d0d1)。因此看起来 CSI 接收器可能没有将 MIPI 流重新格式化为 RAW10/Y10 媒体总线格式。 有什么想法吗?谢谢。 回复:MIPI-CSI2 混淆,IMX8MP 的 ISI 驱动程序 在 mipi csi 驱动程序中,您是否启用了 MIPI_CSIS_ISPCFG_ALIGN_32BIT?如果没有,请尝试启用此位并尝试删除“val |= MIPI_CSIS_CMN_CTRL_HDR_MODE;” 回复:MIPI-CSI2 混淆,IMX8MP 的 ISI 驱动程序 补充说明:我还使用我添加的格式以与现有格式相同的方式更新了 CSI 函数 disp_mix_gasket_config 和 mipi_csis_imx8mp_phy_reset。 回复:MIPI-CSI2 混淆,IMX8MP 的 ISI 驱动程序 谢谢您的回复。 我们处于 6.6-nanbield。 是的,我还为 ISI 添加了对 Y10(RAW10)的支持。 我已经启用调试并且寄存器设置对我来说看起来是正确的。 对于 CSI,我添加到 struct mipi_csis_formats: {
.code = MEDIA_BUS_FMT_Y10_1X10,
.fmt_reg = MIPI_CSIS_ISPCFG_FMT_RAW10,
.data_alignment = 16,
} 对于 imx8-isi-fmt.c,在 struct mxc_isi_out_formats 中我添加了: {
.name = "Y10 ",
.fourcc = V4L2_PIX_FMT_Y10,
.depth = { 16 },
.color = MXC_ISI_OUT_FMT_RAW16, // also tried MXC_ISI_OUT_FMT_RAW10 to no avail
.memplanes = 1,
.colplanes = 1,
.align = 3, // question...is this correct? manual shows RAW16 is packed into 32-bit DWORD
.mbus_code = MEDIA_BUS_FMT_Y10_1X10,
} 到 imx8-isi-cap.c我添加了 struct mxc_isi_src_formats: {
.name = "Y10 ",
.fourcd = V4L2_PIX_FMT_Y10,
.depth = { 16 },
.memplanes = 1,
.colplanes = 1,
.align = 0, // is this correct? Incoming data is a stream of 10-bit pixels... // align=3 didn't work, align=1?
} 我调整了函数 mxc_isi_get_src_fmt 来识别添加的 Y10 格式并选择其关联索引 (2)。 我选择了 RAW16 的 ISI 输出格式,因为我看到另一个帖子说它需要 RAW16 才能工作。无论如何,我尝试了 RAW10,但遇到了同样的 FIFO 溢出问题。 在调试输出中,我看到 csc 被绕过了。它选择了我添加的格式,当使用 v4l-ctrl 进行原始捕获时,它会显示:“绕过 csc”、“输入 fmt Y10”、“输出 fmt Y10”。 CHNL_IMG_CTRL 寄存器为 0x0F000001,表示 CSC 被绕过,RAW16 被打包成 32 位 DWORD。我尝试使用 .align 设置 RAW10 的上述格式= 1(16 位对齐)并得到相同的结果,但 CHNL_IMG_CTRL 为 0x0C000001(CSC 绕过,RAW10 打包成 16 位 DWORD,有 6 个浪费位)。所有寄存器看起来都是正确的,但 CSI2 将所有数据报告为 FIFO 溢出。 我已经检查了我的时钟配置,它们看起来都应该可以工作。 该传感器输出 4 通道 LVDS,每通道 297MHz,DDR。这将转到一个 FPGA,它将每个通道转换为 297MHz 的 MIPI-CSI2 4 通道 DDR。因此比特率为 297M*2(DDR)*4(通道) = 2376Mbps (2.376Gbps)。像素时钟应为 2376000000 / 10(10 位像素)= 237.6MHz。正确的? 据我理解,设备树“时钟频率”参数是“包装”频率,必须超过像素速率。因此默认的 500MHz 应该可以实现这一点,但我尝试将其提高到 1188MHz,甚至达到 2376MHz,但没有任何变化。 奇怪的是,如果我使用驱动程序并允许它默认将数据处理为 RGB,我就会捕获像素数据,但它当然有颜色伪影。 以下是一些输出: root@crow:~# media-ctl -p -d0 媒体控制器 API 版本 6.6.3 媒体设备信息 ------------------------ 驱动程序 mxc-md FSL 型号捕获媒体设备 串行 公交信息平台:32c00000.bus:camera 硬件修订版 0x0 驱动程序版本 6.6.3 设备拓扑 -实体1:mxc_isi.0(16 个垫片,2 个链节) 类型 V4L2 子设备子类型 未知标志 0 pad0:接收器 <-“mxc-mipi-csi2.0”:4[已启用] pad1:水槽 pad2:水槽 pad3:水槽 pad4:水槽 pad5:水槽 pad6:水槽 pad7:水槽 pad8:水槽 pad9:水槽 pad10:水槽 pad11:水槽 pad12:来源 ->“mxc_isi.0.capture”:0[已启用] pad13:来源 pad14:来源 pad15:水槽 - 实体 18:mxc_isi.0.capture(1 个焊盘,1 个链接) 类型节点子类型 V4L 标志 0 设备节点名称 /dev/video0 pad0:接收器 <-“mxc_isi.0”:12[已启用] - 实体 22:mxc-mipi-csi2.0(8 个焊盘,2 个链接) 类型节点子类型 V4L 标志 0 设备节点名称 /dev/v4l-subdev0 pad0:接收器 <-“pregius 1-001a”:0 [已启用,不可变] pad1:水槽 pad2:水槽 pad3:水槽 pad4:来源 ->“mxc_isi.0”:0[已启用] pad5:来源 pad6:来源 pad7:来源 - 实体 31:pregius 1-001a(1 个垫子,1 个链接) 类型 V4L2 子设备子类型传感器标志 0 设备节点名称 /dev/v4l-subdev1 pad0: 源 [fmt:Y10_1X10/720x540 字段:无 色彩空间:原始 传输:无 量化:全范围 crop.bounds:(0,0)/720x540 裁剪:(0,0)/720x540] ->“mxc-mipi-csi2.0”:0[已启用,不可变] root@crow:~# echo 2 > /sys/module/imx8_mipi_csi2_sam/parameters/debug root@crow:~# v4l2-ctl --device /dev/video0 --set-fmt-video width=720,height=540,pixelformat=0x20303159 --stream-mmap --stream-to /tmp/testcap.raw --stream-count 1 [44.026944]isi捕获32e00000.isi:cap_device:mxc_isi_cap_g_选择 [44.033902]isi捕获32e00000.isi:cap_设备:mxc_isi_cap_g_fmt_mplane [44.040720]isi捕获32e00000.isi:cap_device:mxc_isi_cap_enum_fmt [44.047190]isi捕获32e00000.isi:cap_device:mxc_isi_cap_enum_fmt [44.053651]isi捕获32e00000.isi:cap_设备:mxc_isi_cap_enum_fmt [44.060126]isi捕获32e00000.isi:cap_device:mxc_isi_cap_enum_fmt [44.066584]isi捕获32e00000.isi:cap_device:mxc_isi_cap_enum_fmt [44.073055]isi捕获32e00000.isi:cap_device:mxc_isi_cap_enum_fmt [44.079514]isi捕获32e00000.isi:cap_device:mxc_isi_cap_enum_fmt [44.085987]isi捕获32e00000.isi:cap_device:mxc_isi_cap_enum_fmt [44.092459]isi捕获32e00000.isi:cap_device:mxc_isi_cap_enum_fmt [44.098917]isi捕获32e00000.isi:cap_device:mxc_isi_cap_enum_fmt [44.105386]isi捕获32e00000.isi:cap_device:mxc_isi_cap_enum_fmt [44.111859]isi捕获32e00000.isi:cap_device:mxc_isi_cap_enum_fmt [44.118334]isi捕获32e00000.isi:cap_device:mxc_isi_cap_s_fmt_mplane,fmt=0x20303159 [44.126536]isi捕获32e00000.isi:cap_device:mxc_isi_cap_fmt_try [44.132973]isi捕获32e00000.isi:cap_device:mxc_isi_cap_g_选择 [44.139706]isi捕获32e00000.isi:cap_device:mxc_isi_cap_g_选择 [44.146547]isi捕获32e00000.isi:cap_device:cap_vb2_queue_setup,buf_n=4,大小=777600 [44.156251]isi捕获32e00000.isi:cap_device:cap_vb2_buffer_prepare [44.162904]isi捕获32e00000.isi:cap_设备:cap_vb2_buffer_prepare [44.169552]isi捕获32e00000.isi:cap_device:cap_vb2_buffer_prepare [44.176213]isi捕获32e00000.isi:cap_device:cap_vb2_buffer_prepare [44.182866]isi捕获32e00000.isi:cap_device:mxc_isi_cap_g_fmt_mplane [44.189681]isi捕获32e00000.isi:cap_device:mxc_isi_cap_streamon [44.209431]绕过CSC [44.211807]输入格式Y10 [44.214515]输出格式Y10 [44.217372]isi捕获32e00000.isi:cap_device:cap_vb2_start_streaming [44.224546]isi捕获32e00000.isi:cap_device:cap_vb2_start_streaming:num_plane=0 丢弃_size=778240 丢弃_buffer=0000000087eba1c1 [44.236925]mxc-isi_v1 32e00000.isi:ISI CHNLC 寄存器转储,isi0 [44.243124]mxc-isi_v1 32e00000.isi:通道控制[0x00]: e0000000 [44.249949]mxc-isi_v1 32e00000.isi:CHNL_IMG_CTRL[0x04]: f000001 [44.256676]mxc-isi_v1 32e00000.isi:CHNL_OUT_BUF_CTRL[0x08]: 7c707 [44.263226]mxc-isi_v1 32e00000.isi:CHNL_IMG_CFG[0x0c]: 21c02d0 [44.269950]mxc-isi_v1 32e00000.isi:通道IER[0x10]: 3cfc0000 [44.276760]mxc-isi_v1 32e00000.isi:通道STS[0x14]: 100 [44.283130]mxc-isi_v1 32e00000.isi:通道比例因子[0x18]: 10001000 [44.289941]mxc-isi_v1 32e00000.isi:通道比例偏移[0x1c]: 00 [44.296254]mxc-isi_v1 32e00000.isi:通道裁剪_ULC[0x20]: 00 [44.302553]mxc-isi_v1 32e00000.isi:通道裁剪_LRC[0x24]: 00 [44.308839]mxc-isi_v1 32e00000.isi:CHNL_CSC_COEFF0[0x28]: 00 [44.315129]mxc-isi_v1 32e00000.isi:CHNL_CSC_COEFF1[0x2c]: 00 [44.321412]mxc-isi_v1 32e00000.isi:CHNL_CSC_COEFF2[0x30]: 00 [44.327698]mxc-isi_v1 32e00000.isi:CHNL_CSC_COEFF3[0x34]: 00 [44.333984]mxc-isi_v1 32e00000.isi:CHNL_CSC_COEFF4[0x38]: 00 [44.340270]mxc-isi_v1 32e00000.isi:CHNL_CSC_COEFF5[0x3c]: 00 [44.346559]mxc-isi_v1 32e00000.isi:通道ROI_0_ALPHA[0x40]: 00 [44.352847]mxc-isi_v1 32e00000.isi:通道ROI_0_ULC[0x44]: 00 [44.359133]mxc-isi_v1 32e00000.isi:通道ROI_0_LRC[0x48]: 00 [44.365416]mxc-isi_v1 32e00000.isi:通道ROI_1_ALPHA[0x4c]: 00 [44.371716]mxc-isi_v1 32e00000.isi:通道ROI_1_ULC[0x50]: 00 [44.378001]mxc-isi_v1 32e00000.isi:通道ROI_1_LRC[0x54]: 00 [44.384318]mxc-isi_v1 32e00000.isi:通道ROI_2_ALPHA[0x58]: 00 [44.390618]mxc-isi_v1 32e00000.isi:通道ROI_2_ULC[0x5c]: 00 [44.396910]mxc-isi_v1 32e00000.isi:通道ROI_2_LRC[0x60]: 00 [44.403201]mxc-isi_v1 32e00000.isi:通道ROI_3_ALPHA[0x64]: 00 [44.409486]mxc-isi_v1 32e00000.isi:通道ROI_3_ULC[0x68]: 00 [44.415772]mxc-isi_v1 32e00000.isi:通道ROI_3_LRC[0x6c]: 00 [44.422058]mxc-isi_v1 32e00000.isi:CHNL_OUT_BUF1_ADDR_Y[0x70]: c4900000 [44.428861]mxc-isi_v1 32e00000.isi:CHNL_OUT_BUF1_ADDR_U[0x74]: 00 [44.435148]mxc-isi_v1 32e00000.isi:CHNL_OUT_BUF1_ADDR_V[0x78]: 00 [44.441432]mxc-isi_v1 32e00000.isi:CHNL_OUT_BUF_PITCH[0x7c]: 5a0 [44.447807]mxc-isi_v1 32e00000.isi:通道输入缓冲区地址[0x80]: 00 [44.454093]mxc-isi_v1 32e00000.isi:通道输入缓冲区间距[0x84]: 00 [44.460376]mxc-isi_v1 32e00000.isi:通道内存读取控制[0x88]: 00 [44.466659]mxc-isi_v1 32e00000.isi:CHNL_OUT_BUF2_ADDR_Y[0x8c]: c4500000 [44.473464]mxc-isi_v1 32e00000.isi:CHNL_OUT_BUF2_ADDR_U[0x90]: 00 [44.479753]mxc-isi_v1 32e00000.isi:CHNL_OUT_BUF2_ADDR_V[0x94]: 00 [44.486054]mxc-isi_v1 32e00000.isi:CHNL_SCL_IMG_CFG[0x98]: 21c02d0 [44.492784]mxc-isi_v1 32e00000.isi:通道流控制[0x9c]: 00 [44.530380] pregius 1-001a:将 VMAX 设置为 586 [44.535304] pregius 1-001a:将 HMAX 设置为 1100 [44.564485]isi捕获32e00000.isi:cap_device:mxc_isi.0.capture 没有 v4l2 子设备 [44.572275]isi捕获32e00000.isi:cap_device:mxc_isi_cap_g_fmt_mplane [ 44.600285] systemd-journald[131]: /dev/kmsg 缓冲区溢出,一些消息丢失。 [ 44.608024] systemd-journald[131]: /dev/kmsg 缓冲区溢出,一些消息丢失。 [ 44.615547] systemd-journald[131]: /dev/kmsg 缓冲区溢出,一些消息丢失。 ^C[ 46.807024] isi-捕获 32e00000.isi:cap_device:mxc_isi_cap_streamoff [46.807033]isi捕获32e00000.isi:cap_device:cap_vb2_stop_streaming [46.820957]MXC-MIPI-CSI2.0:帧结束事件:1 [46.825576]MXC-MIPI-CSI2.0:帧开始事件:1 [46.830366]MXC-MIPI-CSI2.0:奇数帧事件后的非图像数据:0 [46.836806]MXC-MIPI-CSI2.0:奇数帧事件之前的非图像数据:0 [46.843331]MXC-MIPI-CSI2.0:偶数帧事件后的非图像数据:0 [46.849858]MXC-MIPI-CSI2.0:偶数帧事件之前的非图像数据:0 [46.856470]MXC-MIPI-CSI2.0:未知错误事件:0 [46.861432]MXC-MIPI-CSI2.0:CRC 错误事件:0 [46.866220]MXC-MIPI-CSI2.0:ECC 错误事件:0 [46.870835]MXC-MIPI-CSI2.0:FIFO 溢出错误事件:141304 [46.876752]MXC-MIPI-CSI2.0:丢失帧结束错误事件:0 [46.882323]MXC-MIPI-CSI2.0:丢失帧起始错误事件:87 [46.888156]MXC-MIPI-CSI2.0:SOT 错误事件:0 [46.892851]isi捕获32e00000.isi:cap_device:mxc_isi.0.capture 没有 v4l2 子设备
記事全体を表示