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:AM625:配置错误的 DISPC 时钟控制寄存器

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1660713/am625-am625-misconfigured-dispc-clock-control-register

器件型号: AM625

您好、

在 TI v6.18 内核中提交 653460b9520(“DRM/tidss:修复采样边缘配置“)后、我们 注意到我们的一个面板出现了回归。

在我们的电路板上、Toshiba TC358768 DPI 到 DSI 桥接器连接到并行 RGB 输出。 桥接器需要在负边驱动数据、这也反映在 ipc 中的变量中、 dispc_vp_enable()该变量设置为 1。

然而、应用该补丁后、数据改为在正边沿驱动。

根据 SPRUIV7C、两个 MAIN_CTRL_MMR_CFG0_DPI0_CLK_CTRL[8] 和都 DSS_VP1_POL_FREQ[14] IPC 应一致地进行编程。 但是、如果我们遵循实际位描述、并忽略表明两个编程值应相同的句子、即在请求的边沿驱动数据。

如参考手册中所述:

```μ s

MAIN_CTRL_MMR_CFG0_DPI0_CLK_CTRL[8] (DPI0_CLK_CTRL_DATA_CLK_INVDIS):

    DPI0 数据输出的时钟边沿选择

    请注意、该值应与的编程值相同
    DSS_POL_FREQ[14] IPC。

    复位源:mod_POR_rst_n

    0 DATA 和 DE 在 clk 的下降沿驱动
    1 DATA 和 DE 在 clk 的上升沿驱动


DSS_VP1_POL_FREQ[14] (IPC):

    反转像素时钟

    设置数据与像素时钟的关系、 CTRL_MMR_DPI0_CLK_CTRL[8]
    DPI0_CLK_CTRL_DATA_CLK_INVDIS 设置应与[14]相同
    IPC 设置。

    0 数据在像素时钟的上升沿上的 LCD 数据线上驱动
    1 数据在像素时钟的下降沿在 LCD 数据线上驱动
```μ s

 

对修补程序进行以下更改可解决此问题:

- regmap_update_bits(dispc->clk_ctrl, 0, 0x100, ipc ? 0x100 : 0x000);
+ regmap_update_bits(dispc->clk_ctrl, 0, 0x100, ipc ? 0x000 : 0x100);

恢复补丁也会使我们的 Toshiba 桥接器再次正常工作。 但是、我们可以确认需要贴片、否则只有正边情况(我们的情况)可以正常工作。

换句话说、这两个寄存器需要在语义上匹配、而不是在数字上匹配。

此外、我还  在发送到主线的补丁中提出了同样的问题: lore.kernel.org/.../

此致、

Leonardo