mirror of
				https://github.com/Telecominfraproject/ols-nos.git
				synced 2025-10-30 17:48:09 +00:00 
			
		
		
		
	[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:
		| @@ -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
	 Viktor Ekmark
					Viktor Ekmark