VL53L8CX not working on nrf9151 and getting NAKs
Hi everyone,
So I'm trying to get the VL53L8CX ToF lidar working in ZephyrRTOS running on a NRF9151 chip. I'm using the VL53L8CX ULD driver version 2.0.1. The VL53L8CX is connected to the NRF9151 using i2c with the address 0x52, however when I call the vl53l8cx_is_alive() function from the driver i only see the messages being sent over i2c and getting a NAK.

The i2c setup itself is confirmed to be working given that other devices use the same bus and are working as intended (we have tested with just the VL53L8CX connected as well with no difference in behaviour). We are using a custom pcb and the lpn pin is connected to 1.8v IOVDD with a 47k resistor and the system is powered with 3v AVDD. The VL53L8CX relevant circuitry for our custom pcb looks like this:

With pull-up resistors for the i2c lines.

The vl53l8cx_is_alive() function is called right at the beginning of main, but we have tried to add a delay before calling to give the system time to get fully powered up without effect.

As we are using ZephyrRTOS and the NRF9151 I've had to implement the platform layer functions for i2c myself. I've used the VL53L1x driver that was already present in the ZephyrRTOS repository as the reference for this.

Additionally, we have purchased a x-Nucleo-53L8A1 development board to use with our NRF9151DK development board. When using this setup we are manually setting the lpn and power-enable pins high before calling the is_alive function. We have tried various gpio_configure flags without success.

However, when using this setup we are experiencing strange behaviour on the i2c line. The clock line is permanently pulled high and the NRF9151DK doesnt seem to be able to sent the clock signal.

The first spike going down on the clock line(white) and data line (orange) is the power enable pin being pulled low and then high again after a few milliseconds. The data line is then pulled low and as there is no clock signal it stays low until the 500ms timeout is reached, which are the spikes you see on the data line, 4 messages timing out after 500ms.
There must be something I'm doing wrong and am not seeing, any help would be very much appreciated for both our custom pcb setup and/or the x-Nucleo-53L8A1 setup. If there is any need for further context or questions you need answers for let me know and I will try to respond as soon as possible.
Thanks!
