最近加入的商品

0 件商品 共计 ¥0.00

加入购物车
您的购物车中还没有任何商品。

赛普盛科技

Embedded Computer System

专注嵌入式计算机系统

基于Linux系统pinmux参数配置- NXP i.MX 6

首页    NXP iMX6 应用开发    iMX6 应用经验分享    基于Linux系统pinmux参数配置- NXP i.MX 6

 

 

有些客户不太了解内核中引脚 pinmux 的具体位置,下面咱们简单的介绍下内核中和pinmux 相关的一些文件:
1arch/arm/boot/dts/imx6q-pinfunc.h 文件,该文件都是一些宏定义,固定形式为
MX6QDL_PAD_引脚名_引脚功能描述

2.以串口 3 的配置为例,简单说一下参数的具体配置:
Uart3 引脚在 arch/arm/boot/dts/imx6q-pinfunc.h 文件中的配置如下:

在设备树中也有引脚的配置,uart3 的引脚在 arch/arm/boot/dts/imx6qdl-sabresd.dtsi 中的配置如下:

将管脚的配置展开即: 0x0b4 0x3c8 0x930 0x2 0x0 0x1b0b1
0x0b4 | 0x3c8 | 0x000 | 0x2 | 0x0 | 0x1b0b1
--------------------------------------------------------------------------------------------------------
mux_ctrl_ofs | pad_ctrl_ofs | sel_input_ofs | mux_mode | sel_input |
pad_ctrl

3.以上参数是怎么确定呢?
下面以 EIM_D24 复用为 UART3_TX_DATA 为例说明复用管脚参数配置方法。
注:下述参考手册为《IMX6DQRM.pdf》,官方提供手册名称会根据版本新旧有不同。

对于复用管脚的配置, 应该在手册管脚复用的章节(IOMUXC 中查找。 我们搜索
MX6QDL_PAD_EIM_D24__UART3_TX_DATA 的中间部分“EIM_D24”可以直接跳转至
EIM_D24 引脚的寄存器章节。
3.1 其中 mux_ctrl_ofs 0x0b4 mux_mode ATL2,如下图:

3.2 pad_ctrl_ofs 0x3C8,并根据此配置 pad_ctrl 0x1b0b1(配置上拉电阻、频率等
等),如下图:

3.3 input_ofs 查找 IOMUXC 章节以 SELECT_INPUT 结尾的部分,中间选择
UART3_TX_DATA ,选择相应的 sel_input_ofs sel_input,如果没有这里
sel_input_ofs=0x000 即可,对应的 sel_input 0 即可。 我们以一个有 sel_input
MX6QDL_PAD_EIM_D25__UART3_RX_DATA 引脚为例:搜索UART3_RX_DATA找到
sel_input_ofs=0x930,sel_input=0x1,如下图所示:

 
 

 

 

 
 
2022年2月12日 18:08
浏览量:0
收藏
    • 联系客服

    • 0755 2955 4030
    • 189 2600 3503
    • sales@superfae.cn
    • 服务时间

    • 周一至周五 9:00-18:00
    • 微信二维码