mirror of
https://github.com/Telecominfraproject/OpenNetworkLinux.git
synced 2025-12-26 17:57:01 +00:00
Add SFP28.
This commit is contained in:
@@ -127,6 +127,8 @@ sff_sfp_types: &sff_sfp_types
|
||||
desc: "QSFP+"
|
||||
- QSFP28:
|
||||
desc: "QSFP28"
|
||||
- SFP28:
|
||||
desc: "SFP28"
|
||||
|
||||
definitions:
|
||||
cdefs:
|
||||
|
||||
@@ -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[];
|
||||
|
||||
@@ -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> */
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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 = {
|
||||
|
||||
@@ -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 }
|
||||
};
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user