您尚未登录。

楼主 # 2024-10-26 17:20:18

kemp
会员
注册时间: 2023-10-10
已发帖子: 25
积分: 43

T113S3点亮ST7701S MIPI屏幕显示正常但出现抖动问题

这几天在测试一款新屏幕,ST7701S MIPI接口 480*480,显示颜色和位置正常,但是屏幕会一直抖动,视频如下

测试MIPI CLK时钟时,发现频率有点奇怪,只有4MHz来着,按配置的参数,应该要去到100MHz吧
dsi clk = Bitclk / 2  = H-total x V-total x fps x 位深 / lane number / 2 = 528*501*60*24/2/2 = 95,230,080


有进行过几个排查方法:

root@TinaLinux:/# cat /sys/class/disp/disp/attr/sys
screen 0:
de_rate 300000000 hz, ref_fps:60
mgr0: 480x480 fmt[rgb] cs[0x204] range[full] eotf[0x4] bits[8bits] err[0] force_sync[0] unblank direct_show[false] iommu[1]
dmabuf: cache[0] cache max[0] umap skip[0] umap skip max[66]
        lcd output      backlight( 50)  fps:61.3         480x 480
        err:0   skip:116        irq:7828        vsync:0 vsync_skip:0
   BUF    enable ch[1] lyr[0] z[16] prem[N] a[pixel 255] fmt[  0] fb[ 480, 480; 480, 480; 480, 480] crop[   0,   0, 480, 480] frame[   0,   0, 480, 480] addr[       0,       0,       0] flags[0x       0] trd[0,0]

硬件部分,因为有点亮过其它分辨率的屏幕,所以可以排除硬件原因。

各位大佬,能否给点建议呢?

DTS配置如下:

&lcd0 {
        lcd_used            = <1>;                            //# 启用lcd
        lcd_driver_name     = "st7701s";                 //# 使用 default_lcd 驱动
        lcd_backlight       = <50>;
        lcd_if              = <4>;                            //# 0:rgb 4:dsi
        lcd_dsi_if          = <0>;
        
        lcd_dsi_lane        = <2>;
        pinctrl-0 = <&dsi2lane_pins_a>;
        pinctrl-1 = <&dsi2lane_pins_b>;

        lcd_x               = <480>;                         //# 宽度
        lcd_y               = <480>;                         //# 高度
        lcd_width           = <72>;                           //# 屏幕物理宽度,单位 mm
        lcd_height          = <72>;                          //# 屏幕物理高度,单位 mm
        lcd_dclk_freq       = <16>;  //屏幕时钟 MHz
        
        lcd_hbp             = <28>;  //hbp+hspw
        lcd_ht              = <528>;  //lcd_x+hs+hbp+hspw
        lcd_hspw            = <8>;  //hspw
        
        lcd_vbp             = <16>;  //vbp+vspw
        lcd_vt              = <501>;  //lcd_y+vs+vbp+vspw
        lcd_vspw            = <3>;   //vspw

        lcd_pwm_used        = <1>;                            //# 启用背光 PWM
        lcd_pwm_ch          = <7>;                            //# 使用 PWM 通道 9 
        lcd_pwm_freq        = <10000>;                        //# PWM 频率,单位 Hz
        lcd_pwm_pol         = <0>;                            //# 背光 PWM 的极性
        lcd_pwm_max_limit   = <255>;
        
        lcd_dsi_format      = <0>;
        lcd_dsi_te          = <0>;
        lcd_frm             = <0>;
        lcd_gamma_en        = <0>;
        lcd_cmap_en         = <0>;
        
        lcd_gpio_0 = <&pio PD 20 GPIO_ACTIVE_HIGH>;        
};

屏参如下

static struct LCM_setting_table lcm_initialization_setting[] = {

    {0x11, 1, {0x00} },
	{REGFLAG_DELAY, 120, {} },

    {0xff, 5, {0x77,0x01,0x00,0x00,0x10} },
    {0xc0, 2, {0x3B,0x00} },  //NL = (0x3B+1 )* 8 = 480
    {0xc1, 2, {0x0D,0x02} },  //VBP=13 vfp=2
    {0xc2, 2, {0x31,0x08} }, 
    //Inversion Selection 2 Dot  30-1dot 31-2dot 37-column
    //PCLK=512+(RTNI[4:0]x16) = 512+8*16 = 640

