We have a "distributed" system in place where we have a single I2C master (STM32F7) and a number of I2C slaves (STM32F0). I understand that I2C multimaster is supported, where you have a number of masters speaking to a number of slaves. What I'd like to understand is it is possible to run an I2C bus on any microcontroller (F0 or F7) in master AND slave mode. Ideally we'd have another bus but we don't have that luxury unfortunately. The scenario is we'd like to send messages over I2C from F7 (master) to F0 (slave), but we'd like like to also initiate messages from the F0 back to the F7.
Could someone shed some light on whether this is possible without disabling and re-enabling the I2C peripheral on the fly? Effectively we want I2C masters to be able to listen for async messages received from other MCUs.