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-AM62X:RGB 24位、边缘有回声

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1516602/processor-sdk-am62x-rgb-24bit-with-echo-on-the-edge

器件型号:PROCESSOR-SDK-AM62X

工具/软件:

e2e.ti.com/.../WhatsApp-Video-2025_2D00_05_2D00_18-um-19.49.56_5F00_8438e7fe.mp4

大家好、
我们遇到了 RGB 24位4、3英寸面板的问题。 它在两个像素的右侧产生一个回波、这两个像素甚至会发生动态变化。  
我们已经尝试了许多事情,如将 FW 升级到11.xx wtihout 生效。  
当前使用中:
-内核6.1.69.
- Debian 12

我们认为不必要的是来自32位颜色的音调太高。  

# cat /sys/class/graphics/fb0/bits_per_pixel
32
# cat /sys/class/graphics/fb0/stride
1920

我们使用的是 RGB888、因此我们不明白为什么这里是32位条目

panel-simple.c

static const struct drm_display_mode hetech_hc043te30029_mode = {
	.clock = 9200,
	.hdisplay = 480,
	.hsync_start = 480 + 6,
	.hsync_end = 486 + 41,
	.htotal = 480 + 6 + 6 + 41,
	.vdisplay = 272,
	.vsync_start = 272 + 4,
	.vsync_end = 276 + 10,
	.vtotal = 272 + 4 + 2 + 10,
	.flags = DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC,
};

static const struct panel_desc hetech_hc043te30029 = {
	.modes = &hetech_hc043te30029_mode,
	.num_modes = 1,
	.bpc = 8,
	.size = {
		.width = 95,
		.height = 54,
	},
	.bus_format = MEDIA_BUS_FMT_RGB888_1X24,
	.connector_type = DRM_MODE_CONNECTOR_DPI,
	.bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_DRIVE_POSEDGE,
};

DTS:

 panel {
		 compatible = "hetech,hc043te30029","simple-panel";
		 power-supply = <&vcc_3v3_sw>;
		 backlight = <&backlight>;
		 status = "okay";
		 enable-gpio = <&main_gpio0 41 GPIO_ACTIVE_HIGH>;
		 
		 port {
			panel_in: endpoint {
				remote-endpoint = <&lcd0_out>;
				data-lines = <24>;
			};
		 };
			
	};

 &dss {
	 pinctrl-names = "default";
	 pinctrl-0 = <&main_dss0_pins_default>;
 };
	
&dss_ports {
	 #address-cells = <1>;
	 #size-cells = <0>;
 
	 /* VP2: DPI/HDMI Output */
	 port@1 {
		 reg = <1>;
 
		 lcd0_out: endpoint {
			 remote-endpoint = <&panel_in>;
		 };
	 };
 };

我们在 DRM 调试中看到设置了32位。  

root@DT404:~# cat /sys/kernel/debug/dri/0/framebuffer
framebuffer[50]:
        allocated by = drm-framebuffer
        refcount=2
        format=XR24 little-endian (0x34325258)
        modifier=0x0
        size=480x272
        layers:
                size[0]=480x272
                pitch[0]=1920
                offset[0]=0
                obj[0]:
                        name=0
                        refcount=3
                        start=00100080
                        size=524288
                        imported=no
                        dma_addr=0x00000000b8200000
                        vaddr=00000000c10ec708
framebuffer[48]:
        allocated by = [fbcon]
        refcount=1
        format=XR24 little-endian (0x34325258)
        modifier=0x0
        size=480x272
        layers:
                size[0]=480x272
                pitch[0]=1920
                offset[0]=0
                obj[0]:
                        name=0
                        refcount=3
                        start=00100000
                        size=524288
                        imported=no
                        dma_addr=0x00000000b8180000
                        vaddr=00000000650e361f

它由以下命令设置: tidss 30200000.dss:[DRM:drm_fb_helper_generic_probe]表面宽度(480)、高度(272)和 bpp (32)

我们问、我们这里是否正确?  
为什么显示为 RGB888时使用 XR24而不是 AR24。 间距应为1440、采用480px 3位

一般来说、这是屏幕回波的根本原因吗?

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

    您好、
    请分享以下输出:

    modetest -m tidss
    kmsprint
    kmstest
    kmscube

    还可以使用 kmstest 和 kmscube 分享您在屏幕上看到的内容。

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

    在测试这些命令时、请确保没有其他实体在使用显示屏。
    即、在运行命令之前、关闭应用程序并同时运行`systemctl stop Weston`。

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

    确实是这样。 正如我说过的、内核引导启动界面中已经出现了问题。 该视频仅显示非常动态的问题。  

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

    您是否已在任何其他电路板上验证了面板及其时序参数?
    我的理解是、到目前为止、显示屏右侧有一个小色带、预计不会出现、对吧?

    您是否还能共享描述 bootsplash 上问题的图像?

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

    该面板在另外两个电路板上工作。 甚至 AM335x。  
    我们发现、tidss 的启动行为与 tildc  

    我们能够通过以下方式解决该问题:

    	panel {
    		compatible = "panel-dpi";
    		backlight = <&backlight>;
       	 	power-supply = <&vcc_3v3_sw>;
    	 	status = "okay";
    		enable-gpio = <&main_gpio0 41 GPIO_ACTIVE_HIGH>;
    
    		width-mm = <95>;
    		height-mm = <54>;
    
    		data-mapping = "rgb888";
    		bus-width = <24>;
    		bus-format = <0x100a>; //<MEDIA_BUS_FMT_RGB888_1X24>;
    		bits-per-channel = <8>;
    
    		panel-timing {
    			clock-frequency = <9000000>;
    			hactive = <480>;
    			vactive = <272>;
    			hfront-porch = <2>;
    			hback-porch = <2>;
    			hsync-len = <41>;
    			vfront-porch = <2>;
    			vback-porch = <2>;
    			vsync-len = <10>;
    			hsync-active = <0>;
    			vsync-active = <0>;
    			de-active = <0>;
    			pixelclk-active = <0>;
    		};

    如果您看一下最后的值、则无需考虑时间。