mt8735 andorid7.0 lcm Icn6202驱动(lk)

本文档详细介绍了针对MT8735平台,Android 7.0系统下LCM驱动的配置过程,特别是针对Icn6202芯片的初始化和I2C通信设置。涵盖了GPIO设置、注册写入、以及关键寄存器的初始化值,为理解LCM驱动和Icn6202显示控制器的交互提供了参考。
摘要由CSDN通过智能技术生成
#include <platform/mt_gpio.h>
#include <platform/mt_i2c.h> 
#include <platform/mt_pmic.h>
#include <cust_gpio_usage.h>
#include "lcm_drv.h"


static struct mt_i2c_t icn6202_i2c;
static LCM_UTIL_FUNCS lcm_util;
#define MDELAY(n) (lcm_util.mdelay(n))


#define FRAME_WIDTH  (1024)
#define FRAME_HEIGHT (600)


#define LCM_I2C_ID  I2C1
#define LCM_I2C_ADDR    0x58
#define LCM_I2C_MODE    ST_MODE
#define LCM_I2C_SPEED   100


#define GPIO_LCD_PWR_EN (GPIO64 | 0x80000000)
#define GPIO_LCD_BL_EN (GPIO63 | 0x80000000)
#define GPIO_LCD_ICN6202_EN (GPIO55 | 0x80000000)


#define SET_RESET_PIN(v) (lcm_util.set_reset_pin((v)))
#define UDELAY(n) (lcm_util.udelay(n))
#define MDELAY(n) (lcm_util.mdelay(n))






static void lcm_set_util_funcs(const LCM_UTIL_FUNCS *util)
{
    memcpy(&lcm_util, util, sizeof(LCM_UTIL_FUNCS));
}


static int icn6202_reg_i2c_write(kal_uint8 addr, kal_uint8 value)
{
kal_int32 ret_code = I2C_OK;
kal_uint8 write_data[2];
kal_uint16 len;


write_data[0]= addr;
write_data[1] = value;


icn6202_i2c.id = LCM_I2C_ID;
icn6202_i2c.addr = (LCM_I2C_ADDR>>1);
icn6202_i2c.mode = LCM_I2C_MODE;
icn6202_i2c.speed = LCM_I2C_SPEED;
len = 2;


ret_code = i2c_write(&icn6202_i2c, write_data, len);
if (ret_code<0)
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值