https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1571197/sn65dsi83-pll-isuce
器件型号:SN65DSI83工具/软件:
你(们)好
我们客户想问为什么 PLL 不会锁定、如果您需要任何特定的寄存器转储、我们可以与您分享。
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.
https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1571197/sn65dsi83-pll-isuce
器件型号:SN65DSI83工具/软件:
你(们)好
我们客户想问为什么 PLL 不会锁定、如果您需要任何特定的寄存器转储、我们可以与您分享。
您好 Gareth、
您能告诉我们您如何对器件进行编程以及您使用的设置/配置。
您可以使用 DSI 调谐器工具在初始化期间对器件进行编程。 您可以在以下位置下载该 工具:SN65DSI83:所需的 DSI 调谐器工具 — 接口论坛-接口 — TI E2E 支持论坛
以下是使用此工具的指南: https://www.ti.com/lit/an/slla332b/slla332b.pdf?ts = 1746586623218
第一步、请使用测试图形模式从器件发送生成的测试图形。 请按照数据表初始化序列中的步骤操作。
此致、
Ikram
你好、Ikram
我们已经编写了 dsi2lvds bridge sn65dsi83_display() 命令并回读。 它们显示的内容正确无误。
您能否确认?
[203.925106][T1740] Justin line:443 func:sn65dsi83_display reread back i2c data address : value;
[203.934663][T1740] 0x9:0x0;
[203.935344][T1740] 0xd:0x1;
[203.939747][T1740] 0xA:0x3;
[203.943894][T1740] 0xb:0x10;
[203.947836][T1740] 0x10:0x20;
[203.952082][T1740] 0x11:0x0;
[203.956188][T1740] 0x12:0x1c;
[203.960483][T1740] 0x18 : 0x78;
[203.964968][T1740] 0x19 : 0x4;
[203.969709][T1740] 0x1a:0x1;
[203.973943][T1740] 0x1b:0x0;
[203.977957][T1740] 0x28:0x20;
[203.981975][T1740] 0x29 : 0x0;
[203.986082][T1740] 0x20 : 0x0;
[203.990554][T1740] 0x21:0x4;
[203.994580][T1740] 0x24 : 0x58;
[203.998600][T1740] 0x25:0x2;
[204.002732][T1740] 0x2C:0x78;
[204.006749][T1740] 0x2D:0x0;
[204.011049][T1740] 0x30:0xF;
[204.015373][T1740] 0x31:0x0;
[204.019381][T1740] 0x34:0x64;
[204.023629][T1740] 0x36 : 0xA;
[204.027971][T1740] 0x38:0x64;
[204.031985][T1740] 0x3a : 0xA;
[204.036299][T1740] 0x3c : 0x0;
[204.040312][T1740] 0xd:0x1;
[204.047524][T1740] 0x9:0x0;
[204.050770][T1740]
[204.050770][T1740] Justin sn65dsi83 行:450 func:sn65dsi83_display
[204.062756][T1740] Harish sn65dsi83 链路重置完成
[204.097866][T1740] Justin line:621 func:sn65dsi83_atomic_pre_enable
[204.206313][T1740] sn65dsi83 3-002d:无法锁定 PLL、ret =–110
我们仍然可以看到 PLL 锁定失败。
您能告诉我们这个问题是什么吗?
你好、Ikram
我们正在尝试清除 0xE5 寄存器、根据数据表、我们需要写入 1 来将其清除。
时序根据分辨率进行匹配并从寄存器转储中读回。
mode = DRM_MODE_CUPLATE (connector->dev、&(struct DRM_DISPLAY_MODE){
.clock = 50400、//像素时钟以 kHz 为单位
.hdisplay = 1024、
.hSYNC_START = 1024 + 100、
.hSYNC_END = 1024 + 100 + 120、
.htotal = 1024 + 100 + 120 + 100、
.vdisplay = 600、
.vsync_start = 600 + 10、
.vsync_end = 600 + 10 + 15、
.vtotal = 600 + 10 + 15 + 10、
.flags = DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC、
});
hdisplay = 1024、
[41.712667][T1682] 0x20:0x0;
[41.716685][T1682] 0x21 : 0x4;
vdisplay = 600、
[41.720693][T1682] 0x24 : 0x58;
[41.724980][T1682] 0x25:0x2;
第 100 章,我是你的女人
[41.753775][T1682] 0x38:0x64;
水平后沿:100
[41.745674][T1682] 0x34:0x64;
水平脉冲宽度:120
[41.729092][T1682] 0x2C:0x78;
[41.733529][T1682] 0x2D:0x0;
垂直前沿: 10
[41.757780][T1682] 0x3a : 0xA;
垂直后沿: 10.
[41.749679][T1682] 0x36:0xA;
垂直脉冲宽度:15
[41.737638][T1682] 0x30:0xF;
[41.741664][T1682] 0x31:0x0;
DSI 时钟匹配时钟摘要中的任何时钟
dsi0_phy_pll_out_dsiclk 50,400,000 PHY DSI 时钟
这是否与连接中使用的端口相关?
请检查桥接器的 dtsi 节点条目:
sn65dsi83:TI、sn65dsi83@2D{
兼容=“ti、sn65dsi83“;
reg =<0x2D>;
// interrupt-parent =<&tlmm>;
//中断=<18 0>;
//中断名称=“lt_irq";“;
//sn65dsi83、IRQ =<&tlmm 18 0>;
Reset-GPIOs =<&tlmm 17 0>;
POWER-GPIO =<&tlmm 119 0>;
// LCD、RESET =<&tlmm 147 0>;
lcdpwr-gpips =<&tlmm 117 0>;
LCD、背光=<&tlmm 60 0>;
探测选项=<1>;
状态=“正常“;
端口{
#address-cells =<1>;
#size-cells =<0>;
端口@0{
reg =<0>;
SN65_IN:端点{
数据通路=<0 1 2 3>;
远程端点=<&mdss_dsi0_out>;
};
};
端口@2{
reg =<2>;
SN65_OUT:端点{
远程端点=<&panel_in>;
};
};
};
};
&mdss_dsi0_out{
远程端点=<&sn65_in>;
数据通路=<0 1 2 3>;
};
面板:Panel-LVDS{
兼容=“sn65、fx07“;
状态=“正常“;
端口{
panel_in:端点{
远程端点=<&sn65_out>;
};
};
};
尊敬的 Gareth、Justin、
当前寄存器转储显示、DSI 时钟用作源时钟、分频器设置为 11。 如果像素时钟速率为 50.4、则 DSI 时钟速率应为 554.4MHz。 这是它当前设置的吗?
在初始化序列中、它提到 DSI 时钟应处于 HS 状态、而数据通道在开始时处于 LP11 状态。 在编程和软复位后、数据通道设置为 HS 模式。 系统是否遵循完整的初始化序列?
此致、
Ikram
尊敬的 Ikram:
将像素时钟更新为 51206KHz、如所示
应为 htotal*vtotal*60fps = 51206400
mode = DRM_MODE_CUPLATE (connector->dev、&(struct DRM_DISPLAY_MODE){
.clock = 51206、//像素时钟以 kHz 为单位
.hdisplay = 1024、
.hSYNC_START = 1024 + 100、
.hSYNC_END = 1024 + 100 + 120、
.htotal = 1024 + 100 + 120 + 100、
.vdisplay = 600、
.vsync_start = 600 + 10、
.vsync_end = 600 + 10 + 15、
.vtotal = 600 + 10 + 15 + 10、
.flags = DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC、
});
如何检查 DSI 时钟是否为所需速率?
这是 DSI 时钟摘要:
SH-5.2# cat /sys/kernel/debug/clk/clk_summary | grep DSI
gcc_disp_hf_axi_clk 2 0 0 0 0 50000 Y ae94000.DSI 总线
dsi0vco_clk 1 0 614471923 0 50000 Y 无设备 no_connection_id
dsi0_pll_out_div_clk 1 1 0 307235962 0 50000 Y 无器件 no_connection_id
dsi0_PLL_post_out_div_clk 0 0 76808990 0 0 50000 Y 无设备 no_connection_id
dsi0_pll_bit_clk 2 0 307235962 0 50000 Y 无器件 no_connection_id
dsi0_pclk_mux 1 1 0 307235962 0 50000 Y 无设备 no_connection_id
dsi0_phy_pll_out_dsiclk 1 1 0 51205994 0 50000 Y 无设备 no_connection_id
disp_cc_mdss_pclk0_clk 1 1 0 51205994 0 50000 Y ae94000.DSI 像素
dsi0_pll_by_2_bit_clk 0 0 0 153617981 0 50000 Y 无设备 no_connection_id
dsi0_phy_pll_out_byteclk 1 0 38404495 0 50000 Y 无器件 no_connection_id
disp_cc_mdss_byte0_intf_clk 1 0 19202248 0 0 50000 Y ae94000.DSI byte_intf
disp_cc_mdss_byte0_clk 1 0 38404495 0 0 50000 Y ae94000.DSI 字节
ae94000.DSI 字节
disp_cc_mdss_esc0_clk 1 1 0 19200000 0 50000 Y ae94000.DSI 内核
disp_cc_mdss_ah_clk 4 0 19200000 0 50000 Y ae94000.DSI iface
ae94000.DSI iface
在 QCLinux 中、我们发现禁用 LP11 模式的唯一方法是删除 LPM 模式
DSI->MODE_FLAGS = MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST |
MIPI_DSI_MODE_VIDEO_NO_HFP | MIPI_DSI_MODE_VIDEO_NO_HBP |
MIPI_DSI_MODE_VIDEO_NO_HSA | MIPI_DSI_MODE_NO_EOT_packet;
DSI->MODE_FLAGS &&~MIPI_DSI_MODE_LPM;
根据以上时钟摘要为
dsi0_pll_bit_clk→μ s 307MHz
dsi0_phy_pll_out_byteclk→μ s 38MHz
disp_cc_mdss_pclk0_clk→μ s 51MHz
disp_cc_mdss_esc0_clk→μ s 19MHz
这意味着您的 DSI 接口当前处于 HS(高速)视频模式 、不是 LP11 空闲。
您能否证实。