<?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: USB2 only operation on IMX8QXP USB3 interface in i.MX Processors</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/USB2-only-operation-on-IMX8QXP-USB3-interface/m-p/1517939#M194819</link>
    <description>&lt;P&gt;To answer my own question.. Having the USB3 signals terminated while using the USB2 part of the port is the cause of the errors.&lt;/P&gt;&lt;P&gt;I had the processor removed and cut the traces that shorted the USB3 signals together before going to a pull down resistor. After the operation, it behaves as it should.&lt;/P&gt;</description>
    <pubDate>Tue, 06 Sep 2022 19:20:20 GMT</pubDate>
    <dc:creator>bhallen</dc:creator>
    <dc:date>2022-09-06T19:20:20Z</dc:date>
    <item>
      <title>USB2 only operation on IMX8QXP USB3 interface</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/USB2-only-operation-on-IMX8QXP-USB3-interface/m-p/1509719#M194132</link>
      <description>&lt;P&gt;I have a custom set of hardware that I'm trying to get the USB2/3 port to act only as a USB2 port properly. Overall I can get it to work, but it doesn't always work well and the kernel has complaints.&lt;/P&gt;&lt;P&gt;To begin with, I terminated the USB3 per the hardware development guide. I tied the Rx and Tx pairs together and grounded them though a 10k resistor. It's a host-only port - ID is grounded through 10k and VBus tied to 3.3V.&lt;/P&gt;&lt;P&gt;In device tree, I removed the endpoint references the MEK has since there is no USB-C, just a plain type-A. The device tree has been pretty well customized for my board though. The USB3 section is simply this:&lt;/P&gt;&lt;LI-CODE lang="c"&gt;&amp;amp;usb3_phy {
  status = "okay";
};

&amp;amp;usbotg3 {
  status = "okay";
};

