<?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>Vybrid ProcessorsのトピックRe: Vybrid UART's from Linux</title>
    <link>https://community.nxp.com/t5/Vybrid-Processors/Vybrid-UART-s-from-Linux/m-p/292245#M2340</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The memtool is found in the imx-test package found in i.MX BSP's.&amp;nbsp; The command ./ltib -m prep -p imx-test will provide the sources in &amp;lt;ltib&amp;gt;/rpm/BUILD directory.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;As Iospeh stated TimeSys does not today provide memtool in their offerrings.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Another user space application that is available in TimeSys Vybrid desktop factory is devmem which is found in the Busybox utilities. By default devmem is not enabled. Here are the steps to enable, build, and location in the root file system.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The BusyBox &lt;A href="http://www.busybox.net/downloads/BusyBox.html"&gt;documentation&lt;/A&gt; has this description:&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-size: 12pt; font-family: 'Times New Roman','serif';"&gt;devmem&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="margin-top: auto; padding-left: 45px; margin-bottom: auto;"&gt;&lt;SPAN style="font-family: 'Times New Roman','serif'; font-size: 12pt;"&gt;devmem ADDRESS [WIDTH [VALUE]]&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-top: auto; padding-left: 45px; margin-bottom: auto;"&gt;&lt;SPAN style="font-family: 'Times New Roman','serif'; font-size: 12pt;"&gt;Read/write from physical address&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0px 0px 0px 0.5in;"&gt;&lt;SPAN style="font-family: 'Courier New'; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ADDRESS Address to act upon&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0px 0px 0px 0.5in;"&gt;&lt;SPAN style="font-family: 'Courier New'; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WIDTH&amp;nbsp;&amp;nbsp; Width (8/16/...)&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0px 0px 0px 0.5in;"&gt;&lt;SPAN style="font-family: 'Courier New'; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; VALUE&amp;nbsp;&amp;nbsp; Data to be written&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This assumes you have downloaded, installed and built desktop factory once. (Not available from Web factory).&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;make busybox-menuconfig&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="busybox-menuconfig1.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/119491i82EC70224013B87C/image-size/large?v=v2&amp;amp;px=999" role="button" title="busybox-menuconfig1.png" alt="busybox-menuconfig1.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;At the desktop factory top level directory issue the “make busybox-menuconfig” command which then shows the configuration menu. Using the keyboard arrow keys, down arrow and select “Miscellaneous Utilities then hit the enter key. This selects the Miscellaneous Utilities menu.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="busybox-menuconfig2.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/119492i6ED57D81471355F3/image-size/large?v=v2&amp;amp;px=999" role="button" title="busybox-menuconfig2.png" alt="busybox-menuconfig2.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;Using the down arrow key go down until devmem entry. Using the space bar select to enable and you will see [*] the item is selected. &lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="busybox-menuconfig4.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/119493iDD892F1C49B8ED0E/image-size/large?v=v2&amp;amp;px=999" role="button" title="busybox-menuconfig4.png" alt="busybox-menuconfig4.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;Right arrow to exit and hit enter and then select yes to save.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2. make busybox-build&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;3. make busybox-rfs-install&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This installs in the root file system. To see, change to the directory on your installation where the desktop factory is installed, for me I had :&lt;/P&gt;&lt;P&gt; cd /home/user/vybrid/factory/build_armv7l-timesys-linux-gnueabi/rfs/&lt;/P&gt;&lt;P&gt;$ find . -name devmem -print&lt;/P&gt;&lt;P&gt;./sbin/devmem&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The root file system (rfs) now has the devmem utility.&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;/SPAN&gt;&lt;/SPAN&gt; &lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;/SPAN&gt;&lt;/SPAN&gt; &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 27 Jun 2013 02:37:24 GMT</pubDate>
    <dc:creator>CurtisWald</dc:creator>
    <dc:date>2013-06-27T02:37:24Z</dc:date>
    <item>
      <title>Vybrid UART's from Linux</title>
      <link>https://community.nxp.com/t5/Vybrid-Processors/Vybrid-UART-s-from-Linux/m-p/292235#M2330</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi, does anybody have a clue how to use other then the default (UART1) UART from the Timesys' Linux? They seem to be disabled in kernel but maybe I'm wrong.&lt;/P&gt;&lt;P&gt;I'm discussing the topic with Timesys support but they also don't seem to be sure about the solution.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 14 Jun 2013 09:15:55 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Vybrid-Processors/Vybrid-UART-s-from-Linux/m-p/292235#M2330</guid>
      <dc:creator>kubiznak_petr</dc:creator>
      <dc:date>2013-06-14T09:15:55Z</dc:date>
    </item>
    <item>
      <title>Re: Vybrid UART's from Linux</title>
      <link>https://community.nxp.com/t5/Vybrid-Processors/Vybrid-UART-s-from-Linux/m-p/292236#M2331</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I'm not sure if this helps, but we had to modify setup_iomux_uart to get UART2 working in uBoot.&amp;nbsp; &lt;/P&gt;&lt;P&gt;The pads should be setup for ALT7.&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;__raw_writel(0x007011a2, IOMUXC_PAD_028);&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;__raw_writel(0x007011a1, IOMUXC_PAD_029);&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 16 Jun 2013 21:25:34 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Vybrid-Processors/Vybrid-UART-s-from-Linux/m-p/292236#M2331</guid>
      <dc:creator>mnw</dc:creator>
      <dc:date>2013-06-16T21:25:34Z</dc:date>
    </item>
    <item>
      <title>Re: Vybrid UART's from Linux</title>
      <link>https://community.nxp.com/t5/Vybrid-Processors/Vybrid-UART-s-from-Linux/m-p/292237#M2332</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Martin,&lt;/P&gt;&lt;P&gt;thank you for your reply. I tried to modify IOMUXC as you suggested but it did not change anything. Since I don't know the role of u-boot deeply, can you please provide more information?&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Is this the only change you made to set UART2 working?&lt;/LI&gt;&lt;LI&gt;Is u-boot responsible for all requested configuration? I thought the hardware should be initialized during the Linux boot.&lt;/LI&gt;&lt;LI&gt;Is there a way how to test functionality of a particular UART from u-boot?&lt;/LI&gt;&lt;/UL&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 17 Jun 2013 14:35:01 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Vybrid-Processors/Vybrid-UART-s-from-Linux/m-p/292237#M2332</guid>
      <dc:creator>kubiznak_petr</dc:creator>
      <dc:date>2013-06-17T14:35:01Z</dc:date>
    </item>
    <item>
      <title>Re: Vybrid UART's from Linux</title>
      <link>https://community.nxp.com/t5/Vybrid-Processors/Vybrid-UART-s-from-Linux/m-p/292238#M2333</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I'm only working on uboot and can't tell you anything about Linux sorry.&amp;nbsp; &lt;/P&gt;&lt;P&gt;The other change you need to make in uboot is CONFIG_SYS_UART_PORT in include/configs/vybrid.h.&lt;/P&gt;&lt;P&gt;This changes the main output port and would be a good way to test the port on your hardware.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 17 Jun 2013 20:19:05 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Vybrid-Processors/Vybrid-UART-s-from-Linux/m-p/292238#M2333</guid>
      <dc:creator>mnw</dc:creator>
      <dc:date>2013-06-17T20:19:05Z</dc:date>
    </item>
    <item>
      <title>Re: Vybrid UART's from Linux</title>
      <link>https://community.nxp.com/t5/Vybrid-Processors/Vybrid-UART-s-from-Linux/m-p/292239#M2334</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Petr&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have been digging a bit into this question. First, I booted using timesys linux and checked what are the supported uart drivers on the kernel. It seems it only loads uart 1 as you mention.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE&gt;
