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.

[参考译文] PROCESSOR-SDK-AM67:用于 DSI 转换为 HDMI 的 DTS 配置

Guru**** 2483085 points
Other Parts Discussed in Thread: AM67, SYSCONFIG

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

https://e2e.ti.com/support/amplifiers-group/amplifiers/f/amplifiers-forum/1456851/processor-sdk-am67-dts-configuration-for-dsi-convert-to-hdmi

器件型号:PROCESSOR-SDK-AM67
Thread 中讨论的其他器件:AM67SysConfigAB15

工具/软件:

你(们)好  

客户使用 AM67和 ADV7535作为桥接器、以支持 DSI 转 HDMI。  

这是他们的 DTS 文件、请帮助检查配置、谢谢。

e2e.ti.com/.../k3_2D00_j722s_2D00_evm.dts

此致

Zekun

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

    您好、

    adv7535驱动器已通过 DSI 输入修改默认值、

    您能澄清一下这一说法吗? 我不确定我是否理解这一点。

    DSI 驱动器应该无法更改 ADV7535寄存器、除非 ADV7535驱动器具有 DSI 驱动程序可调用此功能来更改寄存器值。

    浏览 ADV7535驱动程序后、我看不到  任何地方都使用了 ADV7511_REG_VIC_Send 和 ADV7511_REG_AUX_VC_DETECTED 宏、因此它们应该是默认值... 除非在不使用定义的宏的情况下对驱动程序进行写入。

    此致、

    Takuma

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

    Takuma  

    我花了一些时间与客户打交道、发现 DSI 设置时序与 ADV7535测试 PATTEN 使用1920x1080相比略有不同。

    根据寄存器转储、我们的垂直 FP 高度为0x2、所需的值为0x4

    垂直 BP 高度为0x38、所需值为0x36  

    我个人认为这可能不重要、但您能告诉我们在哪里修改或提供此修补程序吗?  

    :03-02 1920 x 1080p 60H:
    78 28 89;默认值=0x67、总线宽度=2200 (DSI 时序发生器)
    78 29 80;默认值=0x20、总线宽度=2200 (DSI 时序发生器)
    78 2A 02;默认值=0x02、Hsync 活动宽度=44 (DSI 时序发生器)
    78 2B C0;默认值=0x80、Hsync 活动宽度=44 (DSI 时序发生器)
    78 2C 05;默认值=0x06、水平 FP 宽度=88 (DSI 时序发生器)
    78 2D 80;默认值=0xE0、水平 FP 宽度=88 (DSI 时序发生器)
    78 2E 09;默认值=0x0D、水平 BP 宽度= 148 (DSI 时序发生器)
    78 2F 40;默认值=0xC0、水平 BP 宽度=148 (DSI 时序发生器)
    78 30 46;默认值=0x2E、总帧高度=1125 (DSI 时序发生器)
    78 31 50;默认值=0xE0、总帧高度=1125 (DSI 时序发生器)
    78 32 00;默认值=0x00、Vsync 活动高度=5 (DSI 时序发生器)
    78 33 50;默认值=0x50、Vsync 活动高度=5 (DSI 时序发生器)
    78 34 00;默认值=0x00、垂直 FP 高度=4 (DSI 时序发生器)
    78 35 40;默认值=0x50、垂直 FP 高度=4 (DSI 时序发生器)
    78 36 02;默认值=0x01、垂直 BP 高度=36 (DSI 时序发生器)
    78 37 40;默认值=0x40、垂直 BP 高度=36 (DSI 时序发生器)
    结束

    完整的测试 PATTEN 设置值如附件所示。  

    e2e.ti.com/.../1920_5F00_1080p_5F00_4Lane_5F00_DSI-_2800_1_2900_.txt

    Br、Rich

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

    您好 Rich、

    时序参数应来自此处的 DRM_EDID.c 文件: https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/tree/drivers/gpu/drm/drm_edid.c?h=ti-linux-6.6.y#n243。HDMI 与简单的 DSI 面板略有不同、因为它使用 EDID 协商来支持多种不同的分辨率。 我过去的一个补丁是试图在忽略 EDID 的同时强制某种模式,但它似乎没有像我预期的那样生效。

    如果在 DSI 时序中进行编程、则具有1920x1080@60Hz 的线路应该是选择的模式。 我以为时间是一样的、但可能错过了一些东西。 客户的一对新眼睛会很好。

    如果没有使用新的计时参数(最坏情况)设置计时参数、我们可以尝试从驱动程序中删除所有 DMT (离散监视器计时)、并仅定义一个计时参数来真正破解此漏洞。

    此致、

    Takuma

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

    Takuma

      请参阅 adv7535回复:

    1. 在 DSI_CEC 寄存器中、0x40的值应为0x80 TI DSI 输出转储。 我们得到了 未完全接收到数据包标头  配置。
    2. 在 DSI_CEC 寄存器0x56中、值应为中的0xFC TI DSI 输出转储 。 这意味着 所有通道的终端都开启。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Takuma  

    有关寄存器的详细信息、请参阅 ADV7535编程指南。  

    我会通过精子电子邮件发送给您  

    ADV7533使用四个 I2C 寄存器映射。

    主寄存器映射的 SDA/SCL 编程地址为0x72。  

      第5节"寄存器映射"中提供了主寄存器映射的完整列表。  ▷I2C 硬件信息、请参阅 T Ü V ADV7533 Hardware User’s 中的"I2C 接口(访问 ADV7533寄存器)"部分。

    数据包存储器的器件地址是可编程的、由主寄存器 映射的寄存器0x45控制。 默认设置为0x70。

    EDID 存储器地址可由主寄存器映射的0x43进行编程和控制。 默认设置为 0x7E。

    EDID 存储器内容仅在以下情况下有效:
    μ■包含有效的 EDID:发生 EDID 就绪中断之后、发生以下任一情况之前:
    HPD 从高电平变为低电平
    0x41[6]= 1
    BKSV 标志的第2次发生频率
    ■包含 BKSV 和 BSTATUS:在第2个 BKSV 标志之后、直到其被清除。

    DSI 和 CEC 存储器地址可通过主寄存器映射的0xE1进行编程和控制。 默认 设置为0x78。
    除非另有说明、否则本文档中的所有寄存器引用均指主寄存器映射(中的除外)  
    第4.2节(DSI 设置和控制)和  第4.9节(CEC 处理)、其中所有寄存器均指 DSI 和 CEC
    映射、除非另有说明。

    在客户案例中、主寄存器映射为0x3D (原始0x72、这是驱动器中的默认寄存器表)

    DSI 和 CEC 存储器 是0x3C (原始0x78)。

    DSI 时序表如下所示、似乎有来自 ADV7535的所需 DSI 时序。  

    Br、Rich

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

    Takuma  

    在今天与 ADI 和客户的会面中、我注意到 ADV7535寄存器中的 CSI 时序由 CSI 驱动程序(使用 ADV7535)通过 I2C 进行编程、我发现如果采用0x52、默认设置应该正确、实际上这并不是我们的 CSI 输出时序。  

    我想知道为什么在 ADV7535设置 BP 和 FP 中填写的值将不符合下面的时序。  

    CSI 驱动程序是否采用我们在 Linux 中的实际 DSI 时序设置中的时序?   

    	/* 0x52 - 1920x1080@60Hz */
    	{ DRM_MODE("1920x1080", DRM_MODE_TYPE_DRIVER, 148500, 1920, 2008,
    		   2052, 2200, 0, 1080, 1084, 1089, 1125, 0,

    ADI 检测到 CSI 输出格式为240i、仅在2个通道中根据 ADV7535中的只读寄存器、在何处设置要使用的输出格式和通道以及分辨率?   

    现在、我们似乎正在尝试使 CSI 输出时序与 ADV7535编程的 CSI 时序保持一致、否则不会根据 ADI RD 显示该时序。  

    您能否创建1920x1080 60Hz 渐进(不是16:9) 4通道输出的补丁来进行测试?  

    Br、Rich

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

    您好 Rich、

    让我看看今天的解决问题。 我17天 前分享的 0001-hack-force-adv-hdmi-bridge-for-720x480.patch 的补丁应该选择了特定的计时参数。 让我重新制作这个补丁以便您进行测试。

    另一方面、ADV7535寄存器编程应在 ADV7535驱动程序内完成。 图像格式也应从 ADV7535驱动器传播到 DSI 驱动器。

    最后、应在器件树中设置通道数。

    此致、

    Takuma

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

    您好 Rich、

    对于 ADV7535寄存器、我建议客户也查看此代码。 TI 没有对此驱动程序的额外见解、因此客户对该驱动程序的了解比我们更多。

    无论如何、我确实看看这个驾驶员、看看他们是如何设置车道的。 我看到一系列用于读取和设置通道数的函数: https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/tree/drivers/gpu/drm/bridge/adv7511/adv7533.c?h=ti-linux-6.6.y#n172 

    void adv7533_dsi_power_on(struct adv7511 *adv)
    {
    	struct mipi_dsi_device *dsi = adv->dsi;
    
    	if (adv->use_timing_gen)
    		adv7511_dsi_config_timing_gen(adv);
    
    	/* set number of dsi lanes */
    	regmap_write(adv->regmap_cec, 0x1c, dsi->lanes << 4);
    
    	if (adv->use_timing_gen) {
    		/* reset internal timing generator */
    		regmap_write(adv->regmap_cec, 0x27, 0xcb);
    		regmap_write(adv->regmap_cec, 0x27, 0x8b);
    		regmap_write(adv->regmap_cec, 0x27, 0xcb);
    	} else {
    		/* disable internal timing generator */
    		regmap_write(adv->regmap_cec, 0x27, 0x0b);
    	}
    
    	/* enable hdmi */
    	regmap_write(adv->regmap_cec, 0x03, 0x89);
    	/* disable test mode */
    	regmap_write(adv->regmap_cec, 0x55, 0x00);
    
    	regmap_register_patch(adv->regmap_cec, adv7533_cec_fixed_registers,
    			      ARRAY_SIZE(adv7533_cec_fixed_registers));
    }
    
    int adv7533_parse_dt(struct device_node *np, struct adv7511 *adv)
    {
    	u32 num_lanes;
    
    	of_property_read_u32(np, "adi,dsi-lanes", &num_lanes);
    
    	if (num_lanes < 1 || num_lanes > 4)
    		return -EINVAL;
    
    	adv->num_dsi_lanes = num_lanes;
    
    	adv->host_node = of_graph_get_remote_node(np, 0, 0);
    	if (!adv->host_node)
    		return -ENODEV;
    
    	of_node_put(adv->host_node);
    
    	adv->use_timing_gen = !of_property_read_bool(np,
    						"adi,disable-timing-generator");
    
    	/* TODO: Check if these need to be parsed by DT or not */
    	adv->rgb = true;
    	adv->embedded_sync = false;
    
    	return 0;
    }

    我建议您和客户查看这些功能、将一些打印语句放入其中、并查看通道数是否设置正确。  

    还有一个 函数会将计时参数写入同一文件、因此请检查此处是否所有内容都正确写入。

    我需要2~3天的时间才能获得解析补丁。

    此致、

    Takuma

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

    尊敬的 Takuma:

      应用补丁 adv7535寄存器转储:

    [ 256.588933] debug:adv7535_bridge_get_modes、强制执行特定的分辨率
    [ 256.588981] debug:drm_set_preferred_mode
    [ 256.588985] debug:模式为1920x1080、时钟为148500。 这是首选项
    [ 256.588994]调试:HSYNC_START-2008、HSYNC_END-2052、htotal-0、hoffset-1084、vsync_start-1089、 VSYNC_END-0、vscan-2131131648
    [ 256.734764]调试:adv7533_DSI_POWER_ON DSI->lanes=0x4 use_timing_gen=0x1

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

    您好、  

    我假设在软件中设置了正确的分辨率、但寄存器转储中的值不正确。 此假设是否正确?

    如果是、则可以查看另一个不同的方面、如果尚未这样做:

    [引述 userid="492487" url="~/support/amplifiers-group/amplifiers/f/amplifiers-forum/1456851/processor-sdk-am67-dts-configuration-for-dsi-convert-to-hdmi/5724648 #5724648"]

    另一方面、寄存器设置如何? 客户是否能够研究 ADV 驱动程序来查看寄存器写入是否正确?

    我的一位同事注意到、YAML 绑定中的器件树节点中似乎有多个可配置的 I2C 寄存器("main"、"EDID"、"CEC"和"packet")、但这些寄存器设置是否正确?  https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/tree/Documentation/devicetree/bindings/display/bridge/adi,adv7533.yaml?h=ti-linux-6.6.y#n35 

    [/报价]

    我看到、过去仅为 I2C 寄存器定义了0x3D。 不过、我可以在上面的 YAML 示例中看到、它们对"reg-names ="main"、"EDID";"定义了"reg=<0x39>、<0x66>;"。 我还看到其他器件树定义了所有4个寄存器、例如此 imx8mm-beacon kit.dts: https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/tree/arch/arm64/boot/dts/freescale/imx8mm-beacon-kit.dts?h=ti-linux-6.6.y#n60

    DSI 和 CEC 存储器 为0x3C (原始0x78)。

    ^从这句话来看、似乎默认值有变化... 但是、这些问题是否在您的最终处理中正确?

    此致、

    Takuma

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

    Takuma、ć

      请参阅 ADI 重播:

    1. SoC 配置为 MIPI DSI 视频模式操作 具有同步脉冲的非突发模式、以及  MIPI 源 连续 MIPI 时钟 和数据流提供。
    2. 在查看共享寄存器值时、ADV7535寄存器(即 DSC_CEC 寄存器0x28–0x37)中提供了1920 × 1080p 60Hz 视频时序参数。 因此、必须从 SoC 发送相同的 MIPI 信号(时钟和数据)。

    例如、1920 × 1080p 60Hz、4通道信号的 MIPI 时钟值为445.5 MHz。 这意味着来自 SoC 的 MIPI 数据和来自 ADV7535寄存器的视频时序参数应匹配。 同样、MIPI 时钟值在1920 × 1080p 50Hz、1920 × 1080i 100Hz 和1920 × 1080i 120Hz、4通道信号内保持445.5 MHz。如果 ADV7535在其视频时序参数设置为1920 × 1080p 60Hz 时接收到任何这些 MIPI 信号(时钟和数据)、则会发生冲突。 因此、无法观察到正确的视频输出。

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

    您好、

    将 SoC 配置为 MIPI DSI 视频模式操作 具有同步脉冲的非突发模式、以及  MIPI 源 连续 MIPI 时钟 和数据流提供。 [/报价]

    从 SoC 的角度来看、这看起来不错... 但这是 ADI 想要的评论吗? 或者这是一个评论,这是观察和 ADI 回答这是好的吗?

    在查看共享寄存器值时、可在 ADV7535寄存器(即 DSC_CEC 寄存器0x28–0x37)中获取1920 × 1080p 60Hz 视频时序参数。 因此、必须从 SoC 发送相同的 MIPI 信号(时钟和数据)。

    三 件事:

    • 您能共享"k3conf dump clock 232"的输出吗?
    • 过去、您分享了一些示波器读数。 当前测量的 MIPI 时钟是多少?
    • 如果这个问题来自高时钟 频率要求、是否有任何 较低的 fps 或较低的分辨率需要 ADV7535和显示屏支持的较低时钟频率、以便我们可以将其用作实验?

    此致、

    Takuma

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

    Takuma

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

    您好、

    我认为、除非使用与预期不同的颜色格式、否则从 SoC 的角度来看、时钟是正确的。 148500000 (148.5MHz)应该是已编程的像素时钟。 您提到需要445.5MHz、但我假设这是字节时钟而不是像素时钟。 在这种情况下、如果每个像素需要3个字节(如 RGB888)、则148.5MHz * 3=RGB888 445.5MHz。 如果这是不同于 ARGB8888 (使用4字节)或 RGB565 (占用2字节)的格式、则这种不匹配可能会导致问题。

    • 桥接器预期的颜色格式是什么? RGB888、ARGB8888、RGB565、NV12还是其他接口?

    关于一个单独的主题,我已经在内部与另一个显示专家讨论过,看起来他们有一个"神奇"的计时参数,适用于不同的桥,而这在过去是不起作用的。 作为一个实验、您可以尝试一下:

    此致、

    Takuma

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

    Takuma

      应用补丁后、不会显示输出

    ecu1270:~# modetest -M tidss
    编码器:
    ID CRTC 类型可能的 crtcs 可能的克隆
    39 38 NONE 0x00000001 0x00000001

    连接器:
    ID 编码器状态名称大小(mm)模式编码器
    40 39已连接 HDMI-A-1 0x0 16 39
    模式:
    索引名称刷新(Hz) hdisp HSS htot vdisp VSS VSE vtot
    #0 1680x1050 59.95 1680 1784 1960 2240 1050 1053 1059 1089 146250标志:nhsync、pvsync;类型:驱动程序
    #1 1680x1050 59.88 1680 1728 1760 1840 1050 1053 1059 1080 119000标志:phsync、nvsync;类型:驱动程序
    #2 1400x1050 59.98 1400 1488 1632 1864 1050 1053 1057 1089 121750标志:nhsync、pvsync;类型:驱动程序
    #3 1400x1050 59.95 1400 1448 1480 1560 1050 1053 1057 1080 101000标志:phsync、nvsync;类型:驱动程序
    #4 1600x900 60.00 1600 1624 1704 1800 900 901 904 1000 108000标志: phsync , pvsync ;类型:驱动程序
    #5 1280x1024 60.02 1280 1328 1440 1688 1024 1025 1028 1066 108000标志:phsync、pvsync;类型:驱动程序
    #6 1440x900 59.89 1440 1520 1672 1904 900 903 909 934 106500标志:nhsync、pvsync;类型:驱动程序
    #7 1440x900 59.90 1440 1488 1520 1600 900 903 909 926 88750 flags:phsync、nvsync;type:driver
    #8 1280x960 60.00 1280 1376 1488 1800 960 961 964 1000 108000标志:phsync、pvsync;类型:驱动程序
    #9 1360x768 60.02 1360 1424 1536 1792 768 771 777 795 85500标志:phsync、pvsync;类型:驱动程序
    #10 1280x800 59.81 1280 1352 1480 1680 800 803 809 831 83500标记:nhsync、pvsync;类型:驱动程序
    #11 1280x800 59.91 1280 1328 1360 1440 800 803 809 823 71000标志:phsync、nvsync;类型:驱动程序
    #12 1280x768 59.87 1280 1344 1472 1664 768 771 778 798 79500标志:nhsync、pvsync;类型:驱动程序
    #13 1280x768 59.99 1280 1328 1360 1440 768 771 778 790 68250标志:phsync、nvsync;类型:驱动程序
    #14 1280x720 60.00 1280 1390 1430 1650 720 725 730 750 74250标志:phsync、pvsync;类型:驱动程序
    #15 800x600 60.32 800 840 968 1056 600 601 605 628 40000标志:phsync、pvsync;类型:驱动程序
    道具:
    1 EDID:
    旗帜:不可变的 blob
    Blob:

    值:
    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 50 (0、0)(1680x1050)
    #0 1680x1050 59.95 1680 1784 1960 2240 1050 1053 1059 1089 146250标志:nhsync、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 50 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
    值: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 尺寸间距

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

    您好、

    我认为修补程序没有干净地应用。 您能否与下面共享的 DRM_EDID.c 进行比较?

    e2e.ti.com/.../drm_5F00_edid.c

    具体而言、DRM_DMT_MODES 数组只能包含一个值:

    static const struct drm_display_mode drm_dmt_modes[] = {
    	/* 0x52 - 1920x1080@60Hz */
    	{ DRM_MODE("1920x1080", DRM_MODE_TYPE_DRIVER, 133333333 / 1000, 1920, 1920 + 8,
    		   1920 + 8 + 32, 1920 + 8 + 32 + 40, 0, 1080, 1080 + 16, 1080 + 16 + 8, 1080 + 16 + 8 + 6, 0,
    		   DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC) },
    };

    这应该会使"modetest -M tidss"仅显示一行模式。

    此致、

    Takuma

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

    尊敬的 Takuma:

     应用该补丁后、不会显示输出

    ecu1270:~# modetest -M tidss
    [182.737830]调试:HSYNC_START-1928、HSYNC_END-1960、htotal-0、hskoff-1096、vsync_start-1104 VSYNC_END-0、vscan-2131133016
    [ 188.459533] debug:adv7535_bridge_get_modes、强制执行特定的分辨率
    [ 188.459575]调试:DRM_SET_Preferred_mode
    [ 188.45959] debug:模式为1920x1080、时钟为133333。 这是首选项
    编码器:
    ID CRTC 类型可能的 crtcs 可能的克隆
    39 0 NONE 0x00000001 0x00000001

    连接器:
    ID 编码器状态名称大小(mm)模式编码器
    40 0已连接 HDMI-A-1 0x0 0 39
    道具:
    1 EDID:
    旗帜:不可变的 blob
    Blob:

    值:
    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 0 (0、0)(0x0)
    #0 nan 0 0 0 0 0 0 0 0 0 0 0标志:;类型:
    道具:
    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 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
    值: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 尺寸间距

    ecu1270:~# kmstest
    [ 188.459586]调试:HSYNC_START-1928、HSYNC_END-1960、htotal-0、hskoff-1096、vsync_start-1104、 VSYNC_END-0、vscan-2131132920
    [ 1099.693829] debug:adv7535_bridge_get_modes、强制执行特定的分辨率
    [ 1099.693873] debug:drm_set_preferred_mode
    [ 1099.693878] debug:模式为1920x1080、时钟为133333。 这是首选项
    模式对 HDMI-A-1无效

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

    您好、

    感谢您试用。  

    模式对 HDMI-A-1
    无效

    ^我 有这样的怀疑可能会发生,因为我没有在你过去分享的 modetest 日志中看到神奇的计时参数。

    然而、根据我们第一次应用修补程序时发现的模式错误、我认为我们应该回顾过去的一个实验、因为我认为它没有得到适当的执行。

    可以尝试使用较低的分辨率吗?  800x600准确。 下面是用于选择此较低分辨率的两个补丁:

    modetest -M tidss 日志应仅显示800x600模式行。  

    此致、

    Takuma

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

    尊敬的 Takuma:

       应用此补丁后、它处于800x600模式、但不会显示输出

    ecu1270:~# modetest -M tidss
    编码器:[ 92.450259] debug:adv7535_bridge_get_modes、强制使用特定分辨率

    ID CRTC 类型可能的 crtcs 可能的克隆
    39 38无0x000[92.450305]调试:DRM_SET_Preferred_mode
    00001 0x00000001

    连接器:
    ID 编码器状态名称大小([92.450310] debug:模式为800x600、时钟为40000。 这不是首选项
    [ 92.450318]调试:HSYNC_START-840、HSYNC_END-968、htotal-0、hskoff-601、vsync_start-605、 VSYNC_END-0、vscan-2131132272
    MM)模式编码器
    40 39已连接 HDMI-A-1 0x0 1 39
    模式:
    索引名称刷新(Hz) hdisp HSS htot vdisp VSS VSE vtot
    #0 800x600 60.32 800 840 968 1056 600 601 605 628 40000标志:phsync、pvsync;类型:驱动程序
    道具:
    1 EDID:
    旗帜:不可变的 blob
    Blob:

    值:
    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 48 (0、0)(800x600)
    #0 800x600 60.32 800 840 968 1056 600 601 605 628 40000标志: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 48 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
    值: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:[92.450340]调试:adv7533_mode_valid 内部
    线性
    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 尺寸间距

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

    您好、

    似乎正确设置了800x600分辨率。  这个最新配置有3个问题。

    • 使用800x600分辨率、您是否看到桥接寄存器已更新、以指示其正在接收800x600分辨率?
    • 是否还可以通过运行"devmem2 0x305000F0"来检查 SoC 是否报告了错误?
    • 在示波器上测量时、时钟和数据线是否发送实际时钟?

    此致、

    Takuma

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

    尊敬的 Takuma:

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

    您好、

    • 通过快速 检查、桥接器似乎正在更新为 SoC 正在编程的正确时序参数。
    • HSYNC 误差看起来被置位
    • 您是否看到时钟和数据线处于激活状态? 由于 HSYNC 错误被置位、我怀疑它们是否会处于活动状态

    此致、

    Takuma