diff --git a/fboss/platform/configs/m4062nhp/fan_service.json b/fboss/platform/configs/m4062nhp/fan_service.json new file mode 100644 index 0000000000000..78f160327bbbb --- /dev/null +++ b/fboss/platform/configs/m4062nhp/fan_service.json @@ -0,0 +1,147 @@ +{ + "pwmBoostOnNumDeadFan": 1, + "pwmBoostOnNumDeadSensor": 0, + "pwmBoostOnNoQsfpAfterInSec": 90, + "pwmBoostValue": 60, + "pwmTransitionValue": 50, + "pwmLowerThreshold": 24, + "pwmUpperThreshold": 100, + "controlInterval": { + "sensorReadInterval": 5, + "pwmUpdateInterval": 5 + }, + "optics": [], + "sensors": [], + "zones": [ + { + "zoneType": "ZONE_TYPE_MAX", + "zoneName": "zone1", + "sensorNames": [], + "fanNames": [ + "fan_1_inner", + "fan_1_outer", + "fan_2_inner", + "fan_2_outer", + "fan_3_inner", + "fan_3_outer", + "fan_4_inner", + "fan_4_outer" + ], + "slope": 2 + } + ], + "fans": [ + { + "fanName": "fan_1_inner", + "rpmSysfsPath": "/run/devmap/sensors/FAN_CTRL/fan1_input", + "pwmSysfsPath": "/run/devmap/sensors/FAN_CTRL/pwm1", + "presenceSysfsPath": "/run/devmap/sensors/FAN_CTRL/fan1_present", + "ledSysfsPath": "/run/devmap/sensors/FAN_CTRL/fan1_led", + "pwmMin": 1, + "pwmMax": 255, + "fanPresentVal": 1, + "fanMissingVal": 0, + "fanGoodLedVal": 1, + "fanFailLedVal": 0, + "rpmMin": 6000 + }, + { + "fanName": "fan_1_outer", + "rpmSysfsPath": "/run/devmap/sensors/FAN_CTRL/fan2_input", + "pwmSysfsPath": "/run/devmap/sensors/FAN_CTRL/pwm1", + "presenceSysfsPath": "/run/devmap/sensors/FAN_CTRL/fan1_present", + "ledSysfsPath": "/run/devmap/sensors/FAN_CTRL/fan1_led", + "pwmMin": 1, + "pwmMax": 255, + "fanPresentVal": 1, + "fanMissingVal": 0, + "fanGoodLedVal": 1, + "fanFailLedVal": 0, + "rpmMin": 6000 + }, + { + "fanName": "fan_2_inner", + "rpmSysfsPath": "/run/devmap/sensors/FAN_CTRL/fan3_input", + "pwmSysfsPath": "/run/devmap/sensors/FAN_CTRL/pwm2", + "presenceSysfsPath": "/run/devmap/sensors/FAN_CTRL/fan2_present", + "ledSysfsPath": "/run/devmap/sensors/FAN_CTRL/fan2_led", + "pwmMin": 1, + "pwmMax": 255, + "fanPresentVal": 1, + "fanMissingVal": 0, + "fanGoodLedVal": 1, + "fanFailLedVal": 0, + "rpmMin": 6000 + }, + { + "fanName": "fan_2_outer", + "rpmSysfsPath": "/run/devmap/sensors/FAN_CTRL/fan4_input", + "pwmSysfsPath": "/run/devmap/sensors/FAN_CTRL/pwm2", + "presenceSysfsPath": "/run/devmap/sensors/FAN_CTRL/fan2_present", + "ledSysfsPath": "/run/devmap/sensors/FAN_CTRL/fan2_led", + "pwmMin": 1, + "pwmMax": 255, + "fanPresentVal": 1, + "fanMissingVal": 0, + "fanGoodLedVal": 1, + "fanFailLedVal": 0, + "rpmMin": 6000 + }, + { + "fanName": "fan_3_inner", + "rpmSysfsPath": "/run/devmap/sensors/FAN_CTRL/fan5_input", + "pwmSysfsPath": "/run/devmap/sensors/FAN_CTRL/pwm3", + "presenceSysfsPath": "/run/devmap/sensors/FAN_CTRL/fan3_present", + "ledSysfsPath": "/run/devmap/sensors/FAN_CTRL/fan3_led", + "pwmMin": 1, + "pwmMax": 255, + "fanPresentVal": 1, + "fanMissingVal": 0, + "fanGoodLedVal": 1, + "fanFailLedVal": 0, + "rpmMin": 6000 + }, + { + "fanName": "fan_3_outer", + "rpmSysfsPath": "/run/devmap/sensors/FAN_CTRL/fan6_input", + "pwmSysfsPath": "/run/devmap/sensors/FAN_CTRL/pwm3", + "presenceSysfsPath": "/run/devmap/sensors/FAN_CTRL/fan3_present", + "ledSysfsPath": "/run/devmap/sensors/FAN_CTRL/fan3_led", + "pwmMin": 1, + "pwmMax": 255, + "fanPresentVal": 1, + "fanMissingVal": 0, + "fanGoodLedVal": 1, + "fanFailLedVal": 0, + "rpmMin": 6000 + }, + { + "fanName": "fan_4_inner", + "rpmSysfsPath": "/run/devmap/sensors/FAN_CTRL/fan7_input", + "pwmSysfsPath": "/run/devmap/sensors/FAN_CTRL/pwm4", + "presenceSysfsPath": "/run/devmap/sensors/FAN_CTRL/fan4_present", + "ledSysfsPath": "/run/devmap/sensors/FAN_CTRL/fan4_led", + "pwmMin": 1, + "pwmMax": 255, + "fanPresentVal": 1, + "fanMissingVal": 0, + "fanGoodLedVal": 1, + "fanFailLedVal": 0, + "rpmMin": 6000 + }, + { + "fanName": "fan_4_outer", + "rpmSysfsPath": "/run/devmap/sensors/FAN_CTRL/fan8_input", + "pwmSysfsPath": "/run/devmap/sensors/FAN_CTRL/pwm4", + "presenceSysfsPath": "/run/devmap/sensors/FAN_CTRL/fan4_present", + "ledSysfsPath": "/run/devmap/sensors/FAN_CTRL/fan4_led", + "pwmMin": 1, + "pwmMax": 255, + "fanPresentVal": 1, + "fanMissingVal": 0, + "fanGoodLedVal": 1, + "fanFailLedVal": 0, + "rpmMin": 6000 + } + ] +} diff --git a/fboss/platform/configs/m4062nhp/fw_util.json b/fboss/platform/configs/m4062nhp/fw_util.json new file mode 100644 index 0000000000000..28b6519cda272 --- /dev/null +++ b/fboss/platform/configs/m4062nhp/fw_util.json @@ -0,0 +1,10 @@ +{ + "fwConfigs": { + "bios": { + "version": { + "versionType": "sysfs", + "path": "/sys/devices/virtual/dmi/id/bios_version" + } + } + } +} diff --git a/fboss/platform/configs/m4062nhp/led_manager.json b/fboss/platform/configs/m4062nhp/led_manager.json new file mode 100644 index 0000000000000..7f333640cf3cc --- /dev/null +++ b/fboss/platform/configs/m4062nhp/led_manager.json @@ -0,0 +1,138 @@ +{ + "systemLedConfig": { + "presentLedSysfsPath": "/sys/class/leds/sys_led:blue:status/brightness", + "absentLedSysfsPath": "/sys/class/leds/sys_led:amber:status/brightness" + }, + "fruTypeLedConfigs": { + "FAN": { + "presentLedSysfsPath": "/sys/class/leds/fan_led:blue:status/brightness", + "absentLedSysfsPath": "/sys/class/leds/fan_led:amber:status/brightness" + }, + "PSU": { + "presentLedSysfsPath": "/sys/class/leds/psu_led:blue:status/brightness", + "absentLedSysfsPath": "/sys/class/leds/psu_led:amber:status/brightness" + } + }, + "fruConfigs": [ + { + "fruName": "FAN1", + "fruType": "FAN", + "presenceDetection": { + "sysfsFileHandle": { + "presenceFilePath": "/run/devmap/sensors/FAN_CTRL/fan1_present", + "desiredValue": 1 + } + } + }, + { + "fruName": "FAN2", + "fruType": "FAN", + "presenceDetection": { + "sysfsFileHandle": { + "presenceFilePath": "/run/devmap/sensors/FAN_CTRL/fan2_present", + "desiredValue": 1 + } + } + }, + { + "fruName": "FAN3", + "fruType": "FAN", + "presenceDetection": { + "sysfsFileHandle": { + "presenceFilePath": "/run/devmap/sensors/FAN_CTRL/fan3_present", + "desiredValue": 1 + } + } + }, + { + "fruName": "FAN4", + "fruType": "FAN", + "presenceDetection": { + "sysfsFileHandle": { + "presenceFilePath": "/run/devmap/sensors/FAN_CTRL/fan4_present", + "desiredValue": 1 + } + } + }, + { + "fruName": "FAN5", + "fruType": "FAN", + "presenceDetection": { + "sysfsFileHandle": { + "presenceFilePath": "/run/devmap/sensors/FAN_CTRL/fan5_present", + "desiredValue": 1 + } + } + }, + { + "fruName": "FAN6", + "fruType": "FAN", + "presenceDetection": { + "sysfsFileHandle": { + "presenceFilePath": "/run/devmap/sensors/FAN_CTRL/fan6_present", + "desiredValue": 1 + } + } + }, + { + "fruName": "FAN7", + "fruType": "FAN", + "presenceDetection": { + "sysfsFileHandle": { + "presenceFilePath": "/run/devmap/sensors/FAN_CTRL/fan7_present", + "desiredValue": 1 + } + } + }, + { + "fruName": "FAN8", + "fruType": "FAN", + "presenceDetection": { + "sysfsFileHandle": { + "presenceFilePath": "/run/devmap/sensors/FAN_CTRL/fan8_present", + "desiredValue": 1 + } + } + }, + { + "fruName": "PSU1", + "fruType": "PSU", + "presenceDetection": { + "sysfsFileHandle": { + "presenceFilePath": "/run/devmap/sensors/PSU_PRESENT/psu1_present", + "desiredValue": 1 + } + } + }, + { + "fruName": "PSU2", + "fruType": "PSU", + "presenceDetection": { + "sysfsFileHandle": { + "presenceFilePath": "/run/devmap/sensors/PSU_PRESENT/psu2_present", + "desiredValue": 1 + } + } + }, + { + "fruName": "PSU3", + "fruType": "PSU", + "presenceDetection": { + "sysfsFileHandle": { + "presenceFilePath": "/run/devmap/sensors/PSU_PRESENT/psu3_present", + "desiredValue": 1 + } + } + }, + { + "fruName": "PSU4", + "fruType": "PSU", + "presenceDetection": { + "sysfsFileHandle": { + "presenceFilePath": "/run/devmap/sensors/PSU_PRESENT/psu4_present", + "desiredValue": 1 + } + } + } + ] +} diff --git a/fboss/platform/configs/m4062nhp/sensor_service.json b/fboss/platform/configs/m4062nhp/sensor_service.json new file mode 100644 index 0000000000000..47d8d48b1c856 --- /dev/null +++ b/fboss/platform/configs/m4062nhp/sensor_service.json @@ -0,0 +1,287 @@ +{ + "platformName": "M4062NHP", + "pmUnitSensorsList": [ + { + "slotPath": "/", + "pmUnitName": "SCM", + "sensors": [ + { + "name": "DPM_VIN", + "sysfsPath": "/run/devmap/sensors/DPM/in1_input", + "type": 1, + "thresholds": { + "upperCriticalVal": 14, + "lowerCriticalVal": 9 + }, + "compute": "@/1000.0" + }, + { + "name": "DPM_2_VIN", + "sysfsPath": "/run/devmap/sensors/DPM_2/in1_input", + "type": 1, + "thresholds": { + "upperCriticalVal": 14, + "lowerCriticalVal": 9 + }, + "compute": "@/1000.0" + } + ] + }, + { + "slotPath": "/SMB_SLOT@0", + "pmUnitName": "SMB", + "sensors": [ + { + "name": "ASIC_TEMP_MAX_RAW", + "sysfsPath": "/run/devmap/sensors/ASIC_TEMP/asic_temp_max_raw", + "type": 3, + "thresholds": { + "upperCriticalVal": 8191 + } + }, + { + "name": "ASIC_TEMP_MIN_RAW", + "sysfsPath": "/run/devmap/sensors/ASIC_TEMP/asic_temp_min_raw", + "type": 3, + "thresholds": { + "upperCriticalVal": 8191 + } + }, + { + "name": "SWITCH_CARD_REAR", + "sysfsPath": "/run/devmap/sensors/SWITCH_CARD_TEMP_SENSOR/temp1_input", + "type": 3, + "thresholds": { + "maxAlarmVal": 87, + "upperCriticalVal": 125 + }, + "compute": "@/1000.0" + }, + { + "name": "CHASSIS_INTAKE", + "sysfsPath": "/run/devmap/sensors/SWITCH_CARD_TEMP_SENSOR/temp2_input", + "type": 3, + "thresholds": { + "maxAlarmVal": 55, + "upperCriticalVal": 125 + }, + "compute": "@/1000.0" + }, + { + "name": "ASIC_DIODE_0", + "sysfsPath": "/run/devmap/sensors/SWITCH_CARD_TEMP_SENSOR/temp3_input", + "type": 3, + "thresholds": { + "maxAlarmVal": 115, + "upperCriticalVal": 122 + }, + "compute": "@/1000.0" + }, + { + "name": "ASIC_DIODE_1", + "sysfsPath": "/run/devmap/sensors/SWITCH_CARD_TEMP_SENSOR/temp4_input", + "type": 3, + "thresholds": { + "maxAlarmVal": 115, + "upperCriticalVal": 122 + }, + "compute": "@/1000.0" + }, + { + "name": "ASIC_DIODE_2", + "sysfsPath": "/run/devmap/sensors/SWITCH_CARD_TEMP_SENSOR/temp5_input", + "type": 3, + "thresholds": { + "maxAlarmVal": 115, + "upperCriticalVal": 122 + }, + "compute": "@/1000.0" + }, + { + "name": "FAN1_RPM", + "sysfsPath": "/run/devmap/sensors/FAN_CTRL/fan1_input", + "type": 4, + "thresholds": { + "upperCriticalVal": 25000, + "lowerCriticalVal": 5000 + } + }, + { + "name": "FAN2_RPM", + "sysfsPath": "/run/devmap/sensors/FAN_CTRL/fan2_input", + "type": 4, + "thresholds": { + "upperCriticalVal": 25000, + "lowerCriticalVal": 5000 + } + }, + { + "name": "FAN3_RPM", + "sysfsPath": "/run/devmap/sensors/FAN_CTRL/fan3_input", + "type": 4, + "thresholds": { + "upperCriticalVal": 25000, + "lowerCriticalVal": 5000 + } + }, + { + "name": "FAN4_RPM", + "sysfsPath": "/run/devmap/sensors/FAN_CTRL/fan4_input", + "type": 4, + "thresholds": { + "upperCriticalVal": 25000, + "lowerCriticalVal": 5000 + } + }, + { + "name": "FAN5_RPM", + "sysfsPath": "/run/devmap/sensors/FAN_CTRL/fan5_input", + "type": 4, + "thresholds": { + "upperCriticalVal": 25000, + "lowerCriticalVal": 5000 + } + }, + { + "name": "FAN6_RPM", + "sysfsPath": "/run/devmap/sensors/FAN_CTRL/fan6_input", + "type": 4, + "thresholds": { + "upperCriticalVal": 25000, + "lowerCriticalVal": 5000 + } + }, + { + "name": "FAN7_RPM", + "sysfsPath": "/run/devmap/sensors/FAN_CTRL/fan7_input", + "type": 4, + "thresholds": { + "upperCriticalVal": 25000, + "lowerCriticalVal": 5000 + } + }, + { + "name": "FAN8_RPM", + "sysfsPath": "/run/devmap/sensors/FAN_CTRL/fan8_input", + "type": 4, + "thresholds": { + "upperCriticalVal": 25000, + "lowerCriticalVal": 5000 + } + }, + { + "name": "PSU1_PIN", + "sysfsPath": "/run/devmap/sensors/PSU1/power1_input", + "type": 0, + "thresholds": { + "upperCriticalVal": 1000 + }, + "compute": "@/1000000" + }, + { + "name": "PSU1_VIN", + "sysfsPath": "/run/devmap/sensors/PSU1/in1_input", + "type": 1, + "thresholds": { + "upperCriticalVal": 300 + }, + "compute": "@/1000.0" + }, + { + "name": "PSU2_PIN", + "sysfsPath": "/run/devmap/sensors/PSU2/power1_input", + "type": 0, + "thresholds": { + "upperCriticalVal": 1000 + }, + "compute": "@/1000000" + }, + { + "name": "PSU2_VIN", + "sysfsPath": "/run/devmap/sensors/PSU2/in1_input", + "type": 1, + "thresholds": { + "upperCriticalVal": 300 + }, + "compute": "@/1000.0" + }, + { + "name": "PSU3_PIN", + "sysfsPath": "/run/devmap/sensors/PSU3/power1_input", + "type": 0, + "thresholds": { + "upperCriticalVal": 1000 + }, + "compute": "@/1000000" + }, + { + "name": "PSU3_VIN", + "sysfsPath": "/run/devmap/sensors/PSU3/in1_input", + "type": 1, + "thresholds": { + "upperCriticalVal": 300 + }, + "compute": "@/1000.0" + }, + { + "name": "PSU4_PIN", + "sysfsPath": "/run/devmap/sensors/PSU4/power1_input", + "type": 0, + "thresholds": { + "upperCriticalVal": 1000 + }, + "compute": "@/1000000" + }, + { + "name": "PSU4_VIN", + "sysfsPath": "/run/devmap/sensors/PSU4/in1_input", + "type": 1, + "thresholds": { + "upperCriticalVal": 300 + }, + "compute": "@/1000.0" + } + ] + } + ], + "temperatureConfigs": [ + { + "name": "ASIC", + "temperatureSensorNames": [ + "ASIC_TEMP_MAX_RAW" + ] + } + ], + "powerConfig": { + "perSlotPowerConfigs": [ + { + "name": "PSU1", + "powerSensorName": "PSU1_PIN", + "slotPath": "/SMB_SLOT@0" + }, + { + "name": "PSU2", + "powerSensorName": "PSU2_PIN", + "slotPath": "/SMB_SLOT@0" + }, + { + "name": "PSU3", + "powerSensorName": "PSU3_PIN", + "slotPath": "/SMB_SLOT@0" + }, + { + "name": "PSU4", + "powerSensorName": "PSU4_PIN", + "slotPath": "/SMB_SLOT@0" + } + ], + "inputVoltageSensors": [ + "PSU1_VIN", + "PSU2_VIN", + "PSU3_VIN", + "PSU4_VIN" + ], + "minAcPsuCount": 2, + "minDcPsuCount": 0 + } +}