工具/软件:
您好 TI:
我想使用 DSS1 LVDS 进行 显示。 应如何 修改 DTS!
BR
加密狗
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.
工具/软件:
您好 TI:
我想使用 DSS1 LVDS 进行 显示。 应如何 修改 DTS!
BR
加密狗
您好 Divyansh:
我按照本指南修改了 DTS。 Tidss panel-simple probe ok、但 我无法在示波器上测量 DSS1 old1 的时钟。
BR
加密狗
/* DSS1 oldi1 dts */
&max9277_gmsl{
状态=“正常“;
端口{
端口@0{
lcd_in0:端点{
远程端点=<&oldi1_DSS1_OUT>;
};
};
};
};
&DSS1{
状态=“正常“;
assigned-clocks =<&K3_CLKS 235 7>、
<&K3_CLKS 241 0>;
分配的时钟父级=<&K3_CLKS 235 9>、/*由 PLL18 和 DSS1 VP0 驱动的 OLDI TX1 */
<&K3_CLKS 241 1>;/*用于 DSS1 VP0 的 PLL18 */
};
&oldi1_DSS1{
状态=“正常“;
};
&oldi1_DSS1_ports{
#address-cells =<1>;
#size-cells =<0>;
端口@0{
reg =<0>;
oldi1_DSS1_in:端点{
远程端点=<&DSS1_dpi0_out1>;
};
};
端口@1{
reg =<1>;
oldi1_DSS1_out:端点{
远程端点=<&LCD_in0>;
};
};
};
&DSS1_ports{
/* VP1:输出到 OLDI */
端口@0{
reg =<0>;
#address-cells =<1>;
#size-cells =<0>;
DSS1_dpi0_out1:端点@0{
reg =<0>;
远程端点=<&oldi1_DSS1_IN>;
};
};
};
/* panel-simple.ko */
静态结构 panel_desc gmsl_max9277 ={
.TIMING =&GMSL_max9277_MODE、
.num_timings = 1、
.bpc = 8、
.size ={
.width = 800、
.height = 545、
}、
.bus_format = media_bus_FMT_RGB888_1X7X4_SPWG、
.bus_flags = DRM_bus_flag_de_high、
.CONNECTOR_TYPE = DRM_MODE_CONNECTOR_LVDS、
};
请分享以下信息:
devmem2 0x3020a160 kmsprint --device=/dev/dri/by-path/platform-30200000.dss-card kmsprint --device=/dev/dri/by-path/platform-30220000.dss-card kmstest --device=/dev/dri/by-path/platform-30200000.dss-card #Share what you see on display/probe kmstest --device=/dev/dri/by-path/platform-30220000.dss-card #Share what you see on display/probe
e2e.ti.com/.../dss1.diffThis是我的 diff
kmsprint --device=/dev/dri/by-path/platform-30220000.dss-card
Connector 0 (41) LVDS-1 (connected)
Encoder 0 (40) NONE
Crtc 0 (39) 256x64@60.00 26.160 256/403/96/45/? 64/415/63/3/? 60 (60.00) 0x0 0x48
kmstest --device=/dev/dri/by-path/platform-30220000.dss-card
Connector 0/@41: LVDS-1
Crtc 0/@39: 256x64@60.00 26.160 256/403/96/45/? 64/415/63/3/? 60 (60.00) 0x0 0x48
Plane 0/@32: 0,0-256x64
Fb 49 256x64-XR24
press enter to exit
devmem2 0x3020a160 /dev/mem opened. [ 667.585644] audit: type=1701 audit(1736660868.476:47): auid=4294967295 uid=0 gid=0 ses=4294967295 subj=kernel pid=7170 comm="devmem2" exe="/usr/bin/devmem2" sig=7 res=1 Memory mapped at address 0xffff83811000. [ 667.610694] audit: type=1334 audit(1736660868.504:48): prog-id=32 op=LOAD [ 667.617570] audit: type=1334 audit(1736660868.508:49): prog-id=33 op=LOAD [ 667.624415] audit: type=1334 audit(1736660868.516:50): prog-id=34 op=LOAD Bus error (core dumped)
您好、
我刚才在我这边检查了一下 仅配置 OLDI TX1 而不配置 TX0 时、我能够获得信号。
这是奇怪的不读 3020a160 给你的错误,这不是我的设置情况.
您是否还可以读取 0x3022a160?
您可以尝试使用我的参考实现配置另一个面板来查看是否至少在行上看到数据:
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT /** * Rocktech Panel (single-link lvds) with AM62P-SK EVM in independent mode * * AM62P-SKEVM: www.ti.com/.../SK-AM62P-LP * * Copyright (C) 2024 Texas Instruments Incorporated - http://www.ti.com/ */ /dts-v1/; /plugin/; #include <dt-bindings/gpio/gpio.h> #include <dt-bindings/interrupt-controller/irq.h> &{/} { display0 { compatible = "rocktech,rk101ii01d-ct", "panel-simple"; port { lcd0_in: endpoint { remote-endpoint = <&oldi1_dss1_out>; }; }; }; }; &dss1 { status = "okay"; assigned-clocks = <&k3_clks 235 7>, <&k3_clks 241 0>; assigned-clock-parents = <&k3_clks 235 9>, /* OLDI TX1 driven by PLL18 and DSS1 VP0 */ <&k3_clks 241 1>; /* PLL18 for DSS1 VP0 */ }; &oldi1_dss1 { status = "okay"; }; &oldi1_dss1_ports { #address-cells = <1>; #size-cells = <0>; port@0 { reg = <0>; oldi1_dss1_in: endpoint { remote-endpoint = <&dss1_dpi0_out1>; }; }; port@1 { reg = <1>; oldi1_dss1_out: endpoint { remote-endpoint = <&lcd0_in>; }; }; }; &dss1_ports { #address-cells = <1>; #size-cells = <0>; /* DSS1 VP1: Output to OLDI1 */ port@0 { reg = <0>; dss1_dpi0_out1: endpoint { remote-endpoint = <&oldi1_dss1_in>; }; }; };
[ 100.428365][DRM]初始化了次要 0 上 30200000.dss 的 tidss 1.0.0
[ 114.512253][DRM]初始化了次要 1 上 30220000.dss 1.0.0
当我将 Dss0 的状态设置为“正常“时、仍然无法读取 0x3020a160
DTS 配置
&max9277_gmsl {
status = "okay";
ports {
port@0 {
lcd_in0: endpoint {
remote-endpoint = <&oldi1_dss1_out>;
};
};
};
};
&dss1 {
status = "okay";
assigned-clocks = <&k3_clks 235 7>,
<&k3_clks 241 0>;
assigned-clock-parents = <&k3_clks 235 9>, /* OLDI TX1 driven by PLL18 and DSS1 VP0 */
<&k3_clks 241 1>; /* PLL18 for DSS1 VP0 */
};
&dss0 {
bootph-all;
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&main_dpi_pins_default>;
};
&oldi1_dss1 {
status = "okay";
};
&oldi1_dss1_ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
oldi1_dss1_in: endpoint {
remote-endpoint = <&dss1_dpi0_out1>;
};
};
port@1 {
reg = <1>;
oldi1_dss1_out: endpoint {
remote-endpoint = <&lcd_in0>;
};
};
};
&dss1_ports {
/* VP1: Output to OLDI */
port@0 {
reg = <0>;
#address-cells = <1>;
#size-cells = <0>;
dss1_dpi0_out1: endpoint@0 {
reg = <0>;
remote-endpoint = <&oldi1_dss1_in>;
};
};
};尊敬的 Divyansh:
1、是、我可以 使用 EVM 读取
测量了 2、时钟
可能是我的定制电路板的 DSS1 模块的硬件有问题。 顺便说一句, 如何使 dss0 双输出与 dpi 和 LVDS 同步? 我分别使用 dss0 的 dpi 和 LVDS 功能、它们工作正常。 这是我的另一个问题。 SK-AM62P-LP:如何与 dpi 和 LVDS 同步启用 dss0 双路输出? -处理器论坛 — 处理器- TI E2E 支持论坛
谢谢
董可以