【Qualcomm】Snapdragon X5 LTE Modem GPIO的深层理解&控制<2>
·
简述
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-GPIO | Linux GPIO Number |
| GPIO_01 | PMU_GPIO_1 | GPIO 1018 |
| GPIO_02 | PMU_GPIO_2 | GPIO 1019 |
| GPIO_03 | PMU_GPIO_3 | GPIO 1020 |
| GPIO_04 | PMU_GPIO_4 | GPIO 1021 |
| GPIO_05 | PMU_GPIO_5 | GPIO 1022 |
| GPIO_06 | PMU_GPIO_6 | GPIO 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有占用的话,需要释放其他功能的占用,否则会出现报错

更多推荐



所有评论(0)