esp-idf/components/driver
Darian Leung 3819d22e93 twai: Add errata workaround for listen only mode
This commit adds a workaround for the TWAI listen only mode errata which is
present on the ESP32, ESP32-S2, ESP32-S3, and ESP32-C3. twai_get_status_info()
has also been updated to account for the fact that TEC/REC are frozen in
listen only mode.

Errata Description:

When the TWAI controller is put into listen only mode, it should not influence
the TWAI bus in any way (i.e., should never send a dominant bit). However,
on the targets listed above, the TWAI controller will send dominant bits in an
error frame (i.e., active error frame), even if the controller is set to listen
only mode.

Workaround:

We can force the TWAI controller into the error passive state on startup (by
setting the REC to >= 128). Since the TEC/REC are frozen in listen only mode,
the TWAI controller will remain error passive and only send recessive bits
(i.e., passive error frames), thus will not influence the TWAI bus.

Closes https://github.com/espressif/esp-idf/issues/9157
2023-02-24 20:26:53 +08:00
..
esp32 touch_sensor: add description to distinguish the API on different target 2022-09-22 10:31:08 +08:00
esp32c3 temperature sensor: Add support on ESP32-S3, 2022-07-13 17:22:59 +08:00
esp32h2 temperature sensor: Add support on ESP32-S3, 2022-07-13 17:22:59 +08:00
esp32s2 docs:fix a typo in touch_sensor.h of esp32s2 and esp32s3 2022-11-11 17:40:18 +08:00
esp32s3 docs:fix a typo in touch_sensor.h of esp32s2 and esp32s3 2022-11-11 17:40:18 +08:00
include soc_caps: remove SOC_GPIO_SUPPORT_SLP_SWITCH 2023-02-09 17:52:49 +08:00
test gdma: prevent mutli-channels connect to the same peripheral 2023-02-01 11:10:26 +08:00
adc1_private.h driver: update copyright notice 2021-05-25 17:43:57 +02:00
adc_common.c ulp-riscv: add support for using ADC as well as an example show-casing it. 2022-08-09 09:21:15 +08:00
adc_deprecated.c adc: support adc dma driver on all chips 2021-12-23 17:13:46 +08:00
adc.c adc: fix esp32s2 continuous mode converted bytes issue 2022-07-20 16:43:38 +08:00
CMakeLists.txt temperature sensor: Add support on ESP32-S3, 2022-07-13 17:22:59 +08:00
component.mk usb_serial_jtag: Add blocking driver to support vfs. 2021-07-05 11:22:38 +08:00
dac_common.c dac: apply generic check macro 2021-08-26 14:01:24 +08:00
dedic_gpio.c fast_gpio: driver support on esp32c3 2021-09-06 19:39:09 +08:00
gdma.c gdma: prevent mutli-channels connect to the same peripheral 2023-02-01 11:10:26 +08:00
gpio.c sleep: fix gpio wakeup not working properly in some cases 2023-02-09 17:58:40 +08:00
i2c.c I2C: put some interrupt used functions into IRAM, 2022-12-01 16:20:56 +08:00
i2s.c i2s: fix tx incomplete auto clear 2022-10-12 19:53:58 +08:00
Kconfig twai: Add errata workaround for listen only mode 2023-02-24 20:26:53 +08:00
ledc.c ledc: Fix the usage of ledc_ls_timer_update and ledc_timer_rst 2022-09-20 11:52:57 +08:00
linker.lf gdma: correct the iram placement logic 2022-04-19 13:01:13 +00:00
mcpwm.c Merge branch 'bugfix/mcpwm_wrong_return_value_v4.4' into 'release/v4.4' 2022-11-09 22:49:42 +08:00
pcnt.c dac: apply generic check macro 2021-08-26 14:01:24 +08:00
periph_ctrl.c esp_wifi: fix common clock bug (backport v4.4) 2022-01-27 20:19:41 +08:00
rmt.c rmt: force inline LL functions 2023-02-14 15:11:35 +08:00
rtc_io.c rtc_io, esp_himem: replace XXX_CHECK with ESP_RETURN_ON_FALSE 2021-08-30 11:18:34 +08:00
rtc_module.c driver: update copyright notice 2021-05-25 17:43:57 +02:00
sdio_slave.c sdio_slave: fixed the issue DMA desc not capable 2022-02-13 22:35:04 +08:00
sdkconfig.rename Rename Kconfig options (components/driver) 2019-05-21 09:09:01 +02:00
sdmmc_host.c driver: update copyright notice 2021-05-25 17:43:57 +02:00
sdmmc_private.h driver: update copyright notice 2021-05-25 17:43:57 +02:00
sdmmc_transaction.c driver: update copyright notice 2021-05-25 17:43:57 +02:00
sdspi_crc.c driver: update copyright notice 2021-05-25 17:43:57 +02:00
sdspi_crc.h driver: update copyright notice 2021-05-25 17:43:57 +02:00
sdspi_host.c driver: update copyright notice 2021-05-25 17:43:57 +02:00
sdspi_private.h driver: update copyright notice 2021-05-25 17:43:57 +02:00
sdspi_transaction.c driver: update copyright notice 2021-05-25 17:43:57 +02:00
sigmadelta.c dac: apply generic check macro 2021-08-26 14:01:24 +08:00
spi_bus_lock.c SPI_BUS_LOCK: fix a concurrency issue 2022-09-14 12:11:29 +08:00
spi_common.c spi: limit esp32 dma workaround only on esp32 2022-12-01 20:57:09 +08:00
spi_master.c spi: limit esp32 dma workaround only on esp32 2022-12-01 20:57:09 +08:00
spi_slave_hd.c adc: support adc dma driver on all chips 2021-12-23 17:13:46 +08:00
spi_slave.c Merge branch 'feature/_spi_slave_reset_trans_queue_api_v4.4' into 'release/v4.4' 2023-02-02 21:39:51 +08:00
timer.c timer: propagate isr register failure 2022-09-01 05:11:23 +00:00
touch_sensor_common.c driver: update copyright notice 2021-05-25 17:43:57 +02:00
twai.c twai: Add errata workaround for listen only mode 2023-02-24 20:26:53 +08:00
uart.c uart: Fix unwanted processing of TX_DONE interrupt immediately after calling uart_wait_tx_done() 2022-09-23 16:10:53 +08:00
usb_serial_jtag.c gpio: fix USB D+ pin cannot disable pullup 2022-09-20 15:23:01 +08:00