icm_veto_end(tb);
 }
 
+static bool icm_tgl_is_supported(struct tb *tb)
+{
+       /*
+        * If the firmware is not running use software CM. This platform
+        * should fully support both.
+        */
+       return icm_firmware_running(tb->nhi);
+}
+
 static void icm_handle_notification(struct work_struct *work)
 {
        struct icm_notification *n = container_of(work, typeof(*n), work);
                icm->rtd3_veto = icm_icl_rtd3_veto;
                tb->cm_ops = &icm_icl_ops;
                break;
+
+       case PCI_DEVICE_ID_INTEL_TGL_NHI0:
+       case PCI_DEVICE_ID_INTEL_TGL_NHI1:
+               icm->is_supported = icm_tgl_is_supported;
+               icm->driver_ready = icm_icl_driver_ready;
+               icm->set_uuid = icm_icl_set_uuid;
+               icm->device_connected = icm_icl_device_connected;
+               icm->device_disconnected = icm_tr_device_disconnected;
+               icm->xdomain_connected = icm_tr_xdomain_connected;
+               icm->xdomain_disconnected = icm_tr_xdomain_disconnected;
+               icm->rtd3_veto = icm_icl_rtd3_veto;
+               tb->cm_ops = &icm_icl_ops;
+               break;
        }
 
        if (!icm->is_supported || !icm->is_supported(tb)) {
 
          .driver_data = (kernel_ulong_t)&icl_nhi_ops },
        { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_ICL_NHI1),
          .driver_data = (kernel_ulong_t)&icl_nhi_ops },
+       { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_TGL_NHI0),
+         .driver_data = (kernel_ulong_t)&icl_nhi_ops },
+       { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_TGL_NHI1),
+         .driver_data = (kernel_ulong_t)&icl_nhi_ops },
 
        /* Any USB4 compliant host */
        { PCI_DEVICE_CLASS(PCI_CLASS_SERIAL_USB_USB4, ~0) },
 
 #define PCI_DEVICE_ID_INTEL_TITAN_RIDGE_DD_BRIDGE      0x15ef
 #define PCI_DEVICE_ID_INTEL_ICL_NHI1                   0x8a0d
 #define PCI_DEVICE_ID_INTEL_ICL_NHI0                   0x8a17
+#define PCI_DEVICE_ID_INTEL_TGL_NHI0                   0x9a1b
+#define PCI_DEVICE_ID_INTEL_TGL_NHI1                   0x9a1d
 
 #define PCI_CLASS_SERIAL_USB_USB4                      0x0c0340