[WP76xx][HW] Switch USB host or USB function

WP76xx_switch_USBHost_function.xlsx (39.9 KB)

Back Ground:
We would like to switch the function that WP76xx was operated as USB host or USB function.
In order to support it, we make the attached block diagram.

  • How to switch: control GPIO22 and GPIO23, and supply to power SW IC to supply Micro USB IF
  • How to recognize function: Check the logic via USB_ID or GPIO25

Please check the attached file as “WP76xx_switch_USBHost_function.xlsx”.
Can this block diagram support to switch either USB Host or USB Function?

Best Regards,

for hardware topic, please directly contact Sierra FAE.

Are we talking about USB OTG?

Hi, Jordan

Are we talking about USB OTG?

No, I talked the following behavior that;

  • USB Host: WP76xx supply voltage to external USB device
  • USB function: No supply voltage, only receiving data via USB

OK, I see. Then it needs a help from the HW team.

Hi Hiroki,
Please make SFDC ticket for this.

Hi, Sierra Team

As we talked with customer, they consider to switch USB function or Host as I said.
In that case, they consider that is judged USB function or USB Host by trigger the logic of USB_ID.

  • USB_ID: “H” or Open —> WP760x=USB Host (Supply USB_VBUS to external USB device)
  • USB_ID: “L” —> WP760x=USB function (Receive USB_VBUS from external USB device)

Do you have the way how to monitor the logic of USB_ID either “H” or “L” in legato App or Linux command?
(Sorry I could not find legato.io.)

do you know what device will be plugged to the USB?
If yes, you can check “cat /sys/kernel/debug/usb/devices” for the device name.

do you know what device will be plugged to the USB?

No, I could not confirm device name.

I consider the following sequence to switch USB host/function.

[1] Monitor USB_ID “H” or “L”, instead of GPIO
(Because our system is insufficient GPIO IF.)
[2] If USB_ID=“H”, WP76xx set to be worked as USB function
[3] If USB_ID=“L”, WP76xx set to be worked as USB Host

In order to fulfill [1], I would like to know whether USB_ID can be monitored either “H” logic or “L” logic under legato or yocto framework.

how about checking the kernel log?
I saw that in case of USB host, when client connected, you should see this message in dmesg:
“New USB device found”.

how about checking the kernel log?

Thanks for your advise, but it could not be applied in our system.
Because I consider that WP76xx will be switch either USB Host or USB Function before external USB device is jack-in.
So I consider the way to switch USB Host/Function, and I assume that switching USB can be monitored USB_ID logic.
That’s why, I asked it.

Please contact Sierra FAE as this is more likely to be hardware stuff.