简述

MDM9x07&MDM9628的PMU电源管理单元有6个通用的输出输入数字IO,见datesheet中的相关描述如下:

这个几个IO具有几个特点:

<1> 默认为数字输入,具有10uA下拉电流;

<2> 设计为以 4 MHz 速率运行,以支持高速应用;

<3> 支持的速率取决于负载电容和 IR 压降要求

从这几个信息中我们可以知道,在负载电容确定的情况下,最大的速率由IR压降决定,如果需要特定的IR压降,可以通过增加电源来提高最大速率电压,并根据实际的负载电容调整驱动强度,下表为针对不同驱动器强度的输出电压

PMU-GPIO的控制

关于这6个GPIO如何控制下面进行具体的说明:

根据相关文档的说明,PMU-GPIO&Linux GPIO的具体映射关系如下所示

PMU Pin Name

PMU-GPIOLinux GPIO Number
GPIO_01PMU_GPIO_1GPIO 1018
GPIO_02PMU_GPIO_2GPIO 1019
GPIO_03PMU_GPIO_3GPIO 1020
GPIO_04PMU_GPIO_4GPIO 1021
GPIO_05PMU_GPIO_5GPIO 1022
GPIO_06PMU_GPIO_6GPIO 1023

根据PMU-GPIO在Linux Kernel的GPIO映射关系,我们可以控制对具体的IO进行相关的控制,下面使用两种方式进行控制测试

① 通过sysfs导出gpio进行控制

# echo 1018 > /sys/class/gpio/export 
# cat /sys/class/gpio/gpio1018/direction 
in
# echo out > /sys/class/gpio/gpio1018/direction 
# cat /sys/class/gpio/gpio1018/value 
0
# echo 1 > /sys/class/gpio/gpio1018/value 
# cat /sys/class/gpio/gpio1018/value 
1

② 通过设备树控制

通过heartbeat的示例进行说明,内核的相关配置,在此不在进行过多的赘述,可自行百度,下面为具体的设备树描述

注:

a、如过需要将PMU-GPIO设置功能为GPIO,上述设备树中qcom,src-sel需要设置为0,及

qcom,src-sel = <0>

b、如果其他地方对改GPIO有占用的话,需要释放其他功能的占用,否则会出现报错


 

更多推荐