展锐Android-Q LCD调试

模块功能描述

LCD模块功能主要是LCD液晶显示

LCD移植准备

以 skyworth ili9881c hd为例,首先需要准备东西如下:
1、屏IC Data Sheet
2、初始化代码 —>获得初始化屏幕ic的命令,用于编写u-boot初始化文件和.dtsi文件(kernel)

首先从Data Sheet或者初始化代码中可以获得以下一些信息:
1、水平脉冲宽度(qcom,mdss-dsi-h-pulse-width,Hsync)为68
2、水平后沿值(qcom,mdss-dsi-h-back-porch,HBP)为120
3、水平前沿值(qcom,mdss-dsi-h-front-porch,HFP)为88
4、垂直脉冲宽度(qcom,mdss-dsi-v-pulse-width,Vsync)为8
5、垂直后沿值(qcom,mdss-dsi-v-back-porch,VBP)为24
6、垂直前沿值(qcom,mdss-dsi-v-front-porch,VFP)为16
7、面板高度(qcom,mdss-dsi-panel-height,VAdr)为1280
8、面板宽度(qcom,mdss-dsi-panel-width,HAdr)为720

u-boot移植

增加LCD驱动文件

参考已有lcd驱动文件,添加要增加lcd的驱动文件,命名规则panel_ic_vendor_platform_res_mod.c

从原理图中获取gpio LCM_GPIO_VCC和LCM_GPIO_POWER

#include "sprd_panel.h"
#include "sprd_dsi.h"
#include "dsi/mipi_dsi_api.h"
#include "sprd_dphy.h"

static uint8_t init_data[] = {
   
				0x39,0x00,0x00,0x04, 0xFF,0x98,0x81,0x03,
				0x23,0x00,0x00,0x02, 0x01,0x00,              
				0x23,0x00,0x00,0x02, 0x02,0x00,              
				......
				0x39,0x00,0x00,0x04, 0xFF,0x98,0x81,0x00,
				0x23,0x00,0x00,0x02, 0x35,0x00,
				0x39,0x00,0x00,0x03, 0x51,0xff,0xff,
				0x23,0x00,0x00,0x02, 0x53,0x2c,	
				0x23,0x78,0x00,0x02, 0x11,0x00,
				0x23,0x0A,0x00,0x02, 0x29,0x00,
				CMD_END
};
//发送命令
static int mipi_dsi_send_cmds(struct sprd_dsi *dsi, void *data)
{
   
	uint16_t len;
	struct dsi_cmd_desc *cmds = data;
	if ((cmds == NULL) || (dsi == NULL))
		return -1;
	for (; cmds->data_type != CMD_END;) {
   
		len = (cmds->wc_h << 8) | cmds->wc_l;
		mipi_dsi_gen_write(dsi, cmds->payload, len);
		if (cmds->wait)
			msleep(cmds->wait);
		cmds = (struct dsi_cmd_desc 
  • 10
    点赞
  • 51
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值