当前位置: 首页 > news >正文

【Linux-驱动开发-pinctrl子系统】

Linux-驱动开发-pinctrl 子系统

  • ■ pinctrl 子系统
    • ■ PIN 配置信息详解 -iomuxc 节点
    • ■ 设备树中添加 pinctrl 节点模板

■ pinctrl 子系统

pinctrl 子系统主要工作内容如下:
①、获取设备树中 pin 信息。
②、根据获取到的 pin 信息来设置 pin 的复用功能
③、根据获取到的 pin 信息来设置 pin 的电气特性,比如上/下拉、速度、驱动能力等。
对于我们使用者来讲,只需要在设备树里面设置好某个 pin 的相关属性即可,其他的初始
化工作均由 pinctrl 子系统来完成, pinctrl 子系统源码目录为 drivers/pinctrl。

■ PIN 配置信息详解 -iomuxc 节点

在这里插入图片描述

pinctrl_hog_1 子节点就是和热插拔有关的 PIN 集合,比如 USB OTG 的 ID 引脚。
pinctrl_flexcan1 子节点是 flexcan1 这个外设所使用的 PIN,
pinctrl_wdog 子节点是 wdog 外设所使用的 PIN。

■ 设备树中添加 pinctrl 节点模板

如果需要在 iomuxc 中添加我们自定义外设的 PIN,那么需要新建一个子节点,然后将这个自定义外设的所有 PIN 配置信息都放到这个子节点中。

1、创建对应的节点
2、添加“fsl,pins”属性
3、在“fsl,pins”属性中添加 PIN 配置信息

pinctrl_test: testgrp {
	fsl,pins = <
		MX6UL_PAD_GPIO1_IO00__GPIO1_IO00 config /*config 是具体设置值*/
	>;
};

相关文章:

  • AI大模型从0到1记录学习 day08
  • Django:构建高性能Web应用
  • 国内GitHub镜像源全解析:加速访问与替代方案指南
  • Spring @EnableAutoConfiguration 注解执行过程详解
  • 卷积神经网络在图像分割中的应用:原理、方法与进展介绍
  • 如何使用 GPT-4o API 实现视觉、文本、图像等功能 附赠gpt升级和4o额度购买
  • Matlab设置表table的表头
  • 为什么使用Flask + uWSGI + Nginx 部署服务?
  • 硬件基础--14_电功率
  • Transformers中的BertConfig、BertModel详解
  • 蓝桥杯备考:贪心问题之均分纸牌
  • 【2.项目管理】2.4 Gannt图【甘特图】
  • 【Python】类定义过程中 列表推导式获取类变量的问题
  • Oracle 23ai Vector Search 系列之2 ONNX(Open Neural Network Exchange)
  • Webpack 配置详解:从入门到实战
  • 复习MySQL20250327
  • OmniPlan Pro for Mac 项目管理流程
  • 人工智能模型的自我学习能力
  • 相对位置2d矩阵和kron运算的思考
  • 各种响应的理解
  • 王毅集体会见加勒比建交国外长及代表
  • 美国三大指数全线高开:纳指涨逾4%,大型科技股、中概股大涨
  • “电竞+文旅”释放价值,王者全国大赛带火赛地五一游
  • 姚洋将全职加盟上海财经大学,担任滴水湖高级金融学院院长
  • 山西忻州市人大常委会副主任郭建平接受审查调查
  • 经济日报金观平:充分发挥超大规模市场优势