Waking host with USB driver Topic is solved
Waking host with USB driver Topic is solved
Is there a way to wake up the host during suspend? I did not find any function which could do this in the API.
- Giovanni
- Site Admin
- Posts: 14457
- Joined: Wed May 27, 2009 8:48 am
- Location: Salerno, Italy
- Has thanked: 1076 times
- Been thanked: 922 times
- Contact:
Re: Waking host with USB driver
Hi,
It is the host that wakes up the device if I remember well.
Giovanni
It is the host that wakes up the device if I remember well.
Giovanni
Re: Waking host with USB driver
Some classes of devices need to be able to wake up the host as well. For example a keyboard or mouse needs to wake up the host when the user provides input.
- Giovanni
- Site Admin
- Posts: 14457
- Joined: Wed May 27, 2009 8:48 am
- Location: Salerno, Italy
- Has thanked: 1076 times
- Been thanked: 922 times
- Contact:
Re: Waking host with USB driver
On an AVR the USB hardware does it when a bit is set in a register. I imagine that other chips don't do it much differently.
- Giovanni
- Site Admin
- Posts: 14457
- Joined: Wed May 27, 2009 8:48 am
- Location: Salerno, Italy
- Has thanked: 1076 times
- Been thanked: 922 times
- Contact:
- FXCoder
- Posts: 384
- Joined: Sun Jun 12, 2016 4:10 am
- Location: Sydney, Australia
- Has thanked: 180 times
- Been thanked: 130 times
Re: Waking host with USB driver
One this topic...
We had a thread going that discussed the RWUSIG bit in the last posts.
The primary matter was RWUSIG being set by the USB driver instead of being cleared....
viewtopic.php?f=38&t=4076&start=10#p29927
In the case of an application level setting RWUSIG then the RWUSIG bit would need to be explicitly cleared by the driver (which it currently isn't - it is set instead).
If RWUSIG is set by the core (from L1 sleep state) then it is cleared automatically 50us later.
We had a thread going that discussed the RWUSIG bit in the last posts.
The primary matter was RWUSIG being set by the USB driver instead of being cleared....
viewtopic.php?f=38&t=4076&start=10#p29927
In the case of an application level setting RWUSIG then the RWUSIG bit would need to be explicitly cleared by the driver (which it currently isn't - it is set instead).
If RWUSIG is set by the core (from L1 sleep state) then it is cleared automatically 50us later.
- Giovanni
- Site Admin
- Posts: 14457
- Joined: Wed May 27, 2009 8:48 am
- Location: Salerno, Italy
- Has thanked: 1076 times
- Been thanked: 922 times
- Contact:
Re: Waking host with USB driver
Hi,
I added a tentative usbWakeupHost() API to trunk, I have no way to test it, could you give a feedback?
I will back-port the change to 17.6.x if it is OK.
Giovanni
I added a tentative usbWakeupHost() API to trunk, I have no way to test it, could you give a feedback?
I will back-port the change to 17.6.x if it is OK.
Giovanni
Re: Waking host with USB driver
I took a look at the code and I think the high level driver could be made more general. On AVR the software simply sets the bit and the hardware takes care of the rest. It is not necessary for it to wait or clear the bit.
Return to “Small Change Requests”
Who is online
Users browsing this forum: No registered users and 25 guests