<?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: USB1_ID State during USB Serial Download in i.MX Processors</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/USB1-ID-State-during-USB-Serial-Download/m-p/1275224#M173889</link>
    <description>&lt;P&gt;First of all, I should correct the wrong concept. In USB spec, there are no master or slave. It is called host and&amp;nbsp;peripheral(device).&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;host and&amp;nbsp;peripheral(device) have no id pin. Only otg mode has one ID pin.&lt;/P&gt;
&lt;P&gt;Let's say usb 2.0. 4 pins for&amp;nbsp;&amp;nbsp;host and&amp;nbsp;peripheral(device). 5 pins for otg.&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Reflecting to the Linux dts binding guide, they are&amp;nbsp;dr_mode=host,dr_mode=peripheral and dr_mode=otg&lt;/P&gt;
&lt;P&gt;Linux/Documentation/devicetree/bindings/usb/generic.txt&lt;/P&gt;
&lt;P&gt;dr_mode: tells Dual-Role USB controllers that we want to work on a&lt;BR /&gt;particular mode. Valid arguments are "host",&lt;BR /&gt;"peripheral" and "otg". In case this attribute isn't&lt;BR /&gt;passed via DT, USB DRD controllers should default to&lt;BR /&gt;OTG.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;From your description, you plan to use the usb port as host. And your question should be how to deal with the download when normal run usb as host mode.&lt;/P&gt;
&lt;P&gt;So, in your case, you should have two dts. one for programming(dr_mode=peripheral) and another for normal run(dr_mode=host).&amp;nbsp;&lt;/P&gt;
&lt;P&gt;actually, you don't have to do grounding the usb id pin by hardware. Because as above no id pin defined in&amp;nbsp;host and&amp;nbsp;peripheral(device).&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If you add&amp;nbsp;dr_mode=host, Linux will never check the id pin.&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;if you add&amp;nbsp;dr_mode=peripheral, Linux also will never check the id pin.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The same is the i.MX ROM code download mode is work as&amp;nbsp;peripheral(device). It will never check the id pin, either.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;i.MX ROM code engineers and the Linux engineers are using the same concept and follow the same usb spec.&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;No id pin for&amp;nbsp;host and&amp;nbsp;peripheral(device). and otg has id pin.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Tue, 11 May 2021 22:18:43 GMT</pubDate>
    <dc:creator>BiyongSUN</dc:creator>
    <dc:date>2021-05-11T22:18:43Z</dc:date>
    <item>
      <title>USB1_ID State during USB Serial Download</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/USB1-ID-State-during-USB-Serial-Download/m-p/1043537#M153673</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In our application the USB peripheral of the i.MX8M Nano is &lt;STRONG&gt;Master&lt;/STRONG&gt; by grounding the USB1_ID pin(D22) through a 0E resistor.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;During mass manufacturing of our product we intend to use the USB Serial Download to program the device, will this functionality work if the i.MX8 is in USB &lt;STRONG&gt;Master&lt;/STRONG&gt; mode or should we switch to &lt;STRONG&gt;Slave&lt;/STRONG&gt; Mode&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards Arne Maathuis, Sintecs, NL&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 01 Apr 2020 06:51:23 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/USB1-ID-State-during-USB-Serial-Download/m-p/1043537#M153673</guid>
      <dc:creator>arnemaathuis</dc:creator>
      <dc:date>2020-04-01T06:51:23Z</dc:date>
    </item>
    <item>
      <title>Re: USB1_ID State during USB Serial Download</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/USB1-ID-State-during-USB-Serial-Download/m-p/1043538#M153674</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Yes, when in download mode you need to change so that board can receive data.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 02 Apr 2020 06:46:25 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/USB1-ID-State-during-USB-Serial-Download/m-p/1043538#M153674</guid>
      <dc:creator>Rita_Wang</dc:creator>
      <dc:date>2020-04-02T06:46:25Z</dc:date>
    </item>
    <item>
      <title>Re: USB1_ID State during USB Serial Download</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/USB1-ID-State-during-USB-Serial-Download/m-p/1274931#M173867</link>
      <description>&lt;P&gt;Dear NXP Support,&lt;/P&gt;&lt;P&gt;change to what? Where can we find information about the USB_ID functionality? We also would like to flash the iMX8 during production via USB OTG port. But we're also unsure about the USB1_ID pin.&lt;/P&gt;&lt;P&gt;Thanks in advance,&lt;/P&gt;&lt;P&gt;Thomas&lt;/P&gt;</description>
      <pubDate>Tue, 11 May 2021 09:22:17 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/USB1-ID-State-during-USB-Serial-Download/m-p/1274931#M173867</guid>
      <dc:creator>thomas_C172</dc:creator>
      <dc:date>2021-05-11T09:22:17Z</dc:date>
    </item>
    <item>
      <title>Re: USB1_ID State during USB Serial Download</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/USB1-ID-State-during-USB-Serial-Download/m-p/1275224#M173889</link>
      <description>&lt;P&gt;First of all, I should correct the wrong concept. In USB spec, there are no master or slave. It is called host and&amp;nbsp;peripheral(device).&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;host and&amp;nbsp;peripheral(device) have no id pin. Only otg mode has one ID pin.&lt;/P&gt;
