Hi Joe,
many thanks for your quick reply :)
Joe wrote: ↑Thu Jun 27, 2024 12:36 pm
Hi,
Yes there is support for both I2S and I2C on multi bit ports.
"This function implements an I2C master bus using a single port. It is only supported on xCORE-200 devices." This will have been written when xcore-200 was the newest device. It should now be taken to mean xcore-200 or newer devices. Do you have a link to where that comment is? I can raise an issue to get it updated.
It's in
https://github.com/xmos/lib_i2c/blob/de ... /api/i2c.h, lines 410, 411.
Am I right assuming that having in my design 2 I2C domains, i.e. 2 independent sets of devices each on an I2C bus, I'll need to instantiate 2
i2c_masters or 2
i2c_master_single_port interfaces, one for each domain?
Is there any known restriction on such a design? can both reside on the same tile?
Joe wrote: ↑Thu Jun 27, 2024 12:36 pm
We don't have any xmos boards that use i2s on a multi-bit port to my knowledge which is why the support isn't in lib_xua. The reason for that is we typically use 1-bit ports as they are more flexible and can support things like TDM protocols which aren't supported on a multi bit port.
For your application if you are short of pins you could also consider using TDM mode (which allows 8 channels per data pin) as this is natively supported by the sw_usb_audio firmware. You can use the multi bit port version of lib_i2s but it might involve more integration time etc.
Cheers,
Joe
Thanks for the clarification; this was more a curiosity than a real need: we have been able to fit all our I2S channels on pins, so we'll happily use the current lib_xua :)