Linux中pinctrl子系统中配置电气属性

Linux中pinctrl子系统中配置电气属性学习笔记

在这里插入图片描述
以MX6UL_PAD_UART2_TX_DATA__GPIO1_IO20为例
此宏定义一般定义在.dtsi文件所包含的xxx-pinfunc.h中,本例定义在imx6ul-pinfunc.h中,含义是IOMUXC_SW_MUX_CTL_PAD_UART2_TX_DATA复用为GPIO1_IO20,
在这里插入图片描述
宏定义之后5个数字具体含义如下:
在这里插入图片描述

1.0x0094 :mux_reg是寄存器IOMUXC_SW_MUX__CTL_PAD_UART2_TX_DATA的偏移地址,寄存器最终地址=基地址+偏移地址,如下图芯片手册所述:
在这里插入图片描述
2.0x0320:conf_reg是寄存器IOMUXC_SW_PAD_CTL_PAD_UART2_TX_DATA的偏移地址,用于配置电气属性
3.0x0000:input_reg,有些外设有 input_reg 寄存器,有 input_reg 寄存器的外设需要配置 input_reg 寄存器,此处input_reg无需配置,故为0
4.0x05:mux_mode,是设置
IOMUXC_SW_MUX__CTL_PAD_UART2_TX_DATA寄存器为 0x5,也即是设置该寄存器复用为GPIO1_IO20,芯片手册描述如下:
在这里插入图片描述
5.0x0:input_val 寄存器值,因为此处没有设置input_reg,所以为0
分析完MX6UL_PAD_UART2_TX_DATA__GPIO1_IO20构成,接着分析该宏定义之后的数字0x10b0:0x10b0是conf_reg配置寄存器所写入的具体数值,详看IOMUXC_SW_PAD_CTL_PAD_UART2_TX_DATA寄存器配置
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CodeAmmon

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值