I am working on a project to try and create a POC of a Win 10 IoT Device on Intel Atom using the Minnowboard Turbot (the Max successor). The critical aspect of this is really to try to get the Minnowboard to recognize one of the USB inputs as a USB Device and NOT a USB host.
I have looked at the schematics for the Minnowboard and tried to align them with the EFI to see if there is a way to enable (presumably through PCI) this capability without much success.
I have looked everywhere (Minnowboard.org, Microsoft, Intel [various sites on IoT and EFI Firmware Tools etc.], UEFI.org, ADIEngineering etc. but I have yet to find the User Guide or documentation to the Main EFI command menu options before the shell boots.
Through my own research I have found that there is a USB OTG setting in the EFI that changes USB from host to something called "PCI Mode".
What I want to establish is the following:
- Does changing this setting in the EFI do anything of note on the Minnowboard? Is it a generic setting in the UEFI or is it actually wired up to something on the board?
- If it does change something then what does it change and how do I access the USB IO? I think the Fast Expansion Connector affords access to the USB "Device" capabilities on the Atom via PCI but again this is not clear. If it is I would like to know which pins on the Fast Expansion Connector need to be wired to (presumably a micro USB connector) to light up that Atom functionality.
- Lastly (I think) I need to know if by enabling the OTG capability AND attaching a micro USB connector to the Minnowboard this will enable the Windows 10 IoT Kernel to see the USB Device IO and enable out of the box stack configuration on the Minnowboard. Microsoft says that if Windows sees a USB Device (not Host) in EFI then it will do the right thing. I need to know if it does and what I may need to do if not (e.g. do I need any Intel Drivers or do I have to write something?
I am a little disappointed that USB device support in these maker boards is lacking and that for some reason the focus for USB is on Host functionality which is not what I would think is important (except for development purposes) for most IoT devices. I know Wifi and NFC are likely target solution areas but I would think even with Apps like in Car or Kiosk apps where I can understand a host requirement, that OTG would also be needed.
[Sorry for the rant ;-)]
I thank you in advance for any pointers or help on this. I would rather know that this is not a good platform for Device development using an Atom E3800 product ASAP and if not what other POC boards does Intel recommend?