Add SFP28.

This commit is contained in:
Jeffrey Townsend
2017-09-25 18:30:00 +00:00
parent 1a0f22a36e
commit 161bcc91af
7 changed files with 45 additions and 6 deletions

View File

@@ -127,6 +127,8 @@ sff_sfp_types: &sff_sfp_types
desc: "QSFP+"
- QSFP28:
desc: "QSFP28"
- SFP28:
desc: "SFP28"
definitions:
cdefs:

View File

@@ -196,7 +196,8 @@ typedef enum sff_sfp_type_e {
SFF_SFP_TYPE_QSFP,
SFF_SFP_TYPE_QSFP_PLUS,
SFF_SFP_TYPE_QSFP28,
SFF_SFP_TYPE_LAST = SFF_SFP_TYPE_QSFP28,
SFF_SFP_TYPE_SFP28,
SFF_SFP_TYPE_LAST = SFF_SFP_TYPE_SFP28,
SFF_SFP_TYPE_COUNT,
SFF_SFP_TYPE_INVALID = -1,
} sff_sfp_type_t;
@@ -208,6 +209,7 @@ typedef enum sff_sfp_type_e {
"QSFP", \
"QSFP_PLUS", \
"QSFP28", \
"SFP28", \
}
/** Enum names. */
const char* sff_sfp_type_name(sff_sfp_type_t e);
@@ -220,7 +222,7 @@ const char* sff_sfp_type_desc(sff_sfp_type_t e);
/** validator */
#define SFF_SFP_TYPE_VALID(_e) \
( (0 <= (_e)) && ((_e) <= SFF_SFP_TYPE_QSFP28))
( (0 <= (_e)) && ((_e) <= SFF_SFP_TYPE_SFP28))
/** sff_sfp_type_map table. */
extern aim_map_si_t sff_sfp_type_map[];

View File

@@ -95,6 +95,7 @@ SFF_SFP_TYPE_ENTRY(SFP, SFP)
SFF_SFP_TYPE_ENTRY(QSFP, QSFP)
SFF_SFP_TYPE_ENTRY(QSFP_PLUS, QSFP+)
SFF_SFP_TYPE_ENTRY(QSFP28, QSFP28)
SFF_SFP_TYPE_ENTRY(SFP28, SFP28)
#undef SFF_SFP_TYPE_ENTRY
#endif
/* <auto.end.xmacro(ALL).define> */

View File

@@ -724,13 +724,13 @@ sff_info_init(sff_info_t* info, sff_module_type_t mt,
break;
case SFF_MODULE_TYPE_25G_BASE_CR:
info->sfp_type = SFF_SFP_TYPE_SFP;
info->sfp_type = SFF_SFP_TYPE_SFP28;
info->media_type = SFF_MEDIA_TYPE_COPPER;
info->caps = SFF_MODULE_CAPS_F_25G;
break;
case SFF_MODULE_TYPE_25G_BASE_SR:
info->sfp_type = SFF_SFP_TYPE_SFP;
info->sfp_type = SFF_SFP_TYPE_SFP28;
info->media_type = SFF_MEDIA_TYPE_FIBER;
info->caps = SFF_MODULE_CAPS_F_25G;
break;

View File

@@ -28,6 +28,9 @@
#define SFF_10G_BASE_SRL_PROPERTIES \
SFF_SFP_TYPE_SFP, "SFP", SFF_MODULE_TYPE_10G_BASE_SRL, "1GBASE-SRL", SFF_MEDIA_TYPE_FIBER, "Fiber", SFF_MODULE_CAPS_F_10G
#define SFF_25G_BASE_SR_PROPERTIES \
SFF_SFP_TYPE_SFP28, "SFP28", SFF_MODULE_TYPE_25G_BASE_SR, "25GBASE-SR", SFF_MEDIA_TYPE_FIBER, "Fiber",SFF_MODULE_CAPS_F_25G
#define SFF_40G_BASE_SR4_PROPERTIES \
SFF_SFP_TYPE_QSFP_PLUS, "QSFP+", SFF_MODULE_TYPE_40G_BASE_SR4, "40GBASE-SR4", SFF_MEDIA_TYPE_FIBER, "Fiber", SFF_MODULE_CAPS_F_40G
@@ -1417,6 +1420,35 @@ static sff_db_entry_t sff_database__[] =
},
},
},
{
{
.eeprom = {
0x03, 0x04, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xff, 0x00, 0x00, 0x00,
0x02, 0x00, 0x0a, 0x07, 0x46, 0x49, 0x4e, 0x49, 0x53, 0x41, 0x52, 0x20, 0x43, 0x4f, 0x52, 0x50,
0x2e, 0x20, 0x20, 0x20, 0x02, 0x00, 0x90, 0x65, 0x46, 0x54, 0x4c, 0x46, 0x38, 0x35, 0x33, 0x36,
0x50, 0x34, 0x42, 0x43, 0x4c, 0x20, 0x20, 0x20, 0x41, 0x20, 0x20, 0x20, 0x03, 0x52, 0x00, 0xb8,
0x08, 0x1a, 0x70, 0x00, 0x55, 0x57, 0x42, 0x30, 0x34, 0x56, 0x59, 0x20, 0x20, 0x20, 0x20, 0x20,
0x20, 0x20, 0x20, 0x20, 0x31, 0x36, 0x31, 0x32, 0x32, 0x35, 0x20, 0x20, 0x68, 0xf0, 0x08, 0x84,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
},
.info = {
"FINISAR CORP. ",
"FTLF8536P4BCL ",
"UWB04VY ",
SFF_25G_BASE_SR_PROPERTIES,
-1,
}
}
},
{
{
.eeprom = {

View File

@@ -251,6 +251,7 @@ aim_map_si_t sff_sfp_type_map[] =
{ "QSFP", SFF_SFP_TYPE_QSFP },
{ "QSFP_PLUS", SFF_SFP_TYPE_QSFP_PLUS },
{ "QSFP28", SFF_SFP_TYPE_QSFP28 },
{ "SFP28", SFF_SFP_TYPE_SFP28 },
{ NULL, 0 }
};
@@ -260,6 +261,7 @@ aim_map_si_t sff_sfp_type_desc_map[] =
{ "QSFP", SFF_SFP_TYPE_QSFP },
{ "QSFP+", SFF_SFP_TYPE_QSFP_PLUS },
{ "QSFP28", SFF_SFP_TYPE_QSFP28 },
{ "SFP28", SFF_SFP_TYPE_SFP28 },
{ NULL, 0 }
};

View File

@@ -3,12 +3,12 @@
#
# Inclusive Makefile for the sff module.
#
# Autogenerated 2017-09-14 23:57:29.895708
# Autogenerated 2017-09-25 18:15:50.901582
#
###############################################################################
sff_BASEDIR := $(dir $(abspath $(lastword $(MAKEFILE_LIST))))
include $(sff_BASEDIR)module/make.mk
include $(sff_BASEDIR)module/src/make.mk
include $(sff_BASEDIR)module/auto/make.mk
include $(sff_BASEDIR)module/src/make.mk
include $(sff_BASEDIR)utest/_make.mk