question

Karthik-4681 avatar image
0 Votes"
Karthik-4681 asked Karthik-4681 commented

iMX6Q USB device support..

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-iot-10core
5 |1600 characters needed characters left characters exceeded

Up to 10 attachments (including images) can be used with a maximum of 3.0 MiB each and 30.0 MiB total.

Criszhan-msft avatar image
0 Votes"
Criszhan-msft answered Karthik-4681 commented

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



image.png (21.6 KiB)
image.png (31.6 KiB)
· 1
5 |1600 characters needed characters left characters exceeded

Up to 10 attachments (including images) can be used with a maximum of 3.0 MiB each and 30.0 MiB total.

Could you please help me with the follow-up question?

0 Votes 0 ·
Karthik-4681 avatar image
0 Votes"
Karthik-4681 answered Karthik-4681 edited

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




dsdt-usbasl.txt (7.6 KiB)
5 |1600 characters needed characters left characters exceeded

Up to 10 attachments (including images) can be used with a maximum of 3.0 MiB each and 30.0 MiB total.