Changeset View
Changeset View
Standalone View
Standalone View
head/sys/net/sff8472.h
Show First 20 Lines • Show All 373 Lines • ▼ Show 20 Lines | |||||
* Indicates transceiver has achieved power up and data is ready. Bit | * Indicates transceiver has achieved power up and data is ready. Bit | ||||
* remains high until data is ready to be read at which time the | * remains high until data is ready to be read at which time the | ||||
* device sets the bit low. | * device sets the bit low. | ||||
*/ | */ | ||||
#define SFF_8472_STATUS_DATA_READY (1 << 0) | #define SFF_8472_STATUS_DATA_READY (1 << 0) | ||||
/* | /* | ||||
* Table 3.2 Identifier values. | * Table 3.2 Identifier values. | ||||
* Identifier constants has taken from SFF-8024 rev 4.2 table 4.1 | * Identifier constants has taken from SFF-8024 rev 4.6 table 4.1 | ||||
* (as referenced by table 3.2 footer) | * (as referenced by table 3.2 footer) | ||||
* */ | * */ | ||||
enum { | enum { | ||||
SFF_8024_ID_UNKNOWN = 0x0, /* Unknown or unspecified */ | SFF_8024_ID_UNKNOWN = 0x0, /* Unknown or unspecified */ | ||||
SFF_8024_ID_GBIC = 0x1, /* GBIC */ | SFF_8024_ID_GBIC = 0x1, /* GBIC */ | ||||
SFF_8024_ID_SFF = 0x2, /* Module soldered to motherboard (ex: SFF)*/ | SFF_8024_ID_SFF = 0x2, /* Module soldered to motherboard (ex: SFF)*/ | ||||
SFF_8024_ID_SFP = 0x3, /* SFP or SFP “Plus” */ | SFF_8024_ID_SFP = 0x3, /* SFP or SFP “Plus” */ | ||||
SFF_8024_ID_XBI = 0x4, /* 300 pin XBI */ | SFF_8024_ID_XBI = 0x4, /* 300 pin XBI */ | ||||
SFF_8024_ID_XENPAK = 0x5, /* Xenpak */ | SFF_8024_ID_XENPAK = 0x5, /* Xenpak */ | ||||
SFF_8024_ID_XFP = 0x6, /* XFP */ | SFF_8024_ID_XFP = 0x6, /* XFP */ | ||||
SFF_8024_ID_XFF = 0x7, /* XFF */ | SFF_8024_ID_XFF = 0x7, /* XFF */ | ||||
SFF_8024_ID_XFPE = 0x8, /* XFP-E */ | SFF_8024_ID_XFPE = 0x8, /* XFP-E */ | ||||
SFF_8024_ID_XPAK = 0x9, /* XPAk */ | SFF_8024_ID_XPAK = 0x9, /* XPAk */ | ||||
SFF_8024_ID_X2 = 0xA, /* X2 */ | SFF_8024_ID_X2 = 0xA, /* X2 */ | ||||
SFF_8024_ID_DWDM_SFP = 0xB, /* DWDM-SFP */ | SFF_8024_ID_DWDM_SFP = 0xB, /* DWDM-SFP */ | ||||
SFF_8024_ID_QSFP = 0xC, /* QSFP */ | SFF_8024_ID_QSFP = 0xC, /* QSFP */ | ||||
SFF_8024_ID_QSFPPLUS = 0xD, /* QSFP+ */ | SFF_8024_ID_QSFPPLUS = 0xD, /* QSFP+ or later */ | ||||
SFF_8024_ID_CXP = 0xE, /* CXP */ | SFF_8024_ID_CXP = 0xE, /* CXP */ | ||||
SFF_8024_ID_HD4X = 0xF, /* Shielded Mini Multilane HD 4X */ | SFF_8024_ID_HD4X = 0xF, /* Shielded Mini Multilane HD 4X */ | ||||
SFF_8024_ID_HD8X = 0x10, /* Shielded Mini Multilane HD 8X */ | SFF_8024_ID_HD8X = 0x10, /* Shielded Mini Multilane HD 8X */ | ||||
SFF_8024_ID_QSFP28 = 0x11, /* QSFP28 or later */ | SFF_8024_ID_QSFP28 = 0x11, /* QSFP28 or later */ | ||||
SFF_8024_ID_CXP2 = 0x12, /* CXP2 (aka CXP28) */ | SFF_8024_ID_CXP2 = 0x12, /* CXP2 (aka CXP28) */ | ||||
SFF_8024_ID_CDFP = 0x13, /* CDFP (Style 1/Style 2) */ | SFF_8024_ID_CDFP = 0x13, /* CDFP (Style 1/Style 2) */ | ||||
SFF_8024_ID_SMM4 = 0x14, /* Shielded Mini Multilate HD 4X Fanout */ | SFF_8024_ID_SMM4 = 0x14, /* Shielded Mini Multilate HD 4X Fanout */ | ||||
SFF_8024_ID_SMM8 = 0x15, /* Shielded Mini Multilate HD 8X Fanout */ | SFF_8024_ID_SMM8 = 0x15, /* Shielded Mini Multilate HD 8X Fanout */ | ||||
SFF_8024_ID_CDFP3 = 0x16, /* CDFP (Style3) */ | SFF_8024_ID_CDFP3 = 0x16, /* CDFP (Style3) */ | ||||
SFF_8024_ID_MICROQSFP = 0x17, /* microQSFP */ | SFF_8024_ID_MICROQSFP = 0x17, /* microQSFP */ | ||||
SFF_8024_ID_QSFP_DD = 0x18, /* QSFP-DD 8X Pluggable Transceiver */ | SFF_8024_ID_QSFP_DD = 0x18, /* QSFP-DD 8X Pluggable Transceiver */ | ||||
SFF_8024_ID_LAST = SFF_8024_ID_QSFP_DD | SFF_8024_ID_OSFP8X = 0x19, /* OSFP 8X Pluggable Transceiver */ | ||||
SFF_8024_ID_SFP_DD = 0x1A, /* SFP-DD 2X Pluggable Transceiver */ | |||||
SFF_8024_ID_DSFP = 0x1B, /* DSFP Dual SFF Pluggable Transceiver */ | |||||
SFF_8024_ID_X4ML = 0x1C, /* x4 MiniLink/OcuLink */ | |||||
SFF_8024_ID_X8ML = 0x1D, /* x8 MiniLink */ | |||||
SFF_8024_ID_QSFP_CMIS = 0x1E, /* QSFP+ or later w/ Common Management | |||||
Interface Specification */ | |||||
SFF_8024_ID_LAST = SFF_8024_ID_QSFP_CMIS | |||||
}; | }; | ||||
static const char *sff_8024_id[SFF_8024_ID_LAST + 1] = {"Unknown", | static const char *sff_8024_id[SFF_8024_ID_LAST + 1] = { | ||||
"Unknown", | |||||
"GBIC", | "GBIC", | ||||
"SFF", | "SFF", | ||||
"SFP/SFP+/SFP28", | "SFP/SFP+/SFP28", | ||||
"XBI", | "XBI", | ||||
"Xenpak", | "Xenpak", | ||||
"XFP", | "XFP", | ||||
"XFF", | "XFF", | ||||
"XFP-E", | "XFP-E", | ||||
"XPAK", | "XPAK", | ||||
"X2", | "X2", | ||||
"DWDM-SFP/SFP+", | "DWDM-SFP/SFP+", | ||||
"QSFP", | "QSFP", | ||||
"QSFP+", | "QSFP+", | ||||
"CXP", | "CXP", | ||||
"HD4X", | "HD4X", | ||||
"HD8X", | "HD8X", | ||||
"QSFP28", | "QSFP28", | ||||
"CXP2", | "CXP2", | ||||
"CDFP", | "CDFP", | ||||
"SMM4", | "SMM4", | ||||
"SMM8", | "SMM8", | ||||
"CDFP3", | "CDFP3", | ||||
"microQSFP", | "microQSFP", | ||||
"QSFP-DD"}; | "QSFP-DD", | ||||
"QSFP8X", | |||||
"SFP-DD", | |||||
"DSFP", | |||||
"x4MiniLink/OcuLink", | |||||
"x8MiniLink", | |||||
"QSFP+(CIMS)" | |||||
}; | |||||
/* Keep compatibility with old definitions */ | /* Keep compatibility with old definitions */ | ||||
#define SFF_8472_ID_UNKNOWN SFF_8024_ID_UNKNOWN | #define SFF_8472_ID_UNKNOWN SFF_8024_ID_UNKNOWN | ||||
#define SFF_8472_ID_GBIC SFF_8024_ID_GBIC | #define SFF_8472_ID_GBIC SFF_8024_ID_GBIC | ||||
#define SFF_8472_ID_SFF SFF_8024_ID_SFF | #define SFF_8472_ID_SFF SFF_8024_ID_SFF | ||||
#define SFF_8472_ID_SFP SFF_8024_ID_SFP | #define SFF_8472_ID_SFP SFF_8024_ID_SFP | ||||
#define SFF_8472_ID_XBI SFF_8024_ID_XBI | #define SFF_8472_ID_XBI SFF_8024_ID_XBI | ||||
#define SFF_8472_ID_XENPAK SFF_8024_ID_XENPAK | #define SFF_8472_ID_XENPAK SFF_8024_ID_XENPAK | ||||
▲ Show 20 Lines • Show All 68 Lines • Show Last 20 Lines |