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:MIPI DSI 显示屏无视频数据

Guru**** 2478835 points
Other Parts Discussed in Thread: AM67

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1533046/am67-no-video-data-to-mipi-dsi-display

器件型号:AM67


工具/软件:

您好:
我正在努力利用 AM67 的定制电路板实现一个新的 MIPI DSI 显示。 我们的软件基于 ti-linux-kernel 11.01.02 标签 v6.12.33、并添加了此补丁堆栈 https://lore.kernel.org/dri-devel/20250414-cdns-dsi-impro-v3-0-4e52551d4f07@ideasonboard.com/。 此特定面板没有驱动程序、因此我们一直在修改另一个 MIPI DSI 驱动器以用于此显示。 目前、显示屏上没有视频输出。 我们已经能够探测时钟和数据 0 通道、并且能够看到在低功耗模式下发送时钟和初始化序列命令。 该面板的初始化序列是 DCS 0x11 命令、然后是 DCS 0x29 命令。 以下是初始化序列期间从数据 0 进行的部分数据捕获的图像(蓝色通道 2):

初始化序列完成后、我们不再看到数据、但时钟会继续。

我们还使用 kmsgrab 来查看帧缓冲区中的内容、这是我们期望看到的图像。 我们在任何时候都看不到视频数据发送到显示器。 什么因素可能会阻止驾驶员向面板发送视频数据?

