Gigabyte Z87X-UD3H motherboard doesn't have built-in TPM chipset, but it has a 19 pin TPM port on the motherboard that accepts external TPM 1.2 boards.
Gigabyte have been making their own TPM modules, but when I looked they appeared to be out of stock or discontinued everywhere online... I decided to try Asus 90-C1B0AU-00XBN0VZ TPM chipset which had the same pin layout.
The issue was that Asus card didn't fit into the Gigabyte TPM port because as you can see in the picture above the board extends all the way to the front of the connector and prevents inserting it into the TPM port on the motherboard. As the board was not attached to the connector in any way and there wasn't any electronics on there I went for a brute force approach and simply cut the excess board using a small hack saw!
After this everything was pretty stright forward. BIOS immediately recognised the TPM board, I just had to enable it in Peripherals > Trusted Computing. Just be aware that enabling has to be done in two steps - first enable Security Device Support, save changes, rebooting PC, and then change TPM State to Enabled.
After TPM chipset was enabled in BIOS, Windows 10 TPM Management Console (tpm.msc) immediately recognised the chip. It took few minutes for Windows to install drivers and set everything up, but everything was done automatically. Asus included driver CD with the card, but it was not required.
Finally I could enable BitLocker on the system drive without having to enter password after every reboot!
Windows 10 Pro