<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic IMX8M Mini UART unreliable in i.MX Processors</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/IMX8M-Mini-UART-unreliable/m-p/1416168#M187208</link>
    <description>&lt;P&gt;The processor is on a single board from MYiR, the MYS-8MMX, but they have been unable to provide any help. Perhaps someone here has some insight.&lt;/P&gt;&lt;P&gt;The board is running ubuntu 18.04.6 LTS. I was able to modify the device tree source file and rebuild the kernel to use some of the GPIO pins for UART as indicated in the SBC’s documentation. The TX line always functions. Unfortunately there is a 50% chance upon boot that the RX line does NOT function at all, but 50% of the time everything works great and can continue to run just fine for hours.&lt;/P&gt;&lt;P&gt;When the issue occurs after boot, it will usually receive the first input preceded by a ton of NULLs, and then won't receive any input at all after that. Sometimes it does not even receive the first input.&lt;/P&gt;&lt;P&gt;I have verified with a oscilloscope that there is not an issue with the serial cable i.e. the RX line on the board is receiving the bytes.&lt;/P&gt;</description>
    <pubDate>Fri, 18 Feb 2022 19:13:19 GMT</pubDate>
    <dc:creator>trevR</dc:creator>
    <dc:date>2022-02-18T19:13:19Z</dc:date>
    <item>
      <title>IMX8M Mini UART unreliable</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/IMX8M-Mini-UART-unreliable/m-p/1416168#M187208</link>
      <description>&lt;P&gt;The processor is on a single board from MYiR, the MYS-8MMX, but they have been unable to provide any help. Perhaps someone here has some insight.&lt;/P&gt;&lt;P&gt;The board is running ubuntu 18.04.6 LTS. I was able to modify the device tree source file and rebuild the kernel to use some of the GPIO pins for UART as indicated in the SBC’s documentation. The TX line always functions. Unfortunately there is a 50% chance upon boot that the RX line does NOT function at all, but 50% of the time everything works great and can continue to run just fine for hours.&lt;/P&gt;&lt;P&gt;When the issue occurs after boot, it will usually receive the first input preceded by a ton of NULLs, and then won't receive any input at all after that. Sometimes it does not even receive the first input.&lt;/P&gt;&lt;P&gt;I have verified with a oscilloscope that there is not an issue with the serial cable i.e. the RX line on the board is receiving the bytes.&lt;/P&gt;</description>
      <pubDate>Fri, 18 Feb 2022 19:13:19 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/IMX8M-Mini-UART-unreliable/m-p/1416168#M187208</guid>
      <dc:creator>trevR</dc:creator>
      <dc:date>2022-02-18T19:13:19Z</dc:date>
    </item>
    <item>
      <title>Re: IMX8M Mini UART unreliable</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/IMX8M-Mini-UART-unreliable/m-p/1420954#M187623</link>
      <description>&lt;P&gt;&lt;STRONG&gt;&lt;SPAN&gt;Let me assume you are using ECSPI1 pins for UART3:&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; Open the Base board schematic of Imx8MM-EVK, and find page 10, we can see the following warnings:&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="b45499_0-1646113732819.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/172067i8AD0061EF3A1318C/image-size/medium?v=v2&amp;amp;px=400" role="button" title="b45499_0-1646113732819.png" alt="b45499_0-1646113732819.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; It means that internal pull(up/down) is invalid when using 3.3V IO, so we should disable internal pull(up/down) of UART pins of CPU.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; For example, some customers use ECSPI1 PADs to multiplexed UART signals:&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="b45499_1-1646113732828.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/172068iB16DEF89882914AC/image-size/medium?v=v2&amp;amp;px=400" role="button" title="b45499_1-1646113732828.png" alt="b45499_1-1646113732828.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Device tree should be changed like below:&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Open linux-imx/arch/arm64/boot/dts/freescale/imx8mm-evk.dtsi, and find pinctrl_uart3 node, modify PAD strength from 0x140 to 0x40, like below:&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pinctrl_uart3: uart3grp {&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fsl,pins = &amp;lt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MX8MM_IOMUXC_ECSPI1_SCLK_UART3_DCE_RX&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;0x40&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MX8MM_IOMUXC_ECSPI1_MOSI_UART3_DCE_TX&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;0x40&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MX8MM_IOMUXC_ECSPI1_SS0_UART3_DCE_RTS_B&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;0x40&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MX8MM_IOMUXC_ECSPI1_MISO_UART3_DCE_CTS_B&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;0x40&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;gt;;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; };&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Above code was validated on &lt;STRONG&gt;i.MX8MM&lt;/STRONG&gt;-EVK+&lt;/SPAN&gt;AW-CM276-uSD January 2021.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;[Note]&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;As for my personal opinion, probably even if IO=1.8V, timeout issue also occur, so above code can also be used.&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Above code has been validated for Bluetooth which uses UART3 port. &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;You can try it.&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 01 Mar 2022 05:49:24 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/IMX8M-Mini-UART-unreliable/m-p/1420954#M187623</guid>
      <dc:creator>Rita_Wang</dc:creator>
      <dc:date>2022-03-01T05:49:24Z</dc:date>
    </item>
  </channel>
</rss>

