linux查询引脚功能复用,linux pinmux 引脚多路复用驱动分析与使用
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/code_style/article/details/53739634
一、网上的文章一般都是分析pinctrl驱动的,从头到尾分析了一遍,搞的相当复杂,实际上没那么复杂
二、pinmux的概要分析,有关文件如下/pinctrl/core.c、/pinctrl/Pinmux.c、平台相关的结构体pinctrl_state,pinctrl_setting,pinmux_ops,pinctrl_desc,pinctrl_map,基本原理如下:
1、通过在平台相关的pinctrl驱动初始化函数pinctrl_probe,调用pinctrl_register函数,将平台相关的,已经定义好的函数指针等通过结构体封装,传给该函数,相当于已经注册好了;
2、不管是core.c里面的实现,还是Pinmux.c里面的实现,无非是最终会通过回调函数,调用到上面提到的平台相关的已经定义好的实现,包括以功能为依据的分组,比如SPI、UART的引脚的配置,完成引脚的功能配置
3、这就是linux下面抽象出了各种功能,形成了一个中间件,对上层app提供统一的接口,下层各个soc厂商按照定义好的格式对其进行实现,最后上层app就会调用到底层来
4、当然,pinmux的实现利用了很多机制,比如链表的插入、遍历等等
三、具体到代码,如何调用API实现引脚功能复用呢?
1、直接在代码中调用这个API即可,devm_pinctrl_get_select( struct device *dev, const char *name),参考其他地方的调用,可以直接针对功能进行引脚复用的配置,当然,前提是pinctrl-soc.c里面已经做好了相关配置,这里的soc指的是ARM平台,比如高通、三星、MTK、TI等等。
————————————————
版权声明:本文为CSDN博主「coding梦想_起点」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/code_style/article/details/53739634
标签:soc,调用,pinmux,引脚,pinctrl,linux,版权
来源: https://www.cnblogs.com/DXGG-Bond/p/11983346.html
linux查询引脚功能复用,linux pinmux 引脚多路复用驱动分析与使用相关推荐
- linux查询引脚功能复用,Linux:使用pinctrl子系统动态切换复用pin脚的功能
Linux:使用pinctrl子系统动态切换复用pin脚的功能 Linux:使用pinctrl子系统动态切换复用pin脚的功能 Linux:使用pinctrl子系统动态切换复用pin脚的功能 一.许多 ...
- Linux中断子系统(二)中断控制器GIC驱动分析
Linux中断子系统(二)中断控制器GIC驱动分析 备注: 1. Kernel版本:5.4 2. 使用工具:Source Insight 4.0 3. 参考博客: Linux中断子系统(一 ...
- ARM裸机的知识点总结---------10、解决X210开发板软开关按键问题( 引脚功能复用)
Author: 想文艺一点的程序员 自动化专业 工科男 再坚持一点,再自律一点 CSDN@想文艺一点的程序员 来自朱有鹏嵌入式的学习笔记 目录 1.X210开发板的软启动电路详解 2.为什么要软启动 ...
- linux查询默认权限命令,Linux权限管理之基本权限
Linux权限管理之基本权限 1.文件权限: -rw-r--r-- : r 读 w 写 x 执行 -: 文件类型(- 文件 d 目录 l软链接文件)rw- r-- ...
- linux查询网卡bdf信息,Linux获取pci设备的厂商号、设备号、class号
要描述一个pci设备,就需要知道设备的厂商号(venderId).设备号(devId)和class号.那么,在Linux系统中,如何获取这三个数据呢? 既然是一个pci设备,那么首先就得知道BDF-- ...
- linux查询MySQL数据库操作,Linux服务器上查看mysql数据库操作日志
前两天客户打电话跟我讲,系统中有条订单数据丢失了,这让我很诧异.好好的数据怎么说丢,就丢了.此事必有蹊跷,于是今天我要一探究竟,看看数据是否录入数据库中去了.经过之前初步的排查,发现数据应该是被人为删 ...
- linux 查询oracle情况,在Linux下使用SQLPlus查看Oracle数据库表空间及使用率
在Linux下进入SQLPlus, # su – oracle $ sqlplus / as sysdba SQL> 查看一个表空间所对应的数据文件 SQL>select file_nam ...
- linux查询内核参数命令,Linux内核启动参数详解
1.环境: Ubuntu 16.04 Linux linuxidc 4.4.0-89-generic #112-Ubuntu SMP Mon Jul 31 19:38:41 UTC 2017 x86_ ...
- Linux查询root环境变量,linux环境变量和查看方法
linux环境变量和查看方法 1. 显示环境变量HOME [root@localhost ~]# echo $HOME /root 2. 设置一个新的环境变量hello [root@localhost ...
最新文章
- 8.6 wait和waitpid函数-进程控制
- 隐藏esp_?吉利帝豪GL到店实拍,7.78万起,配鹰眼LED大灯+ESP,家用首选
- IPropertySet接口
- 解决Ubuntu14.04在外接显示器不能指定问题的最佳分辨率
- java学习(55):定义一个抽象类的继承
- 基于模型的系统工程设计软件ModelCoder在航空发动机控制设计中的应用
- 大数据时代必须关注的几个问题
- python之socket网络编程
- 神经网络常见问题和技巧(持续更新)
- robocopy复制文件_Windows Robocopy命令教程以及以安全方式复制文件的示例
- C# 获取电脑CPU序列号
- hdu 3786 找出直系亲属 (DFS)
- Windows10系统上投影(仅电影屏幕,复制,拓展,仅第二屏幕)类型的作用
- input框输入身份证时实现动态脱敏
- 数据挖掘学习笔记3-贝叶斯与决策树
- 天地图覆盖物的添加,工具类的使用
- SpringBoot讲义
- Lora技术- 码片/码元/数据速率以及空中时间计算
- 嵌入式有什么值得学习的软硬件技术?
- osm.pbf 制作中国铁路网mbtiles