rk3588(七):GPIO简介及使用
Chapter1 rk3588(七):GPIO简介及使用
原文链接:https://blog.csdn.net/qq_32636415/article/details/134918848
1、GPIO电路
在 RK3588 中,有只支持 1.8V,和支持 1.8V/3.3V 两种电压可配置,共两种类型的 GPIO。
GPIO Pin 名说明
GPIO驱动能力
2、GPIO引脚计算
Core-3588J 有 5 组 GPIO bank:GPIO0~GPIO4,每组又以 A0~A7, B0~B7, C0~C7, D0~D7 作为编号区分,常用以下公式计算引脚:
GPIO pin脚计算公式:pin = bank * 32 + number
GPIO 小组编号计算公式:number = group * 8 + X
下面演示GPIO1_D0 pin脚计算方法:
bank = 1; //GPIO1_D0 => 1, bank ∈ [0,4]
group = 3; //GPIO1_D0 => 3, group ∈ {(A=0), (B=1), (C=2), (D=3)}
X = 0; //GPIO1_D0 => 0, X ∈ [0,7]
number = group * 8 + X = 3 * 8 + 0 = 24
pin = bank*32 + number= 1 * 32 + 24 = 56;
3、GPIO测试
:/ # ls /sys/class/gpio/
export gpiochip128 gpiochip32 gpiochip64 unexport
gpiochip0 gpiochip200 gpiochip509 gpiochip96
:/ # echo 56 > /sys/class/gpio/export
:/ # ls /sys/class/gpio/
export gpiochip0 gpiochip200 gpiochip509 gpiochip96
gpio56 gpiochip128 gpiochip32 gpiochip64 unexport
:/ # ls /sys/class/gpio/gpio56
active_low device direction edge power subsystem uevent value
:/ # cat /sys/class/gpio/gpio56/direction
in
:/ # cat /sys/class/gpio/gpio56/value
0
用户态使用 GPIO
1、申请 GPIO
echo 13 > /sys/class/gpio/export
2、配置引脚方向
查看默认引脚方向:
cat /sys/class/gpio/gpio13/direction
配置成输出方向:
echo out > /sys/class/gpio/gpio13/direction
3、配置引脚输出电平
从前面的原理图可知,输出高电平为点亮 LED:
echo 1 > /sys/class/gpio/gpio13/value
熄灭 LED:
echo 0 > /sys/class/gpio/gpio13/value
参考:
Chapter2 基于RK3568的Linux驱动开发——GPIO知识点(一)
Chapter3 RK3568驱动指南|第十二篇 GPIO子系统-第130章 GPIO的调试方法
原文链接:https://blog.csdn.net/BeiJingXunWei/article/details/135569175
瑞芯微RK3568芯片是一款定位中高端的通用型SOC,采用22nm制程工艺,搭载一颗四核Cortex-A55处理器和Mali G52 2EE 图形处理器。RK3568 支持4K 解码和 1080P 编码,支持SATA/PCIE/USB3.0 外围接口。RK3568内置独立NPU,可用于轻量级人工智能应用。RK3568 支持安卓 11 和 linux 系统,主要面向物联网网关、NVR 存储、工控平板、工业检测、工控盒、卡拉 OK、云终端、车载中控等行业。
【公众号】迅为电子
【粉丝群】824412014(加群获取驱动文档+例程)
【视频观看】嵌入式学习之Linux驱动(第十二篇 GPIO子系统_全新升级)_基于RK3568
【购买链接】迅为RK3568开发板瑞芯微Linux安卓鸿蒙ARM核心板人工智能AI主板
第130章 GPIO的调试方法
GPIO的调试方法除了使用IO命令去查看寄存器,还可以使用其他方法进行GPIO的调试。
130.1 方法一
debugfs是Linux内核提供的一个调试文件系统,可以用于查看和调试内核中的各种信息,包括GPIO的使用情况。通过挂载debugfs文件系统,并查看/sys/kernel/debug/目录下的相关文件,可以获取GPIO的状态,配置和其他调试信息。如下图所示,我们进入/sys/kernel/debug/目录下。
图130-1
如果上图目录/sys/kernel/debug目录下没有文件,需要在Linux内核源码配置debugfs,如下图所示:
图130-2
配置好之后,重新编译内核源码,烧写内核镜像。
如果没有debugfs,可以使用以下命令进行挂载:
mount -t debugfs none /sys/kernel/debug/
如果有debugfs,可以使用以下命令查看GPIO的信息。
cat /sys/kernel/debug/gpio
图130-3
130.2 方法二
当你进入/sys/kernel/debug/pinctrl目录时,你可以获取有关GPIO控制器的调试信息。在该目录下,通常会有以下文件和目录:
-
/sys/kernel/debug/pinctrl/*/pinmux-pins:这些文件列出了每个GPIO引脚的引脚复用配置。你可以查看每个引脚的功能模式、引脚复用选择以及其他相关的配置信息。我们进入到/sys/kernel/debug/pinctrl/pinctrl-rockchip-pinctrl/下面,输入“cat pinmux-pins”,如下图所示:
图130-4 -
/sys/kernel/debug/pinctrl/*/pins:这些文件列出了GPIO的引脚编号,可以查看GPIO编号。我们进入到/sys/kernel/debug/pinctrl/pinctrl-rockchip-pinctrl/下面,输入“cat pins”,如下图所示:
图130-6 -
/sys/kernel/debug/pinctrl/*/pinmux-functions:这些文件列出了每个功能模式的名称以及与之关联的GPIO引脚。你可以查看各个功能模式的名称和对应的引脚列表。我们进入到/sys/kernel/debug/pinctrl/pinctrl-rockchip-pinctrl/下面,输入“cat pinmux-functions”,如下图所示:
图130-7 -
/sys/kernel/debug/pinctrl/*/pingroups:该路径提供有关用于配置和控制系统上的 GPIO引脚的引脚组的信息。我们进入到/sys/kernel/debug/pinctrl/pinctrl-rockchip-pinctrl/下面,输入“cat pingroups”,如下图所示:
图130-8
- /sys/kernel/debug/pinctrl/*/pinconf-pins:这些文件包含了GPIO引脚的配置信息,如输入/输出模式、上拉/下拉设置等。你可以查看和修改GPIO的电气属性,以便进行GPIO的调试和配置。我们进入到/sys/kernel/debug/pinctrl/pinctrl-rockchip-pinctrl/下面,输入“cat pinconf-pins”,如下图所示:
图130-9
在这些文件和目录中,你可以浏览GPIO控制器和引脚的相关信息,包括功能模式、复用配置、范围和配置参数等。这些信息可以帮助你了解GPIO的当前状态和配置,并进行相应的调试和修改。
Chapter4 RK3568驱动指南|第十二篇 GPIO子系统-第128章 GPIO入门实验
原文链接:https://blog.csdn.net/BeiJingXunWei/article/details/135566028