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.
工具/软件:Linux
我正在查看 ti-linux-kernel、ti-linux-4.4.y 分支中的 ti-vpe/cal.c 驱动程序、我发现了一个对我来说没有意义的寄存器配置。
驱动程序设置一个"CAL context (CAL context)"(正确的术语?) 根据 PHY、使用器件树子器件中"REG"的虚拟通道 ID 配置每个 PHY。 这与 enable_IRQs()的第一部分匹配,其中 ctx->csi2_port 用于选择与 PHY 具有相同索引的 Write DMA。
但是、我对第593行的解释如下:为虚拟通道3 (!)上的所有事件启用 CAL 中断 (零索引)并将1s 写入为 PHY/CSI2-LL 1 (一索引)的保留位(!)。
如果我弄乱了字节顺序、我就已经思考了、但其他寄存器看起来会按照此顺序进行调整、因此看起来 VC 3的位是设置的。
我的解释是否不正确? 您能澄清第593行的影响吗?
此致、
Thomas Axlsson
Git 显示 a48dfc3:drivers/media/platform/ti-vpe/cal.c | cat -n | less
580静态空 enable_IRQ (struct cal_ctx * ctx) 581{ 582 /*启用 IRQ_WDMA_END 0/1 */ 583 REG_WRITE_FIELD (ctx->dev、 584 CAL_HL_IRQENABLE_SET (2)、 585 CAL_HL_IRQ_ENABLE、 586 CAL_HL_IRQ_MASK (ctx->csi2_port); 587 /*启用 IRQ_WDMA_START 0/1 */ 588 reg_write_field (ctx->dev、 589 CAL_HL_IRQENABLE_SET (3)、 590 CAL_HL_IRQ_ENABLE、 591 CAL_HL_IRQ_MASK (ctx->csi2_port); 592 /*待办事项:添加 VC_IRQ 和 CSI2_COMPLEXIO_IRQ 处理*/ 593 REG_WRITE (ctx->dev、CAL_CSI2_VC_IRQENABLE (1)、0xFF000000); 594}