iMX6Q USB device support..

Karthik 1 Reputation point
2021-03-17T12:32:19.873+00:00

Hey there,
I found a UFX Chipidea interface identifier in the Dsdt-Usb.asl file of windows 10 iotcore, running on iMX6Q. Will this work in USB device mode? Any reference logs for the same will be helpful.
Thanks

Windows for IoT
Windows for IoT
A family of Microsoft operating systems designed for use in Internet of Things (IoT) devices.
380 questions
0 comments No comments
{count} votes

2 answers

Sort by: Most helpful
  1. Cris Zhan-MSFT 6,601 Reputation points
    2021-03-19T03:04:17.633+00:00

    Hi,

    Please check the Known Issues/Limitations in the document - i.MX Windows 10 IoT Release Notes

    79434-image.png

    A similar thread from NXP community, the NXP Employee said "we dont support USB OTG in device mode, its not implemented in our Win BSP Driver".
    https://community.nxp.com/t5/i-MX-Processors/iMX6ULL-evk-USB-OTG-support-on-Win-10-IoT-Core/m-p/1045060


  2. Karthik 1 Reputation point
    2021-03-19T04:14:19.103+00:00

    Hey Criszhan,
    Thanks for the reply. I understand that you intend to say that the board doesn't support windows IoT in USB device mode and the document supports the same.

    But, in the link you provided, the NXP Employee also says "If customer wants to use it right now, he has to make changes into driver and implement it." This is what I wanted to ask. What exactly are the changes that needs to be done? I wanted to figure out the driver changes and that's where I stumbled onto Dsdt-Usb.asl file of windows BSP.

    // Function 1: Read USB_OTG_ID pin value  
          //  
          // Return value  
          // 0 = UrsHardwareEventIdFloat (Function)  
          // 1 = UrsHardwareEventIdGround (Host)  
          //  
          // Always return host.  
          case (1) {  
              Return (0);  
            }  
      
          // Function 2: Read USB_OTG_ID pin value  
          //  
          // Return value  
          // 0 = UrsHardwareEventIdFloat (Function)  
          // 1 = UrsHardwareEventIdGround (Host)  
          //  
          // Always return host.  
          case (2) {  
              Return (0);  
            }  
    

    The above code snippet is from Dsdt-Usb.asl. The file can be found in the attachment. The return value, by default is 1 but there is provision for 0(device mode) as well. And when the return is 0, the board stops detecting other USB devices such as mouse and keyboard implying its in USB device mode. But, when plugged into another window 10 machine, it is not being detected.

    In this link, it says I need to add some packages to the IoT image which I did and it doesn't seem to work.

    One more question. Does it support charging? There is an option in the Dsdt-Usb.asl for charging as well. How can I determine if the board is charging.

    Any information regarding the issue would be helpful.
    Thanks.

    79633-dsdt-usbasl.txt

    0 comments No comments