“线程: 测试”中讨论的其它部件
主席先生,你好,
我们的客户对 SN65DSI84的使用有疑问,即如何通过寄存器设置 LVDS 的输出波形。 他们测试了屏幕亮起时 LCM 上的点,通道 A 的测量输出波形如下:

从波形中我们可以了解到测试数据的输出波形是三角形的。 因此,我们的客户希望了解是否可以通过修改 SN65DSI84的相关寄存器参数来优化输出波形。 你能帮我们就这个问题提出一些建议吗?
谢谢,
此致
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.
主席先生,你好,
我们的客户对 SN65DSI84的使用有疑问,即如何通过寄存器设置 LVDS 的输出波形。 他们测试了屏幕亮起时 LCM 上的点,通道 A 的测量输出波形如下:

从波形中我们可以了解到测试数据的输出波形是三角形的。 因此,我们的客户希望了解是否可以通过修改 SN65DSI84的相关寄存器参数来优化输出波形。 你能帮我们就这个问题提出一些建议吗?
谢谢,
此致
大卫,你好。
非常感谢您的回复。 但我们的客户仍 有一些问题,如下所示:
0x1B 寄存器是否 可以写入? 如果是,你能否就此提出一些建议? 我们尝试设置 0x1b 寄存器的值,但失败。 绕道如下所示。
要修改 void sn65dsi84_on(void)函数,该代码如下所示:
if (cmds && cmd_cnt > 0) {
int i, ret;
pr_err("====cmds && cmd_cnt > 0====\n");
for (i = 0; i < cmd_cnt; ++i) {
struct sn65dsi_reg_hdr cmd = cmds[i];
if(cmd.addr == 0x19)
ret = sn65dsi84_reg_write(client, 0x19, 0x4f);
else if(cmd.addr == 0x1b){
ret = sn65dsi84_reg_write(client, 0x1b, 0x40);
if (ret <= 0)
pr_err("====%s: fail to write addr: 0x1b value: 0x40\n", __func__);
else
pr_err("====%s: success to write addr: 0x1b value: 0x40\n", __func__);
}
else
ret = sn65dsi84_reg_write(client, cmd.addr, cmd.value);
pr_err("====cmd.addr:0x%x cmd.value:0x%x====\n",cmd.addr,cmd.value);
从打印的日志信息中,显示0x1b 寄存器的值已成功修改。
01-16 19:41:38.186 0 0 E ====sn65dsi84_on: success to write addr: 0x1b value: 0x40
但是,当我们使用 i2c dump 命令验证结果并 注意到0x19寄存器值已更改,但0x1b 寄存器值仍为0x00,这表明0x1b 寄存器写入失败。

谢谢,
此致