<?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 Re: USB max speed in i.MX Processors</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/USB-max-speed/m-p/156468#M2359</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;At first sight -&amp;nbsp; it is needed to set the PFSC bit to enforce full speed, and this should be set after the controller has &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;been reset (USBCMD.RST) and before the controller is started.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 01 Nov 2012 07:10:33 GMT</pubDate>
    <dc:creator>Yuri</dc:creator>
    <dc:date>2012-11-01T07:10:33Z</dc:date>
    <item>
      <title>USB max speed</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/USB-max-speed/m-p/156467#M2358</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;We have iMX53 based board running Linux and for hw reason we want to limit the USB speed to 12Mbit/s (Full speed). I know the EHCI- host controller supports that, but I'm not sure how to do that on Linux side or is that even possible? Is it module option for ehci_hcd module or should it be done via sysfs - interface if only some ports needs to be full speed other high speed?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 29 Oct 2012 13:05:49 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/USB-max-speed/m-p/156467#M2358</guid>
      <dc:creator>Maddis</dc:creator>
      <dc:date>2012-10-29T13:05:49Z</dc:date>
    </item>
    <item>
      <title>Re: USB max speed</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/USB-max-speed/m-p/156468#M2359</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;At first sight -&amp;nbsp; it is needed to set the PFSC bit to enforce full speed, and this should be set after the controller has &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;been reset (USBCMD.RST) and before the controller is started.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 01 Nov 2012 07:10:33 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/USB-max-speed/m-p/156468#M2359</guid>
      <dc:creator>Yuri</dc:creator>
      <dc:date>2012-11-01T07:10:33Z</dc:date>
    </item>
    <item>
      <title>Re: USB max speed</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/USB-max-speed/m-p/156469#M2360</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;But can that be done from command line or does it need driver modifications?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I found this article: &lt;A href="http://lists.en.qi-hardware.com/pipermail/discussion/2011-August/008508.html"&gt;http://lists.en.qi-hardware.com/pipermail/discussion/2011-August/008508.html&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;There is mentioned 'companion' - option in usb sysfs, but that option does not exist on MX53 Linux.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If it needs driver modification then what is the correct driver? Looking at the drivers/usb/host/ehci_mxc.c there is ehci_mxc_setup that looks like a place that might be the correct one or is there a better place? I'm not sure how to add the PFSC bit there. I found it from the manual though.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 01 Nov 2012 10:51:45 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/USB-max-speed/m-p/156469#M2360</guid>
      <dc:creator>Maddis</dc:creator>
      <dc:date>2012-11-01T10:51:45Z</dc:date>
    </item>
    <item>
      <title>Re: USB max speed</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/USB-max-speed/m-p/156470#M2361</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Back to this issue. No one does have an idea if it's possible to do that from command line somehow or does it really need driver change? If so, then where should the change be? Looks bit complicated the whole USB driver thing.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Maybe the Freescale driver doesn't support that companion-option so other ways are needed. Or is 2.6.35.3 too old kernel for that?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 18 Dec 2012 10:13:39 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/USB-max-speed/m-p/156470#M2361</guid>
      <dc:creator>Maddis</dc:creator>
      <dc:date>2012-12-18T10:13:39Z</dc:date>
    </item>
    <item>
      <title>Re: USB max speed</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/USB-max-speed/m-p/156471#M2362</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I've been trying to set the PFSC bit in usb_common.c in arch/arm/plat-mxc - directory without any success. I've tried OTG/H1/H2 although the usb port used is OTG. I've just tried to see if there are any changes, but no. Devices are still recognized as high speed and actual speed is also the same as before.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This is how I did it.&lt;/P&gt;&lt;P&gt;#define PORTSC_PFSC&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; (1 &amp;lt;&amp;lt; 24)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Force Full speed */&lt;/P&gt;&lt;P&gt;UH1_PORTSC1 |= PORTSC_PFSC;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Also UH2_PORTSC1 and UOG_PORTSC1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Clearly I'm doing something wrong. Does any one have any good suggestion how to actually got the speed set to full?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 07 Jan 2013 08:46:15 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/USB-max-speed/m-p/156471#M2362</guid>
      <dc:creator>Maddis</dc:creator>
      <dc:date>2013-01-07T08:46:15Z</dc:date>
    </item>
    <item>
      <title>Re: USB max speed</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/USB-max-speed/m-p/156472#M2363</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I found the following information about the problem if full-speed mode is used. &lt;/P&gt;&lt;P&gt;Immediately after bus reset, ENDPTCTRLn[TXE/RXE] couldn't be set 1 (Enable) immediately.&lt;/P&gt;&lt;P&gt;It is needed to wait approximately 1msec after bus reset before setting.&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 11 Jan 2013 08:59:25 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/USB-max-speed/m-p/156472#M2363</guid>
      <dc:creator>Yuri</dc:creator>
      <dc:date>2013-01-11T08:59:25Z</dc:date>
    </item>
    <item>
      <title>Re: USB max speed</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/USB-max-speed/m-p/156473#M2364</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;OTG port seems to be work in host mode just fine so I'm guessing that the ENDPTCTRLn[TXE/RXE]&amp;nbsp; isn't the problem.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It seems like the PFSC-bit doesn't have any effect although I set it in place where the PORTSC1 - register is accessed otherwise too. The devices are still recognized as high speed devices and tests show that the actual speed is greater than full speed.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 14 Jan 2013 06:41:22 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/USB-max-speed/m-p/156473#M2364</guid>
      <dc:creator>Maddis</dc:creator>
      <dc:date>2013-01-14T06:41:22Z</dc:date>
    </item>
    <item>
      <title>Re: USB max speed</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/USB-max-speed/m-p/156474#M2365</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I just found this thread. I know it's a couple of month old... - but did you find a solution? I have the exact same problem. I also need to slow down a high speed device to full speed.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I managed to get the companion files to show up in sysfs. For that you disable the following kernel config option:&lt;/P&gt;&lt;P&gt;CONFIG_USB_EHCI_ROOT_HUB_TT.&lt;/P&gt;&lt;P&gt;By that you disable the Transaction Translator which normally handles full speed connections. It now falls back to companion file style.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Still I have no luck forcing the USB device (android phone) to use full speed only.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have the following device connected:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;usb 1-1.2.1: new high speed USB device using fsl-ehci and address 8&lt;/P&gt;&lt;P&gt;usb 1-1.2.1: New USB device found, idVendor=0bb4, idProduct=0cab&lt;/P&gt;&lt;P&gt;usb 1-1.2.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3&lt;/P&gt;&lt;P&gt;usb 1-1.2.1: Product: Android Phone&lt;/P&gt;&lt;P&gt;usb 1-1.2.1: Manufacturer: HTC&lt;/P&gt;&lt;P&gt;usb 1-1.2.1: SerialNumber: HT12STJ00146&lt;/P&gt;&lt;P&gt;usb 1-1.2.1: configuration #1 chosen from 1 choice&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;According to the article you mentioned this should force it to use the companion drivers:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;# echo 1 &amp;gt; /sys/bus/usb/devices/usb1/../companion&lt;/P&gt;&lt;P&gt;# cat /sys/bus/usb/devices/usb1/../companion &lt;/P&gt;&lt;P&gt;1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But nothing happens....&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Did you get any further??&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 17 Apr 2013 13:39:02 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/USB-max-speed/m-p/156474#M2365</guid>
      <dc:creator>stolzem</dc:creator>
      <dc:date>2013-04-17T13:39:02Z</dc:date>
    </item>
    <item>
      <title>Re: USB max speed</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/USB-max-speed/m-p/156475#M2366</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Sorry no. The issue is still open.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 18 Apr 2013 04:42:47 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/USB-max-speed/m-p/156475#M2366</guid>
      <dc:creator>Maddis</dc:creator>
      <dc:date>2013-04-18T04:42:47Z</dc:date>
    </item>
    <item>
      <title>Re: USB max speed</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/USB-max-speed/m-p/156476#M2367</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;oha, I tried your approach patching usb_common.c. And it works for me.&lt;/P&gt;&lt;P&gt;What I did in file kernel/linux-2.6.31/arch/arm/plat-mxc/usb_common.c:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;#define PORTSC_PFSC&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; (1 &amp;lt;&amp;lt; 24)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Force Full speed */&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In the following methods I modified the code as below:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;static void usbh1_set_ulpi_xcvr(void)&lt;/LI&gt;&lt;LI&gt;static void usbh2_set_ulpi_xcvr(void)&lt;/LI&gt;&lt;LI&gt;static void otg_set_utmi_xcvr(void)&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;/* allow controller to reset, and leave time for
 * the ULPI transceiver to reset too.
 */
 msleep(100);
 
 // new
 UH1_PORTSC1 |= PORTSC_PFSC;
 msleep(100);
 // new
 
 clk_disable(usb_clk);
