#define ICE_DEV_ID_E810C_QSFP          0x1592
 /* Intel(R) Ethernet Controller E810-C for SFP */
 #define ICE_DEV_ID_E810C_SFP           0x1593
+/* Intel(R) Ethernet Connection E822-C for backplane */
+#define ICE_DEV_ID_E822C_BACKPLANE     0x1890
+/* Intel(R) Ethernet Connection E822-C for QSFP */
+#define ICE_DEV_ID_E822C_QSFP          0x1891
+/* Intel(R) Ethernet Connection E822-C for SFP */
+#define ICE_DEV_ID_E822C_SFP           0x1892
+/* Intel(R) Ethernet Connection E822-C/X557-AT 10GBASE-T */
+#define ICE_DEV_ID_E822C_10G_BASE_T    0x1893
+/* Intel(R) Ethernet Connection E822-C 1GbE */
+#define ICE_DEV_ID_E822C_SGMII         0x1894
+/* Intel(R) Ethernet Connection E822-X for backplane */
+#define ICE_DEV_ID_E822X_BACKPLANE     0x1897
+/* Intel(R) Ethernet Connection E822-L for SFP */
+#define ICE_DEV_ID_E822L_SFP           0x1898
+/* Intel(R) Ethernet Connection E822-L/X557-AT 10GBASE-T */
+#define ICE_DEV_ID_E822L_10G_BASE_T    0x1899
+/* Intel(R) Ethernet Connection E822-L 1GbE */
+#define ICE_DEV_ID_E822L_SGMII         0x189A
 
 #endif /* _ICE_DEVIDS_H_ */
 
        { PCI_VDEVICE(INTEL, ICE_DEV_ID_E810C_BACKPLANE), 0 },
        { PCI_VDEVICE(INTEL, ICE_DEV_ID_E810C_QSFP), 0 },
        { PCI_VDEVICE(INTEL, ICE_DEV_ID_E810C_SFP), 0 },
+       { PCI_VDEVICE(INTEL, ICE_DEV_ID_E822C_BACKPLANE), 0 },
+       { PCI_VDEVICE(INTEL, ICE_DEV_ID_E822C_QSFP), 0 },
+       { PCI_VDEVICE(INTEL, ICE_DEV_ID_E822C_SFP), 0 },
+       { PCI_VDEVICE(INTEL, ICE_DEV_ID_E822C_10G_BASE_T), 0 },
+       { PCI_VDEVICE(INTEL, ICE_DEV_ID_E822C_SGMII), 0 },
+       { PCI_VDEVICE(INTEL, ICE_DEV_ID_E822X_BACKPLANE), 0 },
+       { PCI_VDEVICE(INTEL, ICE_DEV_ID_E822L_SFP), 0 },
+       { PCI_VDEVICE(INTEL, ICE_DEV_ID_E822L_10G_BASE_T), 0 },
+       { PCI_VDEVICE(INTEL, ICE_DEV_ID_E822L_SGMII), 0 },
        /* required last entry */
        { 0, }
 };
 
 
        nvm->eetrack = (eetrack_hi << 16) | eetrack_lo;
 
+       /* the following devices do not have boot_cfg_tlv yet */
+       if (hw->device_id == ICE_DEV_ID_E822C_BACKPLANE ||
+           hw->device_id == ICE_DEV_ID_E822C_QSFP ||
+           hw->device_id == ICE_DEV_ID_E822C_10G_BASE_T ||
+           hw->device_id == ICE_DEV_ID_E822C_SGMII ||
+           hw->device_id == ICE_DEV_ID_E822C_SFP ||
+           hw->device_id == ICE_DEV_ID_E822X_BACKPLANE ||
+           hw->device_id == ICE_DEV_ID_E822L_SFP ||
+           hw->device_id == ICE_DEV_ID_E822L_10G_BASE_T ||
+           hw->device_id == ICE_DEV_ID_E822L_SGMII)
+               return status;
+
        status = ice_get_pfa_module_tlv(hw, &boot_cfg_tlv, &boot_cfg_tlv_len,
                                        ICE_SR_BOOT_CFG_PTR);
        if (status) {