Thread 中讨论的其他器件:AM67、 SysConfig、 AB15
工具/软件:
你(们)好
客户使用 AM67和 ADV7535作为桥接器、以支持 DSI 转 HDMI。

这是他们的 DTS 文件、请帮助检查配置、谢谢。
e2e.ti.com/.../k3_2D00_j722s_2D00_evm.dts
此致
Zekun
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.
工具/软件:
你(们)好
客户使用 AM67和 ADV7535作为桥接器、以支持 DSI 转 HDMI。

这是他们的 DTS 文件、请帮助检查配置、谢谢。
e2e.ti.com/.../k3_2D00_j722s_2D00_evm.dts
此致
Zekun
您好、Brijesh、
SYSCLK 为25M、分辨率为1920x1080。
下面是我的新 DSI 配置和内核日志
我可以访问 ADV7535寄存器、地址为0x3D。
当我将 dsi0配置为面板(raspberrypi、7英寸-DSI)时、dsi0具有时钟输出、但 dsi0无数据输出、 如何配置 DSI0_TXNx/TXPx?
当我配置 dsi0 -> adb7535 -> hdsi, dsi0无时钟和数据输出时、似乎不是 dts 配置问题、是否可以提供配置 dsi0->adb7535->hdmi 进行测试?
谢谢
Brijesh、
这是 TI FAE、客户设计请参考 Beagle AI、并使用 DSI 转 HDMI 桥接器支持显示。
EVM 使用 DPI 到 HDMI 桥接器、客户使用 ADV7535、因为它们在其他项目中曾将 ADV7535与其他 ARM SOC 一起使用。
我们假设 ADV7535初始化应与其他项目相同、但我们无法确认。

