esp-idf/components/driver
Wangjialin 553ba51924 bugfix(i2c): reduce speed of I2C master bus reset routine and release SDA
closes https://github.com/espressif/esp-idf/issues/2494
closes https://github.com/espressif/esp-idf/pull/2493
closes https://github.com/espressif/esp-idf/pull/2496

1. Change bus reset to handle interrupted READ sequences.
2. Slow down I2C to 100khz during reset
3. If a SLAVE device was in a read operation when the bus was interrupted, the SLAVE device is controlling SDA.The only bit during the 9 clock cycles of a byte READ the MASTER(ESP32) is guaranteed control over, is during the ACK bit period.
If the SLAVE is sending a stream of ZERO bytes, it will only release SDA during the ACK bit period. The master(ESP32) cannot generate a STOP unless SDA is HIGH. So, this reset code synchronizes the bit stream with, Either, the ACK bit, Or a 1 bit.
2019-01-22 11:43:55 +08:00
..
include/driver i2s: add (optional) support to clear tx descriptor in underflow case 2018-12-31 13:42:26 +05:30
test spi_master: speed up polling performance by putting into IRAM 2018-10-25 12:31:45 +08:00
adc1_i2s_private.h driver(i2s): fix broken i2s adc mode 2018-02-07 17:17:20 +08:00
can.c CAN: Add pm_lock, fix gpio bug, update docs 2018-09-01 02:46:05 +08:00
CMakeLists.txt esp_ringbuf: move ringbuf to seperate component 2018-09-17 17:04:57 +05:30
component.mk build system: Refactor component.mk to not need component_common.mk 2016-11-10 15:52:22 +11:00
gpio.c driver/gpio: support wakeup function for RTC IOs 2018-09-06 15:40:46 +08:00
i2c.c bugfix(i2c): reduce speed of I2C master bus reset routine and release SDA 2019-01-22 11:43:55 +08:00
i2s.c i2s: add (optional) support to clear tx descriptor in underflow case 2018-12-31 13:42:26 +05:30
Kconfig spi: fix the crash when callbacks are not in the IRAM 2018-12-04 21:35:20 +08:00
ledc.c bugfix(ledc): fix bugs reported from unit-test and github. 2018-07-10 02:22:23 +08:00
mcpwm.c driver(mcpwm): Fix mcpwm api in mcpwm.c mismatch with mcpwm.h bug. 2018-06-22 12:26:43 +08:00
pcnt.c Add some comments in pcnt.h. 2018-07-24 10:33:58 +08:00
periph_ctrl.c aes/sha/mpi: Bugfix a use of shared registers. 2018-11-05 04:22:47 +00:00
rmt.c Modify the rmt_mem_num maximum limit value from 15 to 8. 2018-07-16 19:10:42 +08:00
rtc_module.c driver/gpio: support wakeup function for RTC IOs 2018-09-06 15:40:46 +08:00
sdio_slave.c sdio_slave: fix the ret_queue crash issue when being reset by the master 2018-09-25 20:30:25 +08:00
sdmmc_host.c sdmmc: implement partial DDR support 2018-08-30 13:11:54 +08:00
sdmmc_private.h sdmmc: implement partial DDR support 2018-08-30 13:11:54 +08:00
sdmmc_transaction.c sdmmc: implement partial DDR support 2018-08-30 13:11:54 +08:00
sdspi_crc.c Replace all DOS line endings with Unix 2018-07-12 19:10:37 +08:00
sdspi_crc.h Replace all DOS line endings with Unix 2018-07-12 19:10:37 +08:00
sdspi_host.c Replace all DOS line endings with Unix 2018-07-12 19:10:37 +08:00
sdspi_private.h Replace all DOS line endings with Unix 2018-07-12 19:10:37 +08:00
sdspi_transaction.c feature(sdio): allow to enable internal pullups of the SDIO host and slave as a debug feature 2018-06-14 12:04:22 +08:00
sigmadelta.c components/driver: 'const' all config calls. 2017-04-13 18:33:33 +01:00
spi_common.c spi: move gpio direction config to common func for coinsistence 2018-10-04 14:57:31 +08:00
spi_master.c spi: fix the crash when callbacks are not in the IRAM 2018-12-04 21:35:20 +08:00
spi_slave.c spi: fix the crash when callbacks are not in the IRAM 2018-12-04 21:35:20 +08:00
timer.c Timer API docs update, refactored example 2017-10-27 07:13:59 +02:00
uart.c driver(uart): fixed uart read error bug when using dual core for release/v3.2. 2018-11-28 16:37:59 +08:00