&lt;P&gt;fb3:&amp;nbsp; fb device registered successfully.&lt;/P&gt;
&lt;P&gt;Serial: MVF driver&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;imx-uart.1: ttymxc1 at MMIO 0x40028000 (irq = 94) is a IMX&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;console [ttymxc1] enabled&lt;/P&gt;
&lt;SPAN class="mce_paste_marker"&gt;&lt;/SPAN&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;So adding code in the Kernel source to support other ports is a must I think.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Enabling a different uart on uboot won't make it work on linux since linux takes over and does all over again anything needed for the system.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This is what I would try, without knowing for sure is enough (we need to include timesys into this thread so they can provide their thoughts)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;~/timesys/twr_vf600/kernel-source/linux-3.0/arch/arm/mach-mvf has specific initalization for the tower board.&lt;/LI&gt;&lt;LI&gt; board-twr-vf700.c&lt;OL&gt;&lt;LI&gt;add pin initialization, only uart 1 pins are initialized.&lt;/LI&gt;&lt;LI&gt;add another struct for imxuart_platform_data for the uart you want to support. That will use a different dma hardware request.&lt;/LI&gt;&lt;LI&gt;on mvf_vf700_init_uart add another call to init the additional instance of the uart&lt;/LI&gt;&lt;/OL&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I think after this the upper layers will take care of having the proper instances of the driver ports. I would expect that the additional ports will be mentioned during the linux boot messages.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 17 Jun 2013 20:59:21 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Vybrid-Processors/Vybrid-UART-s-from-Linux/m-p/292239#M2334</guid>
      <dc:creator>ioseph_martinez</dc:creator>
      <dc:date>2013-06-17T20:59:21Z</dc:date>
    </item>
    <item>
      <title>Re: Vybrid UART's from Linux</title>
      <link>https://community.nxp.com/t5/Vybrid-Processors/Vybrid-UART-s-from-Linux/m-p/292240#M2335</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Ioseph,&lt;/P&gt;&lt;P&gt;thank you for your reply. I've already done what you suggest but it obviously is not enough. Firstly what I did with Linux kernel:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;In &lt;EM&gt;board-twr-vf700.c&lt;/EM&gt; I added all what you suggest for UART0 and UART2.&lt;/LI&gt;&lt;LI&gt;For UART2 I had to define MVF600_PAD79_PTD0_UART2_TX, the same for PTD1 and PTD2 in &lt;EM&gt;iomux-mvf.h&lt;/EM&gt;.&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;That is enough to have created devices ttymxc0, ttymxc1 and ttymxc2 in /dev . Further I did with u-boot source:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Modified setup_iomux_uart in &lt;EM&gt;board/freescale/vybrid/vybrid.c&lt;/EM&gt; as Martin suggested. No change noticed.&lt;/LI&gt;&lt;LI&gt;In &lt;EM&gt;include/configs/vybrid.h&lt;/EM&gt; I redefined CONFIG_SYS_UART_PORT to (0).&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Currently I'm getting the following boot sequence:&lt;/P&gt;&lt;P&gt;&lt;CODE&gt;Serial: MVF driver&lt;BR /&gt;imx-uart.0: ttymxc0 at MMIO 0x40027000 (irq = 93) is a IMX&lt;BR /&gt;console [ttymxc0] enabled&lt;BR /&gt;imx-uart.1: ttymxc1 at MMIO 0x40028000 (irq = 94) is a IMX&lt;BR /&gt;imx-uart.2: ttymxc2 at MMIO 0x40029000 (irq = 95) is a IMX&lt;BR /&gt;brd: module loaded&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE&gt;
