Hello I am using Colibri iMX6DL with IRISv2.0A
with Angstrom v2017.12 - Kernel 4.9.87-rt62-2.8.4+g3bb6e32 image
I customized the devicetree as;
Pin defs
Index: kernel-source/arch/arm/boot/dts/imx6qdl-colibri.dtsi
===================================================================
--- kernel-source.orig/arch/arm/boot/dts/imx6qdl-colibri.dtsi
+++ kernel-source/arch/arm/boot/dts/imx6qdl-colibri.dtsi
@@ -772,7 +772,8 @@
};
uart2 {
- pinctrl_uart2_dte: uart2grp-dte { /* DTE mode */ fsl,pins = <
+ pinctrl_uart2_dte: uart2grp-dte { /* DTE mode */
+ fsl,pins = <
MX6QDL_PAD_SD4_DAT4__UART2_TX_DATA 0x1b0b1
MX6QDL_PAD_SD4_DAT7__UART2_RX_DATA 0x1b0b1
MX6QDL_PAD_SD4_DAT6__UART2_RTS_B 0x1b0b1
@@ -790,6 +791,18 @@
};
};
+
+ uart4 {
+ pinctrl_uart4_dte: uart4grp-dte { /* DTE mode */
+ fsl,pins = <
+ MX6QDL_PAD_CSI0_DAT13__UART4_TX_DATA 0x1b0b12
+ MX6QDL_PAD_CSI0_DAT12__UART4_RX_DATA 0x1b0b1
+ >;
+ };
+ };
+
+
+
usdhc {
pinctrl_mmc_cd: gpio_mmc_cd {
fsl,pins = <
@@ -837,8 +850,6 @@
MX6QDL_PAD_CSI0_DAT7__EIM_DATA05 0x1b0b0
MX6QDL_PAD_CSI0_DAT8__EIM_DATA06 0x1b0b0
MX6QDL_PAD_CSI0_DAT9__EIM_DATA07 0x1b0b0
- MX6QDL_PAD_CSI0_DAT12__EIM_DATA08 0x1b0b0
- MX6QDL_PAD_CSI0_DAT13__EIM_DATA09 0x1b0b0
MX6QDL_PAD_CSI0_DAT14__EIM_DATA10 0x1b0b0
MX6QDL_PAD_CSI0_DAT15__EIM_DATA11 0x1b0b0
MX6QDL_PAD_CSI0_DAT16__EIM_DATA12 0x1b0b0
@@ -1004,6 +1015,16 @@
status = "disabled";
};
+
+/* UART_4 */
+&uart4 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_uart4_dte>;
+ fsl,dte-mode;
+ status = "disabled";
+};
+
+
&usbh1 {
vbus-supply = <®_usb_host_vbus>;
status = "disabled";
.dts file
Index: kernel-source/arch/arm/boot/dts/imx6qdl-colibri.dtsi
===================================================================
--- kernel-source.orig/arch/arm/boot/dts/imx6qdl-colibri.dtsi
+++ kernel-source/arch/arm/boot/dts/imx6qdl-colibri.dtsi
@@ -790,6 +790,15 @@
};
};
+ uart4 {
+ pinctrl_uart4_dte: uart4grp-dte { /* DTE mode */
+ fsl,pins = <
+ MX6QDL_PAD_CSI0_DAT13__UART4_TX_DATA 0x1b0b12
+ MX6QDL_PAD_CSI0_DAT12__UART4_RX_DATA 0x1b0b1
+ >;
+ };
+ };
+
usdhc {
pinctrl_mmc_cd: gpio_mmc_cd {
fsl,pins = <
@@ -1003,6 +1012,14 @@
fsl,dte-mode;
status = "disabled";
};
+
+/* UART_4 */
+&uart4 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_uart4_dte>;
+ fsl,dte-mode;
+ status = "okay";
+};
&usbh1 {
vbus-supply = <®_usb_host_vbus>;
When I transmit data from Colibri to FTDI, the received data is not correct. Packages are crashing.
But vice versa, data packets from FTDI to Colibri are perfectly received by Colibri.
When I applied pull-up (with 10k) to the transmission line (colibri to FTDI) it worked successfully.
Then I checked the board design schematics of Viola and Iris and the UART TX lines did not have pull-up resistors.
Are pull-up resistors really needed on Uart TX lines? or can i solve this in devicetree?