After many weeks of trying I finally managed to figure out how to make the display wake correctly.
After adding a PNLF device I didn't have problems with the brightness, but after sleep it would stay black when not using additional kexts.
The problem with these kexts was that after sleep I got maximum brightness and no way to modify it.
The fix was adding 3 lines to the beginning of my _WAK method:
Method (_WAK, 1, Serialized)
\_SB.PCI0.GFX0.DD02._DSS (0x04C4B401) //wake device
Notify (\_SB.PCI0.GFX0.DD02, 0x86) //increase brightness
\_SB.PCI0.GFX0.DD02._BCM (0x37) //set brightness to 55%
Name (_HID, EisaId ("APP0002"))
Name (_CID, "backlight")
Name (_UID, 0x0A)
Name (_STA, 0x0B)
Method (_BCL, 0, NotSerialized)
Return (^^_SB.PCI0.GFX0.DD02._BCL ())
Method (_BCM, 1, NotSerialized)
Method (_BQC, 0, NotSerialized)
Return (^^_SB.PCI0.GFX0.DD02._BQC ())
Also I modified the DD02 device (LCD) to have a _DOS method and corrected the _BCL method.
Method (_DOS, 1, NotSerialized)
Method (_BCL, 0, Serialized)
Name (BUFF, Package (0x12)
Store (BRTD, Index (BUFF, Zero))
Store (BRTB, Index (BUFF, One))
Store (BRT0, Index (BUFF, 0x02))
Store (BRT1, Index (BUFF, 0x03))
Store (BRT2, Index (BUFF, 0x04))
Store (BRT3, Index (BUFF, 0x05))
Store (BRT4, Index (BUFF, 0x06))
Store (BRT5, Index (BUFF, 0x07))
Store (BRT6, Index (BUFF, 0x08))
Store (BRT7, Index (BUFF, 0x09))
If (LAnd (LLess (OSYS, 0x07D6), HPSU))
Store (BCLA, Index (BUFF, Zero))
Store (BCLD, Index (BUFF, One))
No additional kext are now needed to make brightness work.
I hope this helps others as well.
For me now there is only the sound after wake issue which I currently solve buy just reloading the AppleHDA kext.
All my kexts in one file: