I am planning to implement iAP2 support on my iMX6 Nitrogen board, running a Linux 3.0.35. Currently I am struggling with the fact, that the iPhone does not initiate a USB enumeration, and I hope I can get some help here.
What do I currently have:
Of course there are hundreds of possible reasons, and I am trying hard to eliminate one after the other. But for some information I would need a little help:
Currently, I can only imagine that this D+ pin is causing the trouble, since everything else is done as specified. Of course, it can always be a broken phone as well, but I doubt this is the case.
Do you have any information?
I'm trying the same with an i.mx 6SoloX Board. I have done the same procedure as you.
As mentioned here: https://www.kernel.org/doc/Documentation/usb/chipidea.txt you can do a roleswitch between two devices from userspace. I have compiled the necessary module into the kernel, but no luck. I see the given files, but when I write to them, nothing changes, no role switch.
In the driver source: Linux/drivers/usb/chipidea/otg.c - Linux Cross Reference - Free Electrons there is a function which does roleswitch depending on the id pin. Perhaps it's possible to turn this off, to make a manual roleswitch?
seems some info regarding apple devices one can look at
(USB Role Switch\i.MX6Q\ReleaseNotes.pdf)