Using NCS v2.3.0
Boards:
nrf52dk-nrf52832
Custom board with 317030213 BLE module (uses nrf52832)
I wrote code to use I2C to interface with a GPIO Expander (MCP23008). Working with the dev-kit and picking I2C pins i got nice looking results for both SCK and SDA. During routing of our custom board, we selected pins that made for easiest routing since every GPIO pin can be connected to any peripheral. I spent alot of time debugging my custom board that uses pins p0.20 for SDA and pins p0.21 for SCK wondering why it didnt work.
I went back to my dev board and confirmed that using pins p0.20 and p0.21 prevents proper waveforms from being output. By simply switching the pin assignements to p0.24/25 and changing nothing else in my code, the I2C communications work perfectly. Is there anything i may be missing that is specific to these pins that would prevent I2C from working properly? I cant change the pins on my custom board as they have already been fabricated. i2c_write_dt() returns ernno -5
NOTE: I am aware that p0.21 is used as the reset button on the dev kit. I have set CONFIG_GPIO_AS_PINRESET=n in an attempt to fix this issue but this did not fix the issue.
SCREENSHOTS OF I2C OUTPUT WITH PIN ASSIGNMENTS
SCK and SDA for pins 24 and 25
SDA (two images - long delay) and SCK (no output) for pins 20 and 21
INFO DUMP
i2c code
prj.conf