NCS: i2c_recover_bus / nrfx_twi_twim_bus_recover is not working with PinCtrl

i2c_recover_bus is used to re-sync slave devices on the i2c bus when they may be out of sync due to a reboot or other event.

i2c_recover_bus is currently not causing the proper sync sequence on for the i2c SDA + SCL GPIOs.  We're currently working in NCS master branch, but it's apparent this is persistent any time after Pinctrl was introduced.

when i2c_recover_bus is called, it leads to running nrfx_twi_twim_bus_recover.  the pin numbers are expected to be passed in so that the pins can be treated as GPIO to perform the sync/recovery sequence.

However, the recovery sequence isn't performed.  In fact for any given device, 0's are passed in for the scl/sda pins.   It's clear that the pinctrl architecture is no longer populating the .scl and .sda members of the twi device struct.

It seems like the `nrfx_twi_twim_bus_recover` function may need an update to work since pinctrl was introduced.

Related