Commit Graph

5 Commits (7095b82126b51ea4bde6df7760f694dd851a47b9)

Author SHA1 Message Date
Russ Butler 96d3667f20 Fix USB on Kinetis devices
Set correct SYSMPU register for proper USB operation.  This bug was
introduced when the SYSMPU register names and defines were updated
in the commit:
"K64F: Updated the SYSMPU SDK driver"
93f8cfed05
2018-06-08 10:56:09 -05:00
Cruz Monrreal fe87499af8
Merge pull request #5874 from c1728p9/usb_fixes_and_improvements
USB fixes and improvements
2018-01-26 10:37:13 -06:00
Russ Butler 352ff8df14 Kinetis USB improvements and fixes
Make the following improvements and fixes:

1.
Update the Kinetis USB driver so that endpointReadResult only reads the
result of the last read and does not trigger a new read. Instead
move the code to trigger new reads into endpointRead.

2.
Fix the race condition in controlIn caused by a call to
EP0read() followed immediately by  EP0readStage(). This is done by
setting up to read the next setup packet (ignoring the status stage)
in endpointReadResult rather than in EP0readStage. This makes the
function EP0readStage unnecissary.

3.
Remove the Kinetis workaround in controlOut in USBDevice.cpp since
point 2 fixes this bug. For more info on this see the PR which
added this workaround - https://github.com/ARMmbed/mbed-os/pull/414
2018-01-17 20:58:16 -06:00
Russ Butler beaac1525e Fix clearing of ISTAT in Kinetis USB
The ISTAT register is write 1 to clear. Because of this ORing this
register with itself fill clear all bits that are set. This patch
updates the code to use plain assignment so only desired
bit is cleared.
2018-01-17 20:54:08 -06:00
Mihail Stoyanov 717150cdf2 Reorganize vendor specific code into targets folders, following the mbed-os/targets/ design pattern 2017-06-27 14:20:36 -05:00