[Celestica Seastone2] Build correct platform files (#9660)
* fix workdir for seastone2 Signed-off-by: Viktor Ekmark <viktor@ekmark.se> * seastone2: Add I2C SFP definition for SFP1 Signed-off-by: Christian Svensson <blue@cmd.nu> * [device/cel_seastone_2] sfputil logic for SFP1 Earlier logic resulted in the name of SFP1 being SFP33 which is not correct. The cannonical source is seastone2_fpga module and it calls it SFP1, so ensure the logic does as well. Signed-off-by: Christian Svensson <blue@cmd.nu> * [device/cel_seastone_2] sysfs paths for SFP1 Various changes that plumbs the correct port presence and DOM decoding for the SFP1 port. Signed-off-by: Christian Svensson <blue@cmd.nu> Co-authored-by: Christian Svensson <blue@cmd.nu>
This commit is contained in:
parent
eaa888d948
commit
1b657becc9
@ -47,16 +47,16 @@ class SfpUtil(SfpUtilBase):
|
|||||||
if port_num in self.qsfp_ports:
|
if port_num in self.qsfp_ports:
|
||||||
self._port_name = "QSFP" + str(port_num - self.QSFP_PORT_START + 1)
|
self._port_name = "QSFP" + str(port_num - self.QSFP_PORT_START + 1)
|
||||||
else:
|
else:
|
||||||
self._port_name = "SFP" + str(port_num)
|
self._port_name = "SFP" + str(port_num - self.QSFP_PORT_END)
|
||||||
return self._port_name
|
return self._port_name
|
||||||
|
|
||||||
# def get_eeprom_dom_raw(self, port_num):
|
def get_eeprom_dom_raw(self, port_num):
|
||||||
# if port_num in self.qsfp_ports:
|
if port_num in self.qsfp_ports:
|
||||||
# # QSFP DOM EEPROM is also at addr 0x50 and thus also stored in eeprom_ifraw
|
# QSFP DOM EEPROM is also at addr 0x50 and thus also stored in eeprom_ifraw
|
||||||
# return None
|
return None
|
||||||
# else:
|
else:
|
||||||
# # Read dom eeprom at addr 0x51
|
# Read dom eeprom as offset 0x100 on optoe eeprom
|
||||||
# return self._read_eeprom_devid(port_num, self.DOM_EEPROM_ADDR, 256)
|
return self._read_eeprom_devid(port_num, self.DOM_EEPROM_ADDR, 256)
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
# Override port_to_eeprom_mapping for class initialization
|
# Override port_to_eeprom_mapping for class initialization
|
||||||
|
@ -38,9 +38,14 @@ class SfpEvent:
|
|||||||
|
|
||||||
for index in range(self.num_sfp):
|
for index in range(self.num_sfp):
|
||||||
port_num = index + 1
|
port_num = index + 1
|
||||||
port_name = "QSFP{}".format(port_num)
|
if port_num <= 32:
|
||||||
port_type = "qsfp"
|
port_name = "QSFP{}".format(port_num)
|
||||||
sysfs_prs_file = "{}_modprs".format(port_type)
|
port_type = "qsfp"
|
||||||
|
sysfs_prs_file = "{}_modprs".format(port_type)
|
||||||
|
else:
|
||||||
|
port_name = "SFP{}".format(port_num - 32)
|
||||||
|
port_type = "sfp"
|
||||||
|
sysfs_prs_file = "{}_modabs".format(port_type)
|
||||||
|
|
||||||
sfp_info_obj[index] = {}
|
sfp_info_obj[index] = {}
|
||||||
sfp_info_obj[index]['intmask_sysfs'] = self.PATH_INTMASK_SYSFS.format(
|
sfp_info_obj[index]['intmask_sysfs'] = self.PATH_INTMASK_SYSFS.format(
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"port_num": 32,
|
"port_num": 33,
|
||||||
"eeprom_path": "/sys/bus/i2c/devices/i2c-{0}/{0}-0050/eeprom",
|
"eeprom_path": "/sys/bus/i2c/devices/i2c-{0}/{0}-0050/eeprom",
|
||||||
"port_i2c_mapping": [
|
"port_i2c_mapping": [
|
||||||
2,
|
2,
|
||||||
@ -33,12 +33,13 @@
|
|||||||
30,
|
30,
|
||||||
31,
|
31,
|
||||||
32,
|
32,
|
||||||
33
|
33,
|
||||||
|
34
|
||||||
],
|
],
|
||||||
"get_presence": {
|
"get_presence": {
|
||||||
"output_source": "sysfs_value",
|
"output_source": "sysfs_value",
|
||||||
"sysfs_path": "/sys/devices/platform/switchboard/SFF/{}/qsfp_modprs",
|
"sysfs_path": "/sys/devices/platform/switchboard/SFF/{}",
|
||||||
"argument": "$ref:_port_name",
|
"argument": "$ref:_presence_file",
|
||||||
"output_translator": "False if '{}' == '1' else True"
|
"output_translator": "False if '{}' == '1' else True"
|
||||||
},
|
},
|
||||||
"get_lpmode": {
|
"get_lpmode": {
|
||||||
@ -101,6 +102,42 @@
|
|||||||
"QSFP29",
|
"QSFP29",
|
||||||
"QSFP30",
|
"QSFP30",
|
||||||
"QSFP31",
|
"QSFP31",
|
||||||
"QSFP32"
|
"QSFP32",
|
||||||
|
"SFP1"
|
||||||
|
],
|
||||||
|
"_presence_file": [
|
||||||
|
"QSFP1/qsfp_modprs",
|
||||||
|
"QSFP2/qsfp_modprs",
|
||||||
|
"QSFP3/qsfp_modprs",
|
||||||
|
"QSFP4/qsfp_modprs",
|
||||||
|
"QSFP5/qsfp_modprs",
|
||||||
|
"QSFP6/qsfp_modprs",
|
||||||
|
"QSFP7/qsfp_modprs",
|
||||||
|
"QSFP8/qsfp_modprs",
|
||||||
|
"QSFP9/qsfp_modprs",
|
||||||
|
"QSFP10/qsfp_modprs",
|
||||||
|
"QSFP11/qsfp_modprs",
|
||||||
|
"QSFP12/qsfp_modprs",
|
||||||
|
"QSFP13/qsfp_modprs",
|
||||||
|
"QSFP14/qsfp_modprs",
|
||||||
|
"QSFP15/qsfp_modprs",
|
||||||
|
"QSFP16/qsfp_modprs",
|
||||||
|
"QSFP17/qsfp_modprs",
|
||||||
|
"QSFP18/qsfp_modprs",
|
||||||
|
"QSFP19/qsfp_modprs",
|
||||||
|
"QSFP20/qsfp_modprs",
|
||||||
|
"QSFP21/qsfp_modprs",
|
||||||
|
"QSFP22/qsfp_modprs",
|
||||||
|
"QSFP23/qsfp_modprs",
|
||||||
|
"QSFP24/qsfp_modprs",
|
||||||
|
"QSFP25/qsfp_modprs",
|
||||||
|
"QSFP26/qsfp_modprs",
|
||||||
|
"QSFP27/qsfp_modprs",
|
||||||
|
"QSFP28/qsfp_modprs",
|
||||||
|
"QSFP29/qsfp_modprs",
|
||||||
|
"QSFP30/qsfp_modprs",
|
||||||
|
"QSFP31/qsfp_modprs",
|
||||||
|
"QSFP32/qsfp_modprs",
|
||||||
|
"SFP1/sfp_modabs"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
@ -14,7 +14,7 @@ override_dh_auto_build:
|
|||||||
(for mod in $(MODULE_DIRS); do \
|
(for mod in $(MODULE_DIRS); do \
|
||||||
make -C $(KERNEL_SRC)/build M=$(MOD_SRC_DIR)/$${mod}/modules; \
|
make -C $(KERNEL_SRC)/build M=$(MOD_SRC_DIR)/$${mod}/modules; \
|
||||||
if [ $$mod = "seastone2" ]; then \
|
if [ $$mod = "seastone2" ]; then \
|
||||||
cd services/platform_api; \
|
cd $(MOD_SRC_DIR)/services/platform_api; \
|
||||||
python3 setup.py bdist_wheel -d $(MOD_SRC_DIR)/$${mod}/modules; \
|
python3 setup.py bdist_wheel -d $(MOD_SRC_DIR)/$${mod}/modules; \
|
||||||
continue; \
|
continue; \
|
||||||
fi; \
|
fi; \
|
||||||
|
Reference in New Issue
Block a user