• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
yuzaipiaofei
博客园    首页    新随笔    联系   管理    订阅  订阅

PMIC设置亮度的寄存器

mt6516_pmic6326_hw.h 



// (0x67) DRIVER CTRL 6 BL
#define BL_DIM_DUTY_MASK                0x1F
#define BL_DIM_DUTY_SHIFT                0x0
#define BL_EN_MASK                        0x1
#define BL_EN_SHIFT                        0x5
#define BL_I_CAL_EN_MASK                0x1
#define BL_I_CAL_EN_SHIFT                0x6
#define BL_BYPASS_MASK                    0x1
#define BL_BYPASS_SHIFT                    0x7


pmic_mt6326.c



/* (0x67) DRIVER CTRL 6 BL */

void pmic_bl_dim_duty(kal_uint8 duty){
    ASSERT(duty <=31);

    pmic6326_reg[0x67] &= ~(BL_DIM_DUTY_MASK << BL_DIM_DUTY_SHIFT);

//

    pmic6326_reg[0x67] |= (duty << BL_DIM_DUTY_SHIFT);

//duty的值为上层传下来的。 BL_DIM_DUTY_SHIFT=0x0    最后确定了 pmic6326_reg[0x67] 的值。  


//下面的函数把这个pmic6326_reg[0x67] 数组的值通过i2c 写到PMIC的这个寄存器中。

    mt6326_write_byte(0x67, pmic6326_reg[0x67]);
}
posted @ 2011-09-21 15:16  yuzaipiaofei  阅读(374)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3