13783 Power manage

*********************************************************************

关于13783开关机:

   13783上的ON1B管脚是一个输入pin,在其上可以连接一个按键,记过设置后用于power on/off button

首先该键可用作power/on键,当13783所在的pdk板处于供电状态,而13783cpu处于断电状态时,也就是没有给cpu供电时,但此时13783的电源有电,此时只有13783VATLAS电压维持的核心电路和RTC module正常工作。此时的检测电路可以监测ON1B管脚的电压(该脚由VATLAS上拉,47k的电阻太大了,上拉不够,应换为10k左右的)变化状况,当电压出现一个上升沿时,该上升沿会自动进行30ms的消抖,当此上升沿出现时,硬件检测电路会把他识别为一个turn on event,从而载入各regulator的默认参数,并按照默认的顺序依次启动(间隔2ms,避免大的突入电流)。

此键也可以用来关机使用,当ON1BRSTEN位(Register 15,第二个bit)置为高时,4s钟的按键可使13783cpu断电,但是若RESTARTEN(Register 15,第一个bit)位置为高,13783会在1s钟之后重新给cpu供电,相当于来了一次reset,所以只有先把RESTARTEN位置为低,并且按键4s后,才相当于来了一次power off

*********************************************************************

 

power management driver很主要有以下三方面作用:

1、开关所有的regular

       2、为所有的regular设值

       3、获得所有的regular的当前电流值

和电池的充电没有关系。充电是由PMIC Battery Driver来完成的。

static int pmic_power_probe(struct platform_device *pdev)

{

       int irq, ret;

 

       /* configure on/off button */

       gpio_power_key_active();

 

       irq = (int)pdev->dev.platform_data;

 

       if (irq == 0) {

              pr_info(KERN_INFO "PMIC Power has no platform data/n");

              goto done;

       }

       set_irq_type(irq, IRQF_TRIGGER_RISING);

 

       ret = request_irq(irq, power_key_int, 0, "power_key", 0);

       if (ret)

              pr_info(KERN_ERR "register on-off key interrupt failed/n");

 

       set_irq_wake(irq, 1);

 

      done:

       pr_info(KERN_INFO "PMIC Power successfully probed/n");

       return 0;

}

 

注册了on/off button的中断,中断函数为power_key_int

中断函数为:

static irqreturn_t power_key_int(int irq, void *dev_id)

{

       pr_info(KERN_INFO "on-off key pressed/n");

 

       return 0;

}

可以在此函数内进行事件处理,判断之后进行power方面的操作。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值