I want to make sure I understand this correctly, because there is a disagreement in my company and I don't want to argue before I'm 100% sure I know what I'm talking about.

In my understanding, in a USB-OTG enabled embedded Linux board, OTG\_ID would be an *input* pin, which would would get pulled to ground when a device-mode receptacle is plugged in. The board would read the low state of this input pin and know that firmware needs to make it behave like a device.

This is as opposed to OTG\_ID being the embedded Linux board's output *indicating* what mode it is operating it's USB port in.