&amp;amp;usbotg3_cdns3 {
  dr_mode = "host";
  maximum-speed = "high-speed";
  /* usb-role-switch; */
  status = "okay";
};&lt;/LI-CODE&gt;&lt;P&gt;&lt;BR /&gt;The defconfig has only had a few drivers added to it from the default imx_v8_defconfig:&lt;BR /&gt;+CONFIG_TOUCHSCREEN_EDT_FT5X06=y&lt;BR /&gt;+CONFIG_RTC_DRV_PCF85063=y&lt;BR /&gt;+CONFIG_BH1750=y&lt;BR /&gt;+CONFIG_EXFAT_FS=y&lt;BR /&gt;+CONFIG_EXFAT_DEFAULT_IOCHARSET="utf8"&lt;BR /&gt;+CONFIG_SND_SOC_TAS5720=y&lt;/P&gt;&lt;P&gt;Kernel Version:&lt;BR /&gt;Linux not-your-imx8x 5.10.72 #28 SMP PREEMPT Mon May 2 16:29:51 EDT 2022 aarch64 aarch64 aarch64 GNU/Linux&lt;/P&gt;&lt;P&gt;While a USB thumb drive is inserted into the port, everything is fine. I can mount &amp;amp; unmount filesystems, run the rootfs off of it, etc. When it's not inserted, I get the following dmesg repeating every few seconds:&lt;/P&gt;&lt;LI-CODE lang="c"&gt;[ 736.663440] cdns3-imx 5b110000.usb: wait lpm_clk_req timeout
[ 736.763464] cdns3-imx 5b110000.usb: wait phy_refclk_req timeout&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Then at some point I'll get a kernel error from "cdns3_runtime_suspend":&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;[ 93.511676] irq 151: nobody cared (try booting with the "irqpoll" option)
[ 93.518480] CPU: 0 PID: 185 Comm: kworker/0:2 Not tainted 5.10.72-lts-5.10.y+gcf2d66861ffb #1
[ 93.527013] Hardware name: Freescale i.MX8QXP MEK (DT)
[ 93.532169] Workqueue: pm pm_runtime_work
[ 93.536187] Call trace:
[ 93.538643] dump_backtrace+0x0/0x1a0
[ 93.542307] show_stack+0x18/0x70
[ 93.545627] dump_stack+0xd0/0x12c
[ 93.549030] __report_bad_irq+0x4c/0xdc
[ 93.552872] note_interrupt+0x2d8/0x39c
[ 93.556710] handle_irq_event+0xd8/0x150
[ 93.560637] handle_fasteoi_irq+0xa4/0x1f4
[ 93.564736] __handle_domain_irq+0x7c/0xe0
[ 93.568838] gic_handle_irq+0xc0/0x140
[ 93.572588] el1_irq+0xcc/0x180
[ 93.575735] efi_header_end+0xa4/0x290
[ 93.579489] irq_exit+0xdc/0xfc
[ 93.582632] __handle_domain_irq+0x80/0xe0
[ 93.586733] gic_handle_irq+0xc0/0x140
[ 93.590485] el1_irq+0xcc/0x180
[ 93.593632] cdns3_runtime_suspend+0x40/0x84
[ 93.597906] pm_generic_runtime_suspend+0x30/0x50
[ 93.602614] __rpm_callback+0x90/0x160
[ 93.606366] rpm_callback+0x24/0x84
[ 93.609860] rpm_suspend+0x104/0x55c
[ 93.613440] rpm_idle+0xac/0x160
[ 93.616672] pm_runtime_work+0xa4/0xcc
[ 93.620426] process_one_work+0x1cc/0x350
[ 93.624437] worker_thread+0x138/0x46c
[ 93.628190] kthread+0x154/0x160
[ 93.631421] ret_from_fork+0x10/0x30
[ 93.634998] handlers:
[ 93.637278] [&amp;lt;000000002d28a50e&amp;gt;] cdns3_wakeup_irq
[ 93.641983] [&amp;lt;000000003360e13e&amp;gt;] cdns3_drd_irq threaded [&amp;lt;00000000b12a61d5&amp;gt;]
cdns3_drd_thread_irq
[ 93.650873] [&amp;lt;00000000bd662b79&amp;gt;] usb_hcd_irq
[ 93.655144] Disabling IRQ #151
[ 95.045750] cdns3-imx 5b110000.usb: wait lpm_clk_req timeout
[ 95.151456] cdns3-imx 5b110000.usb: wait phy_refclk_req timeout
&lt;/LI-CODE&gt;&lt;P&gt;&lt;BR /&gt;After I get the kernel error, the port will still work, but very slowly which doesn't give me a lot of confidence.&lt;/P&gt;&lt;P&gt;It's clearly related to the power management when the kernel wants to put the port in low power mode when nothing is attached. For some reason the clock change times out. I tried briefly to disable the PM in the cadence driver, but that went nowhere fast.&lt;/P&gt;&lt;P&gt;Any ideas? Should I have left the USB3 lines unterminated?&lt;/P&gt;</description>
      <pubDate>Mon, 22 Aug 2022 21:35:14 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/USB2-only-operation-on-IMX8QXP-USB3-interface/m-p/1509719#M194132</guid>
      <dc:creator>bhallen</dc:creator>
      <dc:date>2022-08-22T21:35:14Z</dc:date>
    </item>
    <item>
      <title>Re: USB2 only operation on IMX8QXP USB3 interface</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/USB2-only-operation-on-IMX8QXP-USB3-interface/m-p/1517939#M194819</link>
      <description>&lt;P&gt;To answer my own question.. Having the USB3 signals terminated while using the USB2 part of the port is the cause of the errors.&lt;/P&gt;&lt;P&gt;I had the processor removed and cut the traces that shorted the USB3 signals together before going to a pull down resistor. After the operation, it behaves as it should.&lt;/P&gt;</description>
      <pubDate>Tue, 06 Sep 2022 19:20:20 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/USB2-only-operation-on-IMX8QXP-USB3-interface/m-p/1517939#M194819</guid>
      <dc:creator>bhallen</dc:creator>
      <dc:date>2022-09-06T19:20:20Z</dc:date>
    </item>
  </channel>
</rss>

