I'm using Teensy 3.5, and for me the I2C side seems to be working perfectly. I'm using @blackaddr's BALibrary, and have commented in the error checking on the I2C transaction and every one seems to succeed. I'm using 4.7k pull-ups, which seems considerably higher than what most of the schematics are using (I would imagine that would make things worse though not better).
Still no activity on the audio output pin though
I tried @blackaddr suggestion of testing the audio bypass (using setAdcBypass() ), and I *was* able to see an analogue signal being passed through. Which suggests I2C is working fine (that's how ADC bypass is selected), and the analogue circuitry in the chip is working. The signal did seem slightly clipped, but maybe it doesn't get offset in bypass mode (if I offset the signal coming in, I was able to see the entire waveform).
I've put a scope on the I2S clocks, the LRCLCK appears to be running at 44.1kHz, as expected, but the BCLCK, appears to be running at 2.8Mhz. This is x2 what I'd expect (44100*16*2=1.4Mhz). Have I set something up wrong? This would suggest the sample size 32bit samples? I haven't changed anything in the Teensy libs, (and this is a fresh install of Teensyduino 1.46 beta9, required to work with newest version of Arduino). Schematic and source code posted further up this thread.
Here's what I'm seeing on the data lines
Bit Clock at x2 expected speed
Left/Right Clock
DACDAT (seems to be correctly reflecting that I'm only using 1 channel BUT the data stream seems to be half what I thought it would be, (e.g. a quarter of the cycle), which would be consistent with the bit clock being too fast.
ADCDAT