VIM1 gpio测试如何得到对应的管脚号


#1

你好,我想问下安卓的gpio管脚号的计算方式,比如要访问GPIOH5(PIN37),可以用echo 176 > export操控GPIOH5,这个176是怎么计算得到的呢?如果我要操控其他的gpio管脚,如gpioH4,我如何得到类似的管脚号呢?


#2

你好,Angle,你的系统是什么版本的?

@terry 根据回复下。


#3

你可以通过adb读取节点获取GPIO对应Num值,请参考如下:

# cat /sys/kernel/debug/pinctrl/c1109880.pinmux/gpio-ranges

GPIO ranges handled:
0: banks GPIOS [155 - 255] PINS [10 - 110]
0: ao-bank GPIOS [145 - 154] PINS [0 - 9]

Notice: ao-bank means GPIOAO_X gpios
# cat /sys/kernel/debug/pinctrl/c1109880.pinmux/pins
...
pin 5 (GPIOAO_5) 
pin 6 (GPIOAO_6) 
...
pin 28 (GPIOH_2) 
pin 29 (GPIOH_3) 
pin 30 (GPIOH_4) 
pin 31 (GPIOH_5) 
pin 32 (GPIOH_6) 
pin 33 (GPIOH_7) 
pin 34 (GPIOH_8) 
pin 35 (GPIOH_9) 
...

Num(GPIOH_5) = bank + pin = 155 - 10 + 31= 176
Num(GPIOH_4) = bank + pin = 155 - 10 + 30= 175
Num(GPIOAO_6) = bank + pin = 145 - 0 + 6 = 151


疯了!!!GPIO的Number是怎么算的!!!
#4

你好,我用的是安卓VIM1_Nougat_zhCN_V180622版本,我用命令echo 175(或177、178、179、180) >export时,发现无法添加gpio175等,这个怎么解决呢?


#5

管脚GPIOH_4(175)是一个多功能脚,默认是SPDIF功能,如果你是一个开发者,可以修改代码屏蔽掉SPDIF功能,重新烧录你自己的固件。关于如何编译,请参考我们的docs文档. 如果不是, 建议直接用GPIOAO_6 /GPIOH_5这两个管脚做为GPIO管脚使用