I've done lots of testing/experimenting with this the last couple of days. I think we are getting closer but not there yet.
First, thanks to
@CaseySJ for translating the DROM property from OC to Clover.
Netting out lots of cold boot/warm boot/CMOS reset and BIOS reset:
My goal is for TB display and display peripherals (mic, display audio out, camera) to work after booting. Sometimes, the display and peripherals work; sometimes, the display works but not the peripherals; sometimes the peripherals work, but not the display. (When the display doesn't light up after the boot is complete, I turn on a secondary display that I have connected via DisplayPort from my RX 590, and I can test the camera, mic, and display sound.)
Sometimes, when I get an "incomplete" boot (display but no peripherals or peripherals but no display), in order to have the TB display light up at the beginning of the next boot, I need to either do a cold boot (unplug power plug from PSU) or sometimes I need to do a CMOS reset.
One thing I've just discovered is that, when I have a successful boot and when the monitor is connected to TB output 1, the TB tree in IOReg is very different from the tree when the monitor is connected to TB output 2. In the first instance, the tree shows up under DSB1, and in the second instance it shows up under DSB4. Both IOReg outputs are attached.
After an incomplete boot, the TB tree shows up with the display attached to Port5. even though the tree shows the camera and display audio connected, those devices don't work. Output attached.
I've tried connecting a USB-c to USB 3 dongle to the unused TB port, but the USB stick I have plugged into the dongle isn't recognized. This isn't a problem because I don't need more USB ports.
Interestingly, prior to booting, when I attach a TB1 hard disk dock to the TB connection on the back of the monitor, BIOS recognizes it, and I am able to boot from a HD loaded in the dock. Not something I plan to do but interesting nonetheless.
You said to look for a checksum error in Hackintool-->logs by searching for DROM. no error shown. Output attached.
Finally, you said to run gfxutil to see if NHI0 was properly configured. It shows as
PCI0.RP21.UPSB.DSB0.NHI0 = PciRoot(0x0)/Pci(0x1b,0x4)/Pci(0x0,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)
I don't know if that means I need to change the path in Devices--property from Pci(0x1c,0x4) to Pci(0x1b,0x4). But ,when I do so, I never get a boot with the peripherals working. To get back to Pci(0x1c,0x4) in DROM properties, I usually need to do a CMOS reset. Output attached.
I also tried a wake from sleep, which doesn't work when I have flashed a modded firmware. That is something I really want to have working. There are two types of wakes that I have experienced--one is the display wakes up with one keyboard press but peripherals don't work, and the other is the system is frozen when I press a key.
Sorry for the long message. But I wanted to supply as much info as possible.