NCS 1.8.0
We have a custom board that uses the ATECC508A on an I2C bus. We are using release 3.3.0 of Microchips library cryptoauthlib which includes zephyr hal support which we have integrated with our application but we see lots of address NACKs while communicating with the module like below.
[00:00:00.782,165] <0x1b>[1;31m<err> i2c_nrfx_twim: Error 0x0BAE0001 occurred for message 0<0x1b>[0m [00:00:00.808,471] <0x1b>[1;31m<err> i2c_nrfx_twim: Error 0x0BAE0001 occurred for message 0<0x1b>[0m [00:00:00.833,892] <0x1b>[1;31m<err> i2c_nrfx_twim: Error 0x0BAE0001 occurred for message 0<0x1b>[0m [00:00:00.859,405] <0x1b>[1;31m<err> i2c_nrfx_twim: Error 0x0BAE0001 occurred for message 0<0x1b>[0m
The I2C comms has not actually failed so far as we have a high retry count for the ATECC508A configuration. So I would like to know if this is a common issue on I2C on nRF91?
We have also tried to bring the bus speed down to 100000 without any change in the number of address NACKs we receive.
For reference, this is our configuration for the chip which was have used on other none nRF MCUs with no issue.
static ATCAIfaceCfg cfg_ateccx08a_i2c = { .iface_type = ATCA_I2C_IFACE, .devtype = ATECC508A, .atcai2c.address = 0xC0, // 8 bit address .atcai2c.baud = 400000, .wake_delay = 1500, .rx_retries = 20, .cfg_data = DT_LABEL(DT_NODELABEL(i2c2))};
I have also contacted Microchip in parallel to see if it is an issue with cryptoauthlib instead.