客户已按照以下说明启用 DT 叠加到 DSI、并参阅 DSI 时钟输出。
此外、还要确认 I2C0可以成功地读取/写入 ADV7535。
您能否查看配置文件并告知您需要哪些其他输入?
要在 AM62P5-SK 上启用这些显示、请参阅 如何在 Linux 指南中启用 DT 叠加、并 为 OLDI 输出启用 k3-am62p5-sk-microtips-mf101hie-panel.dtbo DT 叠加、以及 为 DSI 输出启用 k3-am62p5-sk-DSI-Rpi-7inch-panel.dtbo DT 叠加。
Br、Rich
您好 Rich、
除了前一个线程中的响应(通过查看配置文件)外、我还看到 Adi、adv7535桥接器 (git.ti.com/.../adi,adv7533.yaml
如果在前一个工程中使用了此桥接器、并且在前一个工程中使用了 Linux 驱动程序、我建议检查桥接器件的器件树节点。 如果不使用 Linux、我建议检查 Linux 驱动程序是否配置了前一个工程中涉及的所有寄存器。 例如、我看不到您的共享 DTS 文件中定义的时钟或中断、或"EDID"寄存器、但器件树绑定 YAML 文件示例正在定义所有这些寄存器。
此致、
Takuma
此致、
Takuma
Takuma
客户 DTS 文件如本主题所附。
如果未启用 DT 叠加、就不会有 DSI 时钟输出。
启用 k3-am62p5-sk-DSI-RPI-7 inch-pante.dtbo 的 DT 叠加后、客户会看到 DSI 时钟输出、但数据对上没有信号。
我不熟悉设备树规则。
AM67x 的 DSI 输出是独特的、客户使用 I2C0来访问 ADV7535、地址为0x3D。 使用4个通道。
是否可以以客户为例修改具有 ADV7535的 DTS?
DSI 输出到 ADV7535至 HDMI 连接器。
Br、Rich
您好 Rich、
顾名思义、DT overlay 会覆盖并覆盖 DTB 文件顶部 dtbo (设备树 blob overlay)文件的内容。 k3-am62p5-sk-dsi-Rpi-7inch-panel.dtbo 是一个覆盖层、用于更新 DSI、I2C 和 DSS 节点、并定义硬编码显示。 这很可能是输出 DSI 时钟、但没有输出数据、因为没有连接实际的 RPi 显示、也没有运行有效软件。 HDMI 与 DSI 面板不同、因为 DSI 面板会对时序参数进行硬编码、而 HDMI 通过 EDID 动态协商显示器的时序参数。
请指示客户通过引用器件树绑定文档来修改 DTS。 这是适用于所有 Linux 器件驱动程序的文档、其中说明了器件树中所需的字段、并提供了有关如何在器件树中设置节点 的示例:https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/tree/Documentation/devicetree/bindings/display/bridge/adi,adv7533.yaml?h=ti-linux-6.1.y
此致、
Takuma
您好 Rich、
除了缺少 adv7535的属性外、设备树中没有任何突出的属性。 如果客户声称尽管缺少9个必需属性中的5个属性、他们的 adv7535桥 DTS 仍能正常工作、我将回答他们的 问题(因为缺少的属性是电源引脚、可能是在硬件中处理的?)。
然后三个问题/建议:
此致、
Takuma
尊敬的 Takuma:
k3config 转储文件:
您好、
三 件事:
此致、
Takuma
尊敬的 Takuma:
1>运行 kmstest 时、GPU 仍关闭。
2>使用 RPI 配置时、dsi0时钟/数据具有输出、k3conf 转储与以前相同。
3> DSI_INT_OUT 连接 (L22) OSPI0_DQS.GPIO0_2、如何配置该引脚? 它符合以下配置吗?
adv_bridge:Bridge@3d{
状态="正常";
Compatible ="Adi、adv7535";
pinctrl-0 =<&MAIN_DSI_int_pins_default>;
中断父级=<&MAIN_GPIO0>;
中断=<2 IRQ_TYPE_EDGE_FALLING>;
}
您好、
使用 SysConfig 将引脚配置为 GPIO。 如下所示:
&main_pmx0 {
mygpio1_pins_default: mygpio1-default-pins {
pinctrl-single,pins = <
J722S_IOPAD(0x0008, PIN_INPUT, 7) /* (L22) OSPI0_DQS.GPIO0_2 */
>;
};
};
下面的配置是否正确?
是的、假设引脚多路复用是通过 SysConfig 完成的。
此致、
Takuma
您好、
如果连接了示波器、您能否对其进行配置、使其在达到电压阈值时捕获边沿或停止?
此外、您能否共享"devmem2 0x305000F0"的输出? 该寄存器应包含一些错误状态。 根据当前信息、我怀疑存在 HSYNC 缺失。
以下是该寄存器中每个非保留位的含义。
| 10. | VSG_RECOVERY |
| 9. | ERR_VRS_Wrong_length |
| 8. | ERR_LONGREAD |
| 7. | ERR_LINEWRITE |
| 6. | ERR_BURSTWRITE |
| 5. | REG_ERR_SMALL_HEIGHT |
| 4. | REG_ERR_SMALL_LENGTH |
| 3. | ERR_MISSING_VSYNC |
| 2. | ERR_MISSING_HSYNC |
| 1. | ERR_MISSING_DATA |
| 0 | VSG_running |
此致、
Takuma
您好、
它看起来像是设置了 ERR_MISSING_HSYNC 位、因此问题与时序参数有关。 作为一个实验,在 ADI,adv7535桥接驱动器中,您可以将首选模式设置为 800×480(我认为它与 RPI 面板相同)。
下面是将首选分辨率设置为 1280x1024的另一个网桥的补丁、但我希望 ADI 网桥也可以添加类似的补丁:
此致、
Takuma
您好、
有两点:
第一个要点是确保我们的方向正确。
第二个要点是检查我们使用的是负同步还是正同步。 过去已经看到了正同步的问题,因此如果我们使用正同步,我们可以强制负同步作为一个实验。
此致、
Takuma
您好 Takuma、
编码器没有、似乎已连接到编码器、如何从 dsi0连接到编码器?
~# modetest -M tidss
编码器:
ID CRTC 类型可能的 crtcs 可能的克隆
39 38 NONE 0x00000001 0x00000001
连接器:
ID 编码器状态名称大小(mm)模式编码器
40 39已连接 HDMI-A-1 520x310 17 39
模式:
索引名称刷新(Hz) hdisp HSS htot vdisp VSS VSE vtot
#0 1920x1080 60.00 1920 2008 2052 2200 1080 1082 1087 1125 148500 flags : phsync , pvsync ;类型:首选,驱动程序
#1 1920x1080 60.00 1920 2008 2052 2200 1080 1084 1089 1125 148500 flags:phsync、pvsync;类型:驱动程序
#2 1920x1080 59.94 1920 2008 2052 2200 1080 1084 1089 1125 148352 flags : phsync , pvsync ; type: driver
#3 1920x1080 50.00 1920 2448 2492 2640 1080 1084 1089 1125 148500标志: phsync , pvsync ;类型:驱动程序
#4 1920x1080 30.00 1920 2008 2052 2200 1080 1084 1089 1125 74250标志: phsync , pvsync ;类型:驱动程序
#5 1920x1080 29.97 1920 2008 2052 2200 1080 1084 1089 1125 74176标志: phsync , pvsync ;类型:驱动程序
#6 1920x1080 25.00 1920 2448 2492 2640 1080 1084 1089 1125 74250标志: phsync , pvsync ;类型:驱动程序
#7 1920x1080 24.00 1920 2558 2602 2750 1080 1084 1089 1125 74250标志: phsync , pvsync ;类型:驱动程序
#8 1280x720 60.00 1280 1390 1430 1650 720 725 730 750 74250标志:phsync、pvsync;类型:驱动程序
#9 1280x720 50.00 1280 1720 1760 1980 720 725 730 750 74250标志: phsync , pvsync ;类型:驱动程序
#10 1280x720 30.00 1280 3040 3080 3300 720 725 730 750 74250标志:phsync、pvsync;类型:驱动程序
#11 1280x720 29.97 1280 3040 3080 3300 720 725 730 750 74176标志:phsync、pvsync;类型:驱动程序
#12 1280x720 25.00 1280 3700 3740 3960 720 725 730 750 74250标志:phsync、pvsync;类型:驱动程序
#13 1280x720 24.00 1280 3040 3080 3300 720 725 730 750 59400标志:phsync、pvsync;类型:驱动程序
#14 1280x720 23.98 1280 3040 3080 3300 720 725 730 750 59341标志: phsync , pvsync ;类型:驱动程序
#15 800x600 60.32 800 840 968 1056 600 601 605 628 40000标志:phsync、pvsync;类型:驱动程序
#16 720x480 60.00 720 736 798 858 480 489 495 525 27027标志:nhsync、nvsync;类型:驱动程序
道具:
1 EDID:
旗帜:不可变的 blob
Blob:
值:
00ffffffffffffffffff002601002401010101
0720010380341f783eee91a3544c9926
0f5054210800d1c0010101010101010101
0101010101023a801871382d40582c
250008362100001e000000fc00474632
34300a20202020202020000000ff0064
656d6f7365742d310a203020000000fd
0032911eb424000a202020202001a5.
020339f24d9001020304131f2021223c
3d3e23097f078301000067030c001000
1848e200d5e305c000e606050169694f
681a000001013290e65c82808c70382d
4030203a0055502100001e8a6f80a070
3840403020250055502100001e0e5c80
a0703835403020250056502100001e00
000000000000000000000000000000db
2 DPMS:
旗帜:枚举
枚举:ON=0待机=1挂起=2关闭=3
值:0
5链路状态:
旗帜:枚举
枚举:Good=0 bad=1
值:0
6非台式机:
标志:不可变范围
值:0 1
值:0
4个逻辑块:
旗帜:不可变的 blob
Blob:
值:
CRTC:
ID fb 位置大小
38 49 (0、0)(1920x1080)
#0 1920x1080 60.00 1920 2008 2052 2200 1080 1082 1087 1125 148500 flags : phsync , pvsync ;类型:首选,驱动程序
道具:
24 VRR_ENABLED:
标志:范围
值:0 1
值:0
27 CTM:
旗帜:blob
Blob:
值:
28 GAMMA_LUT:
旗帜:blob
Blob:
值:
29 gamma_lut_size:
标志:不可变范围
值:0 4294967295
值:256
层面:
Id crtc fb crtc x、y x、y gamma size 可能是 crtcs
31 38 49 0、0 0 0 0 0x00000001
格式:AR12 AB12 RA12 RG16 BG16 AR15 AB15 AR24 AB24 RA24 BA24 RG24 BG24 AR30 AB30 XR12 X12 RX12 XR15 XB15 NV24 XB24 X24 XR30 XB30 YUYVY XR12
道具:
8类型:
旗帜:不可变的枚举
枚举:overlay=0 Primary=1 Cursor=2
值:1.
30 in_formats:
旗帜:不可变的 blob
Blob:
值:
01000000000000001d00000018000000
01000000900000004152313241423132
52413132524731364247313641523135.
414231354152344142323452413234
4241323452473234424732344231523330
41423330585231325842313252583132
5852313558423135585234584234.
52583234425832345852333058423330
59555956555956594e56313200000000
ffffffff1f00000000000000000000
0000000000000000
IN_FORMAS blob 解码:
AR12:线性
AB12:线性
RA12:线性
RG16:线性
BG16:线性
AR15:线性
AB15:线性
AR24:线性
AB24:线性
RA24:线性
BA24:线性
RG24:线性
BG24:线性
AR30:线性
AB30:线性
XR12:线性
XB12:线性
RX12:线性
XR15:线性
XB15:线性
XR24:线性
XB24:线性
RX24:线性
BX24:线性
XR30:线性
XB30:线性
YUYV:线性
UYVY:线性
NV12:线性
33 zpos:
标志:范围
值:0 1
值:0
34 COLOR_ENCODING:
旗帜:枚举
枚举:ITU-R BT.601 YCbCr = 0 ITU-R BT.709 YCbCr = 1
值:0
35 COLOR_RANGE:
旗帜:枚举
枚举:YCbCr 限量程=0 YCbCr 全量程=1
值:1.
36 α:
标志:范围
值:0 65535
值:65535
37像素混合模式:
旗帜:枚举
枚举:前乘数=0覆盖率=1
值:0
41 0 0 0 0 0 0 0 0 0 0 0x00000001
格式:AR12 AB12 RA12 RG16 BG16 AR15 AB15 AR24 AB24 RA24 BA24 RG24 BG24 AR30 AB30 XR12 X12 RX12 XR15 XB15 NV24 XB24 X24 XR30 XB30 YUYVY XR12
道具:
8类型:
旗帜:不可变的枚举
枚举:overlay=0 Primary=1 Cursor=2
值:0
30 in_formats:
旗帜:不可变的 blob
Blob:
值:
01000000000000001d00000018000000
01000000900000004152313241423132
52413132524731364247313641523135.
414231354152344142323452413234
4241323452473234424732344231523330
41423330585231325842313252583132
5852313558423135585234584234.
52583234425832345852333058423330
59555956555956594e56313200000000
ffffffff1f00000000000000000000
0000000000000000
IN_FORMAS blob 解码:
AR12:线性
AB12:线性
RA12:线性
RG16:线性
BG16:线性
AR15:线性
AB15:线性
AR24:线性
AB24:线性
RA24:线性
BA24:线性
RG24:线性
BG24:线性
AR30:线性
AB30:线性
XR12:线性
XB12:线性
RX12:线性
XR15:线性
XB15:线性
XR24:线性
XB24:线性
RX24:线性
BX24:线性
XR30:线性
XB30:线性
YUYV:线性
UYVY:线性
NV12:线性
43 zpos:
标志:范围
值:0 1
值:1.
44 COLOR_ENCODING:
旗帜:枚举
枚举:ITU-R BT.601 YCbCr = 0 ITU-R BT.709 YCbCr = 1
值:0
45 COLOR_RANGE:
旗帜:枚举
枚举:YCbCr 限量程=0 YCbCr 全量程=1
值:1.
46 alpha:
标志:范围
值:0 65535
值:65535
47像素混合模式:
旗帜:枚举
枚举:前乘数=0覆盖率=1
值:0
帧缓冲区:
ID 尺寸间距
您好、
根据日志、编码器已连接到连接器。 也就是说、连接器 ID 40使用编码器 ID 39。
但是、似乎仍然使用1920x1080分辨率、因此模式不会设置为800x480。 查看 modetest、可能是因为显示器不支持800x480。
您能否再次尝试下面的补丁并共享"dmesg"和"modetest -M tidss"中的日志?
此致、
Takuma
您好、
您需要使用我共享的补丁程序将驱动程序设置为800x600的首选模式。 我以前使用过 另一种 HDMI 桥接器、在该桥接器上、最大分辨率会导致 HSYNC 出现一些问题、因此该实验是要看看问题是否相同。
此外、仅需在引导后设置模式、这还不够、因为根据您分享的错误寄存器、该问题是 HSYNC 问题。 发生这种情况时、在用户空间中设置新模式不会恢复显示。
此致、
Takuma
您好 Rich、
[引述 userid="9853" url="~/support/amplifiers-group/amplifiers/f/amplifiers-forum/1456851/processor-sdk-am67-dts-configuration-for-dsi-convert-to-hdmi/5661629 #5661629"]我记得我从其他 e2e 帖子中了解到、我们曾经为 TDA4系列支持其他 DSI 转 HDMI。
您是否有我们曾经支持的特定器件型号?
[/报价]为了回答这个问题、我们已经 在以下主题中支持了朗迅科技有限公司8912b: https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1334454/sk-tda4vm-issue-with-making-lontium-lt8912b-stream-video-to-hdmi-connector/5101749
此致、
Takuma
您好、
为了继续调试、我注意到默认的首选模式时序参数在共享的 modetest 日志中是非标准的。 HDMI 使用的 EDID 时序参数可在此处找到: https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/tree/drivers/gpu/drm/drm_edid.c?h=ti-linux-6.6.y、 第一种模式不适合任何模式。 这可能是问题所在。
因此、为了进行实验、我们希望能够在引导时手动选择要选择的模式。 您能否试用 这 两个补丁并共享"dmesg"中的日志、以便我可以按照代码的方向操作?
此致、
Takuma
您好、Takuma、
请参阅以下日志文件、也不会调用 adv7511_get_modes 函数。
您好、
感谢您试验和共享日志。 我可以在2天内进行内部讨论、实验并制作新的补丁吗?
我计划使用具有 DPI 到 HDMI 桥接器的 TI AM67-SK 电路板、查看是否可以在不通过 GET_MODES 挂钩的情况下手动设置模式。
同时、您可以并行尝试的一个实验是查看您是否可以通过 Linux 内核命令手动设置 EDID。 步骤如下:
此致、
Takuma
您好、
我在内部讨论了并了解到、由于 Linux 的软件架构发生变化、get_mode 连接器功能不再使用。
但是、最好看到时钟和数据输出! 这是否是运行 U-Boot 命令将优先级设置为1920x1080@30Hz 的实验的结果?
如果是、您能否添加以下补丁:
然后共享"modetest -M tidss"中的日志?
此致、
Takuma
尊敬的 Takuma:
我添加 u-boot 参数 video=HDMI-A-1:1920x1080@30以启动、日志消息如下、HDMO 监视器不显示。
另一方面,我使用了 adv7535 测试模式, HDMI 显示器显示如下。

您好、
感谢您使用测试图形模式进行检查。 这应该缩小问题发生的位置、具体而言、我们可以更有信心确保桥接器后的流水线正常工作。
对于日志、它们看起来确实会应用补丁、并且 U-Boot 会在30FPS 下选择1920x1080。 我曾希望这会使展示工作。
无论如何,我还有3个想法,我们可以尝试。
第一个想法、您是否可以尝试应用此补丁:
e2e.ti.com/.../0001_2D00_HACK_2D00_force_2D00_adv_2D00_HDMI_2D00_bridge_2D00_for_2D00_720x480.patch
这应该会使最小分辨率成为首选模式。 时间安排也应该最宽松。
为了准备我的第二个想法、您知道 adv7535 测试模式使用的计时参数是什么吗? 我们可以尝试使用与测试模式相同的时序。
此致、
Takuma
Takuma
我给您的补丁打补丁、和之前一样、不显示。
对于 adv7535测试图形模式、我使用了以下配置文件设置。
e2e.ti.com/.../1920_5F00_1080p_5F00_4Lane_5F00_DSI.txt
您好、
对于第一个实验、您是否可以还原过去所做的更改并应用此修补程序:
e2e.ti.com/.../0001_2D00_adjust_2D00_1920x1080_2D00_60Hz_2D00_mode_2D00_timings.patch
然后、不要运行 U-Boot 命令来更改内核参数、并让显示屏选择自动使用的模式。 modetest 命令应给出以下行作为第一种模式:
#0 1920x1080 60.00 1920 2008 2052 2200 1080 1082 1087 1125 148500 flags:nhsync、nvsync;类型:首选、驱动程序
如果在此补丁之后仍然没有显示、请再次发送 modetest 日志、并使用 devmem2 0x305000F0检查状态寄存器。
此致、
Takuma
Takuma
我安装了这个补丁、它也无法显示输出。
devmem2 0x305000F0
/dev/mem 已打开。
映射到地址0xffffab7c5000的存储器。
读取地址0x305000F0 (0xffab7c50f0):0x00000004
您好、
是、DSI 支持使用非突发同步脉冲进行视频模式操作。
至于寄存器、我假定 adv75x Linux 驱动程序对正确的值进行编程。 但作为实验、您可以尝试更改编程以匹配测试图形模式的寄存器值。 默认值如下所示: https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/tree/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c?h=ti-linux-6.6.y#n42
此致、
Takuma
您好、
修改 寄存器值时、它将被 adv7535驱动程序修改回。
寄存器值是如何修改的? 您是否使用 i2cset 等工具通过 I2C 写入进行修改? 或者您是否使用不同的默认寄存器值修改 adv7535驱动程序。 我假设 adv7535驱动程序只是从 adv7511_drv.c 中获取默认寄存器、因为很多代码都是共享的。
此致、
Takuma
您好、
您是否可以尝试修改驱动程序? 此驱动程序中的"adv7511_register_default"变量应该是存储寄存器值的位置:
此致、
Takuma