How to make AppleHDAController load on Ryzen boards?
Rename(/add) your audio controller to your DSDT/SSDT as HDEF
Add a _DSM method to your HDEF device with layout id 1
Patch the AppleHDAController binary, because it has a static table containing the supported PCI Vendor/DeviceID pairs and it also checks the VendorID against known values. As an example I provide a dif file and patched 10.13.3 binary, but if you want to I can patch the binary for other versions.
After AppleHDAController loads to actually get sound working you need to patch AppleHDA.kext for the codec on your board. First I tried to use Lilu+AppleALC for this task, but for some reason it refused to work. (I might look into it later why) But for the time being it was easier to use toleda's cloverALC script for that, but to make it work I had to change(/remove) the specified location of the HDEF device from the script. And for some reason it also required me to mount the EFI partition manually.
if [[ $(cat /tmp/HDEF.txt | grep -c "HDEF@1") != 0 ]]; then
if [[ $(cat /tmp/HDEF.txt | grep -c "HDEF") != 0 ]]; then