利用mtk pmic自带的呼吸灯模式:
主要修改代码:
kernel-3.10/drivers/misc/mediatek/leds/mt6755/leds.c
 
int mt_brightness_set_pmic(enum mt65xx_led_pmic pmic_type, u32 level, u32 div)
{
     .......
   
    //begin: modified by chenhaibing add for breath-led 20151118
        #if 0
  pmic_set_register_value(MT6351_PMIC_RG_DRV_32K_CK_PDN, 0x0); /* Disable power down */
  pmic_set_register_value(MT6351_PMIC_RG_DRV_ISINK1_CK_PDN, 0);
  pmic_set_register_value(MT6351_PMIC_RG_DRV_ISINK1_CK_CKSEL, 0);
  pmic_set_register_value(MT6351_PMIC_ISINK_CH1_MODE, PMIC_PWM_0);
  pmic_set_register_value(MT6351_PMIC_ISINK_CH1_STEP, ISINK_3); /* 16mA */
  pmic_set_register_value(MT6351_PMIC_ISINK_DIM1_DUTY, 15);
  pmic_set_register_value(MT6351_PMIC_ISINK_DIM1_FSEL, ISINK_1KHZ); /* 1KHz */
  
  if (level) {
   pmic_set_register_value(MT6351_PMIC_ISINK_CH1_EN, NLED_ON);
  } else {
   pmic_set_register_value(MT6351_PMIC_ISINK_CH1_EN, NLED_OFF);
  }
     #endif
  
  if(255 == level) //led brightness branch for factory test
  {
  pmic_set_register_value(MT6351_PMIC_RG_DRV_32K_CK_PDN, 0x0); /* Disable power down */
  pmic_set_register_value(MT6351_PMIC_RG_DRV_ISINK1_CK_PDN, 0);
  pmic_set_register_value(MT6351_PMIC_RG_DRV_ISINK1_CK_CKSEL, 0);
  pmic_set_register_value(MT6351_PMIC_ISINK_CH1_MODE, PMIC_PWM_0);
  pmic_set_register_value(MT6351_PMIC_ISINK_CH1_STEP, ISINK_3); /* 16mA */
  pmic_set_register_value(MT6351_PMIC_ISINK_DIM1_DUTY, 15);
  pmic_set_register_value(MT6351_PMIC_ISINK_DIM1_FSEL, ISINK_1KHZ); /* 1KHz */
  pmic_set_register_value(MT6351_PMIC_ISINK_CH1_EN, NLED_ON);
  LEDS_DEBUG("chenhaibing test [LED]PMIC#%d:%d\n", pmic_type, level); 
  }
  else //led breath branch
  {
  
   pmic_set_register_value(MT6351_PMIC_RG_DRV_32K_CK_PDN,0x0); // Disable power down
         pmic_set_register_value(MT6351_PMIC_RG_DRV_ISINK1_CK_PDN,0);
         pmic_set_register_value(MT6351_PMIC_RG_DRV_ISINK1_CK_CKSEL,0);
   pmic_set_register_value(MT6351_PMIC_ISINK_CH1_MODE,ISINK_BREATH_MODE);
         pmic_set_register_value(MT6351_PMIC_ISINK_CH1_STEP,ISINK_3);//16mA
         pmic_set_register_value(MT6351_PMIC_ISINK_BREATH1_TR1_SEL,0x02);
         pmic_set_register_value(MT6351_PMIC_ISINK_BREATH1_TR2_SEL,0x02);
         pmic_set_register_value(MT6351_PMIC_ISINK_BREATH1_TF1_SEL,0x02);
         pmic_set_register_value(MT6351_PMIC_ISINK_BREATH1_TF2_SEL,0x02);
         pmic_set_register_value(MT6351_PMIC_ISINK_BREATH1_TON_SEL,0x02);
         pmic_set_register_value(MT6351_PMIC_ISINK_BREATH1_TOFF_SEL,0x03);
         pmic_set_register_value(MT6351_PMIC_ISINK_DIM1_DUTY,15);
         pmic_set_register_value(MT6351_PMIC_ISINK_DIM1_FSEL,1999);
  
   if (level)
   {
    pmic_set_register_value(MT6351_PMIC_ISINK_CHOP1_EN,1);
                           pmic_set_register_value(MT6351_PMIC_ISINK_CH1_BIAS_EN,1);
    pmic_set_register_value(MT6351_PMIC_ISINK_CH1_EN,NLED_ON);
    
   }
   else
   {
    pmic_set_register_value(MT6351_PMIC_ISINK_CHOP1_EN,0);
                           pmic_set_register_value(MT6351_PMIC_ISINK_CH1_BIAS_EN,0);
    pmic_set_register_value(MT6351_PMIC_ISINK_CH1_EN,NLED_OFF);
   }
  }
  //end: modified by chenhaibing add for breath-led 20151118
     ........
 
}

