diff --git a/Resources/ALC897/Info.plist b/Resources/ALC897/Info.plist
index d3eeb7041a..68c608a7ff 100644
--- a/Resources/ALC897/Info.plist
+++ b/Resources/ALC897/Info.plist
@@ -92,6 +92,14 @@
Path
layout77.xml.zlib
+
+ Comment
+ B560M Tuf Gaming Plus
+ Id
+ 97
+ Path
+ layout97.xml.zlib
+
Comment
liangyi - ALC897 for MSI PRO B760M-P DDR4
@@ -191,6 +199,14 @@
Path
Platforms77.xml.zlib
+
+ Comment
+ B560M Tuf Gaming Plus
+ Id
+ 97
+ Path
+ Platforms97.xml.zlib
+
Comment
liangyi - ALC897 for MSI PRO B760M-P DDR4
diff --git a/Resources/ALC897/Platforms97.xml b/Resources/ALC897/Platforms97.xml
new file mode 100644
index 0000000000..f8404ab70e
--- /dev/null
+++ b/Resources/ALC897/Platforms97.xml
@@ -0,0 +1,755 @@
+
+ CommonPeripheralDSP
+
+
+ DeviceID
+ 0
+ DeviceType
+ Headphone
+
+
+ DeviceID
+ 0
+ DeviceType
+ Microphone
+ SignalProcessing
+
+ SoftwareDSP
+
+ DspFunction0
+
+ FunctionInfo
+
+ DspFuncInstance
+ 0
+ DspFuncName
+ DspPreGainStage
+ DspFuncProcessingIndex
+ 0
+
+ ParameterInfo
+
+ 1
+ 0
+ 2
+ 1065353216
+ 3
+ 1065353216
+
+ PatchbayInfo
+
+
+ DspFunction1
+
+ FunctionInfo
+
+ DspFuncInstance
+ 1
+ DspFuncName
+ DspVolume
+ DspFuncProcessingIndex
+ 1
+
+ ParameterInfo
+
+ 1
+ 0
+ 2
+ -1067450368
+ 3
+ 0
+ 4
+ -1067450368
+ 5
+ 0
+
+ PatchbayInfo
+
+ InputPort0
+
+ PortInstance
+ 0
+ PortWidth
+ 1
+ SourceFuncInstance
+ 0
+ SourcePortIndex
+ 0
+
+ InputPort1
+
+ PortInstance
+ 1
+ PortWidth
+ 1
+ SourceFuncInstance
+ 0
+ SourcePortIndex
+ 1
+
+
+
+ DspFunction2
+
+ FunctionInfo
+
+ DspFuncInstance
+ 2
+ DspFuncName
+ DspNoiseReduction
+ DspFuncProcessingIndex
+ 2
+
+ ParameterInfo
+
+ 1
+ 0
+ 2
+ 1
+ 3
+ 0
+ 4
+ -1073900105
+ 5
+ BK9/wipbZMKih27CXHt7wkZLgsIgtIXCqhGJwjXJi8JzGI7CYeiPwr6jkcIANpPCjKKUwpCGlMIcWZbC/P2WwtRjmMIK5JnCO52awiB5msITyJrCo7Gbwu3Fm8IZjZ7CQ3+dwmg1n8IdeaHCIlijwvguo8KwU6PCWASgwmt+oMLibqPC21yjwhjOpsLhQqfCEH+nwojDpsLqEabCkoihwrZko8KYFqTCnWWmwhj/qcLplqrCAhyrwvEgq8JwjKjCurCkws+Kp8IKTqXCl7GowrAVq8JmKazCPrGrwiDzqsLZ5KfCCqanwvLDqcKKwqfCqqOqwoKnqsIPAa7CgWGvwlT3rsKl5anCU3yrwpV0qsLimKrCzBGuwm3zrcJGRbDCR5KwwvSxrsKpr6rC2xetwniVqsJNUK3C3lquwtH0rcJ6mazC6zOtwowYrsJUNa3CXBKvwkl9rML3/K/CanKvwuoKssIX37PCwXWzwm3Dr8KxErDC5XuvwqnfrsLBy7HCXnKwwjTms8LUT7XCkrmzwmBWsMIQqrHC1kmwwloussKnybLC+kWywsxLtcIY27fCO3u4wuPgt8I7JbrCClK4wmkwvMJ3vbzCQVHAwjSfxcJ418fCCZ7JwixDzMJm5c/C1FrRwgVZ2MIqAN3CI4rlwpaa78KO4vfCiywAw3HFA8OL1wvD
+
+ PatchbayInfo
+
+ InputPort0
+
+ PortInstance
+ 0
+ PortWidth
+ 1
+ SourceFuncInstance
+ 1
+ SourcePortIndex
+ 0
+
+ InputPort1
+
+ PortInstance
+ 1
+ PortWidth
+ 1
+ SourceFuncInstance
+ 1
+ SourcePortIndex
+ 1
+
+
+
+ DspFunction3
+
+ FunctionInfo
+
+ DspFuncInstance
+ 3
+ DspFuncName
+ DspEqualization32
+ DspFuncProcessingIndex
+ 3
+
+ ParameterInfo
+
+ 1
+ 0
+ 9
+ 0
+ Filter
+
+
+ 2
+ 0
+ 3
+ 0
+ 4
+ 0
+ 5
+ 1
+ 6
+ 1117798621
+ 7
+ 1060439283
+ 8
+ 1099519471
+
+
+ 2
+ 0
+ 3
+ 31
+ 4
+ 0
+ 5
+ 0
+ 6
+ 1184151638
+ 7
+ 1060439283
+ 8
+ 0
+
+
+ 2
+ 1
+ 3
+ 0
+ 4
+ 0
+ 5
+ 1
+ 6
+ 1117798621
+ 7
+ 1060439283
+ 8
+ 1099519471
+
+
+ 2
+ 1
+ 3
+ 31
+ 4
+ 0
+ 5
+ 0
+ 6
+ 1184151638
+ 7
+ 1060439283
+ 8
+ 0
+
+
+
+ PatchbayInfo
+
+ InputPort0
+
+ PortInstance
+ 0
+ PortWidth
+ 1
+ SourceFuncInstance
+ 2
+ SourcePortIndex
+ 0
+
+ InputPort1
+
+ PortInstance
+ 1
+ PortWidth
+ 1
+ SourceFuncInstance
+ 2
+ SourcePortIndex
+ 1
+
+
+
+ DspFunction4
+
+ FunctionInfo
+
+ DspFuncInstance
+ 4
+ DspFuncName
+ DspClientGainAdjustStage
+ DspFuncProcessingIndex
+ 4
+
+ ParameterInfo
+
+ 1
+ 1
+ 2
+ 0
+ 3
+ -1069547520
+ 4
+ 1095761920
+ 5
+ 3
+ 6
+ 1082130432
+ 7
+ 3
+ 8
+ 0
+
+ PatchbayInfo
+
+ InputPort0
+
+ PortInstance
+ 0
+ PortWidth
+ 1
+ SourceFuncInstance
+ 3
+ SourcePortIndex
+ 0
+
+ InputPort1
+
+ PortInstance
+ 1
+ PortWidth
+ 1
+ SourceFuncInstance
+ 3
+ SourcePortIndex
+ 1
+
+
+
+
+
+
+
+ PathMaps
+
+
+ PathMap
+
+
+
+
+
+ Amp
+
+ Channels
+
+
+ Bind
+ 1
+ Channel
+ 1
+
+
+ Bind
+ 2
+ Channel
+ 2
+
+
+ MuteInputAmp
+
+ PublishMute
+
+ PublishVolume
+
+ VolumeInputAmp
+
+
+ NodeID
+ 8
+
+
+ NodeID
+ 35
+
+
+ NodeID
+ 24
+
+
+
+
+
+
+
+
+ NodeID
+ 20
+
+
+ Amp
+
+ Channels
+
+
+ Bind
+ 1
+ Channel
+ 1
+
+
+ Bind
+ 2
+ Channel
+ 2
+
+
+ MuteInputAmp
+
+ PublishMute
+
+ PublishVolume
+
+ VolumeInputAmp
+
+
+ NodeID
+ 12
+
+
+ Amp
+
+ Channels
+
+
+ Bind
+ 1
+ Channel
+ 1
+
+
+ Bind
+ 2
+ Channel
+ 2
+
+
+ MuteInputAmp
+
+ PublishMute
+
+ PublishVolume
+
+ VolumeInputAmp
+
+
+ NodeID
+ 2
+
+
+
+
+
+
+ NodeID
+ 27
+
+
+ Amp
+
+ Channels
+
+
+ Bind
+ 1
+ Channel
+ 1
+
+
+ Bind
+ 2
+ Channel
+ 2
+
+
+ MuteInputAmp
+
+ PublishMute
+
+ PublishVolume
+
+ VolumeInputAmp
+
+
+ NodeID
+ 38
+
+
+ Amp
+
+ Channels
+
+
+ Bind
+ 1
+ Channel
+ 1
+
+
+ Bind
+ 2
+ Channel
+ 2
+
+
+ MuteInputAmp
+
+ PublishMute
+
+ PublishVolume
+
+ VolumeInputAmp
+
+
+ NodeID
+ 37
+
+
+
+
+
+
+
+
+ NodeID
+ 21
+
+
+ Amp
+
+ Channels
+
+
+ Bind
+ 1
+ Channel
+ 1
+
+
+ Bind
+ 2
+ Channel
+ 2
+
+
+ MuteInputAmp
+
+ PublishMute
+
+ PublishVolume
+
+ VolumeInputAmp
+
+
+ NodeID
+ 13
+
+
+ Amp
+
+ Channels
+
+
+ Bind
+ 1
+ Channel
+ 1
+
+
+ Bind
+ 2
+ Channel
+ 2
+
+
+ MuteInputAmp
+
+ PublishMute
+
+ PublishVolume
+
+ VolumeInputAmp
+
+
+ NodeID
+ 3
+
+
+
+
+
+
+
+
+ NodeID
+ 22
+
+
+ Amp
+
+ Channels
+
+
+ Bind
+ 1
+ Channel
+ 1
+
+
+ Bind
+ 2
+ Channel
+ 2
+
+
+ MuteInputAmp
+
+ PublishMute
+
+ PublishVolume
+
+ VolumeInputAmp
+
+
+ NodeID
+ 14
+
+
+ Amp
+
+ Channels
+
+
+ Bind
+ 1
+ Channel
+ 1
+
+
+ Bind
+ 2
+ Channel
+ 2
+
+
+ MuteInputAmp
+
+ PublishMute
+
+ PublishVolume
+
+ VolumeInputAmp
+
+
+ NodeID
+ 4
+
+
+
+
+
+
+
+
+ NodeID
+ 26
+
+
+ Amp
+
+ Channels
+
+
+ Bind
+ 1
+ Channel
+ 1
+
+
+ Bind
+ 2
+ Channel
+ 2
+
+
+ MuteInputAmp
+
+ PublishMute
+
+ PublishVolume
+
+ VolumeInputAmp
+
+
+ NodeID
+ 15
+
+
+ Amp
+
+ Channels
+
+
+ Bind
+ 1
+ Channel
+ 1
+
+
+ Bind
+ 2
+ Channel
+ 2
+
+
+ MuteInputAmp
+
+ PublishMute
+
+ PublishVolume
+
+ VolumeInputAmp
+
+
+ NodeID
+ 5
+
+
+
+
+
+
+
+
+ NodeID
+ 30
+
+
+ Amp
+
+ Channels
+
+
+ Bind
+ 1
+ Channel
+ 1
+
+
+ Bind
+ 2
+ Channel
+ 2
+
+
+ MuteInputAmp
+
+ PublishMute
+
+ PublishVolume
+
+ VolumeInputAmp
+
+
+ NodeID
+ 6
+
+
+
+
+
+ PathMapID
+ 97
+
+
+
diff --git a/Resources/ALC897/layout97.xml b/Resources/ALC897/layout97.xml
new file mode 100644
index 0000000000..7c0716df6c
--- /dev/null
+++ b/Resources/ALC897/layout97.xml
@@ -0,0 +1,719 @@
+
+ LayoutID
+ 97
+ PathMapRef
+
+
+ CodecID
+
+ 283904151
+
+ Headphone
+
+ Inputs
+
+ Mic
+ LineIn
+
+ IntSpeaker
+
+ LineIn
+
+ MuteGPIO
+ 1342242841
+
+ LineOut
+
+ Mic
+
+ MuteGPIO
+ 1342242840
+ SignalProcessing
+
+ SoftwareDSP
+
+ DspFunction0
+
+ FunctionInfo
+
+ DspFuncInstance
+ 0
+ DspFuncName
+ DspVolume
+ DspFuncProcessingIndex
+ 0
+
+ ParameterInfo
+
+ 1
+ 0
+ 2
+ 1097229926
+ 3
+ 0
+ 4
+ 1097229926
+ 5
+ 0
+
+ PatchbayInfo
+
+
+ DspFunction1
+
+ FunctionInfo
+
+ DspFuncInstance
+ 1
+ DspFuncName
+ DspB2
+ DspFuncProcessingIndex
+ 1
+
+ ParameterInfo
+
+ 1
+ 1
+ 10
+ 0
+ 11
+ -1055916032
+ 12
+ 0
+ 2
+ 0
+ 3
+ 0
+ 7
+ 3
+ 8
+ 1
+ 9
+ 19
+
+ PatchbayInfo
+
+ InputPort0
+
+ PortInstance
+ 0
+ PortWidth
+ 1
+ SourceFuncInstance
+ 0
+ SourcePortIndex
+ 0
+
+ InputPort1
+
+ PortInstance
+ 1
+ PortWidth
+ 1
+ SourceFuncInstance
+ 0
+ SourcePortIndex
+ 1
+
+
+
+ DspFunction2
+
+ FunctionInfo
+
+ DspFuncInstance
+ 2
+ DspFuncName
+ DspEqualization32
+ DspFuncProcessingIndex
+ 2
+
+ ParameterInfo
+
+ 1
+ 0
+ 9
+ 0
+ Filter
+
+
+ 2
+ 0
+ 3
+ 0
+ 4
+ 0
+ 5
+ 1
+ 6
+ 1120490130
+ 7
+ 1060439283
+ 8
+ -1069504319
+
+
+ 2
+ 0
+ 3
+ 3
+ 4
+ 0
+ 5
+ 4
+ 6
+ 1129536489
+ 7
+ 1075353461
+ 8
+ -1065420057
+
+
+ 2
+ 0
+ 3
+ 10
+ 4
+ 0
+ 5
+ 4
+ 6
+ 1126830777
+ 7
+ 1069184978
+ 8
+ -1065954789
+
+
+ 2
+ 0
+ 3
+ 11
+ 4
+ 0
+ 5
+ 4
+ 6
+ 1137255908
+ 7
+ 1079789189
+ 8
+ -1064796942
+
+
+ 2
+ 0
+ 3
+ 12
+ 4
+ 0
+ 5
+ 4
+ 6
+ 1140803460
+ 7
+ 1076941152
+ 8
+ -1057320623
+
+
+ 2
+ 0
+ 3
+ 14
+ 4
+ 0
+ 5
+ 4
+ 6
+ 1143767708
+ 7
+ 1072493937
+ 8
+ -1058655680
+
+
+ 2
+ 0
+ 3
+ 21
+ 4
+ 0
+ 5
+ 4
+ 6
+ 1156982103
+ 7
+ 1081871785
+ 8
+ -1069580896
+
+
+ 2
+ 0
+ 3
+ 24
+ 4
+ 0
+ 5
+ 4
+ 6
+ 1172717102
+ 7
+ 1075234682
+ 8
+ -1058655680
+
+
+ 2
+ 0
+ 3
+ 31
+ 4
+ 0
+ 5
+ 0
+ 6
+ 1184666737
+ 7
+ 1060439283
+ 8
+ -1069504319
+
+
+ 2
+ 1
+ 3
+ 0
+ 4
+ 0
+ 5
+ 1
+ 6
+ 1120490130
+ 7
+ 1060439283
+ 8
+ -1069504319
+
+
+ 2
+ 1
+ 3
+ 3
+ 4
+ 0
+ 5
+ 4
+ 6
+ 1129536489
+ 7
+ 1075353461
+ 8
+ -1065420057
+
+
+ 2
+ 1
+ 3
+ 10
+ 4
+ 0
+ 5
+ 4
+ 6
+ 1126830777
+ 7
+ 1069184978
+ 8
+ -1065954789
+
+
+ 2
+ 1
+ 3
+ 11
+ 4
+ 0
+ 5
+ 4
+ 6
+ 1137255908
+ 7
+ 1079789189
+ 8
+ -1064796942
+
+
+ 2
+ 1
+ 3
+ 12
+ 4
+ 0
+ 5
+ 4
+ 6
+ 1140803460
+ 7
+ 1076941152
+ 8
+ -1057320623
+
+
+ 2
+ 1
+ 3
+ 14
+ 4
+ 0
+ 5
+ 4
+ 6
+ 1143767708
+ 7
+ 1072493937
+ 8
+ -1058655680
+
+
+ 2
+ 1
+ 3
+ 21
+ 4
+ 0
+ 5
+ 4
+ 6
+ 1156982103
+ 7
+ 1081871785
+ 8
+ -1069580896
+
+
+ 2
+ 1
+ 3
+ 24
+ 4
+ 0
+ 5
+ 4
+ 6
+ 1172717102
+ 7
+ 1075234682
+ 8
+ -1058655680
+
+
+ 2
+ 1
+ 3
+ 31
+ 4
+ 0
+ 5
+ 0
+ 6
+ 1184666737
+ 7
+ 1060439283
+ 8
+ -1069504319
+
+
+
+ PatchbayInfo
+
+ InputPort0
+
+ PortInstance
+ 0
+ PortWidth
+ 1
+ SourceFuncInstance
+ 1
+ SourcePortIndex
+ 0
+
+ InputPort1
+
+ PortInstance
+ 1
+ PortWidth
+ 1
+ SourceFuncInstance
+ 1
+ SourcePortIndex
+ 1
+
+
+
+ DspFunction3
+
+ FunctionInfo
+
+ DspFuncInstance
+ 3
+ DspFuncName
+ DspNoiseReduction
+ DspFuncProcessingIndex
+ 3
+
+ ParameterInfo
+
+ 1
+ 0
+ 2
+ 1
+ 3
+ 0
+ 4
+ -1129375808
+ 5
+ 8FR4wlEmbsK/pIfCeJ+Mwpn9kcKxBJXCl52WwtdJmMISnJnCz1CawnvkmsJFnpvC9O+bwhxQnMKZvJzCUeqcwuf/nMI6Jp3CxmOdwiyAncKtuJ3C5c2dwgTTncLnF57Cs1uewkx1nsJVTZ7CcVaewo6InsKlVZ7CB1aewicknsKt2Z3Cp7idwiX/ncKOEJ7CwdedwvqFncKIQ53Ch1mdwuwhncIpsJzCi0icws71m8Ji+JvCZDCcwvONnMIDwJzC6Gmcwtg6nMJzZZzComKcwtwCnML/o5vCk16bwpFIm8L+O5vCFCebwkj1msLrcprCeDaawj0ImsIFspnCh+2Wwmyvk8IaLJbC8duXwnr/l8KUyJfCqmiXwuoYl8LzpJbCH0CWwoLFlcKyVpXC2bCUwkoDlMKpXZPCvt2SwsbTksKwlpLCJ/+RwnySkcK3RJHCAveQwm6ckMKoY5DCFdaPwuk5j8I3AI/CU3uPwkmlj8IIZ4/CFT6PwoBZj8INjI/C2dGPwkvoj8LoeJDC8hWRwrGlkcLlL5LCV5OSwnvoksI+yJLCtcGSwr6ik8LT+JTCINWVwm6PlsKeIZfCI8SXwiBCmMJDtJjCWvCYwtCzmMLVeZjCZwyZwkQqmsKtHJvCg9ubwk5QnMIA0JzCeh6dwmEmncL3i5zC/FycwrVYnsLqr6zC
+ 6
+ 1
+
+ PatchbayInfo
+
+ InputPort0
+
+ PortInstance
+ 0
+ PortWidth
+ 1
+ SourceFuncInstance
+ 2
+ SourcePortIndex
+ 0
+
+ InputPort1
+
+ PortInstance
+ 1
+ PortWidth
+ 1
+ SourceFuncInstance
+ 2
+ SourcePortIndex
+ 1
+
+
+
+ DspFunction4
+
+ FunctionInfo
+
+ DspFuncInstance
+ 4
+ DspFuncName
+ DspClientGainAdjustStage
+ DspFuncProcessingIndex
+ 4
+
+ ParameterInfo
+
+ 1
+ 1
+ 2
+ -1050253722
+ 3
+ 0
+ 4
+ 1103311667
+ 5
+ 0
+ 6
+ 1092196762
+ 7
+ 0
+ 8
+ 0
+
+ PatchbayInfo
+
+ InputPort0
+
+ PortInstance
+ 0
+ PortWidth
+ 1
+ SourceFuncInstance
+ 3
+ SourcePortIndex
+ 0
+
+ InputPort1
+
+ PortInstance
+ 1
+ PortWidth
+ 1
+ SourceFuncInstance
+ 3
+ SourcePortIndex
+ 1
+
+
+
+ DspFunction5
+
+ FunctionInfo
+
+ DspFuncInstance
+ 5
+ DspFuncName
+ DspGainStage
+ DspFuncProcessingIndex
+ 5
+
+ ParameterInfo
+
+ 1
+ 0
+ 2
+ 1078616770
+ 3
+ 1078616770
+
+ PatchbayInfo
+
+ InputPort0
+
+ PortInstance
+ 0
+ PortWidth
+ 1
+ SourceFuncInstance
+ 0
+ SourcePortIndex
+ 0
+
+ InputPort1
+
+ PortInstance
+ 1
+ PortWidth
+ 1
+ SourceFuncInstance
+ 0
+ SourcePortIndex
+ 1
+
+
+
+ DspFunction6
+
+ FunctionInfo
+
+ DspFuncInstance
+ 6
+ DspFuncName
+ DspMultibandDRC
+ DspFuncProcessingIndex
+ 6
+
+ ParameterInfo
+
+ 1
+ 0
+ Crossover
+
+ 4
+ 1
+ 5
+ 0
+ 6
+ 1128792064
+
+ Limiter
+
+
+ 10
+ -1068807345
+ 11
+ 1097982434
+ 12
+ -1038380141
+ 13
+ 1068906038
+ 14
+ -1036233644
+ 15
+ 1065353216
+ 16
+ 1101004800
+ 17
+ 1101004800
+ 18
+ 1128792064
+ 19
+ 1101004800
+ 2
+ 1
+ 20
+ 1127866850
+ 21
+ 0
+ 22
+ 0
+ 23
+ 1
+ 3
+ 0
+ 7
+ 0
+ 8
+ 0
+ 9
+ 0
+
+
+
+ PatchbayInfo
+
+ InputPort0
+
+ PortInstance
+ 0
+ PortWidth
+ 1
+ SourceFuncInstance
+ 2
+ SourcePortIndex
+ 0
+
+ InputPort1
+
+ PortInstance
+ 1
+ PortWidth
+ 1
+ SourceFuncInstance
+ 2
+ SourcePortIndex
+ 1
+
+
+
+
+
+
+ Outputs
+
+ Headphone
+ IntSpeaker
+ LineOut
+ SPDIFOut
+
+ PathMapID
+ 97
+ SPDIFOut
+
+
+
+
diff --git a/Resources/PinConfigs.kext/Contents/Info.plist b/Resources/PinConfigs.kext/Contents/Info.plist
index e8d888e42f..02737c4a73 100755
--- a/Resources/PinConfigs.kext/Contents/Info.plist
+++ b/Resources/PinConfigs.kext/Contents/Info.plist
@@ -28,6 +28,24 @@
as.vit9696.AppleALC
HDAConfigDefault
+
+ AFGLowPowerState
+ AwAAAA==
+ CodecID
+ 283904151
+ Comment
+ Realtek ALC897 for ASUS B560M Tuf Gaming Plus
+ ConfigData
+ AUccEAFHHUABRx4BAUcfAQFHDAIBtxwgAbcdQAG3HiEBtx8BAbcMAgGHHDABhx2QAYceoQGHHwEBFxxAARcdAAEXHjcBFx9AAeccUAHnHeAB5x5FAecfAQEnHGABJx3AASceFwEnH0ABVxxwAVcdEAFXHgEBVx8BAWccgAFnHWABZx4BAWcfAQF3HJABdx0AAXceFwF3H0ABlxygAZcdkAGXHqEBlx8CAaccsAGnHTABpx4BAacfAQHXHMAB1x3QAdceJQHXH0AANxzQADcdAAA3HlYANx8Q
+ FuncGroup
+ 1
+ LayoutID
+ 97
+ WakeConfigData
+ AUcMAgIXDAI=
+ WakeVerbReinit
+
+
AFGLowPowerState
AwAAAA==