&lt;P&gt;Let's say usb 2.0. 4 pins for&amp;nbsp;&amp;nbsp;host and&amp;nbsp;peripheral(device). 5 pins for otg.&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Reflecting to the Linux dts binding guide, they are&amp;nbsp;dr_mode=host,dr_mode=peripheral and dr_mode=otg&lt;/P&gt;
&lt;P&gt;Linux/Documentation/devicetree/bindings/usb/generic.txt&lt;/P&gt;
&lt;P&gt;dr_mode: tells Dual-Role USB controllers that we want to work on a&lt;BR /&gt;particular mode. Valid arguments are "host",&lt;BR /&gt;"peripheral" and "otg". In case this attribute isn't&lt;BR /&gt;passed via DT, USB DRD controllers should default to&lt;BR /&gt;OTG.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;From your description, you plan to use the usb port as host. And your question should be how to deal with the download when normal run usb as host mode.&lt;/P&gt;
&lt;P&gt;So, in your case, you should have two dts. one for programming(dr_mode=peripheral) and another for normal run(dr_mode=host).&amp;nbsp;&lt;/P&gt;
&lt;P&gt;actually, you don't have to do grounding the usb id pin by hardware. Because as above no id pin defined in&amp;nbsp;host and&amp;nbsp;peripheral(device).&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If you add&amp;nbsp;dr_mode=host, Linux will never check the id pin.&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;if you add&amp;nbsp;dr_mode=peripheral, Linux also will never check the id pin.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The same is the i.MX ROM code download mode is work as&amp;nbsp;peripheral(device). It will never check the id pin, either.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;i.MX ROM code engineers and the Linux engineers are using the same concept and follow the same usb spec.&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;No id pin for&amp;nbsp;host and&amp;nbsp;peripheral(device). and otg has id pin.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 11 May 2021 22:18:43 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/USB1-ID-State-during-USB-Serial-Download/m-p/1275224#M173889</guid>
      <dc:creator>BiyongSUN</dc:creator>
      <dc:date>2021-05-11T22:18:43Z</dc:date>
    </item>
    <item>
      <title>Re: USB1_ID State during USB Serial Download</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/USB1-ID-State-during-USB-Serial-Download/m-p/1275660#M173933</link>
      <description>&lt;P&gt;Hello and thank you for replying.&lt;/P&gt;&lt;P&gt;If I'm not wrong, the whole flashing procedure looks like this:&lt;/P&gt;&lt;P&gt;1) Start iMX with BOOT PINs 1000 -&amp;gt; serial donwload mode, no dts needed since it's only ROM code that gets executed.&lt;/P&gt;&lt;P&gt;2) In serial download mode, iMX is a peripheral device, I guess. We then use the uuu to download imx-boot from PC to iMX RAM. No OTG pin needed (like USB_ID).&lt;/P&gt;&lt;P&gt;3) u-boot SPL is loaded and loads u-boot with the corresponding dts (imx8mn-ddr4-evk.dts?). Is the device still in peripheral mode? Do we still only need the 4 pins (PWR, DP, DN, GND)?&lt;/P&gt;&lt;P&gt;4) u-boot enters fastboot in order to receive orders from a script that is running on a PC via uuu again. We then can flash the Image to the eMMC memory, right? We also can burn fuses to tell iMX to boot from eMMC next time and to ignore the BOOT MODE pins.&lt;/P&gt;&lt;P&gt;Is that correct? Thank you!&lt;/P&gt;</description>
      <pubDate>Wed, 12 May 2021 13:15:13 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/USB1-ID-State-during-USB-Serial-Download/m-p/1275660#M173933</guid>
      <dc:creator>thomas_C172</dc:creator>
      <dc:date>2021-05-12T13:15:13Z</dc:date>
    </item>
    <item>
      <title>Re: USB1_ID State during USB Serial Download</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/USB1-ID-State-during-USB-Serial-Download/m-p/1275725#M173937</link>
      <description>&lt;P&gt;The BSP default dr_mode is otg reflecting the i.MX reference board hardware design.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;And you hardware design is 4 pin, either host or peripheral (device). That is why you need two dts. one for download, one for normal run as previous reply.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;and next time, if uboot can work you just type fastboot 0(0 is usb controller number) to start the download.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;you don't have to switch to download mode. just use uboot fastboot command. on pc side uuu already can talk to board.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 12 May 2021 15:08:10 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/USB1-ID-State-during-USB-Serial-Download/m-p/1275725#M173937</guid>
      <dc:creator>BiyongSUN</dc:creator>
      <dc:date>2021-05-12T15:08:10Z</dc:date>
    </item>
  </channel>
</rss>

