<?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>i.MX ProcessorsのトピックiMX6ULL USB VBUS latching</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/iMX6ULL-USB-VBUS-latching/m-p/1294431#M175685</link>
    <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;I've got an iMX6ULL SoM, kernel version 5.4.3, to which we periodically connect a USB device to usb2, and have a constantly-connected 4G modem on usb1. The USB ports are configured to host mode in the device-tree.&lt;/P&gt;&lt;P&gt;I'm finding that we only detect the first time peripheral is connected. Subsequent reconnects are not detected. I suspect the issue is something to do with the USB_VBUS lines.&lt;/P&gt;&lt;P&gt;USB1 VBUS permanently connected to 5V - as the modem is always connected.&lt;/P&gt;&lt;P&gt;USB2 VBUS is connected via a load-switch to 5V. The USB device is also connected to this load-switched 5V line. Here's a basic overview:&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Capture.PNG" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/147405iAAAE990D079D28C3/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Capture.PNG" alt="Capture.PNG" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;If I measure the voltage on USB2_VBUS, it starts off at 0V when the system boots. This is as expected, as the load-switch is initially off.&lt;/P&gt;&lt;P&gt;When we connect the peripheral by enabling the load-switch, USB2_VBUS goes to 5V. This is fine. Linux detects the USB device and we can communicate with it just fine.&lt;/P&gt;&lt;P&gt;When we turn off the load-switch, USB2_VBUS drops to approximately 4.4V. It does not gradually drop over time. Attempting to discharge it with 1K resistor has no effect.&amp;nbsp; A 100-ohm short drags it to 3.7V temporarily.&amp;nbsp;A 10-ohm short does cause it to reset to 0V, and when the short is removed, it remains at 0V.&lt;/P&gt;&lt;P&gt;When we turn the load-switch on again, USB2_VBUS rises again to 5V. However linux does not detect the USB device this time.&lt;/P&gt;&lt;P&gt;The only way to get linux to detect the device on subsequent reconnects is to short USB2_VBUS as described above.&lt;/P&gt;&lt;P&gt;Note that even if no usb device is connected, the USB2_VBUS still goes between 4.4V and 5V.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;My guess is that because USB_VBUS is never dropping to 0V, the usb device is not properly resetting as it is still being powered by the 4.4V that the imx6 appears to be outputting.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Hard-wiring USB2_VBUS to 5V does work - we can toggle the load-switch many times and the device is always detected. However my understanding is that this will keep the USB system constantly powered and cause 1-2mA additional current draw. When the overall current-draw during suspend is 4.5mA, this extra 1-2mA is quite substantial.&lt;/P&gt;&lt;P&gt;Is there a way I can cause USB2_VBUS to not latch? Or, somehow force it to reset between connection intervals?&lt;/P&gt;</description>
    <pubDate>Fri, 18 Jun 2021 05:47:55 GMT</pubDate>
    <dc:creator>tloten1</dc:creator>
    <dc:date>2021-06-18T05:47:55Z</dc:date>
    <item>
      <title>iMX6ULL USB VBUS latching</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/iMX6ULL-USB-VBUS-latching/m-p/1294431#M175685</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;I've got an iMX6ULL SoM, kernel version 5.4.3, to which we periodically connect a USB device to usb2, and have a constantly-connected 4G modem on usb1. The USB ports are configured to host mode in the device-tree.&lt;/P&gt;&lt;P&gt;I'm finding that we only detect the first time peripheral is connected. Subsequent reconnects are not detected. I suspect the issue is something to do with the USB_VBUS lines.&lt;/P&gt;&lt;P&gt;USB1 VBUS permanently connected to 5V - as the modem is always connected.&lt;/P&gt;&lt;P&gt;USB2 VBUS is connected via a load-switch to 5V. The USB device is also connected to this load-switched 5V line. Here's a basic overview:&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Capture.PNG" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/147405iAAAE990D079D28C3/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Capture.PNG" alt="Capture.PNG" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;If I measure the voltage on USB2_VBUS, it starts off at 0V when the system boots. This is as expected, as the load-switch is initially off.&lt;/P&gt;&lt;P&gt;When we connect the peripheral by enabling the load-switch, USB2_VBUS goes to 5V. This is fine. Linux detects the USB device and we can communicate with it just fine.&lt;/P&gt;&lt;P&gt;When we turn off the load-switch, USB2_VBUS drops to approximately 4.4V. It does not gradually drop over time. Attempting to discharge it with 1K resistor has no effect.&amp;nbsp; A 100-ohm short drags it to 3.7V temporarily.&amp;nbsp;A 10-ohm short does cause it to reset to 0V, and when the short is removed, it remains at 0V.&lt;/P&gt;&lt;P&gt;When we turn the load-switch on again, USB2_VBUS rises again to 5V. However linux does not detect the USB device this time.&lt;/P&gt;&lt;P&gt;The only way to get linux to detect the device on subsequent reconnects is to short USB2_VBUS as described above.&lt;/P&gt;&lt;P&gt;Note that even if no usb device is connected, the USB2_VBUS still goes between 4.4V and 5V.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;My guess is that because USB_VBUS is never dropping to 0V, the usb device is not properly resetting as it is still being powered by the 4.4V that the imx6 appears to be outputting.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Hard-wiring USB2_VBUS to 5V does work - we can toggle the load-switch many times and the device is always detected. However my understanding is that this will keep the USB system constantly powered and cause 1-2mA additional current draw. When the overall current-draw during suspend is 4.5mA, this extra 1-2mA is quite substantial.&lt;/P&gt;&lt;P&gt;Is there a way I can cause USB2_VBUS to not latch? Or, somehow force it to reset between connection intervals?&lt;/P&gt;</description>
      <pubDate>Fri, 18 Jun 2021 05:47:55 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/iMX6ULL-USB-VBUS-latching/m-p/1294431#M175685</guid>
      <dc:creator>tloten1</dc:creator>
      <dc:date>2021-06-18T05:47:55Z</dc:date>
    </item>
  </channel>
</rss>