&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My output is now:&lt;/P&gt;&lt;PRE&gt; usb 1-1.2: new full speed USB device using fsl-ehci and address 4
 usb 1-1.2: not running at top speed; connect to a high speed hub
 usb 1-1.2: New USB device found, idVendor=0bb4, idProduct=0ffe
 usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
 usb 1-1.2: Product: Android Phone
 usb 1-1.2: Manufacturer: HTC
 usb 1-1.2: SerialNumber: HT12STJ00146
 usb 1-1.2: configuration #1 chosen from 1 choice 
&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope that helps.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Cheers&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 29 Oct 2020 09:00:32 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/USB-max-speed/m-p/156476#M2367</guid>
      <dc:creator>stolzem</dc:creator>
      <dc:date>2020-10-29T09:00:32Z</dc:date>
    </item>
    <item>
      <title>Re: USB max speed</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/USB-max-speed/m-p/156477#M2368</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I tested this and added the PORTSC_PFSC on each port (otg, usb1 and usb2) like you suggested. Still, if I plug in USB-stick it gets identified as high speed device and not full speed.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I don't know if it has anything to do that I'm using kernel 2.6.35.3 and you are running 2.6.31. I think it shouldn't matter on this case, but who knows.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 19 Apr 2013 04:46:46 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/USB-max-speed/m-p/156477#M2368</guid>
      <dc:creator>Maddis</dc:creator>
      <dc:date>2013-04-19T04:46:46Z</dc:date>
    </item>
  </channel>
</rss>

