Hmm... it seems strange I2S works perfectly bidirectionally using the same hardware when the codec driver is the dummy spdif one.
When I load my DTS, and restart the pi with the driver disabled, I can read back the registers and it is setting them both as clock producer. AFAICS everything would work if it didnt.
*edit*: This probably didn't make much sense because I haven't mentioned that the chip is powered independently and all signals are going through isolators. So register settings are retained through a Pi reboot.
Perhaps a solution might be an extra option to the pcm3168a driver that tells it to only set one of [ADC/DAC] as clock producer. As far as I can tell it doesn't even matter which one.
When I load my DTS, and restart the pi with the driver disabled, I can read back the registers and it is setting them both as clock producer. AFAICS everything would work if it didnt.
*edit*: This probably didn't make much sense because I haven't mentioned that the chip is powered independently and all signals are going through isolators. So register settings are retained through a Pi reboot.
Perhaps a solution might be an extra option to the pcm3168a driver that tells it to only set one of [ADC/DAC] as clock producer. As far as I can tell it doesn't even matter which one.
Statistics: Posted by gordoste — Fri Nov 22, 2024 12:42 pm