&lt;P&gt;Enabling a different uart on uboot won't make it work on linux since linux takes over and does all over again anything needed for the system.&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;&lt;P&gt;This is very important but questionable thing. I'm experiencing dependencies between settings of u-boot and Linux. Not only that u-boot's console bootarg changes the behaviour (which is of course expected), but also the value of CONFIG_SYS_UART_PORT affects it.&lt;/P&gt;&lt;P&gt;In my case, Linux console works correctly only in case CONFIG_SYS_UART_PORT is set to the same value &lt;STRONG&gt;X&lt;/STRONG&gt; as console=ttymxc&lt;STRONG&gt;X&lt;/STRONG&gt;. This way I can switch the console between UART0 and UART1 successfully (did not test for UART2 as it is RS485). But while one UART selected this way works fine, the remaining do not work.&lt;/P&gt;&lt;P&gt;Say I selected UART0. Console works correctly on this uart. I can echo to /dev/ttymxc0 or communicate with it using microcom (from the device, via telnet). If I echo to /dev/ttymxc1 or /dev/ttymxc2, nothing happens. If I cat it, it somehow crashes as I usually have to reboot. It also does not communicate with microcom, which even does not quit after specified time (-t option) - I have to kill it from different telnet session.&lt;/P&gt;&lt;P&gt;The same situation happens if I switch to UART1, with the difference the only working uart is then UART1, the others crash the same way as explained above. Thus it must unluckily be somehow connected to the u-boot configuration. But &lt;STRONG&gt;how&lt;/STRONG&gt;?&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 18 Jun 2013 09:49:18 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Vybrid-Processors/Vybrid-UART-s-from-Linux/m-p/292240#M2335</guid>
      <dc:creator>kubiznak_petr</dc:creator>
      <dc:date>2013-06-18T09:49:18Z</dc:date>
    </item>
    <item>
      <title>Re: Vybrid UART's from Linux</title>
      <link>https://community.nxp.com/t5/Vybrid-Processors/Vybrid-UART-s-from-Linux/m-p/292241#M2336</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Petr, per you comments it seems there is a dependency on uboot which is a bit unexpected to me.&lt;/P&gt;&lt;P&gt;Based on what you mention, one guess I have is uboot is passing initialized uart channel and linux, just changes baud rate but never inits the registers from the channel.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So I would check:&lt;/P&gt;&lt;P&gt;- where in uboot the uart channel is initialized (selected with &lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;CONFIG_SYS_UART_PORT&lt;/SPAN&gt;)&lt;/P&gt;&lt;P&gt;- check if there is any of this code in the linux kernel low level uart driver initialization (perhaps where baud rate is changed gives a clue) check if this is done for every instance or not.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If there is no such code on linux kernel, then it means it relies on uboot... a quick fix would be adding some register writes on uboot (besides the pin init) to properly initialize the channel.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I may be able to take a look into this tomorrow but wanted to share with you because maybe you do better progress than me.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For your reference, some of the code we use to initialize UART on bare metal... this is what needs to be found on similar form on any of the uboot or linux code.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE&gt;
