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来使用。
注意 export 文件是只写文件,不能读取,将一个指定的编号写入到 export 文件中即可将对应的 GPIO 引脚导出,以GPIO0_PB7为例(pin计算值为15)使用export 文件进行导出(如果没有更换本章开始部分的内核设备树镜像,会导出不成功),导出成功如下图所示: echo 15 > export 会发现在/sys/class/gpio 目录下生成了一...
首先,需要计算出代表 gpio4b3 的值,算法如下: gpio4_B3 = 4 *32 + (B-A) * 8 + 3 = 3 *32 + 1 * 8 + 3 = 139 计算方法参考: 《rk3568 | 瑞芯微平台GPIO引脚驱动编写》 最前面和 32 相乘的数字因为是 gpio4,所以是 432。如果是 gpio3,那就是 332; 括号里面的 A、 B、 C、 D 分别...
也可以用debugfs来查看pin与gpio号之间映射关系 二、rk3568GPIO控制器驱动 1. gpio相关api Linux内核GPIO主要实现文件: GPIO子系统有两套API: 基于描述符(descriptor-based) 前缀为: 参考: 老版本接口(legacy) 前缀为: 参考: API对比: 2. rk3568 GPIO控制器驱动 GPIO控制器驱动实现文件: gpio涉及主要函数: 三...
第一步: 对于GPIO2 A2,我们转换成下面字符串然后搜索 gpio2a2_sel 这样我们就可以直接找到该引脚iomux配置寄存器,bit[10:8]。 该寄存器地址: 基地址+0x0020 那么如何找到基地址呢? 第二步: 搜索该引脚寄存器的名字: GRF_GPIO2A_IOMUX_L 注意向上搜索 ...
GPIO值在RK3288中的计算方法为:bank×32+pin,如: GPIO7A3: 7×32 + 0*8 +3=227 GPIO0B5: 0×32+ 1*8 +5=13 1. 导出 /sys/class/gpio# echo 44 > export 2. 设置方向 /sys/class/gpio/gpio44# echo out > direction 3. 查看方向 ...
bank_num 表示gpio4 这里“ pin ==”后面跟的值计算方式为:将 A0 至 D7 32 个引脚顺序对应数值 0 至 31,b3为11。 五、如何去掉设备树中的复用引脚信息? 刚才分析,发现GPIO2 A2被SDMMC0占用,那么如何来解决这个冲突呢? 只要从设备树下手即可。
GPIO编号计算方法: 例如:GPIO4_C4 = 4*32+16+4 = 148 4.1.1 查看原理图 4.1.2 获取需要的配置信息,并在dts里配置 通过查看原理图,获取到相应的信息,然后在dts里配置 1、RK809和TCS4525是挂在I2C0下。输出电压VDD_CPU为0.9V, dts配置如下
GPIO 引脚计算公式:pin = bank * 32 + number GPIO小组编号计算公式:number = group * 8 + X ...