I have a board using MX6Q running android 7.1 but I don't have any audio.
From the dmesg, I can see that the SGTL5000 driver codec is loaded successfully and that the probe completes without errors:
sgtl5000 2-000a: sgtl5000 revision 0x11
fsl-ssi-dai 202c000.ssi: No cache defaults, reading back from HW
mmc2: host does not support reading read-only switch, assuming write-enable
mmc2: new high speed SDHC card at address 1234
mmcblk2: mmc2:1234 SA08G 7.25 GiB
sgtl5000 2-000a: ASoC: no sink widget found for HP
sgtl5000 2-000a: ASoC: Failed to add route Headphone Mux -> direct -> HP
sgtl5000 2-000a: ASoC: no source widget found for HP
sgtl5000 2-000a: ASoC: Failed to add route HP -> direct -> HP_OUT
Primary GPT is invalid, using alternate GPT.
mmcblk2: p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11
imx-sgtl5000 sound: sgtl5000 <-> 202c000.ssi mapping ok
cat /proc/asound/cards in the terminal displays:
0 [sgtl5000audio ]: sgtl5000-audio - sgtl5000-audio
My device tree looks ok as well... I verified that the pins to enable the clock and amplifier are enabled by using a multimeter. I verified via oscilloscope that there is a clock signal as well.
In the android logcat, looking at the HAL code that is executed, it looks like something goes wrong (I added debug prints to look into the error). On a different MX6 based board that I got audio to work (that has sgtl5000 as well) the out_write_primary function which processes the output stream gets called repeatedly when playing audio before going to "on standby" once the audio stops playing. On my current board, however, out_write_primary gets called a few times, but suddenly stops without going back to "on standby". No audio is output.
After out_write_primary stops getting called. It does not get called again even if a try to trigger audio again...