Hi All,
We know the i.mx6ull has UART1 and UART2 enabled by default.
In our board, we would like to use UART4, UART5, and then we have modify the device tree as below.
The result is TX from our board to PC console is OK. But RX from PC console to our board is no action (even no interrupts) Which thing we miss?
pinctrl_uart4: uart4grp {
fsl,pins = <
MX6UL_PAD_UART4_TX_DATA__UART4_DCE_TX 0x1b0b1
MX6UL_PAD_UART4_RX_DATA__UART4_DCE_RX 0x1b0b1
>;
};
pinctrl_uart5: uart5grp {
fsl,pins = <
MX6UL_PAD_UART5_TX_DATA__UART5_DCE_TX 0x1b0b1
MX6UL_PAD_UART5_RX_DATA__UART5_DCE_RX 0x1b0b1
>;
};
environment:
our board===UART4/UART5===usb2rs232----PC
echo "hello" > /dev/ttymxc4 is ok
but cat /dev/ttymxc4 does not receive message from PC teraterm console.
Regards,
Stephen
I met the same problem.I use MCIMX6Y1CVM05AA on my board and uart5 can‘t receive data.But the uart5 is running correctly on MCIMX6Y2CVM05AA by using the same kernel and dts.
Is there any difference between the two cpus I missed?
I think I find the reason.In the imx6ul-pinfun.c define the pin of uart5:
#define MX6UL_PAD_UART5_RX_DATA__UART5_DCE_RX 0x00C0 0x034C 0x0644 0x0 0x5
But the input_val is for imx6ul as follow:
imx6ull's input_val is changed:
So I think the right value as below:
#define MX6ULL_PAD_UART5_RX_DATA__UART5_DCE_RX 0x00C0 0x034C 0x0644 0x0 0x7
yeah,I have tested.It's working on my board.:smileyhappy: