1# Romulus.py
2#
3
4SYSTEM_STATES = [
5    "BASE_APPS",
6    "BMC_STARTING",
7    "BMC_READY",
8    "HOST_POWERING_ON",
9    "HOST_POWERED_ON",
10    "HOST_BOOTING",
11    "HOST_BOOTED",
12    "HOST_POWERED_OFF",
13]
14
15EXIT_STATE_DEPEND = {
16    "BASE_APPS": {
17        "/org/openbmc/sensors": 0,
18    },
19    "BMC_STARTING": {
20        "/org/openbmc/control/chassis0": 0,
21        "/org/openbmc/control/power0": 0,
22        "/org/openbmc/control/flash/bios": 0,
23    },
24}
25
26INVENTORY_ROOT = "/org/openbmc/inventory"
27
28FRU_INSTANCES = {
29    "<inventory_root>/system": {
30        "fru_type": "SYSTEM",
31        "is_fru": True,
32        "present": "True",
33    },
34    "<inventory_root>/system/bios": {
35        "fru_type": "SYSTEM",
36        "is_fru": True,
37        "present": "True",
38    },
39    "<inventory_root>/system/misc": {
40        "fru_type": "SYSTEM",
41        "is_fru": False,
42    },
43    "<inventory_root>/system/chassis": {
44        "fru_type": "SYSTEM",
45        "is_fru": True,
46        "present": "True",
47    },
48    "<inventory_root>/system/chassis/motherboard": {
49        "fru_type": "MAIN_PLANAR",
50        "is_fru": True,
51    },
52    "<inventory_root>/system/systemevent": {
53        "fru_type": "SYSTEM_EVENT",
54        "is_fru": False,
55    },
56    "<inventory_root>/system/chassis/motherboard/refclock": {
57        "fru_type": "MAIN_PLANAR",
58        "is_fru": False,
59    },
60    "<inventory_root>/system/chassis/motherboard/pcieclock": {
61        "fru_type": "MAIN_PLANAR",
62        "is_fru": False,
63    },
64    "<inventory_root>/system/chassis/motherboard/todclock": {
65        "fru_type": "MAIN_PLANAR",
66        "is_fru": False,
67    },
68    "<inventory_root>/system/chassis/motherboard/apss": {
69        "fru_type": "MAIN_PLANAR",
70        "is_fru": False,
71    },
72    "<inventory_root>/system/chassis/fan0": {
73        "fru_type": "FAN",
74        "is_fru": True,
75    },
76    "<inventory_root>/system/chassis/fan1": {
77        "fru_type": "FAN",
78        "is_fru": True,
79    },
80    "<inventory_root>/system/chassis/fan2": {
81        "fru_type": "FAN",
82        "is_fru": True,
83    },
84    "<inventory_root>/system/chassis/fan3": {
85        "fru_type": "FAN",
86        "is_fru": True,
87    },
88    "<inventory_root>/system/chassis/motherboard/bmc": {
89        "fru_type": "BMC",
90        "is_fru": False,
91        "manufacturer": "ASPEED",
92    },
93    "<inventory_root>/system/chassis/motherboard/cpu0": {
94        "fru_type": "CPU",
95        "is_fru": True,
96    },
97    "<inventory_root>/system/chassis/motherboard/cpu1": {
98        "fru_type": "CPU",
99        "is_fru": True,
100    },
101    "<inventory_root>/system/chassis/motherboard/cpu0/core0": {
102        "fru_type": "CORE",
103        "is_fru": False,
104    },
105    "<inventory_root>/system/chassis/motherboard/cpu0/core1": {
106        "fru_type": "CORE",
107        "is_fru": False,
108    },
109    "<inventory_root>/system/chassis/motherboard/cpu0/core2": {
110        "fru_type": "CORE",
111        "is_fru": False,
112    },
113    "<inventory_root>/system/chassis/motherboard/cpu0/core3": {
114        "fru_type": "CORE",
115        "is_fru": False,
116    },
117    "<inventory_root>/system/chassis/motherboard/cpu0/core4": {
118        "fru_type": "CORE",
119        "is_fru": False,
120    },
121    "<inventory_root>/system/chassis/motherboard/cpu0/core5": {
122        "fru_type": "CORE",
123        "is_fru": False,
124    },
125    "<inventory_root>/system/chassis/motherboard/cpu0/core6": {
126        "fru_type": "CORE",
127        "is_fru": False,
128    },
129    "<inventory_root>/system/chassis/motherboard/cpu0/core7": {
130        "fru_type": "CORE",
131        "is_fru": False,
132    },
133    "<inventory_root>/system/chassis/motherboard/cpu0/core8": {
134        "fru_type": "CORE",
135        "is_fru": False,
136    },
137    "<inventory_root>/system/chassis/motherboard/cpu0/core9": {
138        "fru_type": "CORE",
139        "is_fru": False,
140    },
141    "<inventory_root>/system/chassis/motherboard/cpu0/core10": {
142        "fru_type": "CORE",
143        "is_fru": False,
144    },
145    "<inventory_root>/system/chassis/motherboard/cpu0/core11": {
146        "fru_type": "CORE",
147        "is_fru": False,
148    },
149    "<inventory_root>/system/chassis/motherboard/cpu0/core12": {
150        "fru_type": "CORE",
151        "is_fru": False,
152    },
153    "<inventory_root>/system/chassis/motherboard/cpu0/core13": {
154        "fru_type": "CORE",
155        "is_fru": False,
156    },
157    "<inventory_root>/system/chassis/motherboard/cpu0/core14": {
158        "fru_type": "CORE",
159        "is_fru": False,
160    },
161    "<inventory_root>/system/chassis/motherboard/cpu0/core15": {
162        "fru_type": "CORE",
163        "is_fru": False,
164    },
165    "<inventory_root>/system/chassis/motherboard/cpu0/core16": {
166        "fru_type": "CORE",
167        "is_fru": False,
168    },
169    "<inventory_root>/system/chassis/motherboard/cpu0/core17": {
170        "fru_type": "CORE",
171        "is_fru": False,
172    },
173    "<inventory_root>/system/chassis/motherboard/cpu0/core18": {
174        "fru_type": "CORE",
175        "is_fru": False,
176    },
177    "<inventory_root>/system/chassis/motherboard/cpu0/core19": {
178        "fru_type": "CORE",
179        "is_fru": False,
180    },
181    "<inventory_root>/system/chassis/motherboard/cpu0/core20": {
182        "fru_type": "CORE",
183        "is_fru": False,
184    },
185    "<inventory_root>/system/chassis/motherboard/cpu0/core21": {
186        "fru_type": "CORE",
187        "is_fru": False,
188    },
189    "<inventory_root>/system/chassis/motherboard/cpu0/core22": {
190        "fru_type": "CORE",
191        "is_fru": False,
192    },
193    "<inventory_root>/system/chassis/motherboard/cpu0/core23": {
194        "fru_type": "CORE",
195        "is_fru": False,
196    },
197    "<inventory_root>/system/chassis/motherboard/cpu1/core0": {
198        "fru_type": "CORE",
199        "is_fru": False,
200    },
201    "<inventory_root>/system/chassis/motherboard/cpu1/core1": {
202        "fru_type": "CORE",
203        "is_fru": False,
204    },
205    "<inventory_root>/system/chassis/motherboard/cpu1/core2": {
206        "fru_type": "CORE",
207        "is_fru": False,
208    },
209    "<inventory_root>/system/chassis/motherboard/cpu1/core3": {
210        "fru_type": "CORE",
211        "is_fru": False,
212    },
213    "<inventory_root>/system/chassis/motherboard/cpu1/core4": {
214        "fru_type": "CORE",
215        "is_fru": False,
216    },
217    "<inventory_root>/system/chassis/motherboard/cpu1/core5": {
218        "fru_type": "CORE",
219        "is_fru": False,
220    },
221    "<inventory_root>/system/chassis/motherboard/cpu1/core6": {
222        "fru_type": "CORE",
223        "is_fru": False,
224    },
225    "<inventory_root>/system/chassis/motherboard/cpu1/core7": {
226        "fru_type": "CORE",
227        "is_fru": False,
228    },
229    "<inventory_root>/system/chassis/motherboard/cpu1/core8": {
230        "fru_type": "CORE",
231        "is_fru": False,
232    },
233    "<inventory_root>/system/chassis/motherboard/cpu1/core9": {
234        "fru_type": "CORE",
235        "is_fru": False,
236    },
237    "<inventory_root>/system/chassis/motherboard/cpu1/core10": {
238        "fru_type": "CORE",
239        "is_fru": False,
240    },
241    "<inventory_root>/system/chassis/motherboard/cpu1/core11": {
242        "fru_type": "CORE",
243        "is_fru": False,
244    },
245    "<inventory_root>/system/chassis/motherboard/cpu1/core12": {
246        "fru_type": "CORE",
247        "is_fru": False,
248    },
249    "<inventory_root>/system/chassis/motherboard/cpu1/core13": {
250        "fru_type": "CORE",
251        "is_fru": False,
252    },
253    "<inventory_root>/system/chassis/motherboard/cpu1/core14": {
254        "fru_type": "CORE",
255        "is_fru": False,
256    },
257    "<inventory_root>/system/chassis/motherboard/cpu1/core15": {
258        "fru_type": "CORE",
259        "is_fru": False,
260    },
261    "<inventory_root>/system/chassis/motherboard/cpu1/core16": {
262        "fru_type": "CORE",
263        "is_fru": False,
264    },
265    "<inventory_root>/system/chassis/motherboard/cpu1/core17": {
266        "fru_type": "CORE",
267        "is_fru": False,
268    },
269    "<inventory_root>/system/chassis/motherboard/cpu1/core18": {
270        "fru_type": "CORE",
271        "is_fru": False,
272    },
273    "<inventory_root>/system/chassis/motherboard/cpu1/core19": {
274        "fru_type": "CORE",
275        "is_fru": False,
276    },
277    "<inventory_root>/system/chassis/motherboard/cpu1/core20": {
278        "fru_type": "CORE",
279        "is_fru": False,
280    },
281    "<inventory_root>/system/chassis/motherboard/cpu1/core21": {
282        "fru_type": "CORE",
283        "is_fru": False,
284    },
285    "<inventory_root>/system/chassis/motherboard/cpu1/core22": {
286        "fru_type": "CORE",
287        "is_fru": False,
288    },
289    "<inventory_root>/system/chassis/motherboard/cpu1/core23": {
290        "fru_type": "CORE",
291        "is_fru": False,
292    },
293    "<inventory_root>/system/chassis/motherboard/dimm0": {
294        "fru_type": "DIMM",
295        "is_fru": True,
296    },
297    "<inventory_root>/system/chassis/motherboard/dimm1": {
298        "fru_type": "DIMM",
299        "is_fru": True,
300    },
301    "<inventory_root>/system/chassis/motherboard/dimm2": {
302        "fru_type": "DIMM",
303        "is_fru": True,
304    },
305    "<inventory_root>/system/chassis/motherboard/dimm3": {
306        "fru_type": "DIMM",
307        "is_fru": True,
308    },
309    "<inventory_root>/system/chassis/motherboard/dimm4": {
310        "fru_type": "DIMM",
311        "is_fru": True,
312    },
313    "<inventory_root>/system/chassis/motherboard/dimm5": {
314        "fru_type": "DIMM",
315        "is_fru": True,
316    },
317    "<inventory_root>/system/chassis/motherboard/dimm6": {
318        "fru_type": "DIMM",
319        "is_fru": True,
320    },
321    "<inventory_root>/system/chassis/motherboard/dimm7": {
322        "fru_type": "DIMM",
323        "is_fru": True,
324    },
325    "<inventory_root>/system/chassis/motherboard/dimm8": {
326        "fru_type": "DIMM",
327        "is_fru": True,
328    },
329    "<inventory_root>/system/chassis/motherboard/dimm9": {
330        "fru_type": "DIMM",
331        "is_fru": True,
332    },
333    "<inventory_root>/system/chassis/motherboard/dimm10": {
334        "fru_type": "DIMM",
335        "is_fru": True,
336    },
337    "<inventory_root>/system/chassis/motherboard/dimm11": {
338        "fru_type": "DIMM",
339        "is_fru": True,
340    },
341    "<inventory_root>/system/chassis/motherboard/dimm12": {
342        "fru_type": "DIMM",
343        "is_fru": True,
344    },
345    "<inventory_root>/system/chassis/motherboard/dimm13": {
346        "fru_type": "DIMM",
347        "is_fru": True,
348    },
349    "<inventory_root>/system/chassis/motherboard/dimm14": {
350        "fru_type": "DIMM",
351        "is_fru": True,
352    },
353    "<inventory_root>/system/chassis/motherboard/dimm15": {
354        "fru_type": "DIMM",
355        "is_fru": True,
356    },
357}
358
359ID_LOOKUP = {
360    "FRU": {
361        0x01: "<inventory_root>/system/chassis/motherboard/cpu0",
362        0x02: "<inventory_root>/system/chassis/motherboard/cpu1",
363        0x03: "<inventory_root>/system/chassis/motherboard",
364        0x04: "<inventory_root>/system/chassis/motherboard/dimm0",
365        0x05: "<inventory_root>/system/chassis/motherboard/dimm1",
366        0x06: "<inventory_root>/system/chassis/motherboard/dimm2",
367        0x07: "<inventory_root>/system/chassis/motherboard/dimm3",
368        0x08: "<inventory_root>/system/chassis/motherboard/dimm4",
369        0x09: "<inventory_root>/system/chassis/motherboard/dimm5",
370        0x0A: "<inventory_root>/system/chassis/motherboard/dimm6",
371        0x0B: "<inventory_root>/system/chassis/motherboard/dimm7",
372        0x0C: "<inventory_root>/system/chassis/motherboard/dimm8",
373        0x0D: "<inventory_root>/system/chassis/motherboard/dimm9",
374        0x0E: "<inventory_root>/system/chassis/motherboard/dimm10",
375        0x0F: "<inventory_root>/system/chassis/motherboard/dimm11",
376        0x10: "<inventory_root>/system/chassis/motherboard/dimm12",
377        0x11: "<inventory_root>/system/chassis/motherboard/dimm13",
378        0x12: "<inventory_root>/system/chassis/motherboard/dimm14",
379        0x13: "<inventory_root>/system/chassis/motherboard/dimm15",
380    },
381    "FRU_STR": {
382        "PRODUCT_0": "<inventory_root>/system/bios",
383        "BOARD_1": "<inventory_root>/system/chassis/motherboard/cpu0",
384        "BOARD_2": "<inventory_root>/system/chassis/motherboard/cpu1",
385        "CHASSIS_3": "<inventory_root>/system/chassis/motherboard",
386        "BOARD_3": "<inventory_root>/system/misc",
387        "PRODUCT_12": "<inventory_root>/system/chassis/motherboard/dimm0",
388        "PRODUCT_13": "<inventory_root>/system/chassis/motherboard/dimm1",
389        "PRODUCT_14": "<inventory_root>/system/chassis/motherboard/dimm2",
390        "PRODUCT_15": "<inventory_root>/system/chassis/motherboard/dimm3",
391        "PRODUCT_16": "<inventory_root>/system/chassis/motherboard/dimm4",
392        "PRODUCT_17": "<inventory_root>/system/chassis/motherboard/dimm5",
393        "PRODUCT_18": "<inventory_root>/system/chassis/motherboard/dimm6",
394        "PRODUCT_19": "<inventory_root>/system/chassis/motherboard/dimm7",
395        "PRODUCT_20": "<inventory_root>/system/chassis/motherboard/dimm8",
396        "PRODUCT_21": "<inventory_root>/system/chassis/motherboard/dimm9",
397        "PRODUCT_22": "<inventory_root>/system/chassis/motherboard/dimm10",
398        "PRODUCT_23": "<inventory_root>/system/chassis/motherboard/dimm11",
399        "PRODUCT_24": "<inventory_root>/system/chassis/motherboard/dimm12",
400        "PRODUCT_25": "<inventory_root>/system/chassis/motherboard/dimm13",
401        "PRODUCT_26": "<inventory_root>/system/chassis/motherboard/dimm14",
402        "PRODUCT_27": "<inventory_root>/system/chassis/motherboard/dimm15",
403        "PRODUCT_47": "<inventory_root>/system/misc",
404    },
405    "SENSOR": {
406        0x01: "/org/openbmc/sensors/host/HostStatus",
407        0x02: "/org/openbmc/sensors/host/BootProgress",
408        0x03: "/org/openbmc/sensors/host/cpu0/OccStatus",
409        0x04: "/org/openbmc/sensors/host/cpu1/OccStatus",
410        0x08: "<inventory_root>/system/chassis/motherboard/cpu0",
411        0x09: "<inventory_root>/system/chassis/motherboard/cpu1",
412        0x0B: "<inventory_root>/system/chassis/motherboard/dimm0",
413        0x0C: "<inventory_root>/system/chassis/motherboard/dimm1",
414        0x0D: "<inventory_root>/system/chassis/motherboard/dimm2",
415        0x0E: "<inventory_root>/system/chassis/motherboard/dimm3",
416        0x0F: "<inventory_root>/system/chassis/motherboard/dimm4",
417        0x10: "<inventory_root>/system/chassis/motherboard/dimm5",
418        0x11: "<inventory_root>/system/chassis/motherboard/dimm6",
419        0x12: "<inventory_root>/system/chassis/motherboard/dimm7",
420        0x13: "<inventory_root>/system/chassis/motherboard/dimm8",
421        0x14: "<inventory_root>/system/chassis/motherboard/dimm9",
422        0x15: "<inventory_root>/system/chassis/motherboard/dimm10",
423        0x16: "<inventory_root>/system/chassis/motherboard/dimm11",
424        0x17: "<inventory_root>/system/chassis/motherboard/dimm12",
425        0x18: "<inventory_root>/system/chassis/motherboard/dimm13",
426        0x19: "<inventory_root>/system/chassis/motherboard/dimm14",
427        0x1A: "<inventory_root>/system/chassis/motherboard/dimm15",
428        0x2B: "<inventory_root>/system/chassis/motherboard/cpu0/core0",
429        0x2C: "<inventory_root>/system/chassis/motherboard/cpu0/core1",
430        0x2D: "<inventory_root>/system/chassis/motherboard/cpu0/core2",
431        0x2E: "<inventory_root>/system/chassis/motherboard/cpu0/core3",
432        0x2F: "<inventory_root>/system/chassis/motherboard/cpu0/core4",
433        0x30: "<inventory_root>/system/chassis/motherboard/cpu0/core5",
434        0x31: "<inventory_root>/system/chassis/motherboard/cpu0/core6",
435        0x32: "<inventory_root>/system/chassis/motherboard/cpu0/core7",
436        0x33: "<inventory_root>/system/chassis/motherboard/cpu0/core8",
437        0x34: "<inventory_root>/system/chassis/motherboard/cpu0/core9",
438        0x35: "<inventory_root>/system/chassis/motherboard/cpu0/core10",
439        0x36: "<inventory_root>/system/chassis/motherboard/cpu0/core11",
440        0x37: "<inventory_root>/system/chassis/motherboard/cpu0/core12",
441        0x38: "<inventory_root>/system/chassis/motherboard/cpu0/core13",
442        0x39: "<inventory_root>/system/chassis/motherboard/cpu0/core14",
443        0x3A: "<inventory_root>/system/chassis/motherboard/cpu0/core15",
444        0x3B: "<inventory_root>/system/chassis/motherboard/cpu0/core16",
445        0x3C: "<inventory_root>/system/chassis/motherboard/cpu0/core17",
446        0x3D: "<inventory_root>/system/chassis/motherboard/cpu0/core18",
447        0x3E: "<inventory_root>/system/chassis/motherboard/cpu0/core19",
448        0x3F: "<inventory_root>/system/chassis/motherboard/cpu0/core20",
449        0x40: "<inventory_root>/system/chassis/motherboard/cpu0/core21",
450        0x41: "<inventory_root>/system/chassis/motherboard/cpu0/core22",
451        0x42: "<inventory_root>/system/chassis/motherboard/cpu0/core23",
452        0x43: "<inventory_root>/system/chassis/motherboard/cpu1/core0",
453        0x44: "<inventory_root>/system/chassis/motherboard/cpu1/core1",
454        0x45: "<inventory_root>/system/chassis/motherboard/cpu1/core2",
455        0x46: "<inventory_root>/system/chassis/motherboard/cpu1/core3",
456        0x47: "<inventory_root>/system/chassis/motherboard/cpu1/core4",
457        0x48: "<inventory_root>/system/chassis/motherboard/cpu1/core5",
458        0x49: "<inventory_root>/system/chassis/motherboard/cpu1/core6",
459        0x4A: "<inventory_root>/system/chassis/motherboard/cpu1/core7",
460        0x4B: "<inventory_root>/system/chassis/motherboard/cpu1/core8",
461        0x4C: "<inventory_root>/system/chassis/motherboard/cpu1/core9",
462        0x4D: "<inventory_root>/system/chassis/motherboard/cpu1/core10",
463        0x4E: "<inventory_root>/system/chassis/motherboard/cpu1/core11",
464        0x4F: "<inventory_root>/system/chassis/motherboard/cpu1/core12",
465        0x50: "<inventory_root>/system/chassis/motherboard/cpu1/core13",
466        0x51: "<inventory_root>/system/chassis/motherboard/cpu1/core14",
467        0x52: "<inventory_root>/system/chassis/motherboard/cpu1/core15",
468        0x53: "<inventory_root>/system/chassis/motherboard/cpu1/core16",
469        0x54: "<inventory_root>/system/chassis/motherboard/cpu1/core17",
470        0x55: "<inventory_root>/system/chassis/motherboard/cpu1/core18",
471        0x56: "<inventory_root>/system/chassis/motherboard/cpu1/core19",
472        0x57: "<inventory_root>/system/chassis/motherboard/cpu1/core20",
473        0x58: "<inventory_root>/system/chassis/motherboard/cpu1/core21",
474        0x59: "<inventory_root>/system/chassis/motherboard/cpu1/core22",
475        0x5A: "<inventory_root>/system/chassis/motherboard/cpu1/core23",
476        0x8B: "/org/openbmc/sensors/host/BootCount",
477        0x8C: "<inventory_root>/system/chassis/motherboard",
478        0x8D: "<inventory_root>/system/chassis/motherboard/refclock",
479        0x8E: "<inventory_root>/system/chassis/motherboard/pcieclock",
480        0x8F: "<inventory_root>/system/chassis/motherboard/todclock",
481        0x90: "<inventory_root>/system/systemevent",
482        0x91: "/org/openbmc/sensors/host/OperatingSystemStatus",
483        0x92: "<inventory_root>/system/chassis/motherboard/pcielink",
484        #        0x08 : '<inventory_root>/system/powerlimit',
485        #        0x10 : '<inventory_root>/system/chassis/motherboard/apss',
486        #        0x06 : '/org/openbmc/sensors/host/powercap',
487    },
488    "GPIO_PRESENT": {},
489}
490
491GPIO_CONFIG = {}
492GPIO_CONFIG["SOFTWARE_PGOOD"] = {"gpio_pin": "R1", "direction": "out"}
493GPIO_CONFIG["BMC_POWER_UP"] = {"gpio_pin": "D1", "direction": "out"}
494GPIO_CONFIG["SYS_PWROK_BUFF"] = {"gpio_pin": "D2", "direction": "in"}
495GPIO_CONFIG["BMC_WD_CLEAR_PULSE_N"] = {"gpio_pin": "N5", "direction": "out"}
496GPIO_CONFIG["CHECKSTOP"] = {"gpio_pin": "J2", "direction": "falling"}
497GPIO_CONFIG["BMC_CP0_RESET_N"] = {"gpio_pin": "A1", "direction": "out"}
498GPIO_CONFIG["BMC_CP0_PERST_ENABLE_R"] = {"gpio_pin": "A3", "direction": "out"}
499GPIO_CONFIG["FSI_DATA"] = {"gpio_pin": "AA2", "direction": "out"}
500GPIO_CONFIG["FSI_CLK"] = {"gpio_pin": "AA0", "direction": "out"}
501GPIO_CONFIG["FSI_ENABLE"] = {"gpio_pin": "D0", "direction": "out"}
502
503# DBG_CP0_MUX_SEL
504GPIO_CONFIG["CRONUS_SEL"] = {"gpio_pin": "A6", "direction": "out"}
505GPIO_CONFIG["BMC_THROTTLE"] = {"gpio_pin": "J3", "direction": "out"}
506GPIO_CONFIG["IDBTN"] = {"gpio_pin": "Q7", "direction": "out"}
507
508# PM_FP_PWRBTN_IN_L
509GPIO_CONFIG["POWER_BUTTON"] = {"gpio_pin": "I3", "direction": "both"}
510
511# PM_NMIBTN_IN_L
512GPIO_CONFIG["RESET_BUTTON"] = {"gpio_pin": "J1", "direction": "both"}
513
514HWMON_CONFIG = {
515    "4-0050": {
516        "names": {
517            "caps_curr_powercap": {
518                "object_path": "powercap/curr_cap",
519                "poll_interval": 10000,
520                "scale": 1,
521                "units": "W",
522            },
523            "caps_curr_powerreading": {
524                "object_path": "powercap/system_power",
525                "poll_interval": 10000,
526                "scale": 1,
527                "units": "W",
528            },
529            "caps_max_powercap": {
530                "object_path": "powercap/max_cap",
531                "poll_interval": 10000,
532                "scale": 1,
533                "units": "W",
534            },
535            "caps_min_powercap": {
536                "object_path": "powercap/min_cap",
537                "poll_interval": 10000,
538                "scale": 1,
539                "units": "W",
540            },
541            "caps_norm_powercap": {
542                "object_path": "powercap/n_cap",
543                "poll_interval": 10000,
544                "scale": 1,
545                "units": "W",
546            },
547            "caps_user_powerlimit": {
548                "object_path": "powercap/user_cap",
549                "poll_interval": 10000,
550                "scale": 1,
551                "units": "W",
552            },
553        },
554        "labels": {
555            "176": {
556                "object_path": "temperature/cpu0/core0",
557                "poll_interval": 5000,
558                "scale": -3,
559                "units": "C",
560                "critical_upper": 100,
561                "critical_lower": -100,
562                "warning_upper": 90,
563                "warning_lower": -99,
564                "emergency_enabled": True,
565            },
566            "177": {
567                "object_path": "temperature/cpu0/core1",
568                "poll_interval": 5000,
569                "scale": -3,
570                "units": "C",
571                "critical_upper": 100,
572                "critical_lower": -100,
573                "warning_upper": 90,
574                "warning_lower": -99,
575                "emergency_enabled": True,
576            },
577            "178": {
578                "object_path": "temperature/cpu0/core2",
579                "poll_interval": 5000,
580                "scale": -3,
581                "units": "C",
582                "critical_upper": 100,
583                "critical_lower": -100,
584                "warning_upper": 90,
585                "warning_lower": -99,
586                "emergency_enabled": True,
587            },
588            "179": {
589                "object_path": "temperature/cpu0/core3",
590                "poll_interval": 5000,
591                "scale": -3,
592                "units": "C",
593                "critical_upper": 100,
594                "critical_lower": -100,
595                "warning_upper": 90,
596                "warning_lower": -99,
597                "emergency_enabled": True,
598            },
599            "180": {
600                "object_path": "temperature/cpu0/core4",
601                "poll_interval": 5000,
602                "scale": -3,
603                "units": "C",
604                "critical_upper": 100,
605                "critical_lower": -100,
606                "warning_upper": 90,
607                "warning_lower": -99,
608                "emergency_enabled": True,
609            },
610            "181": {
611                "object_path": "temperature/cpu0/core5",
612                "poll_interval": 5000,
613                "scale": -3,
614                "units": "C",
615                "critical_upper": 100,
616                "critical_lower": -100,
617                "warning_upper": 90,
618                "warning_lower": -99,
619                "emergency_enabled": True,
620            },
621            "182": {
622                "object_path": "temperature/cpu0/core6",
623                "poll_interval": 5000,
624                "scale": -3,
625                "units": "C",
626                "critical_upper": 100,
627                "critical_lower": -100,
628                "warning_upper": 90,
629                "warning_lower": -99,
630                "emergency_enabled": True,
631            },
632            "183": {
633                "object_path": "temperature/cpu0/core7",
634                "poll_interval": 5000,
635                "scale": -3,
636                "units": "C",
637                "critical_upper": 100,
638                "critical_lower": -100,
639                "warning_upper": 90,
640                "warning_lower": -99,
641                "emergency_enabled": True,
642            },
643            "184": {
644                "object_path": "temperature/cpu0/core8",
645                "poll_interval": 5000,
646                "scale": -3,
647                "units": "C",
648                "critical_upper": 100,
649                "critical_lower": -100,
650                "warning_upper": 90,
651                "warning_lower": -99,
652                "emergency_enabled": True,
653            },
654            "185": {
655                "object_path": "temperature/cpu0/core9",
656                "poll_interval": 5000,
657                "scale": -3,
658                "units": "C",
659                "critical_upper": 100,
660                "critical_lower": -100,
661                "warning_upper": 90,
662                "warning_lower": -99,
663                "emergency_enabled": True,
664            },
665            "186": {
666                "object_path": "temperature/cpu0/core10",
667                "poll_interval": 5000,
668                "scale": -3,
669                "units": "C",
670                "critical_upper": 100,
671                "critical_lower": -100,
672                "warning_upper": 90,
673                "warning_lower": -99,
674                "emergency_enabled": True,
675            },
676            "187": {
677                "object_path": "temperature/cpu0/core11",
678                "poll_interval": 5000,
679                "scale": -3,
680                "units": "C",
681                "critical_upper": 100,
682                "critical_lower": -100,
683                "warning_upper": 90,
684                "warning_lower": -99,
685                "emergency_enabled": True,
686            },
687            "102": {
688                "object_path": "temperature/dimm0",
689                "poll_interval": 5000,
690                "scale": -3,
691                "units": "C",
692            },
693            "103": {
694                "object_path": "temperature/dimm1",
695                "poll_interval": 5000,
696                "scale": -3,
697                "units": "C",
698            },
699            "104": {
700                "object_path": "temperature/dimm2",
701                "poll_interval": 5000,
702                "scale": -3,
703                "units": "C",
704            },
705            "105": {
706                "object_path": "temperature/dimm3",
707                "poll_interval": 5000,
708                "scale": -3,
709                "units": "C",
710            },
711            "106": {
712                "object_path": "temperature/dimm4",
713                "poll_interval": 5000,
714                "scale": -3,
715                "units": "C",
716            },
717            "107": {
718                "object_path": "temperature/dimm5",
719                "poll_interval": 5000,
720                "scale": -3,
721                "units": "C",
722            },
723            "108": {
724                "object_path": "temperature/dimm6",
725                "poll_interval": 5000,
726                "scale": -3,
727                "units": "C",
728            },
729            "109": {
730                "object_path": "temperature/dimm7",
731                "poll_interval": 5000,
732                "scale": -3,
733                "units": "C",
734            },
735        },
736    },
737    "5-0050": {
738        "labels": {
739            "188": {
740                "object_path": "temperature/cpu1/core0",
741                "poll_interval": 5000,
742                "scale": -3,
743                "units": "C",
744                "critical_upper": 100,
745                "critical_lower": -100,
746                "warning_upper": 90,
747                "warning_lower": -99,
748                "emergency_enabled": True,
749            },
750            "189": {
751                "object_path": "temperature/cpu1/core1",
752                "poll_interval": 5000,
753                "scale": -3,
754                "units": "C",
755                "critical_upper": 100,
756                "critical_lower": -100,
757                "warning_upper": 90,
758                "warning_lower": -99,
759                "emergency_enabled": True,
760            },
761            "190": {
762                "object_path": "temperature/cpu1/core2",
763                "poll_interval": 5000,
764                "scale": -3,
765                "units": "C",
766                "critical_upper": 100,
767                "critical_lower": -100,
768                "warning_upper": 90,
769                "warning_lower": -99,
770                "emergency_enabled": True,
771            },
772            "191": {
773                "object_path": "temperature/cpu1/core3",
774                "poll_interval": 5000,
775                "scale": -3,
776                "units": "C",
777                "critical_upper": 100,
778                "critical_lower": -100,
779                "warning_upper": 90,
780                "warning_lower": -99,
781                "emergency_enabled": True,
782            },
783            "192": {
784                "object_path": "temperature/cpu1/core4",
785                "poll_interval": 5000,
786                "scale": -3,
787                "units": "C",
788                "critical_upper": 100,
789                "critical_lower": -100,
790                "warning_upper": 90,
791                "warning_lower": -99,
792                "emergency_enabled": True,
793            },
794            "193": {
795                "object_path": "temperature/cpu1/core5",
796                "poll_interval": 5000,
797                "scale": -3,
798                "units": "C",
799                "critical_upper": 100,
800                "critical_lower": -100,
801                "warning_upper": 90,
802                "warning_lower": -99,
803                "emergency_enabled": True,
804            },
805            "194": {
806                "object_path": "temperature/cpu1/core6",
807                "poll_interval": 5000,
808                "scale": -3,
809                "units": "C",
810                "critical_upper": 100,
811                "critical_lower": -100,
812                "warning_upper": 90,
813                "warning_lower": -99,
814                "emergency_enabled": True,
815            },
816            "195": {
817                "object_path": "temperature/cpu1/core7",
818                "poll_interval": 5000,
819                "scale": -3,
820                "units": "C",
821                "critical_upper": 100,
822                "critical_lower": -100,
823                "warning_upper": 90,
824                "warning_lower": -99,
825                "emergency_enabled": True,
826            },
827            "196": {
828                "object_path": "temperature/cpu1/core8",
829                "poll_interval": 5000,
830                "scale": -3,
831                "units": "C",
832                "critical_upper": 100,
833                "critical_lower": -100,
834                "warning_upper": 90,
835                "warning_lower": -99,
836                "emergency_enabled": True,
837            },
838            "197": {
839                "object_path": "temperature/cpu1/core9",
840                "poll_interval": 5000,
841                "scale": -3,
842                "units": "C",
843                "critical_upper": 100,
844                "critical_lower": -100,
845                "warning_upper": 90,
846                "warning_lower": -99,
847                "emergency_enabled": True,
848            },
849            "198": {
850                "object_path": "temperature/cpu1/core10",
851                "poll_interval": 5000,
852                "scale": -3,
853                "units": "C",
854                "critical_upper": 100,
855                "critical_lower": -100,
856                "warning_upper": 90,
857                "warning_lower": -99,
858                "emergency_enabled": True,
859            },
860            "199": {
861                "object_path": "temperature/cpu1/core11",
862                "poll_interval": 5000,
863                "scale": -3,
864                "units": "C",
865                "critical_upper": 100,
866                "critical_lower": -100,
867                "warning_upper": 90,
868                "warning_lower": -99,
869                "emergency_enabled": True,
870            },
871            "110": {
872                "object_path": "temperature/dimm8",
873                "poll_interval": 5000,
874                "scale": -3,
875                "units": "C",
876            },
877            "111": {
878                "object_path": "temperature/dimm9",
879                "poll_interval": 5000,
880                "scale": -3,
881                "units": "C",
882            },
883            "112": {
884                "object_path": "temperature/dimm10",
885                "poll_interval": 5000,
886                "scale": -3,
887                "units": "C",
888            },
889            "113": {
890                "object_path": "temperature/dimm11",
891                "poll_interval": 5000,
892                "scale": -3,
893                "units": "C",
894            },
895            "114": {
896                "object_path": "temperature/dimm12",
897                "poll_interval": 5000,
898                "scale": -3,
899                "units": "C",
900            },
901            "115": {
902                "object_path": "temperature/dimm13",
903                "poll_interval": 5000,
904                "scale": -3,
905                "units": "C",
906            },
907            "116": {
908                "object_path": "temperature/dimm14",
909                "poll_interval": 5000,
910                "scale": -3,
911                "units": "C",
912            },
913            "117": {
914                "object_path": "temperature/dimm15",
915                "poll_interval": 5000,
916                "scale": -3,
917                "units": "C",
918            },
919        }
920    },
921}
922
923
924GPIO_CONFIGS = {
925    "power_config": {
926        "power_good_in": "SYS_PWROK_BUFF",
927        "power_up_outs": [
928            ("SOFTWARE_PGOOD", True),
929            ("BMC_POWER_UP", True),
930        ],
931        "reset_outs": [
932            ("BMC_CP0_RESET_N", False),
933            ("BMC_CP0_PERST_ENABLE_R", False),
934        ],
935    },
936    "hostctl_config": {
937        "fsi_data": "FSI_DATA",
938        "fsi_clk": "FSI_CLK",
939        "fsi_enable": "FSI_ENABLE",
940        "cronus_sel": "CRONUS_SEL",
941        "optionals": [],
942    },
943}
944
945
946# Miscellaneous non-poll sensor with system specific properties.
947# The sensor id is the same as those defined in ID_LOOKUP['SENSOR'].
948MISC_SENSORS = {
949    0x8B: {"class": "BootCountSensor"},
950    0x02: {"class": "BootProgressSensor"},
951    # OCC active sensors aren't in the P9 XML yet.  These are wrong.
952    0x03: {
953        "class": "OccStatusSensor",
954        "os_path": "/sys/bus/i2c/devices/3-0050/online",
955    },
956    0x04: {
957        "class": "OccStatusSensor",
958        "os_path": "/sys/bus/i2c/devices/3-0051/online",
959    },
960    0x91: {"class": "OperatingSystemStatusSensor"},
961    # 0x06 : { 'class' : 'PowerCap',
962    #    'os_path' : '/sys/class/hwmon/hwmon3/user_powercap' },
963}
964
965# vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4
966