高通平台mipi panel kernel读包方法
来源:互联网 发布:135端口还有漏洞吗 编辑:程序博客网 时间:2024/06/06 00:43
原文地址:http://www.educity.cn/wenda/98127.html
u32 data;
int len = 4;
struct dsi_cmd_desc cmd_read_reg = {
DTYPE_GEN_READ2, 1, 0, 1, 0, /* cmd 0x24 */
sizeof(reg), (char *) ®};
mipi_dsi_buf_init(&truly_tx_buf);
mipi_dsi_buf_init(&truly_rx_buf);
/* mutex had been acquried at dsi_on */
len = mipi_dsi_cmds_rx(mfd, &truly_tx_buf, &truly_rx_buf,
&cmd_read_reg, len);
data = *(u32 *)truly_rx_buf.data;
if (len != 4)
printk("%s: invalid rlen=%d, expecting 4.\n", __func__, len);
printk("%s: reg=0x%x.data=0x%08x.\n", __func__, reg, data);
return data;
}
static int mipi_truly_lcd_on(struct platform_device *pdev)
{
struct msm_fb_data_type *mfd;
u32 data;
mfd = platform_get_drvdata(pdev);
if (!mfd)
return -ENODEV;
if (mfd->key != MFD_KEY)
return -EINVAL;
if (display_n) {
if (mipi_truly_lcd_reset() < 0) {
pr_err("mipi_truly_lcd_reset error\n");
return -EINVAL;
}
msleep(20);
mipi_dsi_cmds_tx(mfd, &truly_tx_buf,
truly_video_display_on_cmds,ARRAY_SIZE(truly_video_display_on_cmds));
printk("mipi_dsi_cmds_tx called here");
mdelay(20);
}
display_n = TRUE;
return 0;
}
在mipi_xxx.c中加入下面函数即可,很好用的!关键时候起作用。
static u32 mipi_truely_read_reg(struct msm_fb_data_type *mfd, u16 reg)
{u32 data;
int len = 4;
struct dsi_cmd_desc cmd_read_reg = {
DTYPE_GEN_READ2, 1, 0, 1, 0, /* cmd 0x24 */
sizeof(reg), (char *) ®};
mipi_dsi_buf_init(&truly_tx_buf);
mipi_dsi_buf_init(&truly_rx_buf);
/* mutex had been acquried at dsi_on */
len = mipi_dsi_cmds_rx(mfd, &truly_tx_buf, &truly_rx_buf,
&cmd_read_reg, len);
data = *(u32 *)truly_rx_buf.data;
if (len != 4)
printk("%s: invalid rlen=%d, expecting 4.\n", __func__, len);
printk("%s: reg=0x%x.data=0x%08x.\n", __func__, reg, data);
return data;
}
static int mipi_truly_lcd_on(struct platform_device *pdev)
{
struct msm_fb_data_type *mfd;
u32 data;
mfd = platform_get_drvdata(pdev);
if (!mfd)
return -ENODEV;
if (mfd->key != MFD_KEY)
return -EINVAL;
if (display_n) {
if (mipi_truly_lcd_reset() < 0) {
pr_err("mipi_truly_lcd_reset error\n");
return -EINVAL;
}
msleep(20);
mipi_dsi_cmds_tx(mfd, &truly_tx_buf,
truly_video_display_on_cmds,ARRAY_SIZE(truly_video_display_on_cmds));
printk("mipi_dsi_cmds_tx called here");
mdelay(20);
//add for testdata=mipi_truely_read_reg(mfd,0xE1);
printk("data =0x%x",data);}
display_n = TRUE;
return 0;
}
0 0
- 高通平台mipi panel kernel读包方法
- 高通平台mipi panel kernel读包方法
- 高通平台mipi panel kernel读包方法
- 高通平台mipi panel kernel读包方法
- 高通平台MIPI DCS read 方法
- 高通平台发送mipi参数的分析
- 高通8x12平台 mipi屏 调试
- 高通8x12平台 mipi屏 调试
- 高通7x27a平台mipi的clock设置
- 高通8x12平台 mipi屏 调试 .
- 高通8x12平台 mipi屏 调试
- 高通mipi开关
- Android系统高通平台Kernel Watchdog
- 高通平台 linux kernel pinctrl介绍
- MIPI Display Panel
- android lcd调试 高通平台lcd调试深入分析总结(mipi和rgb接口)
- android lcd调试 高通平台lcd调试深入分析总结(mipi和rgb接口)
- android lcd调试 高通平台lcd调试深入分析总结(mipi和rgb接口)
- hdu 3335
- FastDFS安装、配置、部署(一)-安装和部署
- matlab中 fprintf 和disp的用法
- 内存管理问题的总结(最强王者组:胡鹏飞 孙晓萌 张西辉 王振波)
- ③如能再活一辈子
- 高通平台mipi panel kernel读包方法
- hdu 4619
- FZU - 2107 Hua Rong Dao(回溯)
- 浅析 Linux 初始化 init 系统,第 1 部分: sysvinit
- Centos7.0的几个新特性
- ViewHolder模式超简洁写法
- sqlite3 表里插入系统时间(时间戳)
- hdu 1150
- Data Types in the Kernel <LDD3 学习笔记>