linux 使用regulator
公众号
欢迎扫码关注本人微信公众号:公众号上分享更多嵌入式知识和资料,分享个人学习嵌入式的心得体会。欢迎大家一起来玩呀。
linux 使用regulator
简要说明一下在Rockchip平台regulator的使用方法
//在pmic这个节点中可以看到一个子节点vcc_sd,表明有一路电源从pmic中引出来连接到sdmmc的外设上,给sdmmc进行供电,那这一路电源如何使用呢?可以看下面的dts sdmmc 这个节点的vqmmc-supply
vcc_sd: LDO_REG4 {regulator-always-on;regulator-boot-on;regulator-min-microvolt = <3000000>;regulator-max-microvolt = <3000000>;regulator-name = "vcc_sd";regulator-state-mem {regulator-on-in-suspend;regulator-suspend-microvolt = <3000000>;};};&sdmmc {clock-frequency = <50000000>;clock-freq-min-max = <400000 150000000>;supports-sd;bus-width = <4>;cap-mmc-highspeed;cap-sd-highspeed;disable-wp;num-slots = <1>;//sd-uhs-sdr104;vqmmc-supply = <&vcc_sd>; //指定vqmmc-supply 使用pmic是使用那一路电源pinctrl-names = "default";pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_cd &sdmmc_bus4>;status = "okay";
};
在代码中使用vqmmc-supply这一路电源代码调用如下:
kernel\drivers\mmc\host\dw_mmc-pltfm.c
//step 1
static const struct of_device_id dw_mci_rockchip_match[] = {{ .compatible = "rockchip,rk2928-dw-mshc",.data = &rk2928_drv_data },{ .compatible = "rockchip,rk3288-dw-mshc",.data = &rk3288_drv_data },{},
};//step 2
static struct platform_driver dw_mci_rockchip_pltfm_driver = {.probe = dw_mci_rockchip_probe,.remove = dw_mci_pltfm_remove,.driver = {.name = "dwmmc_rockchip",.of_match_table = dw_mci_rockchip_match,.pm = &dw_mci_rockchip_pmops,},
};static int dw_mci_rockchip_probe(struct platform_device *pdev)dw_mci_pltfm_register(pdev, drv_data);dw_mci_probe(host);ret = dw_mci_init_slot(host, i);ret = mmc_regulator_get_supply(mmc);mmc->supply.vmmc = devm_regulator_get_optional(dev, "vmmc");mmc->supply.vqmmc = devm_regulator_get_optional(dev, "vqmmc");/"代码里通过“vqmmc” 找到 vqmmc-supply = <&vcc_sd>;,从而找到vcc_sd,电源配置*/
linux 使用regulator相关推荐
- Regulator子系统
基本介绍 Regulator指的是稳定器,有电压稳定器及电流稳定器两种,能够自动维持恒定电流或者电压.其中,电压稳定器voltage regulator在电路中比较常见.从设备驱动的角度来看,regu ...
- Linux 电源管理子系统
Linux 在消费电子领域的应用已经相当普遍,而对于消费电子产品而言,省电是一个重要的议题. Linux 电源管理非常复杂,牵扯到系统级的待机.频率电压变换.系统空闲时的处理以及每个设备驱动对系统待机 ...
- linux 电源管理 regulator,Linux内核电源管理综述
资料: http://blog.csdn.net/bingqingsuimeng/article/category/1228414 http://os.chinaunix.net/a2006/0519 ...
- linux 内核 出错-HP 方案
2019独角兽企业重金招聘Python工程师标准>>> SUPPORT COMMUNICATION - CUSTOMER ADVISORY Document ID: c0345659 ...
- Linux下 WiFi rtl 移植,IMX6Q Linux WIFI+BT(RTL8723au)模块移植问题
软件环境:IMX6Q 4核,Linux 下 BSP: L3.0.35_4.1.0_130816_source 开机打印信息: U-Boot 2009.08 ( 5��月 26 2016 - 12 ...
- 关闭linux服务器电源,linux关闭ACPI电源管理模块
一.运行环境 # cat /etc/redhat-release CentOS release 6.2 (Final) # uname -a Linux web-server- 2.6.-.el6.x ...
- linux内核(4.17.10)配置项详解(x86)
64-bit kernel--支持64位 General setup--通用设置 Cross-compiler tool prefix--交叉编译工具前缀 Local version-append t ...
- Linux的notifier机制在TP中的应用【转】
转自:https://blog.csdn.net/armfpga123/article/details/51771666 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog ...
- Linux运行项目部分空指针,技术文章—Linux编程时遇到Oops提示该如何排查?
各位工程师在Linux下开发程序时,有没有遇到由于系统中存在某些小故障而跳出了"Oops"提示的情况,此时你是如何排查故障?一行行的查看代码吗?其实不用那么复杂,本文将为你介绍一种 ...
- 鸟哥的Linux私房菜(基础篇)- 第二十六章、Linux 核心编译与管理
第二十六章.Linux核心编译与管理 最近升级日期:2009/09/18 我们说的 Linux 其实指的就是核心 (kernel) 而已.这个核心控制你主机的所有硬件并提供系统所有的功能,所以说,他重 ...
最新文章
- 【WinForm】“System.Data.SqlClient.SqlConnection”的类型初始值设定项引发异常
- LinQ基本使用:查询ArrayList
- c语言笔试题(带答案)
- 微软sharepoint团队博客
- python发送邮件及Jenkins持续集成
- CaseStudy-数据缓存出错
- python3.8.5-Python 3.8.5下载
- 虚拟机卡在登录界面卡住了_手机都10核了 为何还是照样卡?
- 全球超高精度 IP 实时定位系统--捕风者
- 查看linux系统语言并修改
- 剪贴板是计算机系统,Windows7电脑剪切板在哪?
- HTML鼠标悬停图片置顶,鼠标悬浮图片放大
- FFMPEG+SDL播放音频流
- 概率统计15——泊松分布
- 前端开发如何使得PC端和手机端的页面效果不一样
- Python 学生管理系统+mysql+Flask
- html5+植物大战僵尸,HTML5 Canvas植物大战僵尸 - 鳄梨射手
- echarts 漏斗图
- safari 扩展_为什么构建Safari应用扩展程序是2020年的噩梦
- HarmonyOS 开源开放毫无保留 该英文名有何由来?