此致、
Nathan

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

    您好 Nathan、  

    指派的专家目前已离职、6 月 30 日返回。 请预计回复会延迟。

    此致、

    Josiitaa

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

    您好 Nathan、

    对延迟深表歉意。

    第一步、 您能否通过运行“devmem2 0x305000F0“来检查 SoC 是否报告错误?

    以下是该寄存器中每个非保留位的含义。 如果没有错误、则值应为 0x1。

    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

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

    藤原拓磨

    Nathan 本周不在办公室、但我有一份我们正在测试的软件和硬件副本。

    运行 devmem 命令会读取 0x00000004、根据您的图表、这是 REG_ERR_SMALL_LENGTH 错误、正确吗?

    我无法回答任何更多面向软件的问题、因此任何这些问题都需要等待 Nathan 返回、但我可能可以帮助解决与硬件相关的问题。

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

    尊敬的 Christyan:

    0x4 表示设置了位 2、即 ERR_MISSING_HSYNC。 这可能是由时序参数问题引起的。 原始后处理中描述的行为与错误对齐、因为发送帧的一行后将发生 HSYNC 错误。

    您是否可以通过运行“modetest -M tidss“来收集时序参数信息并共享生成的日志?

    此致、

    Takuma

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

    尊敬的 Takuma:

    以下是“modetest -M tidss“的结果

    Encoders:
    id	crtc	type	possible crtcs	possible clones	
    40	0	none	0x00000001	0x00000001
    50	49	none	0x00000002	0x00000002
    
    Connectors:
    id	encoder	status		name		size (mm)	modes	encoders
    41	0	disconnected	HDMI-A-1       	0x0		0	40
      props:
    	1 EDID:
    		flags: immutable blob
    		blobs:
    
    		value:
    	2 DPMS:
    		flags: enum
    		enums: On=0 Standby=1 Suspend=2 Off=3
    		value: 0
    	5 link-status:
    		flags: enum
    		enums: Good=0 Bad=1
    		value: 0
    	6 non-desktop:
    		flags: immutable range
    		values: 0 1
    		value: 0
    	4 TILE:
    		flags: immutable blob
    		blobs:
    
    		value:
    51	50	connected	DSI-1          	151x94		1	50
      modes:
    	index name refresh (Hz) hdisp hss hse htot vdisp vss vse vtot
      #0 1200x1920 60.04 1200 1224 1232 1280 1920 1928 1932 2004 154000 flags: ; type: 
      props:
    	1 EDID:
    		flags: immutable blob
    		blobs:
    
    		value:
    	2 DPMS:
    		flags: enum
    		enums: On=0 Standby=1 Suspend=2 Off=3
    		value: 0
    	5 link-status:
    		flags: enum
    		enums: Good=0 Bad=1
    		value: 0
    	6 non-desktop:
    		flags: immutable range
    		values: 0 1
    		value: 0
    	4 TILE:
    		flags: immutable blob
    		blobs:
    
    		value:
    
    CRTCs:
    id	fb	pos	size
    39	58	(0,0)	(0x0)
      #0  nan 0 0 0 0 0 0 0 0 0 flags: ; type: 
      props:
    	24 VRR_ENABLED:
    		flags: range
    		values: 0 1
    		value: 0
    	27 CTM:
    		flags: blob
    		blobs:
    
    		value:
    	28 GAMMA_LUT:
    		flags: blob
    		blobs:
    
    		value:
    	29 GAMMA_LUT_SIZE:
    		flags: immutable range
    		values: 0 4294967295
    		value: 256
    49	0	(0,0)	(1200x1920)
      #0 1200x1920 60.04 1200 1224 1232 1280 1920 1928 1932 2004 154000 flags: ; type: 
      props:
    	24 VRR_ENABLED:
    		flags: range
    		values: 0 1
    		value: 0
    	27 CTM:
    		flags: blob
    		blobs:
    
    		value:
    	28 GAMMA_LUT:
    		flags: blob
    		blobs:
    
    		value:
    	29 GAMMA_LUT_SIZE:
    		flags: immutable range
    		values: 0 4294967295
    		value: 256
    
    Planes:
    id	crtc	fb	CRTC x,y	x,y	gamma size	possible crtcs
    32	49	58	0,0		0,0	0       	0x00000003
      formats: 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
      props:
    	8 type:
    		flags: immutable enum
    		enums: Overlay=0 Primary=1 Cursor=2
    		value: 1
    	30 IN_FORMATS:
    		flags: immutable blob
    		blobs:
    
    		value:
    			01000000000000001d00000018000000
    			01000000900000004152313241423132
    			52413132524731364247313641523135
    			41423135415232344142323452413234
    			42413234524732344247323441523330
    			41423330585231325842313252583132
    			58523135584231355852323458423234
    			52583234425832345852333058423330
    			59555956555956594e56313200000000
    			ffffff1f000000000000000000000000
    			0000000000000000
    		in_formats blob decoded:
    			 AR12:  LINEAR(0x0)
    			 AB12:  LINEAR(0x0)
    			 RA12:  LINEAR(0x0)
    			 RG16:  LINEAR(0x0)
    			 BG16:  LINEAR(0x0)
    			 AR15:  LINEAR(0x0)
    			 AB15:  LINEAR(0x0)
    			 AR24:  LINEAR(0x0)
    			 AB24:  LINEAR(0x0)
    			 RA24:  LINEAR(0x0)
    			 BA24:  LINEAR(0x0)
    			 RG24:  LINEAR(0x0)
    			 BG24:  LINEAR(0x0)
    			 AR30:  LINEAR(0x0)
    			 AB30:  LINEAR(0x0)
    			 XR12:  LINEAR(0x0)
    			 XB12:  LINEAR(0x0)
    			 RX12:  LINEAR(0x0)
    			 XR15:  LINEAR(0x0)
    			 XB15:  LINEAR(0x0)
    			 XR24:  LINEAR(0x0)
    			 XB24:  LINEAR(0x0)
    			 RX24:  LINEAR(0x0)
    			 BX24:  LINEAR(0x0)
    			 XR30:  LINEAR(0x0)
    			 XB30:  LINEAR(0x0)
    			 YUYV:  LINEAR(0x0)
    			 UYVY:  LINEAR(0x0)
    			 NV12:  LINEAR(0x0)
    	34 zpos:
    		flags: range
    		values: 0 1
    		value: 1
    	35 COLOR_ENCODING:
    		flags: enum
    		enums: ITU-R BT.601 YCbCr=0 ITU-R BT.709 YCbCr=1
    		value: 0
    	36 COLOR_RANGE:
    		flags: enum
    		enums: YCbCr limited range=0 YCbCr full range=1
    		value: 1
    	37 alpha:
    		flags: range
    		values: 0 65535
    		value: 65535
    	38 pixel blend mode:
    		flags: enum
    		enums: Pre-multiplied=0 Coverage=1
    		value: 0
    42	0	0	0,0		0,0	0       	0x00000003
      formats: 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
      props:
    	8 type:
    		flags: immutable enum
    		enums: Overlay=0 Primary=1 Cursor=2
    		value: 1
    	30 IN_FORMATS:
    		flags: immutable blob
    		blobs:
    
    		value:
    			01000000000000001d00000018000000
    			01000000900000004152313241423132
    			52413132524731364247313641523135
    			41423135415232344142323452413234
    			42413234524732344247323441523330
    			41423330585231325842313252583132
    			58523135584231355852323458423234
    			52583234425832345852333058423330
    			59555956555956594e56313200000000
    			ffffff1f000000000000000000000000
    			0000000000000000
    		in_formats blob decoded:
    			 AR12:  LINEAR(0x0)
    			 AB12:  LINEAR(0x0)
    			 RA12:  LINEAR(0x0)
    			 RG16:  LINEAR(0x0)
    			 BG16:  LINEAR(0x0)
    			 AR15:  LINEAR(0x0)
    			 AB15:  LINEAR(0x0)
    			 AR24:  LINEAR(0x0)
    			 AB24:  LINEAR(0x0)
    			 RA24:  LINEAR(0x0)
    			 BA24:  LINEAR(0x0)
    			 RG24:  LINEAR(0x0)
    			 BG24:  LINEAR(0x0)
    			 AR30:  LINEAR(0x0)
    			 AB30:  LINEAR(0x0)
    			 XR12:  LINEAR(0x0)
    			 XB12:  LINEAR(0x0)
    			 RX12:  LINEAR(0x0)
    			 XR15:  LINEAR(0x0)
    			 XB15:  LINEAR(0x0)
    			 XR24:  LINEAR(0x0)
    			 XB24:  LINEAR(0x0)
    			 RX24:  LINEAR(0x0)
    			 BX24:  LINEAR(0x0)
    			 XR30:  LINEAR(0x0)
    			 XB30:  LINEAR(0x0)
    			 YUYV:  LINEAR(0x0)
    			 UYVY:  LINEAR(0x0)
    			 NV12:  LINEAR(0x0)
    	44 zpos:
    		flags: range
    		values: 0 1
    		value: 1
    	45 COLOR_ENCODING:
    		flags: enum
    		enums: ITU-R BT.601 YCbCr=0 ITU-R BT.709 YCbCr=1
    		value: 0
    	46 COLOR_RANGE:
    		flags: enum
    		enums: YCbCr limited range=0 YCbCr full range=1
    		value: 1
    	47 alpha:
    		flags: range
    		values: 0 65535
    		value: 65535
    	48 pixel blend mode:
    		flags: enum
    		enums: Pre-multiplied=0 Coverage=1
    		value: 0
    
    Frame buffers:
    id	size	pitch
    

    此致、

    Nathan

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

    您好 Nathan、

      如果 以下任何一项听起来出乎意料、请进行评论。

    1. DSI 希望连接到 DSI 转 HDMI 桥接器。 HDMI 连接器没有连接显示器
    2. 桥接器/HDMI 将进入连接至 1200 宽 x 1920 高 60FPS 显示器的模式(而不是 1920x1200 显示器)

    第 2 点有点可疑。 1200x1920 分辨率与 1920x1200 相比非常少见。 请确认是否需要这两个点。

    此致、

    Takuma

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

    尊敬的 Takuma:

    1.我们的设计中没有 DSI 转 HDMI 桥接器。 我们的电路板上有 HDMI、但这应该与 DSI 无关。 modetest 命令是否可以在未连接的情况下仅列出这两个器件?

    2.我们从显示器制造商那里得到的计时是 1200x1920、但我尝试换为 1920x1200、现在我得到了 0x1 的输出、当从 0x305000F0 读取、但显示器上仍然没有。

    此致、

    Nathan

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

    您好 Nathan、

    如果 DSI 正在初始化、“Connectors"下“下应该有一个 DSI 接口。 如果没有 DSI 连接器、似乎在初始化期间出现了问题。

     0x305000F0 中的 0x1 正常。 表示它正在运行。

    下一步、您能否共享“dmesg"中“中的完整引导日志、看看是否有任何与 DSI 相关的日志?

    此致、

    Takuma

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

    您好 Nathan、

    似乎正在探测 DSI 面板驱动器、因此很奇怪、为什么 DSI 接口似乎没有在 modetest 下枚举。

    您能否共享器件树(如果整个器件树不可共享,只需与显示相关的器件树节点就足够了)、以便我可以查看显示流水线的连接方式?

    此致、

    Takuma

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

    尊敬的 Takuma:

    是的、下面是我现在用于显示的设备树叠加层

    /dts-v1/;
    /plugin/;
    
    #include <dt-bindings/gpio/gpio.h>
    #include <dt-bindings/interrupt-controller/irq.h>
    
    #include "k3-pinctrl.h"
    
    &{/} {
    	backlight_dsi: backlight {
    		compatible = "pwm-backlight";
    		brightness-levels = <0 8 16 32 64 128 255>;
    		default-brightness-level = <8>;
    		num-interpolated-steps = <2>;
    		pinctrl-names = "default";
    		pinctrl-0 = <&bl_pwm_pins_default>;
    		pwms = <&epwm1 1 50000 0>;
    	};
    };
    
    &epwm1 {
    	status = "okay";
    };
    
    &main_pmx0 {
    	bl_pwm_pins_default: bl-pwm-pins-default {
    		pinctrl-single,pins = <
    			J722S_IOPAD(0x1bc, PIN_INPUT, 2)	/* (D20) SPI0_CLK.EHRPWM1_A */
    		>;
    	};
    
    	touch_screen_pins_default: touch-screen-pins-default {
    		pinctrl-single,pins = <
    			J722S_IOPAD(0x1c0, PIN_INPUT, 7)	/* (E19) SPI0_D0.GPIO1_18 */
    			J722S_IOPAD(0x1c4, PIN_INPUT, 7)	/* (E20) SPI0_D1.GPIO1_19 */
    		>;
    	};
    };
    
    &dphy_tx0 {
    	status = "okay";
    };
    
    &dsi0 {
    	#address-cells = <1>;
    	#size-cells = <0>;
    	status = "okay";
    
    	ports {
    		#address-cells = <1>;
    		#size-cells = <0>;
    
    		port@0 {
    			reg = <0>;
    
    			dsi0_out: endpoint {
    				remote-endpoint = <&display_in>;
    			};
    		};
    
    		port@1 {
    			reg = <1>;
    
    			dsi0_in: endpoint {
    				remote-endpoint = <&dss1_dpi1_out>;
    			};
    		};
    	};
    
    	display: panel@0 {
    		compatible = "lts,lts-lcd282";
    		reg = <0>;
    
    		backlight = <&backlight_dsi>;
    		dsi-lanes = <4>;
    		panel-bpc = <8>;
    
    		port {
    			display_in: endpoint {
    				remote-endpoint = <&dsi0_out>;
    			};
    		};
    	};
    };
    
    &dss1_ports {
    	#address-cells = <1>;
    	#size-cells = <0>;
    
    	/* DSS1-VP1: DSI Output */
    	port@1 {
    		reg = <1>;
    
    		dss1_dpi1_out: endpoint {
    			remote-endpoint = <&dsi0_in>;
    		};
    	};
    };

    此致、

    Nathan

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

    您好 Nathan、

    感谢 DTS。  LTS、LTS-lcd282 <-您提到了这个新面板驱动程序的 MIPI DSI 驱动程序。 您能分享一下引用的驱动程序吗?

    我已经看到开发人员在简单屏幕中使用 panel-simple.c 驱动程序、但我确实看到在共享 DTS 中定义了一些未使用的 touch_seck_pins_default。

    此致、

    Takuma

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

    您好 Nathan、

    除了背光相关逻辑外、驱动器中没有什么突出的内容、可以根据您的输入移除这些逻辑。

    有两点:

    1. 在 1920x1200 时序中、用户提到了 STATUS 寄存器输出 0x1。 示波器上有信号吗?
    2. 您能否从器件树中移除 HDMI 节点并重新运行“modetest  -M tidss“?

    此致、

    Takuma

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

    尊敬的 Takuma:

    感谢您查看驱动程序。

    1.在 1920x1200 时序中、我们看到的初始化数据与之前相同、现在我们还能看到图像数据看起来是什么。 下面是我们看到的新数据的图像:

    尽管显示器上仍然没有输出、但显示器制造商确认 1200x1920 是该显示器的正确分辨率。

    2.以下是从器件树中移除 HDMI 后 modetest 的输出:

    Encoders:
    id	crtc	type	possible crtcs	possible clones	
    40	39	none	0x00000001	0x00000001
    
    Connectors:
    id	encoder	status		name		size (mm)	modes	encoders
    41	40	connected	DSI-1          	151x94		1	40
      modes:
    	index name refresh (Hz) hdisp hss hse htot vdisp vss vse vtot
      #0 1920x1200 60.04 1920 1928 1932 2004 1200 1224 1232 1280 154000 flags: ; type: 
      props:
    	1 EDID:
    		flags: immutable blob
    		blobs:
    
    		value:
    	2 DPMS:
    		flags: enum
    		enums: On=0 Standby=1 Suspend=2 Off=3
    		value: 0
    	5 link-status:
    		flags: enum
    		enums: Good=0 Bad=1
    		value: 0
    	6 non-desktop:
    		flags: immutable range
    		values: 0 1
    		value: 0
    	4 TILE:
    		flags: immutable blob
    		blobs:
    
    		value:
    
    CRTCs:
    id	fb	pos	size
    39	55	(0,0)	(1920x1200)
      #0 1920x1200 60.04 1920 1928 1932 2004 1200 1224 1232 1280 154000 flags: ; type: 
      props:
    	24 VRR_ENABLED:
    		flags: range
    		values: 0 1
    		value: 0
    	27 CTM:
    		flags: blob
    		blobs:
    
    		value:
    	28 GAMMA_LUT:
    		flags: blob
    		blobs:
    
    		value:
    	29 GAMMA_LUT_SIZE:
    		flags: immutable range
    		values: 0 4294967295
    		value: 256
    
    Planes:
    id	crtc	fb	CRTC x,y	x,y	gamma size	possible crtcs
    32	39	55	0,0		0,0	0       	0x00000001
      formats: 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
      props:
    	8 type:
    		flags: immutable enum
    		enums: Overlay=0 Primary=1 Cursor=2
    		value: 1
    	30 IN_FORMATS:
    		flags: immutable blob
    		blobs:
    
    		value:
    			01000000000000001d00000018000000
    			01000000900000004152313241423132
    			52413132524731364247313641523135
    			41423135415232344142323452413234
    			42413234524732344247323441523330
    			41423330585231325842313252583132
    			58523135584231355852323458423234
    			52583234425832345852333058423330
    			59555956555956594e56313200000000
    			ffffff1f000000000000000000000000
    			0000000000000000
    		in_formats blob decoded:
    			 AR12:  LINEAR(0x0)
    			 AB12:  LINEAR(0x0)
    			 RA12:  LINEAR(0x0)
    			 RG16:  LINEAR(0x0)
    			 BG16:  LINEAR(0x0)
    			 AR15:  LINEAR(0x0)
    			 AB15:  LINEAR(0x0)
    			 AR24:  LINEAR(0x0)
    			 AB24:  LINEAR(0x0)
    			 RA24:  LINEAR(0x0)
    			 BA24:  LINEAR(0x0)
    			 RG24:  LINEAR(0x0)
    			 BG24:  LINEAR(0x0)
    			 AR30:  LINEAR(0x0)
    			 AB30:  LINEAR(0x0)
    			 XR12:  LINEAR(0x0)
    			 XB12:  LINEAR(0x0)
    			 RX12:  LINEAR(0x0)
    			 XR15:  LINEAR(0x0)
    			 XB15:  LINEAR(0x0)
    			 XR24:  LINEAR(0x0)
    			 XB24:  LINEAR(0x0)
    			 RX24:  LINEAR(0x0)
    			 BX24:  LINEAR(0x0)
    			 XR30:  LINEAR(0x0)
    			 XB30:  LINEAR(0x0)
    			 YUYV:  LINEAR(0x0)
    			 UYVY:  LINEAR(0x0)
    			 NV12:  LINEAR(0x0)
    	34 zpos:
    		flags: range
    		values: 0 1
    		value: 1
    	35 COLOR_ENCODING:
    		flags: enum
    		enums: ITU-R BT.601 YCbCr=0 ITU-R BT.709 YCbCr=1
    		value: 0
    	36 COLOR_RANGE:
    		flags: enum
    		enums: YCbCr limited range=0 YCbCr full range=1
    		value: 1
    	37 alpha:
    		flags: range
    		values: 0 65535
    		value: 65535
    	38 pixel blend mode:
    		flags: enum
    		enums: Pre-multiplied=0 Coverage=1
    		value: 0
    42	0	0	0,0		0,0	0       	0x00000001
      formats: 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
      props:
    	8 type:
    		flags: immutable enum
    		enums: Overlay=0 Primary=1 Cursor=2
    		value: 0
    	30 IN_FORMATS:
    		flags: immutable blob
    		blobs:
    
    		value:
    			01000000000000001d00000018000000
    			01000000900000004152313241423132
    			52413132524731364247313641523135
    			41423135415232344142323452413234
    			42413234524732344247323441523330
    			41423330585231325842313252583132
    			58523135584231355852323458423234
    			52583234425832345852333058423330
    			59555956555956594e56313200000000
    			ffffff1f000000000000000000000000
    			0000000000000000
    		in_formats blob decoded:
    			 AR12:  LINEAR(0x0)
    			 AB12:  LINEAR(0x0)
    			 RA12:  LINEAR(0x0)
    			 RG16:  LINEAR(0x0)
    			 BG16:  LINEAR(0x0)
    			 AR15:  LINEAR(0x0)
    			 AB15:  LINEAR(0x0)
    			 AR24:  LINEAR(0x0)
    			 AB24:  LINEAR(0x0)
    			 RA24:  LINEAR(0x0)
    			 BA24:  LINEAR(0x0)
    			 RG24:  LINEAR(0x0)
    			 BG24:  LINEAR(0x0)
    			 AR30:  LINEAR(0x0)
    			 AB30:  LINEAR(0x0)
    			 XR12:  LINEAR(0x0)
    			 XB12:  LINEAR(0x0)
    			 RX12:  LINEAR(0x0)
    			 XR15:  LINEAR(0x0)
    			 XB15:  LINEAR(0x0)
    			 XR24:  LINEAR(0x0)
    			 XB24:  LINEAR(0x0)
    			 RX24:  LINEAR(0x0)
    			 BX24:  LINEAR(0x0)
    			 XR30:  LINEAR(0x0)
    			 XB30:  LINEAR(0x0)
    			 YUYV:  LINEAR(0x0)
    			 UYVY:  LINEAR(0x0)
    			 NV12:  LINEAR(0x0)
    	44 zpos:
    		flags: range
    		values: 0 1
    		value: 1
    	45 COLOR_ENCODING:
    		flags: enum
    		enums: ITU-R BT.601 YCbCr=0 ITU-R BT.709 YCbCr=1
    		value: 0
    	46 COLOR_RANGE:
    		flags: enum
    		enums: YCbCr limited range=0 YCbCr full range=1
    		value: 1
    	47 alpha:
    		flags: range
    		values: 0 65535
    		value: 65535
    	48 pixel blend mode:
    		flags: enum
    		enums: Pre-multiplied=0 Coverage=1
    		value: 0
    
    Frame buffers:
    id	size	pitch
    

    此致、

    Nathan

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

    您好 Nathan、

    以下是从器件树中删除 HDMI 后 modetest 的输出:

    是的、这看起来更像预期输出。

    尽管显示器上仍然没有输出、但显示器制造商确认 1200x1920 是该显示器的正确分辨率。

    [/报价]

    您是否可以将其改回 1200x1920 并重新运行 “modetest -M tidss“? 时序参数会有很大不同。

    此致、

    Takuma

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

    尊敬的 Takuma:

    以下是移除 HDMI 节点并将分辨率设置回 1200x1920 时的 modetest 输出:

    Encoders:
    id	crtc	type	possible crtcs	possible clones	
    40	39	none	0x00000001	0x00000001
    
    Connectors:
    id	encoder	status		name		size (mm)	modes	encoders
    41	40	connected	DSI-1          	151x94		1	40
      modes:
    	index name refresh (Hz) hdisp hss hse htot vdisp vss vse vtot
      #0 1200x1920 60.04 1200 1224 1232 1280 1920 1928 1932 2004 154000 flags: ; type: 
      props:
    	1 EDID:
    		flags: immutable blob
    		blobs:
    
    		value:
    	2 DPMS:
    		flags: enum
    		enums: On=0 Standby=1 Suspend=2 Off=3
    		value: 0
    	5 link-status:
    		flags: enum
    		enums: Good=0 Bad=1
    		value: 0
    	6 non-desktop:
    		flags: immutable range
    		values: 0 1
    		value: 0
    	4 TILE:
    		flags: immutable blob
    		blobs:
    
    		value:
    
    CRTCs:
    id	fb	pos	size
    39	55	(0,0)	(1200x1920)
      #0 1200x1920 60.04 1200 1224 1232 1280 1920 1928 1932 2004 154000 flags: ; type: 
      props:
    	24 VRR_ENABLED:
    		flags: range
    		values: 0 1
    		value: 0
    	27 CTM:
    		flags: blob
    		blobs:
    
    		value:
    	28 GAMMA_LUT:
    		flags: blob
    		blobs:
    
    		value:
    	29 GAMMA_LUT_SIZE:
    		flags: immutable range
    		values: 0 4294967295
    		value: 256
    
    Planes:
    id	crtc	fb	CRTC x,y	x,y	gamma size	possible crtcs
    32	39	55	0,0		0,0	0       	0x00000001
      formats: 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
      props:
    	8 type:
    		flags: immutable enum
    		enums: Overlay=0 Primary=1 Cursor=2
    		value: 1
    	30 IN_FORMATS:
    		flags: immutable blob
    		blobs:
    
    		value:
    			01000000000000001d00000018000000
    			01000000900000004152313241423132
    			52413132524731364247313641523135
    			41423135415232344142323452413234
    			42413234524732344247323441523330
    			41423330585231325842313252583132
    			58523135584231355852323458423234
    			52583234425832345852333058423330
    			59555956555956594e56313200000000
    			ffffff1f000000000000000000000000
    			0000000000000000
    		in_formats blob decoded:
    			 AR12:  LINEAR(0x0)
    			 AB12:  LINEAR(0x0)
    			 RA12:  LINEAR(0x0)
    			 RG16:  LINEAR(0x0)
    			 BG16:  LINEAR(0x0)
    			 AR15:  LINEAR(0x0)
    			 AB15:  LINEAR(0x0)
    			 AR24:  LINEAR(0x0)
    			 AB24:  LINEAR(0x0)
    			 RA24:  LINEAR(0x0)
    			 BA24:  LINEAR(0x0)
    			 RG24:  LINEAR(0x0)
    			 BG24:  LINEAR(0x0)
    			 AR30:  LINEAR(0x0)
    			 AB30:  LINEAR(0x0)
    			 XR12:  LINEAR(0x0)
    			 XB12:  LINEAR(0x0)
    			 RX12:  LINEAR(0x0)
    			 XR15:  LINEAR(0x0)
    			 XB15:  LINEAR(0x0)
    			 XR24:  LINEAR(0x0)
    			 XB24:  LINEAR(0x0)
    			 RX24:  LINEAR(0x0)
    			 BX24:  LINEAR(0x0)
    			 XR30:  LINEAR(0x0)
    			 XB30:  LINEAR(0x0)
    			 YUYV:  LINEAR(0x0)
    			 UYVY:  LINEAR(0x0)
    			 NV12:  LINEAR(0x0)
    	34 zpos:
    		flags: range
    		values: 0 1
    		value: 1
    	35 COLOR_ENCODING:
    		flags: enum
    		enums: ITU-R BT.601 YCbCr=0 ITU-R BT.709 YCbCr=1
    		value: 0
    	36 COLOR_RANGE:
    		flags: enum
    		enums: YCbCr limited range=0 YCbCr full range=1
    		value: 1
    	37 alpha:
    		flags: range
    		values: 0 65535
    		value: 65535
    	38 pixel blend mode:
    		flags: enum
    		enums: Pre-multiplied=0 Coverage=1
    		value: 0
    42	0	0	0,0		0,0	0       	0x00000001
      formats: 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
      props:
    	8 type:
    		flags: immutable enum
    		enums: Overlay=0 Primary=1 Cursor=2
    		value: 0
    	30 IN_FORMATS:
    		flags: immutable blob
    		blobs:
    
    		value:
    			01000000000000001d00000018000000
    			01000000900000004152313241423132
    			52413132524731364247313641523135
    			41423135415232344142323452413234
    			42413234524732344247323441523330
    			41423330585231325842313252583132
    			58523135584231355852323458423234
    			52583234425832345852333058423330
    			59555956555956594e56313200000000
    			ffffff1f000000000000000000000000
    			0000000000000000
    		in_formats blob decoded:
    			 AR12:  LINEAR(0x0)
    			 AB12:  LINEAR(0x0)
    			 RA12:  LINEAR(0x0)
    			 RG16:  LINEAR(0x0)
    			 BG16:  LINEAR(0x0)
    			 AR15:  LINEAR(0x0)
    			 AB15:  LINEAR(0x0)
    			 AR24:  LINEAR(0x0)
    			 AB24:  LINEAR(0x0)
    			 RA24:  LINEAR(0x0)
    			 BA24:  LINEAR(0x0)
    			 RG24:  LINEAR(0x0)
    			 BG24:  LINEAR(0x0)
    			 AR30:  LINEAR(0x0)
    			 AB30:  LINEAR(0x0)
    			 XR12:  LINEAR(0x0)
    			 XB12:  LINEAR(0x0)
    			 RX12:  LINEAR(0x0)
    			 XR15:  LINEAR(0x0)
    			 XB15:  LINEAR(0x0)
    			 XR24:  LINEAR(0x0)
    			 XB24:  LINEAR(0x0)
    			 RX24:  LINEAR(0x0)
    			 BX24:  LINEAR(0x0)
    			 XR30:  LINEAR(0x0)
    			 XB30:  LINEAR(0x0)
    			 YUYV:  LINEAR(0x0)
    			 UYVY:  LINEAR(0x0)
    			 NV12:  LINEAR(0x0)
    	44 zpos:
    		flags: range
    		values: 0 1
    		value: 1
    	45 COLOR_ENCODING:
    		flags: enum
    		enums: ITU-R BT.601 YCbCr=0 ITU-R BT.709 YCbCr=1
    		value: 0
    	46 COLOR_RANGE:
    		flags: enum
    		enums: YCbCr limited range=0 YCbCr full range=1
    		value: 1
    	47 alpha:
    		flags: range
    		values: 0 65535
    		value: 65535
    	48 pixel blend mode:
    		flags: enum
    		enums: Pre-multiplied=0 Coverage=1
    		value: 0
    
    Frame buffers:
    id	size	pitch
    

    此致、

    Nathan

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

    您好 Nathan、

    这些时序参数从哪里获得? 这是制造商提供的 1200x1920 分辨率吗?

    这些不是 DMT 标准的一部分、我认为这些标准也没有遵循 CVT 标准。

    此致、

    Takuma

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

    尊敬的 Takuma:

    这些时序直接来自面板的显示制造商。

    此致、

    Nathan

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

    您好 Nathan、

    作为一个实验、 您能否尝试定义一些如下所示的负同步标志:

    • .flags = DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC

    如果上述操作不起作用、我们来对时序参数进行实验。 我正在考虑插入我在线上找到的这个视频时序参数计算器中的一些数字: https://tomverbeure.github.io/video_timings_calculator 

    此致、

    Takuma

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

    尊敬的 Takuma:

    我相信我们已经解决了这个问题。 最后的工作是使用您提供的计算器为 1200x1920 显示器创建计时。 我们能够使用 CVT 模式线的时序在显示器上获得输出。 虽然输出仍然轻微损坏,所以我做了一些小的调整,直到我得到一个好看的图像。 以下是我当前用于实现良好输出的时序。

    static const struct drm_display_mode lts_lcd282_mode = {
                    .clock = 154000,
                    .hdisplay = 1200,
                    .hsync_start = 1259,
                    .hsync_end = 1271,
                    .htotal = 1295,
                    .vdisplay = 1920,
                    .vsync_start = 1923,
                    .vsync_end = 1933,
                    .vtotal = 1989,
                    .flags = DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_PVSYNC,
    };
    

    感谢您的支持、帮助您解决此问题。

    此致、

    Nathan