MT6753/MT6755 呼吸灯功能添加的更多相关文章

  1. Android呼吸灯添加

    平台:mtk 一.hal层入口    Lights.c (vendor\mediatek\proprietary\hardware\liblights)     char const*const RE ...

  2. ZYNQ自定义AXI总线IP应用——PWM实现呼吸灯效果

    一.前言 在实时性要求较高的场合中,CPU软件执行的方式显然不能满足需求,这时需要硬件逻辑实现部分功能.要想使自定义IP核被CPU访问,就必须带有总线接口.ZYNQ采用AXI BUS实现PS和PL之间 ...

  3. 【iCore4 双核心板_ARM】例程八:定时器PWM实验——呼吸灯

    实验原理: STM32的定时器有PWM功能,iCore4的蓝色LED连接在定时器的输出接口上, 可以通过定时器的PWM输出控制LED的亮度,从而实验呼吸灯的功能. 核心代码: int main(voi ...

  4. STM32呼吸灯

    使用STM32开发板和mbed平台实现的一个呼吸灯.材料,LED灯,电阻,STM32开发板. 先上一张效果图. 背景: 我们之前设置GPIO口使用了DigitalOut,数字信号输出.只能是GPIO口 ...

  5. (原创)用Verilog实现一个参数化的呼吸灯(Verilog,CPLD/FPGA)

    1.Abstract     观察到一个有趣的现象,每当把Apple笔记本合上的时候,那个白色的呼吸灯就会反复地由暗渐明,然后又由明渐暗,乍一看就像Apple笔记本在打盹休息一样,十分可爱!于是突发奇 ...

  6. STM8S PWM 应用 呼吸灯

    //主功能接受:使用MCU STM8S105C6 的PWM通道2 PC2 来做呼吸灯 已经验证OK,呵 //呵,这个PWM设置刚開始用还是有点麻烦,由于是自己摸索.花点时间.还是解决了 . //所用子 ...

  7. [FPGA]Verilog利用PWM调制巧妙完成RGB三色彩虹呼吸灯(给简约的题目以美妙的解答)

    概述 实现彩虹呼吸灯 题目就是这么简短,但这是目前我碰到的最有意思的一道题目,因为他有无数种解决方法,并且每一种都是那么高级或者巧妙,比如 可以利用3路不同初相的PWM调制信号驱动三颗RGB灯重叠呼吸 ...

  8. 12-ESP8266 SDK开发基础入门篇--PWM,呼吸灯

    https://www.cnblogs.com/yangfengwu/p/11094085.html PWM其实没有什么,就是看着官方给的API,,,然后就是用呗 对了,其实对于RTOS SDK版本的 ...

  9. MVC5 网站开发之八 栏目功能 添加、修改和删除

    本次实现栏目的浏览.添加.修改和删除. 栏目一共有三种类型. 常规栏目-可以添加子栏目,也可以添加内容模型.当不选择内容模型时,不能添加内容. 单页栏目-栏目只有一个页面,可以设置视图. 链接栏目-栏 ...

随机推荐

  1. home键拦截

    代码: public class HomeKeyReceiver extends BroadcastReceiver { private static final String LOG_TAG = & ...

  2. 为OS X开发者准备的15个超棒应用

    几乎所有的开发人员在他们日常的开发工作中都有他们自己不可缺少的工具或实用程序集. 这些工具中的每一个都提供了特定的功能,大多数开发者都已经将他们集成到了其工作流程中. 使用这些工具或实用程序不单单只是 ...

  3. 解决okHttp使用https抛出stream was reset: PROTOCOL_ERROR的问题

    昨天在做Android接口调用的时候,api接口是https的,用okhttp抛出: okhttp3.internal.http2.StreamResetException: stream was r ...

  4. JDK集合框架--LinkedList

    上一篇讲了ArrayList,它有一个"孪生兄弟"--LinkedList,这两个集合类总是经常会被拿来比较,今天就分析一下LinkedList,然后总结一下这俩集合类的不同 首先 ...

  5. Windows 下 IIS与Apache 共存

    在Windows服务器下, 安装了IIS以及Apache服务器, 如何使他们一起工作. 目前我面对的问题是, 只有一个IP地址,要通过不同的端口来访问不同的程序. 解决方案如下: 1.找到 Apach ...

  6. 如需在APP中使用腾讯QQ登陆,需提前申请获取腾讯QQ的APPKEY和APPSecret。

    如需在APP中使用腾讯QQ登陆,需提前申请获取腾讯QQ的APPKEY和APPSecret. 申请流程如下: 步骤1:登陆腾讯开放平台.链接地址: http://open.qq.com/ . 步骤2:填 ...

  7. web 自动化测试 selenium基础到应用(目录)

    第一章   自动化测试前提及整体介绍 1-1功能测试和自动化测试的区别 1-2自动化测试流程有哪些 1-3自动化测试用例和手工用例的区别 1-4 自动化测试用例编写 1-5 selenium的优势以及 ...

  8. greenplum安装札记(待完善)

    1.安装配置 1.1硬件配置 硬件服务器用到某私有云中ip段为192.168.228.111-192.168.228.120的十台服务器,相关主要配置如下表: 类别 主机名 IP 内存 硬盘 主要目录 ...

  9. ubuntu18.04 frpc安装与自动启动

    1. 下载, 解压 export FRP_VERSION='0.25.3' wget --no-check-certificate https://github.com/fatedier/frp/re ...

  10. Debug:This kind of launch is configured to openthe debug perspective when it解决办法

    http://blog.sina.com.cn/s/blog_7ca3aa020100zlha.html 启动tomcat时,myeclipse报错: This kind of launch is c ...