Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Merge pull request #143 from qmk/fix_kinesis_usb_data_sync | Fabien Poussin | 2018-03-08 | 1 | -16/+41 |
|\ | | | | | Fix Kinetis usb databank synchronization problems | ||||
| * | Fix data usb data toggle sync problem | Fred Sundvik | 2018-02-08 | 1 | -16/+41 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | USB control transfers are structured as the following. For incoming transfers Setup (Data0 out) Data (Data1/Data0 in) - starting with data 1 Status (Data1 out) For outgoing transfers Setup (Data0 out) Data (Data1/Data0 out) - starting with data 1 Status (Data1 in) The in buffers (device to host) are always correctly synchronized, since they can always be reset to Data1 each setup packet without any synchronization problems. The problem occured for outgoing transfers (host to device). For incoming transfers the data banks always alternates, and will automatically stay in sync. Outgoing transfers also stays in sync when there's an odd number of data packets. However when the number is even, including zero, then the last packet received by the device will be data0 and the next setup packet also has to be data0, so there's a synchronization problem. This itself is not a problem since data toggle synchronization(DTS) is ignored for setup packets, however if the follwoing packet after that is also an out packet, then the data bank will be wrong and the packet dropped. In this case the USB spec don't allow sending a nack, so it will only recover after a timeout, when the host tries to send a new setup packet. The old code tried to take care of this situation by reinitializing both data banks when a setup packet is received. The problem is that the next packet might already have been received or is in progress of being received at this point, so the fixup comes to late. The new code does the fixup when a status packet is about to be sent from the device to avoid this problem. | ||||
* | | Add usb_lld_wakeup_host for Kinetis | Fred Sundvik | 2018-02-03 | 1 | -0/+23 |
| | | |||||
* | | Merge pull request #133 from belak/k20x-mcg-c2 | Fabio Utzig | 2017-11-04 | 1 | -3/+2 |
|\ \ | | | | | | | Fix for K20x startup | ||||
| * | | Fix for K20x startup | Kaleb Elwert | 2017-11-04 | 1 | -3/+2 |
| | | | |||||
* | | | [KINETIS] Add saved_state to USB driver. | flabbergast | 2016-07-17 | 1 | -0/+4 |
| |/ |/| | |||||
* | | [KINETIS] Fixes for kernel-less builds. | flabbergast | 2016-05-20 | 3 | -7/+3 |
|/ | |||||
* | [KINETIS] PAL driver: implement PAL_LINE. | flabbergast | 2016-05-08 | 1 | -0/+37 |
| | |||||
* | Merge pull request #62 from flabbergast/i2c | Fabio Utzig | 2016-04-27 | 2 | -58/+242 |
|\ | | | | | [KINETIS] I2C update (timeouts, KL27Z) | ||||
| * | [KINETIS] Add I2C workaround for KL27Z. | flabbergast | 2016-04-25 | 2 | -3/+74 |
| | | |||||
| * | [KINETIS] Fix I2C clock divisor computation. | flabbergast | 2016-04-25 | 1 | -2/+2 |
| | | |||||
| * | [KINETIS] I2C driver: implement timeout. | flabbergast | 2016-04-25 | 2 | -6/+32 |
| | | |||||
| * | [KINETIS] Slightly rewrite and comment i2c driver. | flabbergast | 2016-04-25 | 1 | -56/+143 |
| | | |||||
* | | [KINETIS] fix ADC LLD bug, grpp access after clear | bunnie | 2016-04-24 | 1 | -2/+3 |
|/ | |||||
* | [KINETIS] Fix I2C TX to not wait for RX if requested rxbytes is 0 | Jonathan Struebel | 2016-04-08 | 1 | -1/+1 |
| | |||||
* | [KINETIS] Rename header guards in HAL. | flabbergast | 2016-04-04 | 15 | -45/+45 |
| | |||||
* | [KINETIS] Rename HAL LLD files. | flabbergast | 2016-04-04 | 24 | -19/+19 |
| | |||||
* | [KINETIS] HAL cleanup/update. | flabbergast | 2016-03-22 | 37 | -5615/+3880 |
| | | | | | | | New entries in kinetis_registry.h to support new MCUs. Moved registers to ext/CMSIS, like it is done for STM32. Move the same drivers to LLD. Add USB driver. | ||||
* | [KINETIS] Fix platform driver references to contrib | Fabio Utzig | 2016-03-08 | 2 | -21/+21 |
| | |||||
* | [KINETIS] Move from main repo to contrib | Fabio Utzig | 2016-03-07 | 36 | -0/+11690 |