<?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>LPC MicrocontrollersのトピックRe: LPC1837 over OM13061 USB Host enumeration fail</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1837-over-OM13061-USB-Host-enumeration-fail/m-p/538803#M11746</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by brunoalmeida on Mon Jul 28 16:54:52 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;I found something strange... &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;software/LPCUSBLib/Drivers/USB/Core/HAL/LPC18XX/HAL_LPC18xx.c:115&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;HAL_USBInit(uint8_t corenum){&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;(...)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;/* Program the controller to be the USB device controller */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;USB_REG(corenum)-&amp;gt;USBMODE_D =&amp;nbsp;&amp;nbsp; (0x2 &amp;lt;&amp;lt; 0) /*| (1&amp;lt;&amp;lt;4)*//*| (1&amp;lt;&amp;lt;3)*/;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;if (corenum == 0) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;/* set OTG transcever in proper state, device is present&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; on the port(CCS=1), port enable/disable status change(PES=1). */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_USB0-&amp;gt;OTGSC = (1 &amp;lt;&amp;lt; 3) | (1 &amp;lt;&amp;lt; 0) /*| (1&amp;lt;&amp;lt;16)| (1&amp;lt;&amp;lt;24)| (1&amp;lt;&amp;lt;25)| (1&amp;lt;&amp;lt;26)| (1&amp;lt;&amp;lt;27)| (1&amp;lt;&amp;lt;28)| (1&amp;lt;&amp;lt;29)| (1&amp;lt;&amp;lt;30)*/;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#if (USB_FORCED_FULLSPEED)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_USB0-&amp;gt;PORTSC1_D |= (1 &amp;lt;&amp;lt; 24);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#endif&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;HAL_Reset(corenum);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;(...)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;According to the documentation ... USBMODE_D is for device mode and flag 0x02 is also for device mode. Should this part of on HAL_USBInit even if the USB is in HOST mode, should be executed ? &lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 15 Jun 2016 18:23:33 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-15T18:23:33Z</dc:date>
    <item>
      <title>LPC1837 over OM13061 USB Host enumeration fail</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1837-over-OM13061-USB-Host-enumeration-fail/m-p/538802#M11745</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by brunoalmeida on Fri Jul 25 17:51:08 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hello LPCXpresso Support,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; I've been working with the sample code from &lt;/SPAN&gt;&lt;A href="http://http://www.lpcware.com/content/project/Dual-USB-Host-Device-solution"&gt;link&lt;/A&gt;&lt;SPAN&gt; when i found out a problem. The code present in &lt;/SPAN&gt;&lt;A href="http://http://www.lpcware.com/system/files/MicroSD%20card.zip"&gt;link&lt;/A&gt;&lt;SPAN&gt; is not enumerating a USB MassStorage while in host mode. What we found out about this problem:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; *software/LPCUSBLib/Drivers/USB/Core/HCD/EHCI/EHCI.c:889 - void HcdIrqHandler(uint8_t HostID)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; After intercepting the USB interruption, USB_REG(HostID)-&amp;gt;USBINTR_H register have 0x000c0026 and USB_REG(HostID)-&amp;gt;USBSTS_H have 0x00008088. At line 893 the operation USB_REG(HostID)-&amp;gt;USBSTS_H &amp;amp; t where t = USB_REG(HostID)-&amp;gt;USBINTR_H the result is 0, so its not possible to handle the rest of the interruptions (EHC_USBSTS_PortChangeDetect, EHC_USBSTS_UsbAsyncInt, EHC_USBSTS_UsbPeriodInt, EHC_USBSTS_UsbErrorInt, EHC_USBSTS_IntAsyncAdvance) and the program loops infinity in software/LPCUSBLib/Drivers/USB/Core/Host.c:47 void USB_Host_ProcessNextHostState(uint8_t corenum) because&amp;nbsp; USB_HostState[corenum] is set as HOST_STATE_Unattached.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; We believe that USBSTS_H should have at least EHC_USBSTS_PortChangeDetect set, but we can't figure out why it is not set. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks in advance.&amp;nbsp; ;-)&amp;nbsp; &lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 18:23:32 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1837-over-OM13061-USB-Host-enumeration-fail/m-p/538802#M11745</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T18:23:32Z</dc:date>
    </item>
    <item>
      <title>Re: LPC1837 over OM13061 USB Host enumeration fail</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1837-over-OM13061-USB-Host-enumeration-fail/m-p/538803#M11746</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by brunoalmeida on Mon Jul 28 16:54:52 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;I found something strange... &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;software/LPCUSBLib/Drivers/USB/Core/HAL/LPC18XX/HAL_LPC18xx.c:115&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;HAL_USBInit(uint8_t corenum){&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;(...)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;/* Program the controller to be the USB device controller */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;USB_REG(corenum)-&amp;gt;USBMODE_D =&amp;nbsp;&amp;nbsp; (0x2 &amp;lt;&amp;lt; 0) /*| (1&amp;lt;&amp;lt;4)*//*| (1&amp;lt;&amp;lt;3)*/;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;if (corenum == 0) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;/* set OTG transcever in proper state, device is present&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; on the port(CCS=1), port enable/disable status change(PES=1). */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_USB0-&amp;gt;OTGSC = (1 &amp;lt;&amp;lt; 3) | (1 &amp;lt;&amp;lt; 0) /*| (1&amp;lt;&amp;lt;16)| (1&amp;lt;&amp;lt;24)| (1&amp;lt;&amp;lt;25)| (1&amp;lt;&amp;lt;26)| (1&amp;lt;&amp;lt;27)| (1&amp;lt;&amp;lt;28)| (1&amp;lt;&amp;lt;29)| (1&amp;lt;&amp;lt;30)*/;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#if (USB_FORCED_FULLSPEED)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_USB0-&amp;gt;PORTSC1_D |= (1 &amp;lt;&amp;lt; 24);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#endif&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;HAL_Reset(corenum);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;(...)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;According to the documentation ... USBMODE_D is for device mode and flag 0x02 is also for device mode. Should this part of on HAL_USBInit even if the USB is in HOST mode, should be executed ? &lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 18:23:33 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1837-over-OM13061-USB-Host-enumeration-fail/m-p/538803#M11746</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T18:23:33Z</dc:date>
    </item>
  </channel>
</rss>

