页次: 1
最近在调试kmakise大佬画的黑猫F1C200s板时发现lcd的红色与绿色io口互换了,导致u-boot显示logo色彩出现错误
经过多番查证,发现了这么一个寄存器
7.2.5.7. TCON0_CTL_REG (Default Value: 0x00000000)
Offset: 0x040
Register Name: TCON0_CTL_REG
R/W Default/Hex Description
31 R/W 0 TCON0_En
0: disable
1: enable
Note: It executes at the beginning of the first blank line of TCON0 timing.
30:29 / / /
28 R/W 0 TCON0_Work_Mode
0: normal
1: dynamic freq
27:26 / / /
25:24 R/W 0 TCON0_IF
00: HV(Sync+DE)
01: 8080 I/F
1x:reserved
23 R/W 0 TCON0_RB_Swap
0: default
1: swap RED and BLUE data at FIFO1
22 / / 21 R/W 0 20 / 19:9 / 8:4
在u-boot中通过内存操作命令验证:
=> md 0x01c0c040
01c0c040: 80000100 f000000a 01df010f 02140030 ............0...
01c0c050: 0240000b 00280009 00000000 00000000 ..@...(.........
01c0c060: 00000000 00000000 00000000 00000000 ................
01c0c070: 00000000 00000000 00000000 00000000 ................
01c0c080: 00000000 00000000 13000000 00000000 ................
01c0c090: 00000000 00000000 00000000 00000000 ................
01c0c0a0: 00000000 00000000 00000000 00000000 ................
01c0c0b0: 00000000 00000000 00000000 00000000 ................
01c0c0c0: 00000000 00000000 00000000 00000000 ................
01c0c0d0: 00000000 00000000 00000000 00000000 ................
01c0c0e0: 00000000 00000000 00000000 00000000 ................
01c0c0f0: 00000000 ffffffff 00000000 30030000 ...............0
01c0c100: 30030000 30030000 30030000 30030000 ...0...0...0...0
01c0c110: 30030000 30030000 30030000 30030000 ...0...0...0...0
01c0c120: 30030000 30030000 30030000 30030000 ...0...0...0...0
01c0c130: 30030000 30030000 30030000 30030000 ...0...0...0...0
修改内存值80800100
=> mw.l 0x01c0c040 80800100
01c0c040: 80800100 f000000a 01df010f 02140030 ............0...
01c0c050: 0240000b 00280009 00000000 00000000 ..@...(.........
01c0c060: 00000000 00000000 00000000 00000000 ................
01c0c070: 00000000 00000000 00000000 00000000 ................
01c0c080: 00000000 00000000 13000000 00000000 ................
01c0c090: 00000000 00000000 00000000 00000000 ................
01c0c0a0: 00000000 00000000 00000000 00000000 ................
01c0c0b0: 00000000 00000000 00000000 00000000 ................
01c0c0c0: 00000000 00000000 00000000 00000000 ................
01c0c0d0: 00000000 00000000 00000000 00000000 ................
01c0c0e0: 00000000 00000000 00000000 00000000 ................
01c0c0f0: 00000000 ffffffff 00000000 30030000 ...............0
01c0c100: 30030000 30030000 30030000 30030000 ...0...0...0...0
01c0c110: 30030000 30030000 30030000 30030000 ...0...0...0...0
01c0c120: 30030000 30030000 30030000 30030000 ...0...0...0...0
01c0c130: 30030000 30030000 30030000 30030000 ...0...0...0...0
查找uboot源码,发现了lcd初始化部分的内存操作代码,按照格式写测试代码
插电,开机电流轻松跑上去,问题解决
目前可以使用Cubieboard的镜像点亮lcd屏(修改fex文件),但主线内核无法工作(不会写设备树驱动)
不知道各位大佬能不能帮忙看一下
以下为fex的lcd配置部分
[disp_init]
disp_init_enable = 1
disp_mode = 4
screen0_output_type = 1
screen0_output_mode = 0
screen1_output_type = 3
screen1_output_mode = 7
fb0_framebuffer_num = 2
fb0_format = 10
fb0_pixel_sequence = 0
fb0_scaler_mode_enable = 0
fb1_framebuffer_num = 2
fb1_format = 10
fb1_pixel_sequence = 0
fb1_scaler_mode_enable = 0
lcd0_bright = 197
lcd1_bright = 197
lcd0_screen_bright = 50
lcd0_screen_contrast = 50
lcd0_screen_saturation = 57
lcd0_screen_hue = 50
lcd1_screen_bright = 50
lcd1_screen_contrast = 50
lcd1_screen_saturation = 57
lcd1_screen_hue = 50
[lcd0_para]
lcd_used = 1
lcd_x = 1680
lcd_y = 1050
lcd_dclk_freq = 74
lcd_pwm_not_used = 0
lcd_pwm_ch = 1
lcd_pwm_freq = 30000
lcd_pwm_pol = 1
lcd_if = 3
lcd_hbp = 90
lcd_ht = 2100
lcd_vbp = 16
lcd_vt = 2260
lcd_hv_if = 0
lcd_hv_smode = 0
lcd_hv_s888_if = 0
lcd_hv_syuv_if = 0
lcd_hv_vspw = 0
lcd_hv_hspw = 0
lcd_lvds_ch = 1
lcd_lvds_mode = 0
lcd_lvds_bitwidth = 0
lcd_lvds_io_cross = 0
lcd_cpu_if = 0
lcd_frm = 0
lcd_io_cfg0 = 268435456
lcd_gamma_correction_en = 0
lcd_gamma_tbl_0 = 0x0
lcd_gamma_tbl_1 = 0x10101
lcd_gamma_tbl_255 = 0xffffff
lcd_bl_en_used = 1
lcd_bl_en = port:PH26<1><0><default><1>
lcd_power_used = 1
lcd_power = port:PH08<1><0><default><1>
lcd_pwm_used = 1
lcd_pwm = port:PI03<2><0><default><default>
lcd_gpio_0 =
lcd_gpio_1 =
lcd_gpio_2 =
lcd_gpio_3 =
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>
顺便问一下,u-boot中的lcd参数应该如何配置呢,感谢各位大佬
页次: 1