1 /* $NetBSD: rmixl_pcievar.h,v 1.2 2009/12/14 00:46:08 matt Exp $ */ 2 3 #ifndef _MIPS_RMI_PCIE_VAR_H_ 4 #define _MIPS_RMI_PCIE_VAR_H_ 5 6 #include <dev/pci/pcivar.h> 7 8 typedef enum rmixl_pcie_lnkcfg_mode { 9 LCFG_NO=0, /* placeholder */ 10 LCFG_EP, /* end point */ 11 LCFG_RC, /* root complex */ 12 } rmixl_pcie_lnkcfg_mode_t; 13 14 typedef struct rmixl_pcie_lnkcfg { 15 rmixl_pcie_lnkcfg_mode_t mode; 16 u_int lanes; 17 } rmixl_pcie_lnkcfg_t; 18 19 typedef struct rmixl_pcie_lnktab { 20 u_int ncfgs; 21 const char *str; 22 const rmixl_pcie_lnkcfg_t *cfg; 23 } rmixl_pcie_lnktab_t; 24 25 struct rmixl_pcie_softc { 26 device_t sc_dev; 27 struct mips_pci_chipset sc_pci_chipset; 28 bus_space_tag_t sc_pcie_cfg_memt; 29 bus_space_tag_t sc_pcie_ecfg_memt; 30 bus_dma_tag_t sc_29bit_dmat; 31 bus_dma_tag_t sc_32bit_dmat; 32 bus_dma_tag_t sc_64bit_dmat; 33 rmixl_pcie_lnktab_t sc_pcie_lnktab; 34 }; 35 36 #endif /* _MIPS_RMI_PCIE_VAR_H_ */ 37 38