概述
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寄存器配置
最后
以上就是热情时光为你收集整理的Linux中pinctrl子系统中配置电气属性的全部内容,希望文章能够帮你解决Linux中pinctrl子系统中配置电气属性所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复