RK3568 GPIO计算方法

RK3568总共有5组GPIO bank,GPIO0 – GPIO4,每组又以A0~A7, B0~B7, C0~C7, D0~D7作为编号区分。

linux kernel启动时,可以看到驱动加载信息如下

[    0.402639] rockchip-gpio fdd60000.gpio: probed gpio0 (fdd60000.gpio)
[    0.410237] rockchip-gpio fe740000.gpio: probed gpio1 (fe740000.gpio)
[    0.417814] rockchip-gpio fe750000.gpio: probed gpio2 (fe750000.gpio)
[    0.425385] rockchip-gpio fe760000.gpio: probed gpio3 (fe760000.gpio)
[    0.432957] rockchip-gpio fe770000.gpio: probed gpio4 (fe770000.gpio)

RK3568的GPIO引脚计算公式如下

GPIO Pin = bank * 32 + number

bank是分组,number是编号。number计算如下

number = group * 8 + X

group是小组号,分别为Group A,Group B,Group C,Group D组。起始序号为0,依次类推。

X是序号。

下面以GPIO4_D5来举例

GPIO4_D5分析

GPIO4表示bank = 4

D5表示,group=3,X = 5。

所以,最终计算为4 x 32 + (3×8 + 5) = 128 + 29 = 157

所以Linux系统中的GPIO4_D5的序号为157,在/sys/class/gpio目录中就可以使用157来导出这个GPIO来使用。

相关新闻

联系我们

029-89197679

技术咨询:support@i2som.tech

商务合作:market@i2som.tech

工作时间:周一至周五,9:30-18:30,节假日休息