帆船模型に再挑戦

趣味の王様(本当か?)帆船模型製作に再挑戦する記録

GA-H55M-S2H 10.6.8+MB with DSDT でAudioを使用可能に

Graphic boardはGE=Noで ATI Radeon HD 5000と認識されfull working。
EthernetはRTL81xx.kextで0x8168と認識され問題なし。
AudioはOutput/Input deviceどちらも使用できない。

DSDT.amlには以下の記述あり

Device (HDEF)
{
Name (_ADR, 0x001B0000)
Method (_PRW, 0, NotSerialized)
{
Return (Package (0x02)
{
0x0D,
0x05
})
}

Method (_DSM, 4, NotSerialized)
{
Store (Package (0x04)
{
"layout-id",
Buffer (0x04)
{
0x77, 0x03, 0x00, 0x00
},

"PinConfigurations",
Buffer (Zero) {}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
}

layout-idは0x377=887

HDMI用の記述は以下のとおり

Device (HDAU)
{
Name (_ADR, One)
Method (_DSM, 4, NotSerialized)
{
Store (Package (0x02)
{
"hda-gfx",
Buffer (0x0A)
{
"onboard-1"
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
}


/System/Library/Extensions/AppleHDA.kext/Contents/MacOS/AppleHDA
にbinary patchを当てる。RealtekのVender ID は0x10ec。
"0x85 0x08 0xec 0x10" を "0x87 0x08 0xec 0x10"に変更する。

Terminalで以下を実行する。

sudo perl -pi -e 's|\x85\x08\xec\x10|\x87\x08\xec\x10|g' /System/Library/Extensions/AppleHDA.kext/Contents/MacOS/AppleHDA

/System/Library/Extensions/AppleHDA.kext/Contents/PlugIns/AppleHDAHardwareConfigDriver.kext/Contents/Info.plist

IOKitPersonalities/HDA Hardware Config Resource/HDAConfigDefaultにはItem 0〜17がある。

Item 0 CodecID=283904133 LayoutID=0
item 1 CodecID=2206496384 LayoutID=0
item 2 CodecID=269697542 LayoutID=0
item 3 CodecID=451708928 LayoutID=0
item 4 CodecID=-2088470912 LayoutID=2
item 5 CodecID=-2088470912 LayoutID=4
item 6 CodecID=-2088470912 LayoutID=6
item 7 CodecID=-2088470912 LayoutID=7
item 8 CodecID=-2088470912 LayoutID=8
item 9 CodecID=-2088470912 LayoutID=10
item10 CodecID=283904133 LayoutID=12
item11 CodecID=-2088470912 LayoutID=14
item12 CodecID=-2088470912 LayoutID=15
item13 CodecID=283904133 LayoutID=36
item14 CodecID=283904133 LayoutID=63 MikeyAFGLowPowerState
item15 CodecID=283904133 LayoutID=64 MikeyAFGLowPowerState
item16 CodecID=269697542 LayoutID=77
item17 CodecID=269697542 LayoutID=16392

ALC885(283904133)で使用できる?LayoutIDは 0, 12, 36

/System/Library/Extensions/AppleHDA.kext/Contents/Resources/
にlayout**.xmlがある。

layout0.xmlを見てみるとItem 2にCodecID 283904133が含まれている。

Headphone MuteGPIO 1342242840
Inputs Item0 LineIn
Item1 SPDIFIn
IntSpeaker MaximumBootBeepValue 64, MuteGPIO 0
LineIn MuteGPIO 838926362
LineOut MuteGPIO 1
Outputs Item0 Headphone
Item1 LineOut
Item2 IntSpeaker
Item3 SPDIFOut
PathMapID=9
SPDIFIn
SPDIFOut

layout12.xmlのItem0は

CodecID=283904133
Headphone MuteGPIO=1342242840
Inputs Item0=LineIn Item1=SPDIFIn
IntSpeaker MaximumBootBeepValue 64, MuteGPIO 0, SignalProcessing
LineIn MuteGPIO 838926362
LineOut MuteGPIO 1
Outputs Headphone, LineOut, IntSpeaker, SPDIFOut
PathMapID 9
SPDIFIn
SPDIFOut

layout36.xmlには

Headphone
Inputs LineIn, Mic, SPDIFIn
IntSpeaker
LineIn
LineOut
Mic
Outputs Headphone, LineOut, IntSpeaker, SPDIFOut
PathMapID 13
SPDIFIn
SPDIFOut