imx6ul-14x14-evk.dts中关于串口引脚的定义
pinctrl_uart1: uart1grp {
fsl,pins = <
MX6UL_PAD_UART1_TX_DATA__UART1_DCE_TX 0x1b0b1
MX6UL_PAD_UART1_RX_DATA__UART1_DCE_RX 0x1b0b1
>;
};
0x1b0b1为控制寄存器的值
#########################################################
MX6UL_PAD_UART1_RX_DATA__UART1_DCE_RX的定义在imx6ul-pinfunc.h中,
#define MX6UL_PAD_UART1_RX_DATA__UART1_DCE_RX 0x0088 0x0314 0x0624 0x0 0x3
<mux_reg conf_reg input_reg mux_mode input_val>
0x0088 0x0314 0x0624 0x0 0x3
通过查看imx6ul参考手册:找到相应的寄存器地址
SW_MUX_CTL Register
Address: 20E_0000h base + 88h offset = 20E_0088h
SW_PAD_CTL Register
Address: 20E_0000h base + 314h offset = 20E_0314h
UART1_RX_DATA_SELECT_INPUT DAISY Register
(IOMUXC_UART1_RX_DATA_SELECT_INPUT)
DAISY Register
Address: 20E_0000h base + 624h offset = 20E_0624h
mux_mode设置复用功能为0,IOMUXC_UART1_RX_DATA_SELECT_INPUT寄存器的值为0x3
0x1b0b1即为控制寄存器的值
<_mux_ctrl_ofs _pad_ctrl_ofs _select_input_ofs _mux_mode _select_input _pad_ctrl >