Skip to content

Commit

Permalink
update platform
Browse files Browse the repository at this point in the history
Signed-off-by: pettershao-ragilenetworks <pettershao@ragilenetworks.com>
  • Loading branch information
pettershao-ragilenetworks authored and panyi committed Jan 18, 2023
1 parent c01dd29 commit cfe6e91
Show file tree
Hide file tree
Showing 4 changed files with 88 additions and 53 deletions.
96 changes: 49 additions & 47 deletions platform/centec-arm64/sonic-platform-modules-ragile/common/Makefile
Original file line number Diff line number Diff line change
@@ -1,47 +1,49 @@
PWD = $(shell pwd)
CC ?=gcc
INSTALL_MOD_DIR ?=extra
KVERSION ?= $(shell uname -r)
KERNEL_SRC ?= /lib/modules/$(KVERSION)
EXTRA_CFLAGS:= -I$(M)/include
EXTRA_CFLAGS+= -Wall
ifdef ENABLE_GCOV
ifeq ($(ENABLE_GCOV), y)
EXTRA_CFLAGS+= -fprofile-arcs -ftest-coverage -lgcov
endif
endif # ENABLE_GCOV
SUB_BUILD_DIR = $(PWD)/build
DIR_KERNEL_SRC = $(PWD)/modules
SCRIPT_DIR = $(PWD)/script
SERVICE_DIR = $(PWD)/service
BLACK_DRIVER_CONF_DIR = $(PWD)/modprobe_conf

app_dir = $(PWD)/app
app_build_dir = $(app_dir)/build
modules_build_dir = $(DIR_KERNEL_SRC)/build

INSTALL_MODULE_DIR = $(SUB_BUILD_DIR)/$(KERNEL_SRC)/$(INSTALL_MOD_DIR)
INSTALL_SCRIPT_DIR = $(SUB_BUILD_DIR)/usr/local/bin
INSTALL_SERVICE_DIR = $(SUB_BUILD_DIR)/lib/systemd/system
INSTALL_LIB_DIR = $(SUB_BUILD_DIR)/usr/lib/python3.9/dist-packages
INSTALL_BLACK_DRIVER = $(SUB_BUILD_DIR)/etc/modprobe.d
CTC_48GT4X_PHY_DIR = $(SUB_BUILD_DIR)/usr/share/sonic/device/arm64-ragile_ra-b6010-48gt4x-r0/RA-B6010-48GT4X

