高通平台电源管理regulator介绍

本文详细介绍了高通SDX20平台上的电源管理机制,包括上电后的电源调节器状态检查,如何在设备树中定位并操作电源调节器,以及代码修改后对电源调节器的影响。特别关注了RF供电的电源调节器。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 前期参考资料文档链接:

         1).https://blog.youkuaiyun.com/longwang155069/article/details/53129378

         2).https://blog.youkuaiyun.com/longwang155069/article/details/53161468

2. 高通sdx20平台上电后check regulator如下,一共27个regulator:

3. 随便进入到一个regulator中,通过查看name可以看到其在设备树中对应的设备节点:

4.在设备树中的位置如下,通过status可以打开和关闭该regulator,在debug中会需要用到。

5.在sdx20中添加修改代码,烧录,启动

6.再次去regulator目录下查看,只有26个regulator了,原先regulator.8的name属性由pmd9650_l1变成了pmd9650_l2了。因为LDO1已经被disabled了。

7.在sdx20平台中,s3、l1、l4、l5这几个regulators都是给RF供电的电压源。

<think>好的,用户想了解高通平台VPH门限的默认软件配置。首先,我需要明确VPH指的是什么。VPH通常指Voltage Power High,可能与电源管理相关,特别是在高通平台的PMIC(电源管理集成电路)中。用户提到的门限可能涉及电压阈值,用于过压或欠压保护,或者是电源路径管理的设置。 接下来,我需要回忆高通平台相关文档中的信息。通常在设备树(dts)或内核驱动代码中会有这样的配置。例如,PMIC的驱动程序可能定义了一些默认的电压阈值,或者在dts文件中通过regulator设置。但根据用户提供的引用[^1],之前的问题涉及到USB驱动中regulator未设置的情况,用户可能已经检查过dts和驱动,但没有找到相关配置,所以需要进一步查找。 考虑到高通平台通常使用Linux内核,VPH相关的配置可能位于内核的PMIC驱动中。比如,在msm-xxx系列的代码中,可能有相关的头文件或源文件定义了默认值。例如,在include/linux/regulator/qpnp-regulator.h或drivers/regulator/qpnp-regulator.c中查找VPH相关的定义。另外,高通可能会有特定的配置文件,如msm-pm8994-regulator.c这样的文件,其中定义各个regulator的默认参数,包括电压范围、模式等。 用户可能需要知道具体的代码路径和变量名。例如,在regulator的初始化结构体中,constraints字段可能设置了电压的最小值、最大值和初始值。如果VPH对应的regulator名称是vph_pwr,那么在dts中可能有类似vph_pwr_regulator节点,或者在内核代码中通过REGULATOR_LINEAR_RANGE宏定义其范围。 另外,用户可能需要通过调试手段确认当前系统的设置,比如通过sysfs查看regulator的状态。路径可能是/sys/class/regulator/regulator.X/,其中X对应的regulator下会有name、voltage等文件。但具体名称需要根据平台确定。 需要注意的是,不同高通平台(如msm8998、sm8150等)的代码位置可能有所不同,因此需要用户确认具体芯片型号。此外,默认配置可能由高通的基础代码定义,而OEM厂商可能在dts中进行覆盖或调整。 最后,用户可能需要知道如何修改这些配置,比如通过dts覆盖默认值,或者在内核驱动中调整宏定义。但修改前需谨慎,避免影响系统稳定性。</think>关于高通平台VPH(Voltage Power High)门限的默认软件配置,通常涉及电源管理子系统(PMIC)的寄存器设置和内核驱动实现。以下是具体分析步骤和典型配置位置: ### 一、VPH门限的定义 VPH通常指系统主电源电压的监控阈值,用于过压保护(OVP)、欠压锁定(UVLO)等电源管理功能。其默认配置由高通基础代码在**PMIC驱动层**和**设备树(dTS)**中定义。 ### 二、默认配置位置 1. **PMIC驱动代码** 高通平台的VPH相关配置通常在以下路径: `msm-4.9/drivers/power/supply/qcom/qpnp-qg.c` 或 `qpnp-smb5.c` 关键参数示例: ```c /* 电压阈值定义(单位:微伏) */ #define VPH_PWR_OV_THRESHOLD_DEFAULT 4700000 // 过压阈值 #define VPH_PWR_UV_THRESHOLD_DEFAULT 3000000 // 欠压阈值 ``` 2. **设备树(dts/dtsi)** 在芯片级定义文件(如`msm8998-pmi8998.dtsi`)中可能包含regulator配置: ```dts &pmi8998_charger { qcom,vph-ov-threshold-uv = <4700000>; qcom,vph-uv-threshold-uv = <3000000>; }; ``` 3. **PMIC寄存器映射** 寄存器地址参考高通内部文档`80-NLxxx-x`系列手册,例如: - OVP阈值寄存器:`0x1xxx`(具体地址需根据PMIC型号确认) - UVLO阈值寄存器:`0x1xxx + 0x01` ### 三、验证方法 1. **内核日志调试** 在PMIC驱动中添加调试打印(需重新编译内核): ```c dev_info(chip->dev, "VPH OV阈值=%dμV, UV阈值=%dμV\n", chip->vph_ov_threshold, chip->vph_uv_threshold); ``` 2. **sysfs接口查询** 部分平台可通过以下路径查看实时值: ``` /sys/class/power_supply/bms/voltage_ov /sys/class/power_supply/bms/voltage_uv ``` ### 四、典型默认值参考 | 参数 | 默认值(单位:微伏) | 说明 | |-------------------|----------------------|--------------------| | VPH_OV_THRESHOLD | 4,700,000 | 过压保护阈值 | | VPH_UV_THRESHOLD | 3,000,000 | 欠压锁定阈值 | [^1]: 高通电源管理子系统代码通常通过`qpnp-regulator`驱动实现电压阈值控制,具体数值可能因平台和PMIC型号不同而调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值