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

Linux-驱动开发-pinctrl 子系统

  • [■ pinctrl 子系统](#■ pinctrl 子系统)
    • [■ PIN 配置信息详解 -iomuxc 节点](#■ PIN 配置信息详解 -iomuxc 节点)
    • [■ 设备树中添加 pinctrl 节点模板](#■ 设备树中添加 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 配置信息

cpp 复制代码
pinctrl_test: testgrp {
	fsl,pins = <
		MX6UL_PAD_GPIO1_IO00__GPIO1_IO00 config /*config 是具体设置值*/
	>;
};
相关推荐
charlie11451419118 小时前
Linux 字符设备驱动:cdev、设备号与设备模型
linux·开发语言·驱动开发·c
XD7429716361 天前
科技早报晚报|2026年5月2日:Spec 驱动开发、空口隔离交付与时序预测 Copilot,今天最值得跟进的 3 个机会
驱动开发·科技·copilot·开源项目·科技新闻·开发者工具
神一样的老师1 天前
【兆易创新GD32VW553开发板试用】红外遥控接入天气时钟实战
驱动开发·单片机·嵌入式硬件
charlie1145141912 天前
嵌入式Linux驱动开发——新字符设备驱动 API 概览
linux·运维·驱动开发
莎士比亚的文学花园2 天前
Linux驱动开发(4)——总线驱动
驱动开发
智者知已应修善业2 天前
【用一片74LS139和一片74Ls00,设计带高电平有效使能输入端的3线-8线译码器】2023-10-16
驱动开发·经验分享·笔记·硬件架构·硬件工程
Ghost Face...3 天前
LS2K PCIe驱动开发全链路解析
驱动开发
Joseph Cooper3 天前
Linux Power Management 子系统:从 suspend/resume 到 Runtime PM、PM QoS
linux·驱动开发·linux kernel·嵌入式linux·电源管理
d111111111d3 天前
移植MQTT到STM32
驱动开发
码踏樱花3 天前
navicat17安装包和破解
驱动开发