all:
$(MAKE) -C $(app_dir)
$(MAKE) -C $(DIR_KERNEL_SRC)
@if [ ! -d ${INSTALL_MODULE_DIR} ]; then mkdir -p ${INSTALL_MODULE_DIR} ;fi
@if [ ! -d ${INSTALL_SCRIPT_DIR} ]; then mkdir -p ${INSTALL_SCRIPT_DIR} ;fi
@if [ ! -d ${INSTALL_SERVICE_DIR} ]; then mkdir -p ${INSTALL_SERVICE_DIR} ;fi
@if [ ! -d ${CTC_48GT4X_PHY_DIR} ]; then mkdir -p ${CTC_48GT4X_PHY_DIR}/phy_drv ;fi
@if [ ! -d ${INSTALL_LIB_DIR} ]; then mkdir -p ${INSTALL_LIB_DIR} ;fi
@if [ -d $(PWD)/lib/ ]; then cp -r $(PWD)/lib/* ${INSTALL_LIB_DIR} ;fi
cp -r $(app_dir)/*.so $(CTC_48GT4X_PHY_DIR)/phy_drv
#cp -r $(app_build_dir)/module/*.ko $(INSTALL_MODULE_DIR)
cp -r $(modules_build_dir)/*.ko $(INSTALL_MODULE_DIR)
#cp -r $(app_dir)/build/app/* $(INSTALL_SCRIPT_DIR)
if [ -d $(SCRIPT_DIR) ]; then cp -r $(SCRIPT_DIR)/* $(INSTALL_SCRIPT_DIR) ;fi
if [ -d $(SERVICE_DIR) ]; then cp -r $(SERVICE_DIR)/* $(INSTALL_SERVICE_DIR) ;fi
@if [ -d $(INSTALL_SCRIPT_DIR) ]; then chmod +x $(INSTALL_SCRIPT_DIR)/* ;fi
clean:
rm -rf $(SUB_BUILD_DIR)
PWD = $(shell pwd)
CC ?=gcc
INSTALL_MOD_DIR ?=extra
KVERSION ?= $(shell uname -r)
KERNEL_SRC ?= /lib/modules/$(KVERSION)
EXTRA_CFLAGS:= -I$(M)/include
EXTRA_CFLAGS+= -Wall
ifdef ENABLE_GCOV
ifeq ($(ENABLE_GCOV), y)
EXTRA_CFLAGS+= -fprofile-arcs -ftest-coverage -lgcov
endif
endif # ENABLE_GCOV
SUB_BUILD_DIR = $(PWD)/build
DIR_KERNEL_SRC = $(PWD)/modules
SCRIPT_DIR = $(PWD)/script
SERVICE_DIR = $(PWD)/service
BLACK_DRIVER_CONF_DIR = $(PWD)/modprobe_conf

app_dir = $(PWD)/app
app_build_dir = $(app_dir)/build
modules_build_dir = $(DIR_KERNEL_SRC)/build

INSTALL_MODULE_DIR = $(SUB_BUILD_DIR)/$(KERNEL_SRC)/$(INSTALL_MOD_DIR)
INSTALL_SCRIPT_DIR = $(SUB_BUILD_DIR)/usr/local/bin
INSTALL_SERVICE_DIR = $(SUB_BUILD_DIR)/lib/systemd/system
INSTALL_LIB_DIR = $(SUB_BUILD_DIR)/usr/lib/python3.9/dist-packages
INSTALL_BLACK_DRIVER = $(SUB_BUILD_DIR)/etc/modprobe.d
CTC_48GT4X_PHY_DIR = $(SUB_BUILD_DIR)/usr/share/sonic/device/arm64-ragile_ra-b6010-48gt4x-r0/RA-B6010-48GT4X
CTC_48GT4X_R_PHY_DIR = $(SUB_BUILD_DIR)/usr/share/sonic/device/arm64-ragile_ra-b6010-48gt4x-r-r0/RA-B6010-48GT4X-R

all:
$(MAKE) -C $(app_dir)
$(MAKE) -C $(DIR_KERNEL_SRC)
@if [ ! -d ${INSTALL_MODULE_DIR} ]; then mkdir -p ${INSTALL_MODULE_DIR} ;fi
@if [ ! -d ${INSTALL_SCRIPT_DIR} ]; then mkdir -p ${INSTALL_SCRIPT_DIR} ;fi
@if [ ! -d ${INSTALL_SERVICE_DIR} ]; then mkdir -p ${INSTALL_SERVICE_DIR} ;fi
@if [ ! -d ${CTC_48GT4X_PHY_DIR} ]; then mkdir -p ${CTC_48GT4X_PHY_DIR}/phy_drv ;fi
@if [ ! -d ${INSTALL_LIB_DIR} ]; then mkdir -p ${INSTALL_LIB_DIR} ;fi
@if [ -d $(PWD)/lib/ ]; then cp -r $(PWD)/lib/* ${INSTALL_LIB_DIR} ;fi
cp -r $(app_dir)/*.so $(CTC_48GT4X_PHY_DIR)/phy_drv
cp -r $(app_dir)/*.so $(CTC_48GT4X_R_PHY_DIR)/phy_drv
#cp -r $(app_build_dir)/module/*.ko $(INSTALL_MODULE_DIR)
cp -r $(modules_build_dir)/*.ko $(INSTALL_MODULE_DIR)
#cp -r $(app_dir)/build/app/* $(INSTALL_SCRIPT_DIR)
if [ -d $(SCRIPT_DIR) ]; then cp -r $(SCRIPT_DIR)/* $(INSTALL_SCRIPT_DIR) ;fi
if [ -d $(SERVICE_DIR) ]; then cp -r $(SERVICE_DIR)/* $(INSTALL_SERVICE_DIR) ;fi
@if [ -d $(INSTALL_SCRIPT_DIR) ]; then chmod +x $(INSTALL_SCRIPT_DIR)/* ;fi
clean:
rm -rf $(SUB_BUILD_DIR)
Original file line number Diff line number Diff line change
Expand Up @@ -211,7 +211,10 @@ def doFanCtrlInit(self):
self.airflow = self.doGetAirFlow()
if self.airflow == "":
logger.warning("Cannot get airflow from device!")

self.pid_switch = device_json["PID"]
self.openloop_switch = device_json["OpenLoop"]
if self.pid_switch == 0 and self.openloop_switch == 0:
logger.warning("No PID and OpenLoop found!")
# Init openloop
self.openloop = OpenLoop()
self.openloop.a = openloop_json[KEY_OPENLOOP_A]
Expand All @@ -221,6 +224,16 @@ def doFanCtrlInit(self):
self.openloop.pwmMax = openloop_json[KEY_OPENLOOP_PWM_MAX]
self.openloop.pwmMin = openloop_json[KEY_OPENLOOP_PWM_MIN]
self.openloop.tempMin = openloop_json[KEY_OPENLOOP_TEMP_MIN]
# Init PID
self.fanPid = FanPid()
self.fanPid.pwmMax = pid_json[KEY_PID_PWM_MAX]
self.fanPid.pwmMin = pid_json[KEY_PID_PWM_MIN]
self.fanPid.SetPoint = pid_json[KEY_PID_SETPOINT]
self.fanPid.P = pid_json[KEY_PID_P]
self.fanPid.I = pid_json[KEY_PID_I]
self.fanPid.D = pid_json[KEY_PID_D]
self.fanPid.tempMin = pid_json[KEY_PID_TEMP_MIN]
self.fanPid.tempMax = pid_json[KEY_PID_TEMP_MAX]
# Init thermal setting
for key, item in list(thermal_json.items()):
fanctrl_debug_log("%s %s " % (key,item))
Expand All @@ -233,6 +246,8 @@ def doFanCtrlInit(self):
self.tempStatus[item] = 0
self.tempMissTime[item] = [0, 0]
self.tempCritTime[item] = [0, 0]
if key == self.fanPid.sensor:
self.fanPid.sensor = item

# Init fans setting
for key, item in list(fan_json.items()):
Expand All @@ -247,6 +262,9 @@ def doFanCtrlInit(self):

fanctrl_debug_log("Device AirFlow: %s" % (self.airflow))
self.updateThermal()
self.fanPid.last_temp = self.temps[self.fanPid.sensor]
for i in range(3):
self.fanPid.temps[i] = self.temps[self.fanPid.sensor]
return True

def setFanSpeed(self, speed):
Expand All @@ -260,6 +278,7 @@ def updateThermal(self):
if self.temps[KEY_INLET_TEMP] >= self.tempsMax[KEY_INLET_TEMP] or self.temps[KEY_INLET_TEMP] <= -99999:
self.temps[KEY_INLET_TEMP] = self.tempsMax[KEY_INLET_TEMP]
self.openloop.temp = self.temps[KEY_INLET_TEMP]
self.fanPid.temps[2] = self.temps[KEY_INLET_TEMP]

def checkThermal(self):
thermal_cnt = 0
Expand Down Expand Up @@ -330,9 +349,17 @@ def checkFanSpeed(self):
def doApplyPolicy(self):
if self.isLiquid == 1:
return
openloop_pwm = int(self.openloop.calcPwm())
fanctrl_debug_log("OpenLoop pwm %d" % (openloop_pwm))
self.fan_pwm = openloop_pwm

if self.openloop_switch == 1:
openloop_pwm = int(self.openloop.calcPwm())
fanctrl_debug_log("OpenLoop pwm %d" % (openloop_pwm))
self.fan_pwm = max(self.fan_pwm, openloop_pwm)

if self.pid_switch == 1:
pid_pwm = int(self.fanPid.calcPwm())
fanctrl_debug_log("PID pwm %d" % (pid_pwm))
self.fan_pwm = max(self.fan_pwm, pid_pwm)

# Check fan presence
if self.interface.get_fan_presence() == False:
logger.warning("Fan presence check false, set fan pwm to 100")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,11 @@ def get_presence(self):
return self._get_sfputil().get_presence(self._index)

def get_transceiver_info(self):
return self._get_sfputil().get_transceiver_info_dict(self._index)
# temporary solution for a sonic202111 bug
transceiver_info = self._get_sfputil().get_transceiver_info_dict(self._index)
if transceiver_info.get("vendor_rev", None) is None:
transceiver_info["vendor_rev"] = transceiver_info["hardware_rev"]
return transceiver_info

def get_transceiver_bulk_status(self):
return self._get_sfputil().get_transceiver_dom_info_dict(self._index)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
{
"Device": {
"Liquid": 0,
"Buildin": 1
"Buildin": 1,
"PID": 0,
"OpenLoop": 1
},
"Thermal": {
"INLET_TEMP": "INLET_TEMP",
Expand Down

0 comments on commit cfe6e91

Please sign in to comment.