diff --git a/Resources/ALC255/Info.plist b/Resources/ALC255/Info.plist
old mode 100755
new mode 100644
index 9861406c1e..bc14353bd3
--- a/Resources/ALC255/Info.plist
+++ b/Resources/ALC255/Info.plist
@@ -228,6 +228,14 @@
Path
layout80.xml.zlib
+
+ Comment
+ ALC3234/ALC255 - Dell OptiPlex 3060 MFF - Lorys89
+ Id
+ 89
+ Path
+ layout89.xml.zlib
+
Platforms
@@ -447,6 +455,14 @@
Path
Platforms80.xml.zlib
+
+ Comment
+ ALC3234/ALC255 - Dell OptiPlex 3060 MFF - Lorys89
+ Id
+ 89
+ Path
+ Platforms89.xml.zlib
+
Patches
diff --git a/Resources/ALC255/Platforms89.xml b/Resources/ALC255/Platforms89.xml
new file mode 100644
index 0000000000..ba7709d3b7
--- /dev/null
+++ b/Resources/ALC255/Platforms89.xml
@@ -0,0 +1,277 @@
+
+ CommonPeripheralDSP
+
+
+ DeviceID
+ 0
+ DeviceType
+ Headphone
+
+
+ DeviceID
+ 0
+ DeviceType
+ Microphone
+
+
+ PathMaps
+
+
+ PathMap
+
+
+
+
+
+ Amp
+
+ Channels
+
+
+ Bind
+ 1
+ Channel
+ 1
+
+
+ Bind
+ 2
+ Channel
+ 2
+
+
+ MuteInputAmp
+
+ PublishMute
+
+ PublishVolume
+
+ VolumeInputAmp
+
+
+ MinimumSampleRate
+ 48000
+ NodeID
+ 8
+
+
+ NodeID
+ 35
+
+
+ Boost
+ 3
+ NodeID
+ 25
+
+
+
+
+
+
+
+
+ Amp
+
+ MuteInputAmp
+
+ PublishMute
+
+ PublishVolume
+
+ VolumeInputAmp
+
+
+ NodeID
+ 20
+
+
+ Amp
+
+ MuteInputAmp
+
+ PublishMute
+
+ PublishVolume
+
+ VolumeInputAmp
+
+
+ NodeID
+ 12
+
+
+ Amp
+
+ Channels
+
+
+ Bind
+ 0
+ Channel
+ 1
+
+
+ Bind
+ 0
+ Channel
+ 2
+
+
+ MuteInputAmp
+
+ PublishMute
+
+ PublishVolume
+
+ VolumeInputAmp
+
+
+ MinimumSampleRate
+ 48000
+ NodeID
+ 2
+
+
+
+
+
+
+ Amp
+
+ MuteInputAmp
+
+ PublishMute
+
+ PublishVolume
+
+ VolumeInputAmp
+
+
+ NodeID
+ 33
+
+
+ Amp
+
+ MuteInputAmp
+
+ PublishMute
+
+ PublishVolume
+
+ VolumeInputAmp
+
+
+ NodeID
+ 12
+
+
+ Amp
+
+ Channels
+
+
+ Bind
+ 1
+ Channel
+ 1
+
+
+ Bind
+ 2
+ Channel
+ 2
+
+
+ MuteInputAmp
+
+ PublishMute
+
+ PublishVolume
+
+ VolumeInputAmp
+
+
+ MinimumSampleRate
+ 48000
+ NodeID
+ 2
+
+
+
+
+
+
+
+
+ Amp
+
+ MuteInputAmp
+
+ PublishMute
+
+ PublishVolume
+
+ VolumeInputAmp
+
+
+ NodeID
+ 27
+
+
+ Amp
+
+ MuteInputAmp
+
+ PublishMute
+
+ PublishVolume
+
+ VolumeInputAmp
+
+
+ NodeID
+ 13
+
+
+ Amp
+
+ Channels
+
+
+ Bind
+ 1
+ Channel
+ 1
+
+
+ Bind
+ 2
+ Channel
+ 2
+
+
+ MuteInputAmp
+
+ PublishMute
+
+ PublishVolume
+
+ VolumeInputAmp
+
+
+ MinimumSampleRate
+ 48000
+ NodeID
+ 3
+
+
+
+
+
+ PathMapID
+ 89
+
+
+
diff --git a/Resources/ALC255/layout89.xml b/Resources/ALC255/layout89.xml
new file mode 100644
index 0000000000..1089132854
--- /dev/null
+++ b/Resources/ALC255/layout89.xml
@@ -0,0 +1,650 @@
+
+ LayoutID
+ 89
+ PathMapRef
+
+
+ CodecID
+
+ 283902549
+
+ Headphone
+
+ Inputs
+
+ LineIn
+
+ IntSpeaker
+
+ MaximumBootBeepValue
+ 64
+ SignalProcessing
+
+ SoftwareDSP
+
+ DspFunction0
+
+ FunctionInfo
+
+ DspFuncInstance
+ 0
+ DspFuncName
+ DspEqualization
+ DspFuncProcessingIndex
+ 0
+
+ ParameterInfo
+
+ 1
+ 0
+ Filter
+
+
+ 2
+ 0
+ 3
+ 0
+ 4
+ 0
+ 5
+ 1
+ 6
+ 1121130925
+ 7
+ 1062181913
+ 8
+ -1051960877
+
+
+ 2
+ 1
+ 3
+ 0
+ 4
+ 0
+ 5
+ 1
+ 6
+ 1121437227
+ 7
+ 1062181913
+ 8
+ -1052549551
+
+
+ 2
+ 0
+ 3
+ 1
+ 4
+ 0
+ 5
+ 4
+ 6
+ 1147243075
+ 7
+ 1069052072
+ 8
+ -1059648963
+
+
+ 2
+ 1
+ 3
+ 1
+ 4
+ 0
+ 5
+ 4
+ 6
+ 1147243075
+ 7
+ 1069052072
+ 8
+ -1059648963
+
+
+ 2
+ 0
+ 3
+ 2
+ 4
+ 0
+ 5
+ 4
+ 6
+ 1153510794
+ 7
+ 1079650306
+ 8
+ 0
+
+
+ 2
+ 1
+ 3
+ 2
+ 4
+ 0
+ 5
+ 4
+ 6
+ 1153270572
+ 7
+ 1074610652
+ 8
+ -1062064882
+
+
+ 2
+ 0
+ 3
+ 3
+ 4
+ 0
+ 5
+ 4
+ 6
+ 1163795438
+ 7
+ 1076603811
+ 8
+ 0
+
+
+ 2
+ 1
+ 3
+ 3
+ 4
+ 0
+ 5
+ 4
+ 6
+ 1163927873
+ 7
+ 1076557096
+ 8
+ -1067488498
+
+
+ 2
+ 0
+ 3
+ 4
+ 4
+ 0
+ 5
+ 5
+ 6
+ 1165447446
+ 7
+ 1093664768
+ 8
+ -1094411354
+
+
+ 2
+ 1
+ 3
+ 4
+ 4
+ 0
+ 5
+ 5
+ 6
+ 1137180672
+ 7
+ 1093664768
+ 8
+ -1095204569
+
+
+ 2
+ 0
+ 3
+ 5
+ 4
+ 0
+ 5
+ 1
+ 6
+ 1120722521
+ 7
+ 1060714809
+ 8
+ -1064028699
+
+
+ 2
+ 1
+ 3
+ 5
+ 4
+ 0
+ 5
+ 1
+ 6
+ 1120926723
+ 7
+ 1060714809
+ 8
+ -1079922904
+
+
+ 2
+ 0
+ 3
+ 6
+ 4
+ 0
+ 5
+ 4
+ 6
+ 1125212588
+ 7
+ 1062958591
+ 8
+ -1070587707
+
+
+ 2
+ 1
+ 3
+ 6
+ 4
+ 0
+ 5
+ 4
+ 6
+ 1125238907
+ 7
+ 1062998322
+ 8
+ -1071124578
+
+
+ 2
+ 0
+ 3
+ 7
+ 4
+ 0
+ 5
+ 4
+ 6
+ 1122038312
+ 7
+ 1074440875
+ 8
+ -1061498991
+
+
+ 2
+ 1
+ 3
+ 7
+ 4
+ 0
+ 5
+ 4
+ 6
+ 1121924912
+ 7
+ 1074271873
+ 8
+ -1061498991
+
+
+ 2
+ 0
+ 3
+ 8
+ 4
+ 0
+ 5
+ 4
+ 6
+ 1128612513
+ 7
+ 1079014663
+ 8
+ -1059382945
+
+
+ 2
+ 1
+ 3
+ 8
+ 4
+ 0
+ 5
+ 4
+ 6
+ 1126665806
+ 7
+ 1087746943
+ 8
+ -1063010452
+
+
+ 2
+ 0
+ 3
+ 9
+ 4
+ 0
+ 5
+ 6
+ 6
+ 1157720978
+ 7
+ 1103101952
+ 8
+ -1076613600
+
+
+ 2
+ 1
+ 3
+ 9
+ 4
+ 0
+ 5
+ 6
+ 6
+ 1157720978
+ 7
+ 1103393070
+ 8
+ -1076613600
+
+
+
+ PatchbayInfo
+
+
+ DspFunction1
+
+ FunctionInfo
+
+ DspFuncInstance
+ 1
+ DspFuncName
+ DspVirtualization
+ DspFuncProcessingIndex
+ 1
+
+ ParameterInfo
+
+ 1
+ 0
+ 10
+ 0
+ 11
+ 1
+ 12
+ -1060850508
+ 13
+ -1038329254
+ 14
+ 10
+ 15
+ 210
+ 16
+ -1049408692
+ 17
+ 5
+ 18
+ 182
+ 19
+ 418
+ 2
+ -1082130432
+ 20
+ -1038976903
+ 21
+ 3
+ 22
+ 1633
+ 23
+ 4033
+ 24
+ -1046401747
+ 25
+ 4003
+ 26
+ 9246
+ 27
+ 168
+ 28
+ 1060875180
+ 29
+ 0
+ 3
+ -1085584568
+ 30
+ -1048128813
+ 31
+ 982552730
+ 32
+ 16
+ 33
+ -1063441106
+ 34
+ 1008902816
+ 35
+ 4
+ 36
+ -1059986974
+ 37
+ 0
+ 38
+ 234
+ 39
+ 1
+ 4
+ -1094466626
+ 40
+ -1047912930
+ 41
+ 1022423360
+ 42
+ 0
+ 43
+ RSWWvHa0y7xk1B68zLkYvBRE+Tvd8kM6usKsPEA8jDwkap48utYFvM8p7LyLF867Tg/ku9UhFD3lKnO8yFQIPc/PoLzKPoE9VliZvVAiGD1DUa692FG0PaD8kb1s7dW8Cvd1P4AH1rx9+ZG9hGC0PYMirr06lRg9rRuZvShfgT0Kz6C8SkAIPbC7c7yNMxQ90sniu9BQy7uMIeu8wK0EvN4bnzwcZ4o8XuerPN1Lhzk6gfk7OnQgvG5lGrzURc+8ogiRvJL8ELwRvBg8qQGUPM4QWzzNMaQ7QlzSu3iKYbsKSbK7kk/tuhTxlruJRKu6DVSwORAuiLrWfoA6Hp+ZOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACasrC7Y0/Tu/+3lLv0l7I5r0STO4dM6DtPRRM8zbj/O+Y2ijtWlU67mDwmvK2+GLyKIpu7Sp34um8TZDkTvp+7UZuaOWcGRTrf22i7D3MfPOY9aTyK8oA94CaQPc3Y2z0d9Ik+N3BQPv60hz28u6M975E8PZYjDT2eVgk9Xp1GPfiKqz3S4U49E7QoPZLzJj3+XNg8D5bCPMiRlTyuLAM9dBEcPTXIDT0m1xE9o7/NPE+Cazye/qw7Xhdjuyen1LtqMOG7/Eo9uxlBXDt1St07kpvdO/gnTjt2Fp+6TB9fu5zaebsv4Eq7A5TZuitNbDdKjzU6P09zOCMxIrptVnS6N9iquxzNuLtj5XC7lxMiOe/WVDsBH407KMBOO9ILWDn1ciO7L+CmuyDt3bue4My7DhNpu0im9jqJ+8E7SMSkOz/fcTuD/q46618ZO3WrlDvWWeQ6c5P0O7L/zjvkHyw8jTzBO4rc27wJi9C8CA22vV/0Mb4d7eO9Z36AvVu0gr1iViO9JtsOvYwn8rw1AkS9UTJzvQ2WKb22Niu9aQQTvU2n3rzvEbC8mcWGvHkexLz8tKu86dpLvOicNbzF2eK7zCAvu2TPYTpu+pw7oyjHO5aduDv60iA7afr8uq46j7sjqZK7q6Aeuxms8bjz6Ks6MH/gOstk3jra8q86emMsOkUllrx2tMu8ZNQevMy5GLwURPk73fJDOrrCrDxAPIw8JGqePLrWBbzPKey8ixfOu04P5LvVIRQ95SpzvMhUCD3Pz6C8yj6BPVZYmb1QIhg9Q1GuvdhRtD2g/JG9bO3VvAr3dT+AB9a8ffmRvYRgtD2DIq69OpUYPa0bmb0oX4E9Cs+gvEpACD2wu3O8jTMUPdLJ4rvQUMu7jCHrvMCtBLzeG588HGeKPF7nqzzdS4c5OoH5Ozp0ILxuZRq81EXPvKIIkbyS/BC8EbwYPKkBlDzOEFs8zTGkO0Jc0rt4imG7Ckmyu5JP7boU8Za7iUSrug1UsDkQLoi61n6AOh6fmTg=
+ 5
+ -1056748724
+ 6
+ 0
+ 7
+ 0
+ 8
+ 0
+ 9
+ 0
+
+ PatchbayInfo
+
+ InputPort0
+
+ PortInstance
+ 0
+ PortWidth
+ 1
+ SourceFuncInstance
+ 0
+ SourcePortIndex
+ 0
+
+ InputPort1
+
+ PortInstance
+ 1
+ PortWidth
+ 1
+ SourceFuncInstance
+ 0
+ SourcePortIndex
+ 1
+
+
+
+ DspFunction2
+
+ FunctionInfo
+
+ DspFuncInstance
+ 1
+ DspFuncName
+ DspMultibandDRC
+ DspFuncProcessingIndex
+ 1
+
+ ParameterInfo
+
+ 1
+ 0
+ Crossover
+
+ 4
+ 2
+ 5
+ 0
+ 6
+ 1143079818
+
+ Limiter
+
+
+ 10
+ -1058198226
+ 11
+ 1094651663
+ 12
+ -1047897509
+ 13
+ 1067573730
+ 14
+ -1027604480
+ 15
+ 1065353216
+ 16
+ 1065353216
+ 17
+ 1073741824
+ 18
+ 1103811283
+ 19
+ 1086830520
+ 2
+ 1
+ 20
+ 1137180672
+ 21
+ 0
+ 22
+ 0
+ 23
+ 1
+ 3
+ 0
+ 7
+ 0
+ 8
+ 0
+ 9
+ -1096637784
+
+
+ 10
+ -1060418742
+ 11
+ 1086941546
+ 12
+ -1047786484
+ 13
+ 1067919143
+ 14
+ -1027604480
+ 15
+ 1065353216
+ 16
+ 1065353216
+ 17
+ 1073741824
+ 18
+ 1111814385
+ 19
+ 1101004800
+ 2
+ 2
+ 20
+ 1137180672
+ 21
+ 0
+ 22
+ 0
+ 23
+ 1
+ 3
+ 0
+ 7
+ 0
+ 8
+ 0
+ 9
+ -1099105016
+
+
+
+ PatchbayInfo
+
+ InputPort0
+
+ PortInstance
+ 0
+ PortWidth
+ 1
+ SourceFuncInstance
+ 0
+ SourcePortIndex
+ 0
+
+ InputPort1
+
+ PortInstance
+ 1
+ PortWidth
+ 1
+ SourceFuncInstance
+ 0
+ SourcePortIndex
+ 1
+
+
+
+
+
+
+ LineIn
+
+ MuteGPIO
+ 1342242841
+
+ LineOut
+
+ MuteGPIO
+ 0
+
+ Outputs
+
+ IntSpeaker
+ Headphone
+ LineOut
+
+ PathMapID
+ 89
+
+
+
diff --git a/Resources/PinConfigs.kext/Contents/Info.plist b/Resources/PinConfigs.kext/Contents/Info.plist
old mode 100755
new mode 100644
index e8d888e42f..d987184723
--- a/Resources/PinConfigs.kext/Contents/Info.plist
+++ b/Resources/PinConfigs.kext/Contents/Info.plist
@@ -1818,6 +1818,29 @@
WakeVerbReinit
+
+ Codec
+ ALC3234/ALC255 Layout 89 - Dell OptiPlex 3060 MFF - Lorys89
+ CodecID
+ 283902549
+ ConfigData
+
+ AUccEAFHHQEBRx4XAUcfkAGXHBABlx0RAZce
+ gQGXHwQBtxwgAbcdEAG3HgEBtx8CAhccXwIX
+ HRACFx4hAhcfAgFHDAIBtwwCAhcMAgGXBiQC
+ BQBFAgTWiQ==
+
+ FuncGroup
+ 1
+ LayoutID
+ 89
+ WakeConfigData
+
+ AUcMAgG3DAICFwwCAZcGJAIFAEUCBNaJ
+
+ WakeVerbReinit
+
+
AFGLowPowerState
AwAAAA==