So after much trial and error, I finally got my laptop working again. I have Clover kext injection set to Detect and see the following lines in clover boot log so I must have generated correct SSDT for my laptop.
5:493 0:000 === [ ACPIPatchedAML ] ====================================
5:493 0:000 Unsorted
5:493 0:000 Inserting SSDT-1.AML from EFI\CLOVER\ACPI\patched: size=6538 ... Success
5:510 0:016 Inserting SSDT.AML from EFI\CLOVER\ACPI\patched: size=2254 ... Success
5:518 0:008 CPUBase=0 and ApicCPUBase=1 ApicCPUNum=8
5:518 0:000 Maximum control=0x1A
5:518 0:000 Turbo control=0x24
5:518 0:000 P-States: min 0x7, max 0x24
5:518 0:000 SSDT with plugin-type without P-States is generated
5:518 0:000 Cleanup XSDT: count=16, length=164
5:518 0:000 corrected XSDT count=13, length=140
Sleep still does not work though. It appears my laptop goes to sleep but wakes up immediately. Sometimes after booting I get blank/black screen and looks as if the laptop is about to go to sleep mode. Pressing a key usually get the login screen back.
I tried my own dsdt.aml per Pokenguyen's guide but I get a kernel panic every other boot and even if it boots up, sleep still does not work. I will do some more research next weekend but I'm ok for now.