Hey hope you have made some progress on your hack. Came across your post. Your welcome to try my edited kext. Its not fully functional, but its a good work in progress.
What works
Output:
1)Internal Speakers (low sound)
2)Headphone jack works perfect with very good sound.
3)Jack sensor for headphone and internal speakers.
Input:
1)Internal mic
2)Input Volume
3)Ambient noise reduction
What Doesn't works
Output:
1)HDMI Audio
Input:
1)Line input
3)Jack sensor for mic to line input.
The Apple HDA I have edited might not work at all for you as Lenovo might have routed the Codec differently for your board. Best to find a Apple HDA patching guide online and try to follow the steps to get a working HDA kext. Any how your welcome to try my kext to see what results you get.
So I chose layout ID 12 as recommended on the patching guides. To have your dsdt activate my patched kext you have to add a secretion of code to the "Device (HDEF)" in your DSDT.
This is the section to add.
Method (_DSM, 4, NotSerialized)
{
Store (Package (0x06)
{
"hda-gfx",
Buffer (0x0A)
{
"onboard-1"
},
"layout-id",
Buffer (0x04)
{
0x0C, 0x00, 0x00, 0x00
},
"PinConfigurations",
Buffer (Zero) {}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
}
I have also attached the patch file for you to use with DSDT editors like MaciASL. Download the file named HDEF_DSM.text Open your dsdt click on: Patch>Open (location where you saved the patch text file) Then Apply patch and compile. Let me know how it turns out.
MAS