]> granicus.if.org Git - esp-idf/commit
Merge branch 'feature/spi_slave' into 'master'
authorJeroen Domburg <jeroen@espressif.com>
Thu, 27 Apr 2017 04:28:42 +0000 (12:28 +0800)
committerJeroen Domburg <jeroen@espressif.com>
Thu, 27 Apr 2017 04:28:42 +0000 (12:28 +0800)
commit46fa2cfb4680b027a93c07c8616a4aa6e76d06ab
tree5ab06edefd4550c2c0ff49a0e67895973003a2b1
parent1324e565fa8fef0fc2ed6a1c5e985af4bfc1d28b
parent04b901e629095d46fee3baf97f496799aeff8d5c
Merge branch 'feature/spi_slave' into 'master'

Split common SPI stuff out of master driver; add slave driver; add workaround for DMA issue.

This merge req mainly adds a slave device. In order to do this, the original master driver is refactored into common code shared by master and slave modes, and a slave driver is added.

The other things added are:
- Added a workaround for a 'feature' of the ESP32 silicon that can lock up the receive DMA channel in some situations. This can only be fixed by resetting *both* DMA channels. The workaround implemented makes sure that the reset only happens when both channels are idle
- Got rid of the automatic choice between register- and DMA-based transfers. The master (and slave) code will now always go for a DMA transfer if a DMA channel is given, and always go for register-based transfers if no DMA channel is given.
- Add in a bunch of fixes for outstanding Github issues.

See merge request !659