1
、
UART3 IO
节点创建
UART3
用到了
UART3_TXD
和
UART3_RXD
这两个
IO
,因此要先在
iomuxc
中创建
UART3
对应的
pinctrl
子节点,在
iomuxc
中添加如下内容:
1 pinctrl_uart3: uart3grp {
2 fsl,pins = <
3 MX6UL_PAD_UART3_TX_DATA__UART3_DCE_TX 0X1b0b1
4 MX6UL_PAD_UART3_RX_DATA__UART3_DCE_RX 0X1b0b1
5 >;
6 };
最后检查一下
UART3_TX
和
UART3_RX
这两个引脚有没有被用作其他功能,如果有的话
要将其屏蔽掉,保证这两个
IO
只用作
UART3.
2
、添加
uart3
节点
默认情况下
imx6ull-alientek-emmc.dts
中只有
uart1
和
uart2
这两个节点,如图
所示:
&uart1 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_uart1>;
status = "okay";
};
&uart2 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_uart2>;
fsl,uart-has-rtscts;
/* for DTE mode, add below change */
/* fsl,dte-mode; */
/* pinctrl-0 = <&pinctrl_uart2dte>; */
status = "okay";
};
uart1
是
UART1
的,
I.MX6U
开发板上没有用到
UART2
,而且
UART2 默认用到了 UART3
的
IO
,因此需要将
uart2
这个节点删除掉,然后加上
UART3
对应的
uart3
, uart3 节点内容如下:
1 &uart3 {
2 pinctrl-names = "default";
3 pinctrl-0 = <&pinctrl_uart3>;
4 status = "okay";
5 };
完成以后重新编译设备树并使用新的设备树启动
Linux
,如果设备树修改成功的话,系统
启动以后就会生成一个名为“
/dev/ttymxc2
”的设备文件,
ttymxc2
就是
UART3
对应的设备文
件,应用程序可以通过访问
ttymxc2
来实现对
UART3
的操作。