While I couldn't find it explicitly mentioned in any documentation, it appears that the MKL27 sub-family doesn't support USB remote wakeup (driving the D lines to K state). Looking in the MKL27 reference manual, bits 2-4 of USBx_CTL are just marked as Reserved and read-only, whereas for all other parts in the MKL2 series (MKL24, MKL25, MKL26) bit 2 is RESUME, which is explained as being used for remote wake-up signalling. Also, the relevant wake-up code is disabled in the KSDK generated for the MKL27.
Would it be possible to get confirmation that MKL27 definitely does not support remote wake up? If so, are there any recommendations for the best work-around?
A key difference between the MKL27 and other parts is that it is crystal-less USB device only, whereas the others are non-crystal-less USB OTG. I wonder if remote wakeup had to be dropped from MKL27 for some reason related to this difference.
Solved! Go to Solution.
Hi Chris,
The AE team has reported this issue to the doc team, this version will be updated soon, bit 2-3 of USBx_CTL are available just as other parts with OTG, and bit3 has some description issue, which will be updated as well. bit3 of USBx_CTL isn't used for Host only, and KL27 can support remote wakeup feature.
Wish it helps.
Have a great day,
Kan Li
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hi Chris,
The AE team has reported this issue to the doc team, this version will be updated soon, bit 2-3 of USBx_CTL are available just as other parts with OTG, and bit3 has some description issue, which will be updated as well. bit3 of USBx_CTL isn't used for Host only, and KL27 can support remote wakeup feature.
Wish it helps.
Have a great day,
Kan Li
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
After giving it a try now it appeared to work OK, which is great.
It seems that both the documentation and KSDK could use a bit of clarity around the resume signaling and how it’s used by both host (to bring the device out of suspend) and device (to request remote wakeup). The current KSDK USB middleware mixes the terms Resume and Remote Wakeup and little, and actually doesn’t include support for remote wakeup at all.
I wonder if it was just a case of support being dropped from KL27 due to the belief it was only required for host side operation?
Cheers, Chris
Hi Kan
Thanks greatly for that info. That’s a very nice surprise. I’ll try it out tomorrow.
So the relevant code being disabled in the KSDK and the bit field also not having a define was just a mistake (based on the reference manual I guess)?
Cheers, Chris