Don't know, if you have already solved this problem, but I have found an option how to add a vTPM to another VM, than one with Windows 10/2016 OS, which is available in the HTML5 client.
But you need to go into API calls.
I have used the Code capture feature that came with 6.7U2.
Powershell code:
$VMName = "RedHat"
$spec = New-Object VMware.Vim.VirtualMachineConfigSpec
$spec.DeviceChange = New-Object VMware.Vim.VirtualDeviceConfigSpec[] (1)
$spec.DeviceChange[0] = New-Object VMware.Vim.VirtualDeviceConfigSpec
$spec.DeviceChange[0].Device = New-Object VMware.Vim.VirtualTPM
$spec.DeviceChange[0].Device.DeviceInfo = New-Object VMware.Vim.Description
$spec.DeviceChange[0].Device.DeviceInfo.Summary = 'Trusted Platform Module'
$spec.DeviceChange[0].Device.DeviceInfo.Label = 'Trusted Platform Module'
$spec.DeviceChange[0].Device.Key = -1
$spec.DeviceChange[0].Operation = 'add'
$_this = Get-VM $VMname | Get-View
$_this.ReconfigVM_Task($spec)
But it is not yet officially supported by VMware.
To use virtual TPM, the following prerequisites must be met:
Ensure your vSphere environment is configured for virtual machine encryption. See Set up the Key Management Server Cluster.
The guest OS you use must be either Windows Server 2016 (64 bit) or Windows 10 (64 bit).
The ESXi hosts running in your environment must be ESXi 6.7 or later.
The virtual machine must use EFI firmware.