i.MX6UL 管脚复用的参数配置方法(以设备树为例)

  NXP Cortex-A7 i.MX6UltraLite 的外设资源非常丰富。为了提供芯片的性价比,CPU厂家引入了PINMUX的架构,简单说就是引脚存在复用,以上说的这些接口,只用了大约114个引脚,每个引脚最大可以有9种功能(具体可查看Pin List),每个功能有可以出现在不同的引脚上面。

  这里以使用UART3 作为RS485功能为例来说明;

  首先查看i.MX6ul哪些引脚可做为uart3功能;

注:上述参考手册为《IMX6ULRM.pdf》

Chapter 4​: External Signals and Pin Multiplexing --- Muxing Options

这里选

UART3_TX_DATA作为TX_DATA,

UART3_RX_DATA作为RX_DATA;

UART3_RTS引脚485方向引脚

接下来便是设备树中PINMUX的配置:

&uart3 {
    pinctrl-names = "default";
    pinctrl-0 = <&pinctrl_uart3>;
    fsl,rs485-gpio-txen = <&gpio1 27 GPIO_ACTIVE_HIGH>;
    linux,rs485-enabled-at-boot-time;
    status = "okay";
};
pinctrl_uart3: uart3grp {
    fsl,pins = <
    MX6UL_PAD_UART3_TX_DATA__UART3_DCE_TX   0x1b0b1
    MX6UL_PAD_UART3_RX_DATA__UART3_DCE_RX   0x1b0b1
    MX6UL_PAD_UART3_RTS_B__GPIO1_IO27       0x1b0b1 /* RS485 RE/DE  */
    >;
};
MX6UL_PAD_UART3_TX_DATA__UART3_DCE_TX,MX6UL_PAD_UART3_RX_DATA__UART3_DCE_RX这些属性名称可以在 arch/arm/boot/dts/imx6ul-pinfunc.h 文件中搜索引脚关键
字来确定,如 UART3_TX_DATA 就可以找到 MX6UL_PAD_UART3_TX_DATA__*********,然后就是根据需要复用成的功能做选择了。

posted on 2018-08-14 20:03  Jalyn  阅读(4650)  评论(0编辑  收藏  举报

导航