    {0xb0, 16, {0x00,0x11,0x18,0x0E,0x11,0x06,0x07,0x08,0x07,0x22,0x04,0x12,0x0F,0xAA,0x31,0x18} },
    {0xb1, 16, {0x00,0x11,0x19,0x0E,0x12,0x07,0x08,0x08,0x08,0x22,0x04,0x11,0x11,0xA9,0x32,0x18} },
    {0xff, 5, {0x77, 0x01, 0x00, 0x00, 0x11} },
    {0xb0, 1, {0x60} },
    {0xb1, 1, {0x30} },
    {0xb2, 1, {0x87} },
    {0xb3, 1, {0x80} },
    {0xb5, 1, {0x49} },
    {0xb7, 1, {0x85} },
    {0xb8, 1, {0x21} },
    {0xc1, 1, {0x78} },
    {0xc2, 1, {0x78} },
    {REGFLAG_DELAY, 20, {} },

    {0xe0, 3, {0x00, 0x1b, 0x02} },
    {0xe1, 11,{0x08,0xA0,0x00,0x00,0x07,0xA0,0x00,0x00,0x00,0x44,0x44} },
    {0xe2, 12,{0x11,0x11,0x44,0x44,0xED,0xA0,0x00,0x00,0xEC,0xA0,0x00,0x00} },
    {0xe3, 4, {0x00, 0x00, 0x11, 0x11} },
    {0xe4, 2, {0x44, 0x44} },
    {0xe5, 16,{0x0A,0xE9,0xD8,0xA0,0x0C,0xEB,0xD8,0xA0,0x0E,0xED,0xD8,0xA0,0x10,0xEF,0xD8,0xA0} },
    {0xe6, 4, {0x00, 0x00, 0x11, 0x11} },
    {0xe7, 2, {0x44, 0x44} },
    {0xe8, 16,{0x09,0xE8,0xD8,0xA0,0x0B,0xEA,0xD8,0xA0,0x0D,0xEC,0xD8,0xA0,0x0F,0xEE,0xD8,0xA0} },
    {0xeb, 7, {0x02,0x00,0xE4,0xE4,0x88,0x00,0x40} },
    {0xec, 2, {0x3c, 0x00} },
    {0xed, 16, {0xAB,0x89,0x76,0x54,0x02,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x20,0x45,0x67,0x98,0xBA} },
    {0xef, 6, {0x10,0x0D,0x04,0x08,0x3F,0x1F} },

    {0xff, 5, {0x77,0x01,0x00,0x00,0x00} },
    {0xff, 5, {0x77,0x01,0x00,0x00,0x13} },
    {0xe8, 2, {0x00,0x0E} },

    {0xff, 5, {0x77,0x01,0x00,0x00,0x00} },
    {0x11, 1, {0x00} },
    {REGFLAG_DELAY, 120, {} },
    {0xff, 5, {0x77,0x01,0x00,0x00,0x13} },
    {0xe8, 2, {0x00,0x0C} },
    {REGFLAG_DELAY, 10, {} },
    {0xe8, 2, {0x00,0x00} },
    {0xff, 5, {0x77,0x01,0x00,0x00,0x00} },

    {0x3A, 1, {0x66} },

    {0x2A, 1, {0x00} },

    {0x11, 1, {0x00} },
	{REGFLAG_DELAY, 120, {} },
    
    {0x29, 1, {0x00} },
    {REGFLAG_DELAY, 20, {} },
    {REGFLAG_END_OF_TABLE, 0x00, {} }
};

离线

楼主 #2 2024-10-29 13:53:54

kemp
会员
注册时间: 2023-10-10
已发帖子: 25
积分: 43

Re: T113S3点亮ST7701S MIPI屏幕显示正常但出现抖动问题

lovexulu 说:

先关闭下uboot disp2 看看

也尝试过关uboot显示,直接进kernel跑,情况还是一样来着

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn