当前位置: 首页 > 工具软件 > fex > 使用案例 >

全志A33 LVDS屏幕(fex)文件参数配置

白昊乾
2023-12-01

环境

Ubuntu 14.04
LVDS:800x480

背景:

A33全志自带的板子,可以正常显示,但是换了一块小一点的lvds屏幕,烧写lvds的固件显示不正常,所以需要调整相关的信息。

具体操作:

全志修改配置屏幕信息的文件在内核源码:
~/qihua/a33_alpaca_linux_sdk_release_20190317/tools/pack/chips/sun8iw5p1/configs/alpaca/sys_config.fex

修改为:

[lcd0_para]
lcd_used            = 1

lcd_driver_name     = "default_lcd"
lcd_if              = 3
lcd_x               = 800
lcd_y               = 480
lcd_width           =
lcd_height          =
lcd_dclk_freq       = 50
lcd_pwm_used        = 1
lcd_pwm_ch          = 0
lcd_pwm_freq        = 50000
lcd_pwm_pol         = 1
lcd_hbp             = 160
lcd_ht              = 1120
lcd_hspw            = 1
lcd_vbp             = 20
lcd_vt              = 515
lcd_vspw            = 10
lcd_lvds_if         = 0
lcd_lvds_colordepth = 0
lcd_lvds_mode       = 0
lcd_frm             = 1
lcd_io_phase        = 0x0100
lcd_gamma_en        = 0
lcd_bright_curve_en = 0
lcd_cmap_en         = 0

deu_mode            = 0
lcdgamma4iep        = 22
smart_color        = 90

lcd_bl_en           = port:PB07<1><0><default><1>
lcd_power           = port:power2<1><0><default><1>
lcd_gpio_0          =
lcd_gpio_1          =
lcd_gpio_2          =

lcdd0                    = port:PD00<2><0><default><default>
lcdd1                    = port:PD01<2><0><default><default>
lcdd2                    = port:PD02<2><0><default><default>
lcdd3                    = port:PD03<2><0><default><default>
lcdd4                    = port:PD04<2><0><default><default>
lcdd5                    = port:PD05<2><0><default><default>
lcdd6                    = port:PD06<2><0><default><default>
lcdd7                    = port:PD07<2><0><default><default>
lcdd8                    = port:PD08<2><0><default><default>
lcdd9                    = port:PD09<2><0><default><default>
lcdd10                   = port:PD10<2><0><default><default>
lcdd11                   = port:PD11<2><0><default><default>
lcdd12                   = port:PD12<2><0><default><default>
lcdd13                   = port:PD13<2><0><default><default>
lcdd14                   = port:PD14<2><0><default><default>
lcdd15                   = port:PD15<2><0><default><default>
lcdd16                   = port:PD16<2><0><default><default>
lcdd17                   = port:PD17<2><0><default><default>
lcdd18                   = port:PD18<2><0><default><default>
lcdd19                   = port:PD19<2><0><default><default>
lcdd20                   = port:PD20<2><0><default><default>
lcdd21                   = port:PD21<2><0><default><default>
lcdd22                   = port:PD22<2><0><default><default>
lcdd23                   = port:PD23<2><0><default><default>
lcdclk                   = port:PD24<2><0><default><default>
lcdde                    = port:PD25<2><0><default><default>
lcdhsync                 = port:PD26<2><0><default><default>
lcdvsync                 = port:PD27<2><0><default><default>

解释

lcd_used
是否使用,这个值就是默认的不用管

lcd_driver_name
这里加载的是默认的驱动,lvds屏幕不改这里并没有影响

lcd_if
0:hv(sync+de); 1:8080; 2:ttl; 3:lvds; 4:dsi; 5:edp; 6:extend dsi 不同的数字代表不同的接口

lcd_x/lcd_y/lcd_width/lcd_height
这四个选项是屏幕的参数,前两个就是分辨率的宽和高, 后面两个是屏幕具体大小,如果不确定可以不写

lcd_ht = 1120
hspw + hbackporth + hfrontporth + lcd_x = lcd_ht
这个值其实只要把原来的分辨率和现在的分辨率做减法就好了
比如原来的
lcd_x = 1024 lcd_ht=1344
现在的就是
lcd_x=800 lcd_ht=1120

lcd_hspw
lcd_vbp

这两个值也不需要改变,分别是水平同步信号脉宽HSPW / 列频率

lcd_vt = 515
vspw + vbackporth + vfrontporth + lcd_y = lcd_vt
这个值其实和lcd_ht的算法同理,直接做减法就可以

小结

我只是列出了我改动的地方,改动的东西不多,然后就可以正常显示图像了。

 类似资料: