高通GPIO Debug

For PMIC need to operate the register.
cd /d/regmap/spmi0-00
echo 0xc046 > address //0xc046 =gpio1 0xc047=gpio2
echo 0x1 > count
echo 0x80 >data

如下方式可以操作没有没占用的GPIO,如果gpio有被其他模块占用,那么是无法export出来的
主芯片qcom MSMXXXX
GPIO_106
GPIO_17

1.给权限
adb root
adb shell
su
2.将gpio所有端口号以及功能列出
cat /sys/kernel/debug/gpio
ls
3.找到对应的GPIO:基地址+偏移地址(如1124+106=1230)并查看是否正确写入
cd /sys/class/gpio/
echo 1230 > export
ls
cd gpio1230/
ls
4.将方向由in改为out,并将值从0改为1.
cat direction
echo out > direction
cat direction
cat value
echo 1 > value

对于无法export的GPIO,只能通过一下方式调试:
1:please enable CONFIG_DEVMEM in kernel defconfig<-------------这一步是必须的
2: adb root | adb shell
3: devmem [gpio address] [length] [write-value] #write
devmem [gpio address] [length] #read
Length 4
Example 8350 :
Register: TLMM_GPIO_CFG107 | 0xF16B000 //EGPIO
Register: TLMM_GPIO_IN_OUT107 | 0xF16B004

devmem 0xF16C000 4 0x1200 <---------output enable EGPIO enable
devmem 0xF16C004 4 0x0 <---------output low
devmem 0xF16C004 4 0x2 <---------output high

Example 6350 :
1: confirm whether select the correct gpiochip
cat /sys/class/gpio/gpiochipxxxx

2: some GPIO maybe been used by other driver or module . suggest control GPIO physical register directly .

Register: TLMM_GPIO_CFG17 | 0xF111000
Register: TLMM_GPIO_IN_OUT17 | 0xF111004

devmem 0xF111000 0x1200 <---------output enable EGPIO enable
devmem 0xF111004 4 0x0 <---------output low
devmem 0xF111004 4 0x2 <---------output high

寄存器的描述和具体的地址需要查看对应的芯片的寄存器描述文档

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值