1电源管理 Regulator 分成静态和动态:静态不需要改变电压电流,只需要开光电源,用在bootloader,firmware,kernel board 阶段等。动态,根据需要改变电压电流。

2 获取设备的regulator,dev为驱动对应的设备指针,可以用NULL,Vcc为电源的ID,内核会查表找到电源ID对应的regulator。如:struct regulator *ldo; ldo=regulator_get(NULL,“act_ldo5”);

API

regulator = regulator_get(dev, "Vcc");//获取设备regulator.
regulator_put(regulator);   //释放regulator。
int regulator_enable(regulator);//使能电源输出。调用之前也可能已经使能了。所以用下面函数判断。
int regulaor_is_enabled(regulator); //判断是否使能,>0 表示已经使能。
int regulator_disable(regulator);//关闭电源输出。但是未必立刻关闭,有可以存在电源共享的场景。
int regulator_force_disable(regulator);//强制关闭电源。
int regulator_set_voltage(regulator,min_uV,max_uV);//调节电压的最小和最大输出。如果接下去调用regulator_enable ,那么这个值马上就生效,如果调用regulator_disable等其他的,要等到下一次调用regulator_enable时才能生效。
int regulator_get_voltage(regulator); //通过此接口获取配置的输出电压

例子

static struct device *lens_device;
static struct regulator *regVCAMAF;
void FRegulatorCtrl(void)
{int Status;if(NULL==regVCAMAF)//申请address成功后,没有必要重复申请,以防产生碎片或由于address 改变disable fail{regVCAMAF = regulator_get(lens_device, "vldo28"); //lens_device位NULL,内核会查表得到vldo28Status = regulator_set_voltage(regVCAMAF, 3000000, 3000000);if (Status != 0)printk("lregulator_set_voltage fail\n");}
}
void xxx_power_on(void)
{int Status;FRegulatorCtrl();Status = regulator_is_enabled(regVCAMAF);//判断是否已经被enable过,否者可能会造成disable failif(!Status)  {Status = regulator_enable(regVCAMAF);if (Status != 0)printk("regulator_enable fail\n");}
}void xxx_power_off(void)
{int Status;FRegulatorCtrl();Status = regulator_disable(regVCAMAF);if (Status != 0)printk("regulator_disable fail\n");
}

Regulator的使用相关推荐

  1. 谁的bug? 正则 拷贝和粘贴 regulator工具

    写一些数据抓取工具的时候. 我们一般是查看网页的源代码.然后把源代码拷到 regulator哪边去检测.开始写正则. 这个时候一个,难以查觉的错误发生了. 有时候你会发现.你写的正则在regulato ...

  2. linux 电源管理 regulator,Linux内核电源管理综述

    资料: http://blog.csdn.net/bingqingsuimeng/article/category/1228414 http://os.chinaunix.net/a2006/0519 ...

  3. Regulator的下载地址

    都说Regulator"是一种很有特色的工具,能够使生成和测试正则表达式变得很容易",想从网上下载试一下,不料全是清一色的 http://royo.is-a-geek.com/re ...

  4. 正则表达式超级生成工具 Regulator

    正则表达式的概念和作用就不多说了.正则表达式不好写(不好想),所以有很多工具来帮助我们写正则表达式,The Regulator 就是其中的佼佼者(被列入MSDN上的知名文章<Ten Must-H ...

  5. .NET开发 程序员必备工具 -- Regulator:生成正则表达式工具

    Regulator 是最近添加到我的头等工具清单中的.它是一种很有特色的工具,能够使生成和测试正则表达式变得很容易.由于正则表达式在 .NET 框架中受到极好的支持,因而人们对正则表达式重新产生了兴趣 ...

  6. 电源管理芯片LDO(Low Dropout Regulator)分析1

    随着便携式的电子产品种类数量逐渐变多,一款好的电源管理芯片往往会给电子产品带来给优质的性能,在电源管理芯片中,LDO起到一个很重要的作用,我在进入模拟IC到现在以来,一直在进行LDO的学习和研究,那么 ...

  7. Regulator子系统

    基本介绍 Regulator指的是稳定器,有电压稳定器及电流稳定器两种,能够自动维持恒定电流或者电压.其中,电压稳定器voltage regulator在电路中比较常见.从设备驱动的角度来看,regu ...

  8. Regulator相关GPIO控制使用流程简析

    转载请注明出处,亲1,注册到平台 举例: extern struct gpio_regulator_platform_data v210_gpio_regs_platform_data; static ...

  9. 电源管理芯片之 Regulator用法。

    有问题请加:Q群: 241359063  共同走向创业学习之旅. 原创:kylin_zeng  http://blog.chinaunix.net/uid/23795897.html  转载请注明原创 ...

  10. HX3001升压IC芯片-Synchronous Boost DC/DC Regulator

    HX3001升压IC芯片-Synchronous Boost DC/DC Regulator Description The HX3001 is high efficiency synchronous ...

最新文章

  1. 浅谈ASP.NET的Postback
  2. Linux驱动之内核加载模块过程分析
  3. DL:深度学习模型概览(包括DNN、CNN、RNN等)的简介、网络结构简介、使用场景对比之详细攻略
  4. 普通视图和物化视图区别
  5. protobuf版本冲突
  6. Visual Studio 20周年软件趋势随想
  7. Linux基础学习导图
  8. linux进程状态d状态,linux – 进程永久停留在D状态
  9. linux内存管理:kmap、vmap、ioremap
  10. 【EntityFramework系列教程五,翻译】在ASP.NET MVC程序中借助EntityFramework读取相关数据...
  11. MVC 使用 Ueditor富文本编辑器
  12. Tomcat7安装和配置以及优化
  13. gtp怎么安装系统_gpt分区怎么重装系统|GPT分区重装系统win10详细步骤
  14. 服务器显示器超频,电脑显示器超频怎么恢复正常 电脑显示器超频是什么原因...
  15. Multisim14仿真基本模拟电路之 10.5电压比较器及其应用电路的仿真实验与分析
  16. 训练little wihte:events.out.tfevents到底是什么文件?
  17. 一件虚拟连衣裙价值9500美元?然而这只是数字服装的开始……
  18. 凌动z3735f运行64位linux,iwork8平板电脑安装ubuntu,Z3735d/f系列CPU通用
  19. Intriguing Properties of Contrastive Losses
  20. 简介一些黑盒测试的方法

热门文章

  1. 《康熙王朝》剧情分集介绍【全】
  2. 我的世界服务器怎么做无限的弓,我的世界无限弓箭怎么做?
  3. 光学:薄透镜成像、景深
  4. 麻将开金算法java代_通用麻将胡牌算法
  5. 【android】手把手轻松集成微信支付
  6. rap技术原理_RAP_表观遗传_北京晶莱华科生物技术有限公司
  7. 图形《R数据可视化手册》中文PDF源代码+《R数据科学》中文PDF源代码
  8. PR2018安装及错误处理
  9. css:table-cell的妙用
  10. 第九周 练习判断闰年和平年