&lt;P&gt;void uart_init(unsigned long int clkspeed, unsigned long int baud)&lt;/P&gt;
&lt;P&gt;{&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;
&lt;P&gt;&amp;nbsp; uint16 sbr, brfa;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;
&lt;P&gt;&amp;nbsp; /* Enable the pins for the selected UART */&lt;/P&gt;
&lt;P&gt;&amp;nbsp; if(UART_PORT==UART0) //UART0&lt;/P&gt;
&lt;P&gt;&amp;nbsp; {&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //CCM-&amp;gt;CCGR0 |= CCM_CCGR0_CG7(1);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Ungate UART0 clock&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; IOMUXC-&amp;gt;SINGLE.PTB10 = 0x001011A2;&amp;nbsp; //TX&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; IOMUXC-&amp;gt;SINGLE.PTB11 = 0x001011A1;&amp;nbsp; //RX&lt;/P&gt;
&lt;P&gt;&amp;nbsp; }&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; if(UART_PORT==UART1) //UART1&lt;/P&gt;
&lt;P&gt;&amp;nbsp; { &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CCM-&amp;gt;CCGR0 |= CCM_CCGR0_CG8(1);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Ungate UART1 clock&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; IOMUXC-&amp;gt;SINGLE.PTB4 = 0x002011A2;&amp;nbsp;&amp;nbsp; //TX&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; IOMUXC-&amp;gt;SINGLE.PTB5 = 0x002011A1;&amp;nbsp;&amp;nbsp; //RX&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; IOMUXC-&amp;gt;SCI_FLX1_IPP_IND_SCI_RX_SELECT_INPUT=0;&amp;nbsp; //Select PTB5 as RX input &lt;/P&gt;
&lt;P&gt;&amp;nbsp; }&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;
&lt;P&gt;&amp;nbsp; if(UART_PORT==UART2) //UART2&lt;/P&gt;
&lt;P&gt;&amp;nbsp; {&amp;nbsp; &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CCM-&amp;gt;CCGR0 |= CCM_CCGR0_CG9(1);&amp;nbsp;&amp;nbsp; //Ungate UART2 clock&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; IOMUXC-&amp;gt;SINGLE.PTB6 = 0x007011A2; //TX&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; IOMUXC-&amp;gt;SINGLE.PTB7 = 0x007011A1; //RX&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;
&lt;P&gt;&amp;nbsp; IOMUXC-&amp;gt;SCI_FLX2_IPP_IND_SCI_RX_SELECT_INPUT=0;&amp;nbsp; //Select PTB7 as RX input &lt;/P&gt;
&lt;P&gt;&amp;nbsp; }&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;
&lt;P&gt;&amp;nbsp; UART_PORT-&amp;gt;MODEM=0; //Need to clear MODEM register in case BootROM sets it&amp;nbsp; &lt;/P&gt;
&lt;P&gt;&amp;nbsp; &lt;/P&gt;
&lt;P&gt;&amp;nbsp; /* Make sure that the transmitter and receiver are disabled while we &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; * change settings-&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; */&lt;/P&gt;
&lt;P&gt;&amp;nbsp; UART_PORT-&amp;gt;C2 &amp;amp;= ~UART_C2_RE_MASK;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; UART_PORT-&amp;gt;C2 &amp;amp;= ~UART_C2_TE_MASK;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;
&lt;P&gt;&amp;nbsp; /* Configure the UART for 8-bit mode, no parity */&lt;/P&gt;
&lt;P&gt;&amp;nbsp; UART_PORT-&amp;gt;C1 = 0x00;&amp;nbsp; /* We need all default settings, so entire register is cleared */&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;
&lt;P&gt;&amp;nbsp; /* Calculate baud settings */&lt;/P&gt;
&lt;P&gt;&amp;nbsp; sbr = (uint16)((clkspeed*1000)/(baud * 16));&lt;/P&gt;
&lt;P&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; &lt;/P&gt;
&lt;P&gt;&amp;nbsp; UART_PORT-&amp;gt;BDH |= UART_BDH_SBR((sbr &amp;amp; 0x1F00) &amp;gt;&amp;gt; 8);&lt;/P&gt;
&lt;P&gt;&amp;nbsp; UART_PORT-&amp;gt;BDL = UART_BDL_SBR((uint8)(sbr &amp;amp; 0x00FF));&amp;nbsp; &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;
&lt;P&gt;&amp;nbsp; /* Determine if a fractional divider is needed to get closer to the baud rate */&lt;/P&gt;
&lt;P&gt;&amp;nbsp; brfa = (((clkspeed*32000)/(baud * 16)) - (sbr * 32));&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;
&lt;P&gt;&amp;nbsp; UART_PORT-&amp;gt;C4 &amp;amp;= ~UART_C4_BRFA_MASK;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; UART_PORT-&amp;gt;C4 |= UART_C4_BRFA(brfa);&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;
&lt;P&gt;&amp;nbsp; /* Enable receiver and transmitter */&lt;/P&gt;
&lt;P&gt;&amp;nbsp; UART_PORT-&amp;gt;C2 |= UART_C2_RE_MASK;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; UART_PORT-&amp;gt;C2 |= UART_C2_TE_MASK;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;
&lt;P&gt;}&lt;/P&gt;
&lt;SPAN class="mce_paste_marker"&gt;&lt;/SPAN&gt;
&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 19 Jun 2013 01:33:10 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Vybrid-Processors/Vybrid-UART-s-from-Linux/m-p/292241#M2336</guid>
      <dc:creator>ioseph_martinez</dc:creator>
      <dc:date>2013-06-19T01:33:10Z</dc:date>
    </item>
    <item>
      <title>Re: Vybrid UART's from Linux</title>
      <link>https://community.nxp.com/t5/Vybrid-Processors/Vybrid-UART-s-from-Linux/m-p/292242#M2337</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I tried to look for some code in the linux kernel but I got lost... could not find anything.&lt;/P&gt;&lt;P&gt;Is memtool available on timesys linux? maybe you can dump the register configuration of the different UART channels and you can compare vs the values they have during uboot time.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;That will tell quickly if Linux tried to configure the registers or not.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;By the way, have you heard anything back from timesys?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 21 Jun 2013 00:31:27 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Vybrid-Processors/Vybrid-UART-s-from-Linux/m-p/292242#M2337</guid>
      <dc:creator>ioseph_martinez</dc:creator>
      <dc:date>2013-06-21T00:31:27Z</dc:date>
    </item>
    <item>
      <title>Re: Vybrid UART's from Linux</title>
      <link>https://community.nxp.com/t5/Vybrid-Processors/Vybrid-UART-s-from-Linux/m-p/292243#M2338</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Dumping register configuration sounds promising but I did not find such a tool. Maybe I just overlooked it - is "memtool" the real name which I should look for? Should that be accessible from menuconfig? (I tried to look for "memtool" in menuconfig with no success.)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Nothing helpful came from timesys, regrettably.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 24 Jun 2013 08:16:28 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Vybrid-Processors/Vybrid-UART-s-from-Linux/m-p/292243#M2338</guid>
      <dc:creator>kubiznak_petr</dc:creator>
      <dc:date>2013-06-24T08:16:28Z</dc:date>
    </item>
    <item>
      <title>Re: Vybrid UART's from Linux</title>
      <link>https://community.nxp.com/t5/Vybrid-Processors/Vybrid-UART-s-from-Linux/m-p/292244#M2339</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Seems memtool is exclusive on i.mx bsp. I just tried to connect with JTAG debugger and I have access to the peripheral registers.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you send me your kernel binary I can give a try dumping this info manually with the debugger.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 26 Jun 2013 22:53:49 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Vybrid-Processors/Vybrid-UART-s-from-Linux/m-p/292244#M2339</guid>
      <dc:creator>ioseph_martinez</dc:creator>
      <dc:date>2013-06-26T22:53:49Z</dc:date>
    </item>
    <item>
      <title>Re: Vybrid UART's from Linux</title>
      <link>https://community.nxp.com/t5/Vybrid-Processors/Vybrid-UART-s-from-Linux/m-p/292245#M2340</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The memtool is found in the imx-test package found in i.MX BSP's.&amp;nbsp; The command ./ltib -m prep -p imx-test will provide the sources in &amp;lt;ltib&amp;gt;/rpm/BUILD directory.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;As Iospeh stated TimeSys does not today provide memtool in their offerrings.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Another user space application that is available in TimeSys Vybrid desktop factory is devmem which is found in the Busybox utilities. By default devmem is not enabled. Here are the steps to enable, build, and location in the root file system.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The BusyBox &lt;A href="http://www.busybox.net/downloads/BusyBox.html"&gt;documentation&lt;/A&gt; has this description:&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-size: 12pt; font-family: 'Times New Roman','serif';"&gt;devmem&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="margin-top: auto; padding-left: 45px; margin-bottom: auto;"&gt;&lt;SPAN style="font-family: 'Times New Roman','serif'; font-size: 12pt;"&gt;devmem ADDRESS [WIDTH [VALUE]]&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-top: auto; padding-left: 45px; margin-bottom: auto;"&gt;&lt;SPAN style="font-family: 'Times New Roman','serif'; font-size: 12pt;"&gt;Read/write from physical address&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0px 0px 0px 0.5in;"&gt;&lt;SPAN style="font-family: 'Courier New'; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ADDRESS Address to act upon&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0px 0px 0px 0.5in;"&gt;&lt;SPAN style="font-family: 'Courier New'; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WIDTH&amp;nbsp;&amp;nbsp; Width (8/16/...)&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0px 0px 0px 0.5in;"&gt;&lt;SPAN style="font-family: 'Courier New'; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; VALUE&amp;nbsp;&amp;nbsp; Data to be written&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This assumes you have downloaded, installed and built desktop factory once. (Not available from Web factory).&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;make busybox-menuconfig&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="busybox-menuconfig1.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/119491i82EC70224013B87C/image-size/large?v=v2&amp;amp;px=999" role="button" title="busybox-menuconfig1.png" alt="busybox-menuconfig1.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;At the desktop factory top level directory issue the “make busybox-menuconfig” command which then shows the configuration menu. Using the keyboard arrow keys, down arrow and select “Miscellaneous Utilities then hit the enter key. This selects the Miscellaneous Utilities menu.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="busybox-menuconfig2.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/119492i6ED57D81471355F3/image-size/large?v=v2&amp;amp;px=999" role="button" title="busybox-menuconfig2.png" alt="busybox-menuconfig2.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;Using the down arrow key go down until devmem entry. Using the space bar select to enable and you will see [*] the item is selected. &lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="busybox-menuconfig4.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/119493iDD892F1C49B8ED0E/image-size/large?v=v2&amp;amp;px=999" role="button" title="busybox-menuconfig4.png" alt="busybox-menuconfig4.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;Right arrow to exit and hit enter and then select yes to save.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2. make busybox-build&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;3. make busybox-rfs-install&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This installs in the root file system. To see, change to the directory on your installation where the desktop factory is installed, for me I had :&lt;/P&gt;&lt;P&gt; cd /home/user/vybrid/factory/build_armv7l-timesys-linux-gnueabi/rfs/&lt;/P&gt;&lt;P&gt;$ find . -name devmem -print&lt;/P&gt;&lt;P&gt;./sbin/devmem&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The root file system (rfs) now has the devmem utility.&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;/SPAN&gt;&lt;/SPAN&gt; &lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;/SPAN&gt;&lt;/SPAN&gt; &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 27 Jun 2013 02:37:24 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Vybrid-Processors/Vybrid-UART-s-from-Linux/m-p/292245#M2340</guid>
      <dc:creator>CurtisWald</dc:creator>
      <dc:date>2013-06-27T02:37:24Z</dc:date>
    </item>
    <item>
      <title>Re: Vybrid UART's from Linux</title>
      <link>https://community.nxp.com/t5/Vybrid-Processors/Vybrid-UART-s-from-Linux/m-p/292246#M2341</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Curtis, thank you for a very helpful reply. Using devmem I found out IOMUXC is configured properly while UART1xxx and UART2xxx registers differ from UART0xxx registers. I've been playing with these registers a bit, it did something, but did not solve it yet. Also don't know yet which SW (uboot/kernel/...) is responsible for the differences. I will write more when I have some news. Thank you so far.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 28 Jun 2013 14:24:22 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Vybrid-Processors/Vybrid-UART-s-from-Linux/m-p/292246#M2341</guid>
      <dc:creator>kubiznak_petr</dc:creator>
      <dc:date>2013-06-28T14:24:22Z</dc:date>
    </item>
    <item>
      <title>Re: Vybrid UART's from Linux</title>
      <link>https://community.nxp.com/t5/Vybrid-Processors/Vybrid-UART-s-from-Linux/m-p/292247#M2342</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Dear Petr,&lt;/P&gt;&lt;P&gt;as I'm currently in the same situation like you, I was wondering if you have found a working solution to enable two additional UARTs in Linux? I'll be very pleased if you give me a reply! Thanks!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 19 Nov 2013 06:48:32 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Vybrid-Processors/Vybrid-UART-s-from-Linux/m-p/292247#M2342</guid>
      <dc:creator>johannestraxler</dc:creator>
      <dc:date>2013-11-19T06:48:32Z</dc:date>
    </item>
    <item>
      <title>Re: Vybrid UART's from Linux</title>
      <link>https://community.nxp.com/t5/Vybrid-Processors/Vybrid-UART-s-from-Linux/m-p/292248#M2343</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Dear Johannes,&lt;/P&gt;&lt;P&gt;you are maybe in a worse situation as I currently needed only to &lt;STRONG&gt;switch&lt;/STRONG&gt; the UART, not to use more channels in parallel. If this is the case, I worry I cannot help you because I did not manage to do it, although I tried. Please push on Timesys to get the solution (and share it here then :smileywink:).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Should you need only to switch the used channel, the following stuff needs to be set up properly:&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;Modify board-twr-vf700.c in the kernel source as described above (modify mvf600_pads array, add new imxuart_platform_data structure, add calls to mvf_add_imx_uart inmvf_vf700_init_uart) and add respective definitions to iomux-mvf.h. As a result, you will see new ttymxcX devices in /dev/.&lt;/LI&gt;&lt;LI&gt;In the u-boot source, add proper calls to __raw_writel in setup_iomux_uart in vybrid.c (this will initialize new channel in u-boot) and redefine CONFIG_SYS_UART_PORT in vybrid.h (u-boot will output to the channel specified here).&lt;/LI&gt;&lt;LI&gt;In timesys factory, modify target/configs/device_table/twr_vf600/device_table, line /dev/ttyDefault to point to required channel. This will make linux to direct standard output to the channel.&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope that helped you.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 20 Nov 2013 16:49:44 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Vybrid-Processors/Vybrid-UART-s-from-Linux/m-p/292248#M2343</guid>
      <dc:creator>kubiznak_petr</dc:creator>
      <dc:date>2013-11-20T16:49:44Z</dc:date>
    </item>
    <item>
      <title>Re: Vybrid UART's from Linux</title>
      <link>https://community.nxp.com/t5/Vybrid-Processors/Vybrid-UART-s-from-Linux/m-p/292249#M2344</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;A class="jx-jive-macro-user" href="https://community.nxp.com/people/timesyssupport"&gt;timesyssupport&lt;/A&gt; can you&amp;nbsp;&amp;nbsp; help on this case?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 20 Nov 2013 18:03:01 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Vybrid-Processors/Vybrid-UART-s-from-Linux/m-p/292249#M2344</guid>
      <dc:creator>karina_valencia</dc:creator>
      <dc:date>2013-11-20T18:03:01Z</dc:date>
    </item>
    <item>
      <title>Re: Vybrid UART's from Linux</title>
      <link>https://community.nxp.com/t5/Vybrid-Processors/Vybrid-UART-s-from-Linux/m-p/292250#M2345</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Johannes,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Enabling a different UART is not a supported configuration in the current Linux kernel for Vybrid. As this would involve changes to bootloader and kernel source, this falls outside the scope of general support and would need to be covered under a services agreement with Timesys. Please contact Timesys if you would be interested in escalating.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Timesys Support&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 20 Nov 2013 19:17:36 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Vybrid-Processors/Vybrid-UART-s-from-Linux/m-p/292250#M2345</guid>
      <dc:creator>timesyssupport</dc:creator>
      <dc:date>2013-11-20T19:17:36Z</dc:date>
    </item>
    <item>
      <title>Re: Vybrid UART's from Linux</title>
      <link>https://community.nxp.com/t5/Vybrid-Processors/Vybrid-UART-s-from-Linux/m-p/292251#M2346</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I'm using EmCraft's VF6 SOM and this is what I did to get a functional UART2 on PTB6 and PTB7.&amp;nbsp; Please note that I am not using Timesys Linux but hopefully these changes can work for you or point you in the direction you need to get UART2 running.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Added the following definitions to linux/arch/arm/plat-mxc/include/mach/iomux-mvf.h just below the UART0 and UART1 definitions (search for UART1 in the file to find the spot).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;/*UART2*/&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;#define MVF600_PAD28_PTB6_UART2_TX \&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;IOMUX_PAD(0x0070, 0x0070, 7, 0x038c, 0, \&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;MVF600_UART_PAD_CTRL | PAD_CTL_OBE_ENABLE)&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;#define MVF600_PAD29_PTB7_UART2_RX \&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;IOMUX_PAD(0x0074, 0x0074, 7, 0x0388, 0, \&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;MVF600_UART_PAD_CTRL | PAD_CTL_IBE_ENABLE)&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;/P&gt;&lt;P&gt;Modify the linux/arch/arm/mach-mvf/board-emcraft-vybrid-som.c file:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ... If you have the VF6 Freescale Tower board you can probably make similar/identical changes to&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ... the linux/arch/arm/mach-mvf/board-twr-vf700.c file to get the same results.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;Add these lines after the UART1 definitions, search for UART1&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;/*UART2*/&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;MVF600_PAD28_PTB6_UART2_TX,&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;MVF600_PAD29_PTB7_UART2_RX,&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;Add this struct after the corresponding struct for uart1&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;/* UART2 */&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;static struct imxuart_platform_data mvf_uart2_pdata = {&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;.flags = IMXUART_FIFO | IMXUART_EDMA,&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;.dma_req_rx = DMA_MUX03_UART2_RX,&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;.dma_req_tx = DMA_MUX03_UART2_TX,&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;};&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;Add this line to the &lt;SPAN style="font-size: 11.0pt; font-family: 'Calibri','sans-serif';"&gt;mvf_vf700_init_uart(void) function to initialize your new port&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 11.0pt; font-family: 'Calibri','sans-serif';"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 11.0pt; font-family: 'Calibri','sans-serif';"&gt; mvf_add_imx_uart(2, &amp;amp;mvf_uart2_pdata); &lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 11.0pt; font-family: 'Calibri','sans-serif';"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 11.0pt; font-family: 'Calibri','sans-serif';"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 11.0pt; font-family: 'Calibri','sans-serif';"&gt;Add the following line to your initramfs file to create /dev/ttymxc2 &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 11.0pt; font-family: 'Calibri','sans-serif';"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 11.0pt; font-family: 'Calibri','sans-serif';"&gt;nod /dev/ttymxc2 0666 0 0 c 207 18&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 11.0pt; font-family: 'Calibri','sans-serif';"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-size: 11.0pt; font-family: 'Calibri','sans-serif';"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;* Corrected daisy chain settings on the pad definitions from my original post, thanks to EmCraft for catching my mistake&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 24 Apr 2014 15:04:06 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Vybrid-Processors/Vybrid-UART-s-from-Linux/m-p/292251#M2346</guid>
      <dc:creator>tombudd</dc:creator>
      <dc:date>2014-04-24T15:04:06Z</dc:date>
    </item>
    <item>
      <title>Re: Vybrid UART's from Linux</title>
      <link>https://community.nxp.com/t5/Vybrid-Processors/Vybrid-UART-s-from-Linux/m-p/292252#M2347</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Dear Tom,&lt;/P&gt;&lt;P&gt;thanks for sharing your information - actually this is the same what I did, but it didn't work!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You are not using timesys linux - what are you using instead?&lt;/P&gt;&lt;P&gt;Have you modified any other source file (e.g. clock.c)?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Johannes&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 09 May 2014 07:45:23 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Vybrid-Processors/Vybrid-UART-s-from-Linux/m-p/292252#M2347</guid>
      <dc:creator>johannestraxler</dc:creator>
      <dc:date>2014-05-09T07:45:23Z</dc:date>
    </item>
    <item>
      <title>Re: Vybrid UART's from Linux</title>
      <link>https://community.nxp.com/t5/Vybrid-Processors/Vybrid-UART-s-from-Linux/m-p/292253#M2348</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Johannes,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am using a distribution from EmCraft that is based on the Freescale version.&amp;nbsp; I have not modified clock.c, only the files I mentioned.&amp;nbsp; Could you elaborate more on how it doesn't work?&amp;nbsp; Does the boot sequence show the new UART?&amp;nbsp; Does the device show in /dev ?&amp;nbsp; Something to check is to make sure that no other device is using the GPIO pins associated with your UART and make sure you edited the correct board file for your hardware.&amp;nbsp; It looks like the UARTs all share the same clock so if one of them works the others should work as well.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Serial: MVF driver&lt;/P&gt;&lt;P&gt;imx-uart.0: ttymxc0 at MMIO 0x40027000 (irq = 93) is a IMX&lt;/P&gt;&lt;P&gt;console [ttymxc0] enabled&lt;/P&gt;&lt;P&gt;imx-uart.2: ttymxc2 at MMIO 0x40029000 (irq = 95) is a IMX&lt;/P&gt;&lt;P&gt;imx-uart.3: ttymxc3 at MMIO 0x4002a000 (irq = 96) is a IMX&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/dev # ls -l ttymxc*&lt;/P&gt;&lt;P&gt;crw-rw-rw-&amp;nbsp;&amp;nbsp;&amp;nbsp; 1 root&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; root&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 207,&amp;nbsp; 16 Jan&amp;nbsp; 1 00:04 ttymxc0&lt;/P&gt;&lt;P&gt;crw-rw-rw-&amp;nbsp;&amp;nbsp;&amp;nbsp; 1 root&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; root&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 207,&amp;nbsp; 18 May 13&amp;nbsp; 2014 ttymxc2&lt;/P&gt;&lt;P&gt;crw-rw-rw-&amp;nbsp;&amp;nbsp;&amp;nbsp; 1 root&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; root&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 207,&amp;nbsp; 19 May 13&amp;nbsp; 2014 ttymxc3&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I hope this helps narrow it down.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Tom&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 13 May 2014 19:13:47 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Vybrid-Processors/Vybrid-UART-s-from-Linux/m-p/292253#M2348</guid>
      <dc:creator>tombudd</dc:creator>
      <dc:date>2014-05-13T19:13:47Z</dc:date>
    </item>
    <item>
      <title>Re: Vybrid UART's from Linux</title>
      <link>https://community.nxp.com/t5/Vybrid-Processors/Vybrid-UART-s-from-Linux/m-p/292254#M2349</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello everybody,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Maybe dummy questions.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In which software component (u-boot / kernel / application) or in which moments may the IOMUX settings be changed ?&lt;/P&gt;&lt;P&gt;And how this can be done?&lt;/P&gt;&lt;P&gt;Is there a specific header or sample code to do it?&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks and regards,&lt;/P&gt;&lt;P&gt;Rodrigo&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 10 Sep 2014 13:03:57 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Vybrid-Processors/Vybrid-UART-s-from-Linux/m-p/292254#M2349</guid>
      <dc:creator>rodrigomendes</dc:creator>
      <dc:date>2014-09-10T13:03:57Z</dc:date>
    </item>
  </channel>
</rss>

