// Copyright 2020 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

using fuchsia.driver.framework;
using fuchsia.pci;
using fuchsia.intel.e1000;

fuchsia.BIND_PROTOCOL == fuchsia.pci.BIND_PROTOCOL.DEVICE;
fuchsia.BIND_PCI_VID == fuchsia.pci.BIND_PCI_VID.INTEL;
accept fuchsia.BIND_PCI_DID {
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_82542,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_82543GC_FIBER,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_82543GC_COPPER,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_82544EI_COPPER,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_82544EI_FIBER,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_82544GC_COPPER,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_82544GC_LOM,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_82540EM,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_82540EM_LOM,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_82540EP_LOM,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_82540EP,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_82540EP_LP,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_82545EM_COPPER,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_82545EM_FIBER,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_82545GM_COPPER,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_82545GM_FIBER,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_82545GM_SERDES,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_82546EB_COPPER,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_82546EB_FIBER,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_82546EB_QUAD_COPPER,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_82546GB_COPPER,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_82546GB_FIBER,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_82546GB_SERDES,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_82546GB_PCIE,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_82546GB_QUAD_COPPER,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_82546GB_QUAD_COPPER_KSP3,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_82541EI,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_82541EI_MOBILE,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_82541ER_LOM,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_82541ER,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_82541GI,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_82541GI_LF,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_82541GI_MOBILE,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_82547EI,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_82547EI_MOBILE,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_82547GI,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_82571EB_COPPER,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_82571EB_FIBER,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_82571EB_SERDES,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_82571EB_SERDES_DUAL,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_82571EB_SERDES_QUAD,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_82571EB_QUAD_COPPER,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_82571PT_QUAD_COPPER,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_82571EB_QUAD_FIBER,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_82571EB_QUAD_COPPER_LP,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_82572EI_COPPER,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_82572EI_FIBER,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_82572EI_SERDES,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_82572EI,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_82573E,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_82573E_IAMT,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_82573L,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_82574L,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_82574LA,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_82583V,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_80003ES2LAN_COPPER_DPT,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_80003ES2LAN_SERDES_DPT,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_80003ES2LAN_COPPER_SPT,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_80003ES2LAN_SERDES_SPT,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_ICH8_82567V_3,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_ICH8_IGP_M_AMT,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_ICH8_IGP_AMT,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_ICH8_IGP_C,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_ICH8_IFE,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_ICH8_IFE_GT,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_ICH8_IFE_G,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_ICH8_IGP_M,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_ICH9_IGP_M,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_ICH9_IGP_M_AMT,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_ICH9_IGP_M_V,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_ICH9_IGP_AMT,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_ICH9_BM,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_ICH9_IGP_C,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_ICH9_IFE,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_ICH9_IFE_GT,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_ICH9_IFE_G,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_ICH10_R_BM_LM,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_ICH10_R_BM_LF,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_ICH10_R_BM_V,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_ICH10_D_BM_LM,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_ICH10_D_BM_LF,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_ICH10_D_BM_V,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_PCH_M_HV_LM,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_PCH_M_HV_LC,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_PCH_D_HV_DM,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_PCH_D_HV_DC,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_PCH2_LV_LM,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_PCH2_LV_V,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_PCH_LPT_I217_LM,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_PCH_LPT_I217_V,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_PCH_LPTLP_I218_LM,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_PCH_LPTLP_I218_V,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_PCH_I218_LM2,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_PCH_I218_V2,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_PCH_I218_LM3,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_PCH_I218_V3,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_PCH_SPT_I219_LM,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_PCH_SPT_I219_V,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_PCH_SPT_I219_LM2,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_PCH_SPT_I219_V2,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_PCH_LBG_I219_LM3,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_PCH_SPT_I219_LM4,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_PCH_SPT_I219_V4,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_PCH_SPT_I219_LM5,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_PCH_SPT_I219_V5,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_PCH_CNP_I219_LM6,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_PCH_CNP_I219_V6,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_PCH_CNP_I219_LM7,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_PCH_CNP_I219_V7,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_PCH_ICP_I219_LM8,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_PCH_ICP_I219_V8,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_PCH_ICP_I219_LM9,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_PCH_ICP_I219_V9,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_PCH_TGP_I219_V13,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_PCH_TGP_I219_LM13,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_PCH_TGP_I219_LM14,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_PCH_TGP_I219_V14,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_PCH_TGP_I219_LM15,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_82576,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_82576_FIBER,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_82576_SERDES,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_82576_QUAD_COPPER,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_82576_QUAD_COPPER_ET2,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_82576_NS,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_82576_NS_SERDES,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_82576_SERDES_QUAD,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_82576_VF,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_82576_VF_HV,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_I350_VF,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_I350_VF_HV,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_82575EB_COPPER,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_82575EB_FIBER_SERDES,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_82575GB_QUAD_COPPER,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_82580_COPPER,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_82580_FIBER,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_82580_SERDES,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_82580_SGMII,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_82580_COPPER_DUAL,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_82580_QUAD_FIBER,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_I350_COPPER,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_I350_FIBER,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_I350_SERDES,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_I350_SGMII,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_I350_DA4,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_I210_COPPER,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_I210_COPPER_OEM1,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_I210_COPPER_IT,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_I210_FIBER,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_I210_SERDES,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_I210_SGMII,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_I210_COPPER_FLASHLESS,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_I210_SERDES_FLASHLESS,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_I211_COPPER,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_I354_BACKPLANE_1GBPS,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_I354_SGMII,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_I354_BACKPLANE_2_5GBPS,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_DH89XXCC_SGMII,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_DH89XXCC_SERDES,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_DH89XXCC_BACKPLANE,
  fuchsia.intel.e1000.BIND_PCI_DID.E1000_DH89XXCC_SFP,
}
if fuchsia.BIND_COMPOSITE == 1 {
  true;
} else {
  fuchsia.driver.framework.dfv2 == true;
}
