OK, then it's not about GPIO, something else. It's hard to know without the datasheet...
Can't we get a little help from Cirrus Logic, unofficially not breaking NDA someone from them to pretend to be a noob that tried few things and actually give us some hints? Doubt they will drop us the datasheet.
Yes, NID 0x01 is usually the right value, which means AFG.
At least I understood correctly and learned something.
Then what comes to mind is that my [pincfg] might be wrong or actually not applying correctly in the driver if I cannot verify it from the codec#0 file as you said, you sure the C code of that generic Cirrus Logic won't interfere somehow ? What comes to my mind is some type of simple test C code that sends to the device some continuous sound from C code using the [pincfg] I got from Windows, do you happen to have that ? Do those codecs have this Beep sound that is present in the codec#0 as an output device, can't we try to make the sound card beep ? Anything to prove we can interact with it somehow.
BTW, I noticed that there is some downstream patch. Is it the repo you mentioned earlier? https://github.com/joelkraehemann/hda-tool/blob/ master/patch_cirrus.c.patch
Did you try that?
Not really, I have checked his posts in the bugzilla and he says that this is the fixups for iMac27 and the card there is slightly different, and he mentioned December 2017 that none of he tried works, and the code age is earlier. Plus I don't see a single place where he uses my [pincfg] e.g. 0x24 and 0x25 for speakers, he mentioned he tried 0x2b 0x2c if not mistaken, and think that are the speakers. https://bugzilla.kernel.org/show_bug.cgi?id=195671 He mentions that he thinks its integrated circuit MAX98357BEWL.Which I can't confirm but well it might be.
I tried to get to debug Windows kernel driver but happens that the Macbook pro 2017 13 nontb has only 2 Thunderbolt3 ports, and to debug the kernel drive you need a supported Ethernet device officially by microsoft, and mine usb-c ethernet is a new Realtek that is not supported, I'll need to find a usb2,3 ethernet that has a supported chip which might be difficult, no guarantee I will understand anything from the windows kernel debugging.
Note that when you insert Thunderbolt3 adapter, that has HDMI adapter, the Audio over HDMI is working, multiple sources confirmed this. I suspect that the kernel enables HDMI audio and apple might have integrated hardware automatic switch when you enable HDMI internal sound card turns off, is there any way that I can prohibit HDMI audio codec#2 not even to load during kernel boot? Is that even possible to disable the HDMI audio if it comes from the i915 video card ? Does the above make sense at all ?