常用

2022-08-03  本文已影响0人  wjundong

pinctrl 子系统

# 挂载 debug 文件系统
mount -t debugfs debugfs /sys/kernel/debug
cd /sys/kernel/debug/pinctrl/1c20800.pinctrl

ls 
cat pins               # 查看所有引脚
cat pinmux-functions   # 查看所有引脚功能
cat pinmux-pins        # 查看引脚复用情况

pins 单个引脚信息
pingroups 引脚的组信息
pinmux-pins 单个引脚的复用信息
pinmux-functions function下的group(支持该function的group)
pinconf-pins 单个引脚的配置
pinconf-groups 引脚组的配置
pinconf-config 可以通过写它修改指定设备、指定状态下、指定(组)引脚的config值

可以实现一个虚拟的 pinctrl 以加深理解

GPIO 子系统

cd /sys/class/gpio
# 通过 pinctrl 查询可知编号, 比如这里 1 --> PA1
echo 1   > export
echo out > gpio0/direction
echo 1   > gpio0/value

对设备的理解

在 /sys/devices 存放所有设备(已经匹配驱动的?), 与之相对应的 /proc/devices 显示了所有分配有主设备号的设备

该目录下有 platform software system virtual
platform 平台设备, 注册设备时使用平台设备注册,或者在设备树中注册设备,但是被平台驱动匹配到, 因而挂在平台总线上
system 系统设备
virtual 虚拟设备?

/sys/firmware 存放设备树信息

比如查看设备树顶层信息, 文件为属性, 文件夹为子节点
ls /sys/firmware/devicetree/base/

/sys/bus 包含所有设备总线, 各个设备总线一边是驱动, 一边是设备
/sys/modules 包含所有模块

上一篇下一篇

猜你喜欢

热点阅读