Remote Host Wakeup with USB Kinetis

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Remote Host Wakeup with USB Kinetis

3,596 Views
chuckh
Contributor III

Has anyone successfully performed a remote host wakeup using the USB stack?  If so, how do you do it?  I've tried using the USB0_CTR RESUME bit, for 1-15 ms, per the USB spec, with no success.  I've also added the SystemWakeEnabled to the .inf file.  Is there something else I need to do?  I've also tried just sending data in the firmware which appears to call the resume signaling.

...very frustrating.

0 Kudos
Reply
11 Replies

3,087 Views
wenxue
NXP Employee
NXP Employee

Customer finally achievd this function, but I don't know the implement details.

Kinetis can also wakeup PC via usb if PC are sleep.

Best Regards

Wenxue

0 Kudos
Reply

3,087 Views
Kan_Li
NXP TechSupport
NXP TechSupport

Hi,

Providing you use it in device mode to remote wake up a PC, how did the BIOS configuration? is something like "USB Configuration---USB keyboard/Remote Power" enabled in the BIOS? Did the PC keep powering the USB device while it falls into sleep mode?

B.R

Kan

0 Kudos
Reply

3,087 Views
wenxue
NXP Employee
NXP Employee

Hi Kan_Li,

If use it in device mode to remote wake up a PC and PC don't powering the usb device, deos it means I need to make USB keyboard/Remote Power" enabled in the BIOS?

If use it in device mode and MCU is in VLPS mode, Can I wake up MCU via a usb host?

0 Kudos
Reply

3,087 Views
Kan_Li
NXP TechSupport
NXP TechSupport

Hi Wenxue,

For Device mode to wake up the PC Host, the USB device should be powered otherwise the device can not signal to the Host when you are going to wake up the system, the power option should be found somewhere of BIOS.

For PC host to wake up USB device(Kinetis MCU) in VLPS mode, you should enable asynchronous resume interrupt which is one of source for the AWIC providing the USB Voltage Regulator is on under VLPS mode, when the MCU asynchronously detects K-state using the unfiltered state of the D+ and D– pins, the USB module would send an asynchronous wakeup event to the MCU.

Hope that helps,

Best Regards,

Kan

0 Kudos
Reply

3,087 Views
wenxue
NXP Employee
NXP Employee

Hi Kan_Li,

For PC host to wake up USB device(Kinetis MCU) in VLPS mode. But I found AWIC resource doesn’t contain USB wakeup on KL26.

USB.png

So how to wake up KL26?

0 Kudos
Reply

3,087 Views
Kan_Li
NXP TechSupport
NXP TechSupport

Hi Wenxue,

I think you have to use other sources to wakeup KL26 device under VLPS, for example, pin interrupt.

Hope that helps,

Best Regards,

Kan

0 Kudos
Reply

3,087 Views
wenxue
NXP Employee
NXP Employee


Hi Kan,

Actually, customer need to wake up KL26 via USB.

I just want to confirm whether we can wake KL26 device under VLPS via USB.From the Reference Manual,it seems USB wakeup can be achived. But AWIC wakeup source doesn't include it. So I am very confused.

USB wake up.png

Best Regards,

Wenxue

0 Kudos
Reply

3,087 Views
lucianomoretti
Contributor IV

Hi Wenxue: I'm facing the same issue- I've got a battery powered KL24 USB device that I want to put into VLPS but wake up when plugged in so I can negotiate the power draw and charge.  Did you ever get an answer?

0 Kudos
Reply

3,087 Views
bobpaddock
Senior Contributor III

Vusb from the USB connector can be routed to a Low Level Wake Up (LLWU) pin via appropriate buffering and take a look at the internal USB regulator voltage detection.  This may not be the problem you are trying to solve as it was not clear from your message.


The ability for a USB device to wake up the host is highly depended on the host and its BIOS.Sometimes only those port intended for keyboard or mouse have such ability.

I also feel there is some confusion here about the host USB spec. wakeup/sleep from the host perspective vs the device sleep/waking up the host perspective. They are not necessarily related.

0 Kudos
Reply

3,087 Views
lucianomoretti
Contributor IV

Hi Bob: It's exactly the issue I'm trying to solve: the Kinetis is in low power mode and we plug in to charge.  I need to tell the charger chip if we're charging at 100mA, 500mA, or 1000mA.

We do currently have VUSB routed to the device, but we're currently MUXed to an ADC for voltage monitoring. I could mux the pin as an external interrupt, but then I'd lose my monitoring capabilities.  The PEx components also don't provide an easy way to switch the muxing at runtime.

0 Kudos
Reply

3,087 Views
perlam_i_au
Senior Contributor I

Your Kinetis device is being used as host or as device? I ask because USB0_CTL RESUME bit will have different behavior for each mode

0 Kudos
Reply