I'm having trouble getting the I2C interface working on our nRF54L15-based prototypes. The initial config write to the device fails; specifically, in the twim driver (i2c_nrfx_twim.c) the i2c_nrfx_twim_msg_transfer() call succeeds, but the sem_take for the completion sync semaphore times out. The event_handler function is never called.
I looked through similar tickets on devzone, including 337878,
I checked for pin conflicts with other peripherals, and tried i2c20, i2c21, and i2c22 with the same result.
I checked for shorts on the board, and tried multiple proto boards.
I don't have a logic analyzer, but I can get one if necessary.
We're using a custom driver for the sensor, but it works fine for our nRF52833-based product. The relevant difference in the DTS files is changing the peripheral from i2c0 to i2c20, and changing the compatible line from "nordic,nrf-twi" to "nordic,nrf-twim". The nRF52833-based product only seems to work with nrf-twi, not nrf-twim.
Is there something I need to do to enable the DMA access, or other prerequisites for TWIM on 54L15? I could not find an example of nrf-twim use in the samples directory.
DTS snippet and schematic sections below.
Thanks,
Chris.
-------------------------------