3,303
社区成员




使用命令行操作, 将GPIO获取到,现在以QCS8250, 需要控制gpio99为例子:
adb root
adb shell
mount -t debugfs debugfs /sys/kernel/debug
cat /sys/kernel/debug/gpio | grep gpiochip
gpiochip5: GPIOs 1058-1071, parent: platform/soc:qcom,msm-audio-apr:qcom,q6core-audio:lpi_pinctrl@33c0000, soc:qcom,msm-audio-apr:qcom,q6core-audio:lpi_pinctrl@33c0000:
gpiochip4: GPIOs 1072-1075, parent: platform/c440000.qcom,spmi:qcom,pm8009@a:pinctrl@c000, c440000.qcom,spmi:qcom,pm8009@a:pinctrl@c000:
gpiochip3: GPIOs 1076-1084, parent: platform/c440000.qcom,spmi:qcom,pm8150l@4:pinctrl@c000, c440000.qcom,spmi:qcom,pm8150l@4:pinctrl@c000:
gpiochip2: GPIOs 1085-1093, parent: platform/c440000.qcom,spmi:qcom,pm8150b@2:pinctrl@c000, c440000.qcom,spmi:qcom,pm8150b@2:pinctrl@c000:
gpiochip1: GPIOs 1094-1099, parent: platform/c440000.qcom,spmi:qcom,pm8150@0:pinctrl@c000, c440000.qcom,spmi:qcom,pm8150@0:pinctrl@c000:
gpiochip0: GPIOs 1100-1279, parent: platform/f000000.pinctrl, f000000.pinctrl:
我们可以看到这个主控的180个gpio偏移是1100, 所以我们就去在申请gpio的时候, 导入这个offset, 99+1100 = 1199, 就可以申请到这个gpio了, 并且可以在上层直接控制:
echo 1199 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio1199/direction
echo 1 > /sys/class/gpio/gpio1199/value
cat /sys/class/gpio/gpio1199/value
1
echo 0 > /sys/class/gpio/gpio1199/value
cat /sys/class/gpio/gpio1199/value
0