I am using this board and this works:
Now, I wanted to integrate an SGTL5000 (the above board's CODEC) in a custom board. I designed it and I already have it with me, a local store made it for me and soddered the components.
I suppose the next step would be to just record as I do with the above board:
sudo arecord -r 44100 -f S32_LE test.wav
and with the FE-PI 2 board it works ok, with mine I only record noise.
Doesn't the kernel driver take care of everything such as I2C configuration? I double checked the power voltages between the boards and it is relatively the same, give or take 50-100mV, and also the oscillator.
Basically the question is: when using a driver for an I2S CODEC, does the driver take care of the I2C configuration or does the chip need to be "flashed" one time first or whatever?
EDIT: Something is wrong, when I measure the MIC_BIAS voltage on the chip of the working board it gives 2.54V, and when measuring the same pin on my board it only gives 1.49V. I tried setting the voltage manually using a python program but the chip address appears to be locked by the driver. I'm now studying how drivers work so I can get a better understanding on what is happening.
EDIT2: Found the problem, the bias resistor and the cap that is between the MIC_BIAS pin and ground were switched in production, that was the problem. I have to learn how to silkscreen better on Eagle...