sonic-buildimage/platform/broadcom/sonic-platform-modules-ragile/common/script/ragileconfig.py
pettershao-ragilenetworks b30cf44b93
[Platform/Ragile] Support RA-B6510-48v8c platform (#7620)
Add new platform x86_64-ragile_ra-b6510-48v8c-r0
ASIC Vendor: Broadcom
Switch ASIC: Trident 3
Port Config: 48x25G+8x100G

Signed-off-by: pettershao-ragilenetworks <pettershao@ragilenetworks.com>
2021-06-03 10:51:01 -07:00

226 lines
7.8 KiB
Python
Executable File

#!/usr/bin/python3
# -*- coding: UTF-8 -*-
# -------------------------------------------------------------------------------
# Name: ragileconfig.py
# Purpose: block the difference between various product/onie version for other module
#
# Author: rd
#
# Created: 02/07/2018
# Copyright: (c) rd 2018
# -------------------------------------------------------------------------------
import sys
import os
from rgutil.baseutil import get_machine_info
from rgutil.baseutil import get_platform_info
__all__ = [
"getdeviceplatform",
"get_rjconfig_info",
"MONITOR_CONST",
"MAILBOX_DIR",
"DEVICE",
"GLOBALCONFIG",
"GLOBALINITPARAM",
"GLOBALINITCOMMAND",
"MAC_LED_RESET",
"STARTMODULE",
"fanloc",
"RAGILE_CARDID",
"RAGILE_PRODUCTNAME",
"RAGILE_PART_NUMBER",
"RAGILE_LABEL_REVISION",
"RAGILE_MAC_SIZE",
"RAGILE_MANUF_NAME",
"RAGILE_MANUF_COUNTRY",
"RAGILE_VENDOR_NAME",
"RAGILE_DIAG_VERSION",
"RAGILE_SERVICE_TAG",
"E2_PROTECT",
"E2_LOC",
"FAN_PROTECT",
"FANS_DEF",
"MONITOR_FANS_LED",
"MONITOR_SYS_FAN_LED",
"MONITOR_SYS_PSU_LED",
"MONITOR_FAN_STATUS",
"MONITOR_PSU_STATUS",
"MONITOR_DEV_STATUS",
"MONITOR_DEV_STATUS_DECODE",
"DEV_LEDS",
"MAC_AVS_PARAM",
"MAC_DEFAULT_PARAM",
"FRULISTS",
"rg_eeprom",
"i2ccheck_params",
"FANCTROLDEBUG",
"DEVMONITORDEBUG",
]
def getdeviceplatform():
x = get_platform_info(get_machine_info())
if x != None:
filepath = "/usr/share/sonic/device/" + x
return filepath
platform = get_platform_info(get_machine_info())
platformpath = getdeviceplatform()
MAILBOX_DIR = "/sys/bus/i2c/devices/"
grtd_productfile = (platform + "_config").replace("-", "_")
common_productfile = "ragilecommon"
configfile_pre = "/usr/local/bin/"
sys.path.append(platformpath)
sys.path.append(configfile_pre)
def get_rjconfig_info(attr_key):
rjconf_filename = platformpath + "/plugins" + "/rj.conf"
if not os.path.isfile(rjconf_filename):
return None
with open(rjconf_filename) as rjconf_file:
for line in rjconf_file:
tokens = line.split("=")
if len(tokens) < 2:
continue
if tokens[0] == attr_key:
return tokens[1].strip()
return None
#####BMC-Password###
OPENBMC_PASSWORD = get_rjconfig_info("OPENBMC_PASSWORD")
OPENBMC_PASSWORD = OPENBMC_PASSWORD if (OPENBMC_PASSWORD != None) else "0penBmc"
############################################################################################
## if there is no specific file, use common file
module_product = None
if os.path.exists(configfile_pre + grtd_productfile + ".py"):
module_product = __import__(grtd_productfile, globals(), locals(), [], 0)
elif os.path.exists(configfile_pre + common_productfile + ".py"):
module_product = __import__(common_productfile, globals(), locals(), [], 0)
else:
print("No Configuration existed, quit")
exit(-1)
############################################################################################
DEVICE = module_product.DEVICE
##########Driver loading needs parameters
# get different product configuration
RAGILE_GLOBALCONFIG = {
"DRIVERLISTS": module_product.DRIVERLISTS,
"QSFP": {
"startbus": module_product.PCA9548START,
"endbus": module_product.PCA9548BUSEND,
},
"DEVS": DEVICE,
}
GLOBALCONFIG = RAGILE_GLOBALCONFIG
GLOBALINITPARAM = module_product.INIT_PARAM
GLOBALINITCOMMAND = module_product.INIT_COMMAND
fancontrol_loc = module_product.fancontrol_loc
fancontrol_config_loc = module_product.fancontrol_config_loc
MAC_LED_RESET = module_product.MAC_LED_RESET
###########Stat-up module parameters
STARTMODULE = module_product.STARTMODULE
FIRMWARE_TOOLS = module_product.FIRMWARE_TOOLS
##########Manufacturing-Test need parameters
FACTESTMODULE = module_product.FACTESTMODULE
TESTCASE = module_product.TESTCASE
menuList = module_product.menuList
alltest = module_product.alltest
diagtestall = module_product.diagtestall
looptest = module_product.looptest
fanloc = module_product.fanloc
fanlevel = module_product.fanlevel # fan adjustment level
TEMPIDCHANGE = module_product.TEMPIDCHANGE
CPLDVERSIONS = module_product.CPLDVERSIONS
RAGILE_CARDID = module_product.RAGILE_CARDID
RAGILE_PRODUCTNAME = module_product.RAGILE_PRODUCTNAME
RAGILE_PART_NUMBER = module_product.RAGILE_PART_NUMBER
RAGILE_LABEL_REVISION = module_product.RAGILE_LABEL_REVISION
RAGILE_ONIE_VERSION = module_product.RAGILE_ONIE_VERSION
RAGILE_MAC_SIZE = module_product.RAGILE_MAC_SIZE
RAGILE_MANUF_NAME = module_product.RAGILE_MANUF_NAME
RAGILE_MANUF_COUNTRY = module_product.RAGILE_MANUF_COUNTRY
RAGILE_VENDOR_NAME = module_product.RAGILE_VENDOR_NAME
RAGILE_DIAG_VERSION = module_product.RAGILE_DIAG_VERSION
RAGILE_SERVICE_TAG = module_product.RAGILE_SERVICE_TAG
E2_PROTECT = module_product.E2_PROTECT
E2_LOC = module_product.E2_LOC
FAN_PROTECT = module_product.FAN_PROTECT
FANS_DEF = module_product.FANS_DEF
MONITOR_SYS_LED = module_product.MONITOR_SYS_LED
MONITOR_FANS_LED = module_product.MONITOR_FANS_LED
MONITOR_SYS_FAN_LED = module_product.MONITOR_SYS_FAN_LED
MONITOR_SYS_PSU_LED = module_product.MONITOR_SYS_PSU_LED
MONITOR_FAN_STATUS = module_product.MONITOR_FAN_STATUS
MONITOR_PSU_STATUS = module_product.MONITOR_PSU_STATUS
MONITOR_DEV_STATUS = module_product.MONITOR_DEV_STATUS
MONITOR_DEV_STATUS_DECODE = module_product.MONITOR_DEV_STATUS_DECODE
DEV_MONITOR_PARAM = module_product.DEV_MONITOR_PARAM
SLOT_MONITOR_PARAM = module_product.SLOT_MONITOR_PARAM
DEV_LEDS = module_product.DEV_LEDS
MEM_SLOTS = module_product.MEM_SLOTS
MAC_AVS_PARAM = module_product.MAC_AVS_PARAM
MAC_DEFAULT_PARAM = module_product.MAC_DEFAULT_PARAM
E2TYPE = module_product.E2TYPE
FRULISTS = module_product.FRULISTS
rg_eeprom = "%d-%04x/eeprom" % (E2_LOC["bus"], E2_LOC["devno"])
factest_module = module_product.factest_module
LOCAL_LED_CONTROL = module_product.LOCAL_LED_CONTROL
PCIe_DEV_LIST = module_product.PCIe_DEV_LIST
PCIe_SPEED_ITEM = module_product.PCIe_SPEED_ITEM
i2ccheck_params = module_product.i2ccheck_params
class MONITOR_CONST:
TEMP_MIN = module_product.MONITOR_TEMP_MIN
K = module_product.MONITOR_K
MAC_IN = module_product.MONITOR_MAC_IN
DEFAULT_SPEED = module_product.MONITOR_DEFAULT_SPEED
MAX_SPEED = module_product.MONITOR_MAX_SPEED
MIN_SPEED = module_product.MONITOR_MIN_SPEED
MAC_ERROR_SPEED = module_product.MONITOR_MAC_ERROR_SPEED
FAN_TOTAL_NUM = module_product.MONITOR_FAN_TOTAL_NUM
MAC_UP_TEMP = module_product.MONITOR_MAC_UP_TEMP
MAC_LOWER_TEMP = module_product.MONITOR_MAC_LOWER_TEMP
MAC_MAX_TEMP = module_product.MONITOR_MAC_MAX_TEMP
MAC_WARNING_THRESHOLD = module_product.MONITOR_MAC_WARNING_THRESHOLD
OUTTEMP_WARNING_THRESHOLD = module_product.MONITOR_OUTTEMP_WARNING_THRESHOLD
BOARDTEMP_WARNING_THRESHOLD = module_product.MONITOR_BOARDTEMP_WARNING_THRESHOLD
CPUTEMP_WARNING_THRESHOLD = module_product.MONITOR_CPUTEMP_WARNING_THRESHOLD
INTEMP_WARNING_THRESHOLD = module_product.MONITOR_INTEMP_WARNING_THRESHOLD
MAC_CRITICAL_THRESHOLD = module_product.MONITOR_MAC_CRITICAL_THRESHOLD
OUTTEMP_CRITICAL_THRESHOLD = module_product.MONITOR_OUTTEMP_CRITICAL_THRESHOLD
BOARDTEMP_CRITICAL_THRESHOLD = module_product.MONITOR_BOARDTEMP_CRITICAL_THRESHOLD
CPUTEMP_CRITICAL_THRESHOLD = module_product.MONITOR_CPUTEMP_CRITICAL_THRESHOLD
INTEMP_CRITICAL_THRESHOLD = module_product.MONITOR_INTEMP_CRITICAL_THRESHOLD
CRITICAL_NUM = module_product.MONITOR_CRITICAL_NUM
SHAKE_TIME = module_product.MONITOR_SHAKE_TIME
MONITOR_INTERVAL = module_product.MONITOR_INTERVAL
MONITOR_FALL_TEMP = module_product.MONITOR_FALL_TEMP
MONITOR_MAC_SOURCE_SYSFS = module_product.MONITOR_MAC_SOURCE_SYSFS
MONITOR_MAC_SOURCE_PATH = module_product.MONITOR_MAC_SOURCE_PATH
FANCTROLDEBUG = 0 # 1 means enable
DEVMONITORDEBUG = 0 # 1 means enable