MIPI-DSI液晶适配

来自弘迪在线
Hdadmin讨论 | 贡献2022年7月5日 (二) 10:12的版本 屏参修改
跳转至: 导航搜索

原理

MIPI液晶屏首先需要对屏驱动IC进行初始化,写入相关指令数据,然后CPU的液晶控制器按照设定的图像时序参数向驱动IC输出图像数据。所以移植需要屏参(时序参数HBP、VBP一类的)和初始化代码两部分。

屏参修改

对于A33/A64/A40i需要找到FEX文件中找到lcd0参数块;对于A133需要在DTS里找到lcd0节点;以FEX文件为例:

[lcd0]

lcd_used = 1


lcd_driver_name = "AML080WQ05"

lcd_backlight = 100

lcd_if = 4

lcd_x = 800

lcd_y = 1280

lcd_width = 223

lcd_height = 125

lcd_dclk_freq = 70

lcd_pwm_used = 1

lcd_pwm_ch = 0

lcd_pwm_freq = 200

lcd_pwm_pol = 0

lcd_pwm_max_limit = 255

lcd_hbp = 40

lcd_ht = 888

lcd_hspw = 12

lcd_vbp = 20

lcd_vt = 1320

lcd_vspw = 4

lcd_lvds_if = 0

lcd_lvds_colordepth = 0

lcd_lvds_mode = 0

lcd_frm = 1

lcd_hv_clk_phase = 0

lcd_hv_sync_polarity = 0

lcd_dsi_if = 0

lcd_dsi_lane = 4

lcd_dsi_format = 0

lcd_dsi_te = 0

lcd_gamma_en = 0

lcd_bright_curve_en = 0

lcd_cmap_en = 0


lcd_driver_name为初始化代码的名字,后面会提到;lcd_if=4表示使用DSI显示接口;lcd_x/lcd_y/lcd_dclk_freq/lcd_hbp/lcd_ht/lcd_hspw/lcd_vbp/lcd_vt/lcd_vspw这9个参数需要对照液晶面板Datasheet上标注的参数对应填好;lcd_dsi_if/lcd_dsi_lane/lcd_dsi_format/lcd_dsi_te这4个参数对照上文填好即可,无需变动;


对于电源/引脚配置:

A33:确保有lcd_power = "axp22_dc1sw"这项即可;lcdd0~23/lcdclk/lcdde/lcdhsync/lcdvsync/[lcd0_suspend]块无用都可以删去;

A64/A40i:确保有lcd_power = "vcc-mipi"和lcd_fix_power = "vcc-dsi-33",lcd_power为核心板VCC-MIPI输出(默认3V3),lcd_fix_power为CPU的DSI-Bank供电;lcdd0~23/lcdclk/lcdde/lcdhsync/lcdvsync/[lcd0_suspend]块无用都可以删去;

A133:确保有lcd_pin_power = "dcdc1"和lcd_power = "dc1sw"即可;确保引脚配置为pinctrl-0 = <&dsi4lane_pins_a>和pinctrl-1 = <&dsi4lane_pins_b>即可。

U-Boot部分修改

代码位置:

Kernel部分修改

常见问题