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

【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 是具体设置值*/
	>;
};

http://www.kler.cn/a/600534.html

相关文章:

  • SpringBoot-配置文件中敏感信息的加密保姆级教程
  • 高度电路中时序设计之二
  • (C语言)习题练习 (sizeof和strlen)
  • UE5摄像机震屏/晃动效果
  • 视频孪生技术赋能智慧交管建设:迈向实时实景的交通管理新时代
  • 参考apollo3 FLASH样例改写实际应用的接口函数(带磨损均衡处理)
  • OpenHarmony 入门——ArkUI 跨页面数据同步和应用全局单例的UI状态存储AppStorage 小结(三)
  • 如何使用QuickAPI生成带参数的数据API(基于原生SQL)
  • Docker多阶段构建:告别臃肿镜像的终极方案
  • AI Agent开发与应用
  • 可变形交互注意力模块(DIA-Module)及代码详解
  • 【C++】回调函数和回调对象
  • 学习 - C++ 全栈聊天项目(1)架构概述和登录界面
  • 从零构建大语言模型全栈开发指南:第三部分:训练与优化技术-3.1.1大规模语料库构建(Wikipedia、Common Crawl清洗与分词)
  • 深入讲解 Windows 防火墙入站规则
  • stm32 外部中断实现
  • 深入剖析Java虚拟机(JVM):从零开始掌握Java核心引擎
  • 【象形柱状图】——1
  • TCP传输---计算机网络
  • WebSocket 的错误处理与断线重连