Have programmed RPi Pico to use I2C0 as slave, SPI0 for other control. I2C0 on default GPIO4,5. SPI0 using GPIO 18, 19, 16, software controlled CS. I2C0 hangs on a read after ACKing the assigned address, SCL held low. If the SPI0 is commented out of setup, the I2C0 read works. Why do they interact?
For an authoritative answer, a complete reading of the datasheet is required. I will tell you, however, I saw a similar post recently, and it was due to a conflict between I2C and SPI.