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的算法同理,直接做减法就可以
我只是列出了我改动的地方,改动的东西不多,然后就可以正常显示图像了。