Added config setting for NRF52 I2C timing bug workaround.

This commit is contained in:
Brian Doherty 2023-08-12 13:15:54 -05:00 committed by Xiang Xiao
parent c712a00620
commit 6e8f25ba3b
2 changed files with 12 additions and 0 deletions

View File

@ -717,6 +717,14 @@ config NRF52_I2C_MASTER_COPY_BUF_SIZE
transaction will fit otherwise it will fall back
on malloc.
config NRF52_I2C_MASTER_WORKAROUND_400KBPS_TIMING
bool "Master 400Kbps timing anomaly workaround"
depends on ARCH_CHIP_NRF52840
default y
---help---
Enable the workaround to fix I2C Master 400Kbps timing bug
which occurs in all NRF52840 revisions to date.
endif # NRF52_I2C_MASTER
endmenu

View File

@ -154,7 +154,11 @@
#define TWIM_FREQUENCY_100KBPS (0x01980000) /* 100 kbps */
#define TWIM_FREQUENCY_250KBPS (0x04000000) /* 250 kbps */
#ifdef NRF52_I2C_MASTER_WORKAROUND_400KBPS_TIMING
#define TWIM_FREQUENCY_400KBPS (0x06200000) /* 400 kbps */
#else
#define TWIM_FREQUENCY_400KBPS (0x06400000) /* 400 kbps */
#endif
/* RXDMAXCNT Register */