Skip to content

Commit 56f935a

Browse files
chee-zhangmeta-codesync[bot]
authored andcommitted
Ladakh800bcls: Platform: Add Ladakh800bcls fan_service, fw_util, led_manager, sensor_service configuration after bring up (#584)
Summary: # Description This PR is about Ladakh800bcls platform configurations for EVT1 phase. # Motivation ## led_manager Based on Ladakh800bcls HW Design Specification EVT1, the LEDs below should be added. 1. 4x Tri-color LEDs for status indication, one PWR LED, one Sys LED, SMB LED and one FAN LED. 2. 6x Bi-color LEDs for FAN tray. ## fw_util Based on Ladakh800bcls HW Design Specification EVT1 and the FPGA Register Map, the following upgrade devices should be added. <img width="836" height="482" alt="image" src="https://github.com/user-attachments/assets/d70e2f82-a219-4758-b850-b2da50ff5451" /> ## sensor_service Based on Ladakh800bcls HW Design Specification EVT1. 1. Add the thermal sensors. 2. Add the voltage and current detection sensors. ## fan_service Based on Ladakh800bcls HW Design Specification EVT1. <img width="489" height="134" alt="486578675-240493a7-4d35-4c2e-8dbf-f2717151488a" src="https://github.com/user-attachments/assets/eee02620-5bca-4937-830a-1cc8bf4ad144" /> 1. The CPU_UNCORE_TEMP, INLET_TEMP on RTM_L, INLET_TEMP on RTM_R, MCB_POWER_BRICK3_TEMP are considered in the draft version. 3. 6 fans are considered. Pull Request resolved: #584 Test Plan: 1. Used `jq` command to pretty the format. 2. Compilation and config validation have passed based on #537 ``` I1028 23:21:17.308879 2308103 ConfigGenerator.cpp:113] Processing platform ladakh800bcls in /work/users/cheezhang/fboss/fboss/platform/configs/ladakh800bcls I1028 23:21:17.309004 2308103 ConfigGenerator.cpp:121] Processing config "/work/users/cheezhang/fboss/fboss/platform/configs/ladakh800bcls/bsp_tests.json" I1028 23:21:17.312866 2308103 ConfigGenerator.cpp:121] Processing config "/work/users/cheezhang/fboss/fboss/platform/configs/ladakh800bcls/fan_service.json" I1028 23:21:17.316480 2308103 ConfigGenerator.cpp:121] Processing config "/work/users/cheezhang/fboss/fboss/platform/configs/ladakh800bcls/fw_util.json" I1028 23:21:17.319443 2308103 ConfigGenerator.cpp:121] Processing config "/work/users/cheezhang/fboss/fboss/platform/configs/ladakh800bcls/led_manager.json" I1028 23:21:17.321964 2308103 ConfigGenerator.cpp:121] Processing config "/work/users/cheezhang/fboss/fboss/platform/configs/ladakh800bcls/sensor_service.json" I1028 23:21:17.327983 2308103 ConfigGenerator.cpp:121] Processing config "/work/users/cheezhang/fboss/fboss/platform/configs/ladakh800bcls/showtech.json" I1028 23:21:17.330609 2308103 ConfigGenerator.cpp:121] Processing config "/work/users/cheezhang/fboss/fboss/platform/configs/ladakh800bcls/platform_manager.json" I1028 23:21:17.331477 2308103 ConfigValidator.cpp:557] Validating platform_manager config I1028 23:21:17.331497 2308103 ConfigValidator.cpp:583] Validating SlotTypeConfig for Slot COMESE_SLOT... I1028 23:21:17.331509 2308103 ConfigValidator.cpp:583] Validating SlotTypeConfig for Slot MCB_SLOT... I1028 23:21:17.331516 2308103 ConfigValidator.cpp:583] Validating SlotTypeConfig for Slot RTM_L_SLOT... I1028 23:21:17.331523 2308103 ConfigValidator.cpp:583] Validating SlotTypeConfig for Slot RTM_R_SLOT... I1028 23:21:17.331530 2308103 ConfigValidator.cpp:583] Validating SlotTypeConfig for Slot RUNBMC_SLOT... I1028 23:21:17.331538 2308103 ConfigValidator.cpp:583] Validating SlotTypeConfig for Slot SMB_L_SLOT... I1028 23:21:17.331546 2308103 ConfigValidator.cpp:583] Validating SlotTypeConfig for Slot SMB_R_SLOT... I1028 23:21:17.331553 2308103 ConfigValidator.cpp:600] Validating PmUnitConfig for PmUnit BMC in Slot RUNBMC_SLOT... I1028 23:21:17.331563 2308103 ConfigValidator.cpp:600] Validating PmUnitConfig for PmUnit LADAKH800BCLS_MCB in Slot MCB_SLOT... I1028 23:21:17.331655 2308103 ConfigValidator.cpp:600] Validating PmUnitConfig for PmUnit NETLAKE in Slot COMESE_SLOT... I1028 23:21:17.331671 2308103 ConfigValidator.cpp:600] Validating PmUnitConfig for PmUnit RTM_L in Slot RTM_L_SLOT... I1028 23:21:17.331683 2308103 ConfigValidator.cpp:600] Validating PmUnitConfig for PmUnit RTM_R in Slot RTM_R_SLOT... I1028 23:21:17.331695 2308103 ConfigValidator.cpp:600] Validating PmUnitConfig for PmUnit SMB_L in Slot SMB_L_SLOT... I1028 23:21:17.331708 2308103 ConfigValidator.cpp:600] Validating PmUnitConfig for PmUnit SMB_R in Slot SMB_R_SLOT... I1028 23:21:17.331721 2308103 ConfigValidator.cpp:654] Validating Symbolic links... I1028 23:21:17.335198 2308103 ConfigValidator.cpp:661] Validating Transceiver symbolic links... I1028 23:21:17.335443 2308103 ConfigValidator.cpp:16] Validating sensor_service config I1028 23:21:17.336406 2308103 CrossConfigValidator.cpp:25] Cross validating sensor_service config I1028 23:21:17.337705 2308103 ConfigValidator.cpp:47] Validating fan_service config I1028 23:21:17.337830 2308103 CrossConfigValidator.cpp:54] Cross validating fan_service config I1028 23:21:17.337946 2308103 ConfigValidator.cpp:10] Validating data_corral_service config I1028 23:21:17.337960 2308103 ConfigValidator.cpp:12] Validating the system LED config I1028 23:21:17.337967 2308103 ConfigValidator.cpp:77] Validating the LED config for fruType: FAN I1028 23:21:17.337973 2308103 ConfigValidator.cpp:77] Validating the LED config for fruType: PWR I1028 23:21:17.337980 2308103 ConfigValidator.cpp:77] Validating the LED config for fruType: SMB I1028 23:21:17.337990 2308103 ConfigValidator.cpp:89] Validating the FRU config for fru: FAN1 I1028 23:21:17.337997 2308103 ConfigValidator.cpp:89] Validating the FRU config for fru: FAN2 I1028 23:21:17.338003 2308103 ConfigValidator.cpp:89] Validating the FRU config for fru: FAN3 I1028 23:21:17.338011 2308103 ConfigValidator.cpp:89] Validating the FRU config for fru: FAN4 I1028 23:21:17.338018 2308103 ConfigValidator.cpp:89] Validating the FRU config for fru: FAN5 I1028 23:21:17.338026 2308103 ConfigValidator.cpp:89] Validating the FRU config for fru: FAN6 I1028 23:21:17.338032 2308103 ConfigValidator.cpp:89] Validating the FRU config for fru: PWR I1028 23:21:17.338043 2308103 ConfigValidator.cpp:89] Validating the FRU config for fru: SMB_L I1028 23:21:17.338050 2308103 ConfigValidator.cpp:89] Validating the FRU config for fru: SMB_R ``` [build.log](https://github.com/user-attachments/files/23201921/build.log) 3. The HW tests below passed. *To be verified with new name* Reviewed By: Protick666 Differential Revision: D85795573 Pulled By: mikechoifb fbshipit-source-id: ac0b1ae9c63ccf45b1c868b35161b17eeeb3152d
1 parent bb925b5 commit 56f935a

File tree

6 files changed

+6531
-0
lines changed

6 files changed

+6531
-0
lines changed
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{}
Lines changed: 296 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,296 @@
1+
{
2+
"pwmBoostOnNumDeadFan": 2,
3+
"pwmBoostOnNumDeadSensor": 0,
4+
"pwmBoostOnNoQsfpAfterInSec": 0,
5+
"pwmBoostValue": 70,
6+
"pwmTransitionValue": 45,
7+
"pwmLowerThreshold": 25,
8+
"pwmUpperThreshold": 70,
9+
"watchdog": {
10+
"sysfsPath": "/run/devmap/watchdogs/FAN_WATCHDOG",
11+
"value": 0
12+
},
13+
"controlInterval": {
14+
"sensorReadInterval": 5,
15+
"pwmUpdateInterval": 5
16+
},
17+
"sensors": [
18+
{
19+
"sensorName": "NETLAKE_U1_CPU_UNCORE_TEMP",
20+
"access": {
21+
"accessType": "ACCESS_TYPE_THRIFT"
22+
},
23+
"pwmCalcType": "SENSOR_PWM_CALC_TYPE_INCREMENTAL_PID",
24+
"pidSetting": {
25+
"kp": -4,
26+
"ki": -0.06,
27+
"kd": 0,
28+
"setPoint": 97.0,
29+
"posHysteresis": 0.0,
30+
"negHysteresis": 8.0
31+
}
32+
},
33+
{
34+
"sensorName": "RTM_L_U8_LM75_INLET_TEMP",
35+
"access": {
36+
"accessType": "ACCESS_TYPE_THRIFT"
37+
},
38+
"pwmCalcType": "SENSOR_PWM_CALC_TYPE_FOUR_LINEAR_TABLE",
39+
"normalUpTable": {
40+
"30": 50,
41+
"35": 60,
42+
"37": 65,
43+
"42": 70
44+
},
45+
"normalDownTable": {
46+
"28": 50,
47+
"33": 60,
48+
"35": 65,
49+
"40": 70
50+
},
51+
"failUpTable": {
52+
"30": 55,
53+
"35": 65,
54+
"37": 70,
55+
"42": 75
56+
},
57+
"failDownTable": {
58+
"28": 55,
59+
"33": 65,
60+
"35": 70,
61+
"40": 75
62+
}
63+
},
64+
{
65+
"sensorName": "RTM_R_U8_LM75_INLET_TEMP",
66+
"access": {
67+
"accessType": "ACCESS_TYPE_THRIFT"
68+
},
69+
"pwmCalcType": "SENSOR_PWM_CALC_TYPE_FOUR_LINEAR_TABLE",
70+
"normalUpTable": {
71+
"30": 50,
72+
"35": 60,
73+
"37": 65,
74+
"42": 70
75+
},
76+
"normalDownTable": {
77+
"28": 50,
78+
"33": 60,
79+
"35": 65,
80+
"40": 70
81+
},
82+
"failUpTable": {
83+
"30": 55,
84+
"35": 65,
85+
"37": 70,
86+
"42": 75
87+
},
88+
"failDownTable": {
89+
"28": 55,
90+
"33": 65,
91+
"35": 70,
92+
"40": 75
93+
}
94+
},
95+
{
96+
"sensorName": "MCB_PSP3_XP12R0V_PB3_TEMPARTURES",
97+
"access": {
98+
"accessType": "ACCESS_TYPE_THRIFT"
99+
},
100+
"pwmCalcType": "SENSOR_PWM_CALC_TYPE_INCREMENTAL_PID",
101+
"pidSetting": {
102+
"kp": -8,
103+
"ki": -0.06,
104+
"kd": 0,
105+
"setPoint": 105.0,
106+
"posHysteresis": 0.0,
107+
"negHysteresis": 3.0
108+
}
109+
}
110+
],
111+
"fans": [
112+
{
113+
"fanName": "FAN_1_F",
114+
"rpmSysfsPath": "/run/devmap/sensors/MCB_FAN_CPLD/fan1_input",
115+
"pwmSysfsPath": "/run/devmap/sensors/MCB_FAN_CPLD/pwm1",
116+
"presenceSysfsPath": "/run/devmap/sensors/MCB_FAN_CPLD/fan1_present",
117+
"pwmMin": 0,
118+
"pwmMax": 64,
119+
"fanPresentVal": 1,
120+
"fanMissingVal": 0,
121+
"fanGoodLedVal": 1,
122+
"fanFailLedVal": 2,
123+
"rpmMin": 1500
124+
},
125+
{
126+
"fanName": "FAN_1_R",
127+
"rpmSysfsPath": "/run/devmap/sensors/MCB_FAN_CPLD/fan2_input",
128+
"pwmSysfsPath": "/run/devmap/sensors/MCB_FAN_CPLD/pwm1",
129+
"presenceSysfsPath": "/run/devmap/sensors/MCB_FAN_CPLD/fan1_present",
130+
"pwmMin": 0,
131+
"pwmMax": 64,
132+
"fanPresentVal": 1,
133+
"fanMissingVal": 0,
134+
"fanGoodLedVal": 1,
135+
"fanFailLedVal": 2,
136+
"rpmMin": 1500
137+
},
138+
{
139+
"fanName": "FAN_2_F",
140+
"rpmSysfsPath": "/run/devmap/sensors/MCB_FAN_CPLD/fan3_input",
141+
"pwmSysfsPath": "/run/devmap/sensors/MCB_FAN_CPLD/pwm2",
142+
"presenceSysfsPath": "/run/devmap/sensors/MCB_FAN_CPLD/fan2_present",
143+
"pwmMin": 0,
144+
"pwmMax": 64,
145+
"fanPresentVal": 1,
146+
"fanMissingVal": 0,
147+
"fanGoodLedVal": 1,
148+
"fanFailLedVal": 2,
149+
"rpmMin": 1500
150+
},
151+
{
152+
"fanName": "FAN_2_R",
153+
"rpmSysfsPath": "/run/devmap/sensors/MCB_FAN_CPLD/fan4_input",
154+
"pwmSysfsPath": "/run/devmap/sensors/MCB_FAN_CPLD/pwm2",
155+
"presenceSysfsPath": "/run/devmap/sensors/MCB_FAN_CPLD/fan2_present",
156+
"pwmMin": 0,
157+
"pwmMax": 64,
158+
"fanPresentVal": 1,
159+
"fanMissingVal": 0,
160+
"fanGoodLedVal": 1,
161+
"fanFailLedVal": 2,
162+
"rpmMin": 1500
163+
},
164+
{
165+
"fanName": "FAN_3_F",
166+
"rpmSysfsPath": "/run/devmap/sensors/MCB_FAN_CPLD/fan5_input",
167+
"pwmSysfsPath": "/run/devmap/sensors/MCB_FAN_CPLD/pwm3",
168+
"presenceSysfsPath": "/run/devmap/sensors/MCB_FAN_CPLD/fan3_present",
169+
"pwmMin": 0,
170+
"pwmMax": 64,
171+
"fanPresentVal": 1,
172+
"fanMissingVal": 0,
173+
"fanGoodLedVal": 1,
174+
"fanFailLedVal": 2,
175+
"rpmMin": 1500
176+
},
177+
{
178+
"fanName": "FAN_3_R",
179+
"rpmSysfsPath": "/run/devmap/sensors/MCB_FAN_CPLD/fan6_input",
180+
"pwmSysfsPath": "/run/devmap/sensors/MCB_FAN_CPLD/pwm3",
181+
"presenceSysfsPath": "/run/devmap/sensors/MCB_FAN_CPLD/fan3_present",
182+
"pwmMin": 0,
183+
"pwmMax": 64,
184+
"fanPresentVal": 1,
185+
"fanMissingVal": 0,
186+
"fanGoodLedVal": 1,
187+
"fanFailLedVal": 2,
188+
"rpmMin": 1500
189+
},
190+
{
191+
"fanName": "FAN_4_F",
192+
"rpmSysfsPath": "/run/devmap/sensors/MCB_FAN_CPLD/fan7_input",
193+
"pwmSysfsPath": "/run/devmap/sensors/MCB_FAN_CPLD/pwm4",
194+
"presenceSysfsPath": "/run/devmap/sensors/MCB_FAN_CPLD/fan4_present",
195+
"pwmMin": 0,
196+
"pwmMax": 64,
197+
"fanPresentVal": 1,
198+
"fanMissingVal": 0,
199+
"fanGoodLedVal": 1,
200+
"fanFailLedVal": 2,
201+
"rpmMin": 1500
202+
},
203+
{
204+
"fanName": "FAN_4_R",
205+
"rpmSysfsPath": "/run/devmap/sensors/MCB_FAN_CPLD/fan8_input",
206+
"pwmSysfsPath": "/run/devmap/sensors/MCB_FAN_CPLD/pwm4",
207+
"presenceSysfsPath": "/run/devmap/sensors/MCB_FAN_CPLD/fan4_present",
208+
"pwmMin": 0,
209+
"pwmMax": 64,
210+
"fanPresentVal": 1,
211+
"fanMissingVal": 0,
212+
"fanGoodLedVal": 1,
213+
"fanFailLedVal": 2,
214+
"rpmMin": 1500
215+
},
216+
{
217+
"fanName": "FAN_5_F",
218+
"rpmSysfsPath": "/run/devmap/sensors/MCB_FAN_CPLD/fan9_input",
219+
"pwmSysfsPath": "/run/devmap/sensors/MCB_FAN_CPLD/pwm5",
220+
"presenceSysfsPath": "/run/devmap/sensors/MCB_FAN_CPLD/fan5_present",
221+
"pwmMin": 0,
222+
"pwmMax": 64,
223+
"fanPresentVal": 1,
224+
"fanMissingVal": 0,
225+
"fanGoodLedVal": 1,
226+
"fanFailLedVal": 2,
227+
"rpmMin": 1500
228+
},
229+
{
230+
"fanName": "FAN_5_R",
231+
"rpmSysfsPath": "/run/devmap/sensors/MCB_FAN_CPLD/fan10_input",
232+
"pwmSysfsPath": "/run/devmap/sensors/MCB_FAN_CPLD/pwm5",
233+
"presenceSysfsPath": "/run/devmap/sensors/MCB_FAN_CPLD/fan5_present",
234+
"pwmMin": 0,
235+
"pwmMax": 64,
236+
"fanPresentVal": 1,
237+
"fanMissingVal": 0,
238+
"fanGoodLedVal": 1,
239+
"fanFailLedVal": 2,
240+
"rpmMin": 1500
241+
},
242+
{
243+
"fanName": "FAN_6_F",
244+
"rpmSysfsPath": "/run/devmap/sensors/MCB_FAN_CPLD/fan11_input",
245+
"pwmSysfsPath": "/run/devmap/sensors/MCB_FAN_CPLD/pwm6",
246+
"presenceSysfsPath": "/run/devmap/sensors/MCB_FAN_CPLD/fan6_present",
247+
"pwmMin": 0,
248+
"pwmMax": 64,
249+
"fanPresentVal": 1,
250+
"fanMissingVal": 0,
251+
"fanGoodLedVal": 1,
252+
"fanFailLedVal": 2,
253+
"rpmMin": 1500
254+
},
255+
{
256+
"fanName": "FAN_6_R",
257+
"rpmSysfsPath": "/run/devmap/sensors/MCB_FAN_CPLD/fan12_input",
258+
"pwmSysfsPath": "/run/devmap/sensors/MCB_FAN_CPLD/pwm6",
259+
"presenceSysfsPath": "/run/devmap/sensors/MCB_FAN_CPLD/fan6_present",
260+
"pwmMin": 0,
261+
"pwmMax": 64,
262+
"fanPresentVal": 1,
263+
"fanMissingVal": 0,
264+
"fanGoodLedVal": 1,
265+
"fanFailLedVal": 2,
266+
"rpmMin": 1500
267+
}
268+
],
269+
"zones": [
270+
{
271+
"zoneType": "ZONE_TYPE_MAX",
272+
"zoneName": "zone1",
273+
"sensorNames": [
274+
"NETLAKE_U1_CPU_UNCORE_TEMP",
275+
"RTM_L_U8_LM75_INLET_TEMP",
276+
"RTM_R_U8_LM75_INLET_TEMP",
277+
"MCB_PSP3_XP12R0V_PB3_TEMPARTURES"
278+
],
279+
"fanNames": [
280+
"FAN_1_F",
281+
"FAN_1_R",
282+
"FAN_2_F",
283+
"FAN_2_R",
284+
"FAN_3_F",
285+
"FAN_3_R",
286+
"FAN_4_F",
287+
"FAN_4_R",
288+
"FAN_5_F",
289+
"FAN_5_R",
290+
"FAN_6_F",
291+
"FAN_6_R"
292+
],
293+
"slope": 10
294+
}
295+
]
296+
}

0 commit comments

Comments
 (0)