1e7e9171eSGeorge Keishing#!/usr/bin/env python3 23bd8cf2eSGeorge Keishing 3004ad3c9SJoy Onyerikwu# System states 4004ad3c9SJoy Onyerikwu# state can change to next state in 2 ways: 5004ad3c9SJoy Onyerikwu# - a process emits a GotoSystemState signal with state name to goto 6004ad3c9SJoy Onyerikwu# - objects specified in EXIT_STATE_DEPEND have started 73bd8cf2eSGeorge KeishingSYSTEM_STATES = [ 8*20f38712SPatrick Williams "BASE_APPS", 9*20f38712SPatrick Williams "BMC_STARTING", 10*20f38712SPatrick Williams "BMC_READY", 11*20f38712SPatrick Williams "HOST_POWERING_ON", 12*20f38712SPatrick Williams "HOST_POWERED_ON", 13*20f38712SPatrick Williams "HOST_BOOTING", 14*20f38712SPatrick Williams "HOST_BOOTED", 15*20f38712SPatrick Williams "HOST_POWERED_OFF", 163bd8cf2eSGeorge Keishing] 173bd8cf2eSGeorge Keishing 183bd8cf2eSGeorge KeishingEXIT_STATE_DEPEND = { 19*20f38712SPatrick Williams "BASE_APPS": { 20*20f38712SPatrick Williams "/org/openbmc/sensors": 0, 213bd8cf2eSGeorge Keishing }, 22*20f38712SPatrick Williams "BMC_STARTING": { 23*20f38712SPatrick Williams "/org/openbmc/control/chassis0": 0, 24*20f38712SPatrick Williams "/org/openbmc/control/power0": 0, 25*20f38712SPatrick Williams "/org/openbmc/control/flash/bios": 0, 263bd8cf2eSGeorge Keishing }, 273bd8cf2eSGeorge Keishing} 283bd8cf2eSGeorge Keishing 293bd8cf2eSGeorge KeishingFRU_INSTANCES = { 30*20f38712SPatrick Williams "<inventory_root>/system": { 31*20f38712SPatrick Williams "fru_type": "SYSTEM", 32*20f38712SPatrick Williams "is_fru": True, 33*20f38712SPatrick Williams "present": "True", 34*20f38712SPatrick Williams }, 35*20f38712SPatrick Williams "<inventory_root>/system/bios": { 36*20f38712SPatrick Williams "fru_type": "SYSTEM", 37*20f38712SPatrick Williams "is_fru": True, 38*20f38712SPatrick Williams "present": "True", 39*20f38712SPatrick Williams }, 40*20f38712SPatrick Williams "<inventory_root>/system/misc": { 41*20f38712SPatrick Williams "fru_type": "SYSTEM", 42*20f38712SPatrick Williams "is_fru": False, 43*20f38712SPatrick Williams }, 44*20f38712SPatrick Williams "<inventory_root>/system/chassis": { 45*20f38712SPatrick Williams "fru_type": "SYSTEM", 46*20f38712SPatrick Williams "is_fru": True, 47*20f38712SPatrick Williams "present": "True", 48*20f38712SPatrick Williams }, 49*20f38712SPatrick Williams "<inventory_root>/system/chassis/motherboard": { 50*20f38712SPatrick Williams "fru_type": "MAIN_PLANAR", 51*20f38712SPatrick Williams "is_fru": True, 52*20f38712SPatrick Williams }, 53*20f38712SPatrick Williams "<inventory_root>/system/systemevent": { 54*20f38712SPatrick Williams "fru_type": "SYSTEM_EVENT", 55*20f38712SPatrick Williams "is_fru": False, 56*20f38712SPatrick Williams }, 57*20f38712SPatrick Williams "<inventory_root>/system/chassis/motherboard/refclock": { 58*20f38712SPatrick Williams "fru_type": "MAIN_PLANAR", 59*20f38712SPatrick Williams "is_fru": False, 60*20f38712SPatrick Williams }, 61*20f38712SPatrick Williams "<inventory_root>/system/chassis/motherboard/pcieclock": { 62*20f38712SPatrick Williams "fru_type": "MAIN_PLANAR", 63*20f38712SPatrick Williams "is_fru": False, 64*20f38712SPatrick Williams }, 65*20f38712SPatrick Williams "<inventory_root>/system/chassis/motherboard/todclock": { 66*20f38712SPatrick Williams "fru_type": "MAIN_PLANAR", 67*20f38712SPatrick Williams "is_fru": False, 68*20f38712SPatrick Williams }, 69*20f38712SPatrick Williams "<inventory_root>/system/chassis/motherboard/apss": { 70*20f38712SPatrick Williams "fru_type": "MAIN_PLANAR", 71*20f38712SPatrick Williams "is_fru": False, 72*20f38712SPatrick Williams }, 73*20f38712SPatrick Williams "<inventory_root>/system/chassis/fan0": { 74*20f38712SPatrick Williams "fru_type": "FAN", 75*20f38712SPatrick Williams "is_fru": True, 76*20f38712SPatrick Williams }, 77*20f38712SPatrick Williams "<inventory_root>/system/chassis/fan1": { 78*20f38712SPatrick Williams "fru_type": "FAN", 79*20f38712SPatrick Williams "is_fru": True, 80*20f38712SPatrick Williams }, 81*20f38712SPatrick Williams "<inventory_root>/system/chassis/fan2": { 82*20f38712SPatrick Williams "fru_type": "FAN", 83*20f38712SPatrick Williams "is_fru": True, 84*20f38712SPatrick Williams }, 85*20f38712SPatrick Williams "<inventory_root>/system/chassis/fan3": { 86*20f38712SPatrick Williams "fru_type": "FAN", 87*20f38712SPatrick Williams "is_fru": True, 88*20f38712SPatrick Williams }, 89*20f38712SPatrick Williams "<inventory_root>/system/chassis/motherboard/bmc": { 90*20f38712SPatrick Williams "fru_type": "BMC", 91*20f38712SPatrick Williams "is_fru": False, 92*20f38712SPatrick Williams "manufacturer": "ASPEED", 93*20f38712SPatrick Williams }, 94*20f38712SPatrick Williams "<inventory_root>/system/chassis/motherboard/cpu0": { 95*20f38712SPatrick Williams "fru_type": "CPU", 96*20f38712SPatrick Williams "is_fru": True, 97*20f38712SPatrick Williams }, 98*20f38712SPatrick Williams "<inventory_root>/system/chassis/motherboard/cpu1": { 99*20f38712SPatrick Williams "fru_type": "CPU", 100*20f38712SPatrick Williams "is_fru": True, 101*20f38712SPatrick Williams }, 102*20f38712SPatrick Williams "<inventory_root>/system/chassis/motherboard/cpu0/core0": { 103*20f38712SPatrick Williams "fru_type": "CORE", 104*20f38712SPatrick Williams "is_fru": False, 105*20f38712SPatrick Williams }, 106*20f38712SPatrick Williams "<inventory_root>/system/chassis/motherboard/cpu0/core1": { 107*20f38712SPatrick Williams "fru_type": "CORE", 108*20f38712SPatrick Williams "is_fru": False, 109*20f38712SPatrick Williams }, 110*20f38712SPatrick Williams "<inventory_root>/system/chassis/motherboard/cpu0/core2": { 111*20f38712SPatrick Williams "fru_type": "CORE", 112*20f38712SPatrick Williams "is_fru": False, 113*20f38712SPatrick Williams }, 114*20f38712SPatrick Williams "<inventory_root>/system/chassis/motherboard/cpu0/core3": { 115*20f38712SPatrick Williams "fru_type": "CORE", 116*20f38712SPatrick Williams "is_fru": False, 117*20f38712SPatrick Williams }, 118*20f38712SPatrick Williams "<inventory_root>/system/chassis/motherboard/cpu0/core4": { 119*20f38712SPatrick Williams "fru_type": "CORE", 120*20f38712SPatrick Williams "is_fru": False, 121*20f38712SPatrick Williams }, 122*20f38712SPatrick Williams "<inventory_root>/system/chassis/motherboard/cpu0/core5": { 123*20f38712SPatrick Williams "fru_type": "CORE", 124*20f38712SPatrick Williams "is_fru": False, 125*20f38712SPatrick Williams }, 126*20f38712SPatrick Williams "<inventory_root>/system/chassis/motherboard/cpu0/core6": { 127*20f38712SPatrick Williams "fru_type": "CORE", 128*20f38712SPatrick Williams "is_fru": False, 129*20f38712SPatrick Williams }, 130*20f38712SPatrick Williams "<inventory_root>/system/chassis/motherboard/cpu0/core7": { 131*20f38712SPatrick Williams "fru_type": "CORE", 132*20f38712SPatrick Williams "is_fru": False, 133*20f38712SPatrick Williams }, 134*20f38712SPatrick Williams "<inventory_root>/system/chassis/motherboard/cpu0/core8": { 135*20f38712SPatrick Williams "fru_type": "CORE", 136*20f38712SPatrick Williams "is_fru": False, 137*20f38712SPatrick Williams }, 138*20f38712SPatrick Williams "<inventory_root>/system/chassis/motherboard/cpu0/core9": { 139*20f38712SPatrick Williams "fru_type": "CORE", 140*20f38712SPatrick Williams "is_fru": False, 141*20f38712SPatrick Williams }, 142*20f38712SPatrick Williams "<inventory_root>/system/chassis/motherboard/cpu0/core10": { 143*20f38712SPatrick Williams "fru_type": "CORE", 144*20f38712SPatrick Williams "is_fru": False, 145*20f38712SPatrick Williams }, 146*20f38712SPatrick Williams "<inventory_root>/system/chassis/motherboard/cpu0/core11": { 147*20f38712SPatrick Williams "fru_type": "CORE", 148*20f38712SPatrick Williams "is_fru": False, 149*20f38712SPatrick Williams }, 150*20f38712SPatrick Williams "<inventory_root>/system/chassis/motherboard/cpu1/core0": { 151*20f38712SPatrick Williams "fru_type": "CORE", 152*20f38712SPatrick Williams "is_fru": False, 153*20f38712SPatrick Williams }, 154*20f38712SPatrick Williams "<inventory_root>/system/chassis/motherboard/cpu1/core1": { 155*20f38712SPatrick Williams "fru_type": "CORE", 156*20f38712SPatrick Williams "is_fru": False, 157*20f38712SPatrick Williams }, 158*20f38712SPatrick Williams "<inventory_root>/system/chassis/motherboard/cpu1/core2": { 159*20f38712SPatrick Williams "fru_type": "CORE", 160*20f38712SPatrick Williams "is_fru": False, 161*20f38712SPatrick Williams }, 162*20f38712SPatrick Williams "<inventory_root>/system/chassis/motherboard/cpu1/core3": { 163*20f38712SPatrick Williams "fru_type": "CORE", 164*20f38712SPatrick Williams "is_fru": False, 165*20f38712SPatrick Williams }, 166*20f38712SPatrick Williams "<inventory_root>/system/chassis/motherboard/cpu1/core4": { 167*20f38712SPatrick Williams "fru_type": "CORE", 168*20f38712SPatrick Williams "is_fru": False, 169*20f38712SPatrick Williams }, 170*20f38712SPatrick Williams "<inventory_root>/system/chassis/motherboard/cpu1/core5": { 171*20f38712SPatrick Williams "fru_type": "CORE", 172*20f38712SPatrick Williams "is_fru": False, 173*20f38712SPatrick Williams }, 174*20f38712SPatrick Williams "<inventory_root>/system/chassis/motherboard/cpu1/core6": { 175*20f38712SPatrick Williams "fru_type": "CORE", 176*20f38712SPatrick Williams "is_fru": False, 177*20f38712SPatrick Williams }, 178*20f38712SPatrick Williams "<inventory_root>/system/chassis/motherboard/cpu1/core7": { 179*20f38712SPatrick Williams "fru_type": "CORE", 180*20f38712SPatrick Williams "is_fru": False, 181*20f38712SPatrick Williams }, 182*20f38712SPatrick Williams "<inventory_root>/system/chassis/motherboard/cpu1/core8": { 183*20f38712SPatrick Williams "fru_type": "CORE", 184*20f38712SPatrick Williams "is_fru": False, 185*20f38712SPatrick Williams }, 186*20f38712SPatrick Williams "<inventory_root>/system/chassis/motherboard/cpu1/core9": { 187*20f38712SPatrick Williams "fru_type": "CORE", 188*20f38712SPatrick Williams "is_fru": False, 189*20f38712SPatrick Williams }, 190*20f38712SPatrick Williams "<inventory_root>/system/chassis/motherboard/cpu1/core10": { 191*20f38712SPatrick Williams "fru_type": "CORE", 192*20f38712SPatrick Williams "is_fru": False, 193*20f38712SPatrick Williams }, 194*20f38712SPatrick Williams "<inventory_root>/system/chassis/motherboard/cpu1/core11": { 195*20f38712SPatrick Williams "fru_type": "CORE", 196*20f38712SPatrick Williams "is_fru": False, 197*20f38712SPatrick Williams }, 198*20f38712SPatrick Williams "<inventory_root>/system/chassis/motherboard/membuf0": { 199*20f38712SPatrick Williams "fru_type": "MEMORY_BUFFER", 200*20f38712SPatrick Williams "is_fru": False, 201*20f38712SPatrick Williams }, 202*20f38712SPatrick Williams "<inventory_root>/system/chassis/motherboard/membuf1": { 203*20f38712SPatrick Williams "fru_type": "MEMORY_BUFFER", 204*20f38712SPatrick Williams "is_fru": False, 205*20f38712SPatrick Williams }, 206*20f38712SPatrick Williams "<inventory_root>/system/chassis/motherboard/membuf2": { 207*20f38712SPatrick Williams "fru_type": "MEMORY_BUFFER", 208*20f38712SPatrick Williams "is_fru": False, 209*20f38712SPatrick Williams }, 210*20f38712SPatrick Williams "<inventory_root>/system/chassis/motherboard/membuf3": { 211*20f38712SPatrick Williams "fru_type": "MEMORY_BUFFER", 212*20f38712SPatrick Williams "is_fru": False, 213*20f38712SPatrick Williams }, 214*20f38712SPatrick Williams "<inventory_root>/system/chassis/motherboard/membuf4": { 215*20f38712SPatrick Williams "fru_type": "MEMORY_BUFFER", 216*20f38712SPatrick Williams "is_fru": False, 217*20f38712SPatrick Williams }, 218*20f38712SPatrick Williams "<inventory_root>/system/chassis/motherboard/membuf5": { 219*20f38712SPatrick Williams "fru_type": "MEMORY_BUFFER", 220*20f38712SPatrick Williams "is_fru": False, 221*20f38712SPatrick Williams }, 222*20f38712SPatrick Williams "<inventory_root>/system/chassis/motherboard/membuf6": { 223*20f38712SPatrick Williams "fru_type": "MEMORY_BUFFER", 224*20f38712SPatrick Williams "is_fru": False, 225*20f38712SPatrick Williams }, 226*20f38712SPatrick Williams "<inventory_root>/system/chassis/motherboard/membuf7": { 227*20f38712SPatrick Williams "fru_type": "MEMORY_BUFFER", 228*20f38712SPatrick Williams "is_fru": False, 229*20f38712SPatrick Williams }, 230*20f38712SPatrick Williams "<inventory_root>/system/chassis/motherboard/dimm0": { 231*20f38712SPatrick Williams "fru_type": "DIMM", 232*20f38712SPatrick Williams "is_fru": True, 233*20f38712SPatrick Williams }, 234*20f38712SPatrick Williams "<inventory_root>/system/chassis/motherboard/dimm1": { 235*20f38712SPatrick Williams "fru_type": "DIMM", 236*20f38712SPatrick Williams "is_fru": True, 237*20f38712SPatrick Williams }, 238*20f38712SPatrick Williams "<inventory_root>/system/chassis/motherboard/dimm2": { 239*20f38712SPatrick Williams "fru_type": "DIMM", 240*20f38712SPatrick Williams "is_fru": True, 241*20f38712SPatrick Williams }, 242*20f38712SPatrick Williams "<inventory_root>/system/chassis/motherboard/dimm3": { 243*20f38712SPatrick Williams "fru_type": "DIMM", 244*20f38712SPatrick Williams "is_fru": True, 245*20f38712SPatrick Williams }, 246*20f38712SPatrick Williams "<inventory_root>/system/chassis/motherboard/dimm4": { 247*20f38712SPatrick Williams "fru_type": "DIMM", 248*20f38712SPatrick Williams "is_fru": True, 249*20f38712SPatrick Williams }, 250*20f38712SPatrick Williams "<inventory_root>/system/chassis/motherboard/dimm5": { 251*20f38712SPatrick Williams "fru_type": "DIMM", 252*20f38712SPatrick Williams "is_fru": True, 253*20f38712SPatrick Williams }, 254*20f38712SPatrick Williams "<inventory_root>/system/chassis/motherboard/dimm6": { 255*20f38712SPatrick Williams "fru_type": "DIMM", 256*20f38712SPatrick Williams "is_fru": True, 257*20f38712SPatrick Williams }, 258*20f38712SPatrick Williams "<inventory_root>/system/chassis/motherboard/dimm7": { 259*20f38712SPatrick Williams "fru_type": "DIMM", 260*20f38712SPatrick Williams "is_fru": True, 261*20f38712SPatrick Williams }, 262*20f38712SPatrick Williams "<inventory_root>/system/chassis/motherboard/dimm8": { 263*20f38712SPatrick Williams "fru_type": "DIMM", 264*20f38712SPatrick Williams "is_fru": True, 265*20f38712SPatrick Williams }, 266*20f38712SPatrick Williams "<inventory_root>/system/chassis/motherboard/dimm9": { 267*20f38712SPatrick Williams "fru_type": "DIMM", 268*20f38712SPatrick Williams "is_fru": True, 269*20f38712SPatrick Williams }, 270*20f38712SPatrick Williams "<inventory_root>/system/chassis/motherboard/dimm10": { 271*20f38712SPatrick Williams "fru_type": "DIMM", 272*20f38712SPatrick Williams "is_fru": True, 273*20f38712SPatrick Williams }, 274*20f38712SPatrick Williams "<inventory_root>/system/chassis/motherboard/dimm11": { 275*20f38712SPatrick Williams "fru_type": "DIMM", 276*20f38712SPatrick Williams "is_fru": True, 277*20f38712SPatrick Williams }, 278*20f38712SPatrick Williams "<inventory_root>/system/chassis/motherboard/dimm12": { 279*20f38712SPatrick Williams "fru_type": "DIMM", 280*20f38712SPatrick Williams "is_fru": True, 281*20f38712SPatrick Williams }, 282*20f38712SPatrick Williams "<inventory_root>/system/chassis/motherboard/dimm13": { 283*20f38712SPatrick Williams "fru_type": "DIMM", 284*20f38712SPatrick Williams "is_fru": True, 285*20f38712SPatrick Williams }, 286*20f38712SPatrick Williams "<inventory_root>/system/chassis/motherboard/dimm14": { 287*20f38712SPatrick Williams "fru_type": "DIMM", 288*20f38712SPatrick Williams "is_fru": True, 289*20f38712SPatrick Williams }, 290*20f38712SPatrick Williams "<inventory_root>/system/chassis/motherboard/dimm15": { 291*20f38712SPatrick Williams "fru_type": "DIMM", 292*20f38712SPatrick Williams "is_fru": True, 293*20f38712SPatrick Williams }, 294*20f38712SPatrick Williams "<inventory_root>/system/chassis/motherboard/dimm16": { 295*20f38712SPatrick Williams "fru_type": "DIMM", 296*20f38712SPatrick Williams "is_fru": True, 297*20f38712SPatrick Williams }, 298*20f38712SPatrick Williams "<inventory_root>/system/chassis/motherboard/dimm17": { 299*20f38712SPatrick Williams "fru_type": "DIMM", 300*20f38712SPatrick Williams "is_fru": True, 301*20f38712SPatrick Williams }, 302*20f38712SPatrick Williams "<inventory_root>/system/chassis/motherboard/dimm18": { 303*20f38712SPatrick Williams "fru_type": "DIMM", 304*20f38712SPatrick Williams "is_fru": True, 305*20f38712SPatrick Williams }, 306*20f38712SPatrick Williams "<inventory_root>/system/chassis/motherboard/dimm19": { 307*20f38712SPatrick Williams "fru_type": "DIMM", 308*20f38712SPatrick Williams "is_fru": True, 309*20f38712SPatrick Williams }, 310*20f38712SPatrick Williams "<inventory_root>/system/chassis/motherboard/dimm20": { 311*20f38712SPatrick Williams "fru_type": "DIMM", 312*20f38712SPatrick Williams "is_fru": True, 313*20f38712SPatrick Williams }, 314*20f38712SPatrick Williams "<inventory_root>/system/chassis/motherboard/dimm21": { 315*20f38712SPatrick Williams "fru_type": "DIMM", 316*20f38712SPatrick Williams "is_fru": True, 317*20f38712SPatrick Williams }, 318*20f38712SPatrick Williams "<inventory_root>/system/chassis/motherboard/dimm22": { 319*20f38712SPatrick Williams "fru_type": "DIMM", 320*20f38712SPatrick Williams "is_fru": True, 321*20f38712SPatrick Williams }, 322*20f38712SPatrick Williams "<inventory_root>/system/chassis/motherboard/dimm23": { 323*20f38712SPatrick Williams "fru_type": "DIMM", 324*20f38712SPatrick Williams "is_fru": True, 325*20f38712SPatrick Williams }, 326*20f38712SPatrick Williams "<inventory_root>/system/chassis/motherboard/dimm24": { 327*20f38712SPatrick Williams "fru_type": "DIMM", 328*20f38712SPatrick Williams "is_fru": True, 329*20f38712SPatrick Williams }, 330*20f38712SPatrick Williams "<inventory_root>/system/chassis/motherboard/dimm25": { 331*20f38712SPatrick Williams "fru_type": "DIMM", 332*20f38712SPatrick Williams "is_fru": True, 333*20f38712SPatrick Williams }, 334*20f38712SPatrick Williams "<inventory_root>/system/chassis/motherboard/dimm26": { 335*20f38712SPatrick Williams "fru_type": "DIMM", 336*20f38712SPatrick Williams "is_fru": True, 337*20f38712SPatrick Williams }, 338*20f38712SPatrick Williams "<inventory_root>/system/chassis/motherboard/dimm27": { 339*20f38712SPatrick Williams "fru_type": "DIMM", 340*20f38712SPatrick Williams "is_fru": True, 341*20f38712SPatrick Williams }, 342*20f38712SPatrick Williams "<inventory_root>/system/chassis/motherboard/dimm28": { 343*20f38712SPatrick Williams "fru_type": "DIMM", 344*20f38712SPatrick Williams "is_fru": True, 345*20f38712SPatrick Williams }, 346*20f38712SPatrick Williams "<inventory_root>/system/chassis/motherboard/dimm29": { 347*20f38712SPatrick Williams "fru_type": "DIMM", 348*20f38712SPatrick Williams "is_fru": True, 349*20f38712SPatrick Williams }, 350*20f38712SPatrick Williams "<inventory_root>/system/chassis/motherboard/dimm30": { 351*20f38712SPatrick Williams "fru_type": "DIMM", 352*20f38712SPatrick Williams "is_fru": True, 353*20f38712SPatrick Williams }, 354*20f38712SPatrick Williams "<inventory_root>/system/chassis/motherboard/dimm31": { 355*20f38712SPatrick Williams "fru_type": "DIMM", 356*20f38712SPatrick Williams "is_fru": True, 357*20f38712SPatrick Williams }, 3583bd8cf2eSGeorge Keishing} 3593bd8cf2eSGeorge Keishing 3603bd8cf2eSGeorge KeishingID_LOOKUP = { 361*20f38712SPatrick Williams "FRU": { 362*20f38712SPatrick Williams 0x01: "<inventory_root>/system/chassis/motherboard/cpu0", 363*20f38712SPatrick Williams 0x02: "<inventory_root>/system/chassis/motherboard/cpu1", 364*20f38712SPatrick Williams 0x03: "<inventory_root>/system/chassis/motherboard", 365*20f38712SPatrick Williams 0x04: "<inventory_root>/system/chassis/motherboard/membuf0", 366*20f38712SPatrick Williams 0x05: "<inventory_root>/system/chassis/motherboard/membuf1", 367*20f38712SPatrick Williams 0x06: "<inventory_root>/system/chassis/motherboard/membuf2", 368*20f38712SPatrick Williams 0x07: "<inventory_root>/system/chassis/motherboard/membuf3", 369*20f38712SPatrick Williams 0x08: "<inventory_root>/system/chassis/motherboard/membuf4", 370*20f38712SPatrick Williams 0x09: "<inventory_root>/system/chassis/motherboard/membuf5", 371*20f38712SPatrick Williams 0x0C: "<inventory_root>/system/chassis/motherboard/dimm0", 372*20f38712SPatrick Williams 0x0D: "<inventory_root>/system/chassis/motherboard/dimm1", 373*20f38712SPatrick Williams 0x0E: "<inventory_root>/system/chassis/motherboard/dimm2", 374*20f38712SPatrick Williams 0x0F: "<inventory_root>/system/chassis/motherboard/dimm3", 375*20f38712SPatrick Williams 0x10: "<inventory_root>/system/chassis/motherboard/dimm4", 376*20f38712SPatrick Williams 0x11: "<inventory_root>/system/chassis/motherboard/dimm5", 377*20f38712SPatrick Williams 0x12: "<inventory_root>/system/chassis/motherboard/dimm6", 378*20f38712SPatrick Williams 0x13: "<inventory_root>/system/chassis/motherboard/dimm7", 379*20f38712SPatrick Williams 0x14: "<inventory_root>/system/chassis/motherboard/dimm8", 380*20f38712SPatrick Williams 0x15: "<inventory_root>/system/chassis/motherboard/dimm9", 381*20f38712SPatrick Williams 0x16: "<inventory_root>/system/chassis/motherboard/dimm10", 382*20f38712SPatrick Williams 0x17: "<inventory_root>/system/chassis/motherboard/dimm11", 383*20f38712SPatrick Williams 0x18: "<inventory_root>/system/chassis/motherboard/dimm12", 384*20f38712SPatrick Williams 0x19: "<inventory_root>/system/chassis/motherboard/dimm13", 385*20f38712SPatrick Williams 0x1A: "<inventory_root>/system/chassis/motherboard/dimm14", 386*20f38712SPatrick Williams 0x1B: "<inventory_root>/system/chassis/motherboard/dimm15", 387*20f38712SPatrick Williams 0x1C: "<inventory_root>/system/chassis/motherboard/dimm16", 388*20f38712SPatrick Williams 0x1D: "<inventory_root>/system/chassis/motherboard/dimm17", 389*20f38712SPatrick Williams 0x1E: "<inventory_root>/system/chassis/motherboard/dimm18", 390*20f38712SPatrick Williams 0x1F: "<inventory_root>/system/chassis/motherboard/dimm19", 391*20f38712SPatrick Williams 0x20: "<inventory_root>/system/chassis/motherboard/dimm20", 392*20f38712SPatrick Williams 0x21: "<inventory_root>/system/chassis/motherboard/dimm21", 393*20f38712SPatrick Williams 0x22: "<inventory_root>/system/chassis/motherboard/dimm22", 394*20f38712SPatrick Williams 0x23: "<inventory_root>/system/chassis/motherboard/dimm23", 395*20f38712SPatrick Williams 0x24: "<inventory_root>/system/chassis/motherboard/dimm24", 396*20f38712SPatrick Williams 0x25: "<inventory_root>/system/chassis/motherboard/dimm25", 397*20f38712SPatrick Williams 0x26: "<inventory_root>/system/chassis/motherboard/dimm26", 398*20f38712SPatrick Williams 0x27: "<inventory_root>/system/chassis/motherboard/dimm27", 399*20f38712SPatrick Williams 0x28: "<inventory_root>/system/chassis/motherboard/dimm28", 400*20f38712SPatrick Williams 0x29: "<inventory_root>/system/chassis/motherboard/dimm29", 401*20f38712SPatrick Williams 0x2A: "<inventory_root>/system/chassis/motherboard/dimm30", 402*20f38712SPatrick Williams 0x2B: "<inventory_root>/system/chassis/motherboard/dimm31", 4033bd8cf2eSGeorge Keishing }, 404*20f38712SPatrick Williams "FRU_STR": { 405*20f38712SPatrick Williams "PRODUCT_0": "<inventory_root>/system/bios", 406*20f38712SPatrick Williams "BOARD_1": "<inventory_root>/system/chassis/motherboard/cpu0", 407*20f38712SPatrick Williams "BOARD_2": "<inventory_root>/system/chassis/motherboard/cpu1", 408*20f38712SPatrick Williams "CHASSIS_3": "<inventory_root>/system/chassis/motherboard", 409*20f38712SPatrick Williams "BOARD_3": "<inventory_root>/system/misc", 410*20f38712SPatrick Williams "BOARD_4": "<inventory_root>/system/chassis/motherboard/membuf0", 411*20f38712SPatrick Williams "BOARD_5": "<inventory_root>/system/chassis/motherboard/membuf1", 412*20f38712SPatrick Williams "BOARD_6": "<inventory_root>/system/chassis/motherboard/membuf2", 413*20f38712SPatrick Williams "BOARD_7": "<inventory_root>/system/chassis/motherboard/membuf3", 414*20f38712SPatrick Williams "BOARD_8": "<inventory_root>/system/chassis/motherboard/membuf4", 415*20f38712SPatrick Williams "BOARD_9": "<inventory_root>/system/chassis/motherboard/membuf5", 416*20f38712SPatrick Williams "BOARD_10": "<inventory_root>/system/chassis/motherboard/membuf6", 417*20f38712SPatrick Williams "BOARD_11": "<inventory_root>/system/chassis/motherboard/membuf7", 418*20f38712SPatrick Williams "PRODUCT_12": "<inventory_root>/system/chassis/motherboard/dimm0", 419*20f38712SPatrick Williams "PRODUCT_13": "<inventory_root>/system/chassis/motherboard/dimm1", 420*20f38712SPatrick Williams "PRODUCT_14": "<inventory_root>/system/chassis/motherboard/dimm2", 421*20f38712SPatrick Williams "PRODUCT_15": "<inventory_root>/system/chassis/motherboard/dimm3", 422*20f38712SPatrick Williams "PRODUCT_16": "<inventory_root>/system/chassis/motherboard/dimm4", 423*20f38712SPatrick Williams "PRODUCT_17": "<inventory_root>/system/chassis/motherboard/dimm5", 424*20f38712SPatrick Williams "PRODUCT_18": "<inventory_root>/system/chassis/motherboard/dimm6", 425*20f38712SPatrick Williams "PRODUCT_19": "<inventory_root>/system/chassis/motherboard/dimm7", 426*20f38712SPatrick Williams "PRODUCT_20": "<inventory_root>/system/chassis/motherboard/dimm8", 427*20f38712SPatrick Williams "PRODUCT_21": "<inventory_root>/system/chassis/motherboard/dimm9", 428*20f38712SPatrick Williams "PRODUCT_22": "<inventory_root>/system/chassis/motherboard/dimm10", 429*20f38712SPatrick Williams "PRODUCT_23": "<inventory_root>/system/chassis/motherboard/dimm11", 430*20f38712SPatrick Williams "PRODUCT_24": "<inventory_root>/system/chassis/motherboard/dimm12", 431*20f38712SPatrick Williams "PRODUCT_25": "<inventory_root>/system/chassis/motherboard/dimm13", 432*20f38712SPatrick Williams "PRODUCT_26": "<inventory_root>/system/chassis/motherboard/dimm14", 433*20f38712SPatrick Williams "PRODUCT_27": "<inventory_root>/system/chassis/motherboard/dimm15", 434*20f38712SPatrick Williams "PRODUCT_28": "<inventory_root>/system/chassis/motherboard/dimm16", 435*20f38712SPatrick Williams "PRODUCT_29": "<inventory_root>/system/chassis/motherboard/dimm17", 436*20f38712SPatrick Williams "PRODUCT_30": "<inventory_root>/system/chassis/motherboard/dimm18", 437*20f38712SPatrick Williams "PRODUCT_31": "<inventory_root>/system/chassis/motherboard/dimm19", 438*20f38712SPatrick Williams "PRODUCT_32": "<inventory_root>/system/chassis/motherboard/dimm20", 439*20f38712SPatrick Williams "PRODUCT_33": "<inventory_root>/system/chassis/motherboard/dimm21", 440*20f38712SPatrick Williams "PRODUCT_34": "<inventory_root>/system/chassis/motherboard/dimm22", 441*20f38712SPatrick Williams "PRODUCT_35": "<inventory_root>/system/chassis/motherboard/dimm23", 442*20f38712SPatrick Williams "PRODUCT_36": "<inventory_root>/system/chassis/motherboard/dimm24", 443*20f38712SPatrick Williams "PRODUCT_37": "<inventory_root>/system/chassis/motherboard/dimm25", 444*20f38712SPatrick Williams "PRODUCT_38": "<inventory_root>/system/chassis/motherboard/dimm26", 445*20f38712SPatrick Williams "PRODUCT_39": "<inventory_root>/system/chassis/motherboard/dimm27", 446*20f38712SPatrick Williams "PRODUCT_40": "<inventory_root>/system/chassis/motherboard/dimm28", 447*20f38712SPatrick Williams "PRODUCT_41": "<inventory_root>/system/chassis/motherboard/dimm29", 448*20f38712SPatrick Williams "PRODUCT_42": "<inventory_root>/system/chassis/motherboard/dimm30", 449*20f38712SPatrick Williams "PRODUCT_43": "<inventory_root>/system/chassis/motherboard/dimm31", 450*20f38712SPatrick Williams "PRODUCT_47": "<inventory_root>/system/misc", 4513bd8cf2eSGeorge Keishing }, 452*20f38712SPatrick Williams "SENSOR": { 453*20f38712SPatrick Williams 0x02: "/org/openbmc/sensors/host/HostStatus", 454*20f38712SPatrick Williams 0x03: "/org/openbmc/sensors/host/BootProgress", 455*20f38712SPatrick Williams 0x5A: "<inventory_root>/system/chassis/motherboard/cpu0", 456*20f38712SPatrick Williams 0xA4: "<inventory_root>/system/chassis/motherboard/cpu1", 457*20f38712SPatrick Williams 0x1E: "<inventory_root>/system/chassis/motherboard/dimm3", 458*20f38712SPatrick Williams 0x1F: "<inventory_root>/system/chassis/motherboard/dimm2", 459*20f38712SPatrick Williams 0x20: "<inventory_root>/system/chassis/motherboard/dimm1", 460*20f38712SPatrick Williams 0x21: "<inventory_root>/system/chassis/motherboard/dimm0", 461*20f38712SPatrick Williams 0x22: "<inventory_root>/system/chassis/motherboard/dimm7", 462*20f38712SPatrick Williams 0x23: "<inventory_root>/system/chassis/motherboard/dimm6", 463*20f38712SPatrick Williams 0x24: "<inventory_root>/system/chassis/motherboard/dimm5", 464*20f38712SPatrick Williams 0x25: "<inventory_root>/system/chassis/motherboard/dimm4", 465*20f38712SPatrick Williams 0x26: "<inventory_root>/system/chassis/motherboard/dimm11", 466*20f38712SPatrick Williams 0x27: "<inventory_root>/system/chassis/motherboard/dimm10", 467*20f38712SPatrick Williams 0x28: "<inventory_root>/system/chassis/motherboard/dimm9", 468*20f38712SPatrick Williams 0x29: "<inventory_root>/system/chassis/motherboard/dimm8", 469*20f38712SPatrick Williams 0x2A: "<inventory_root>/system/chassis/motherboard/dimm15", 470*20f38712SPatrick Williams 0x2B: "<inventory_root>/system/chassis/motherboard/dimm14", 471*20f38712SPatrick Williams 0x2C: "<inventory_root>/system/chassis/motherboard/dimm13", 472*20f38712SPatrick Williams 0x2D: "<inventory_root>/system/chassis/motherboard/dimm12", 473*20f38712SPatrick Williams 0x2E: "<inventory_root>/system/chassis/motherboard/dimm19", 474*20f38712SPatrick Williams 0x2F: "<inventory_root>/system/chassis/motherboard/dimm18", 475*20f38712SPatrick Williams 0x30: "<inventory_root>/system/chassis/motherboard/dimm17", 476*20f38712SPatrick Williams 0x31: "<inventory_root>/system/chassis/motherboard/dimm16", 477*20f38712SPatrick Williams 0x32: "<inventory_root>/system/chassis/motherboard/dimm23", 478*20f38712SPatrick Williams 0x33: "<inventory_root>/system/chassis/motherboard/dimm22", 479*20f38712SPatrick Williams 0x34: "<inventory_root>/system/chassis/motherboard/dimm21", 480*20f38712SPatrick Williams 0x35: "<inventory_root>/system/chassis/motherboard/dimm20", 481*20f38712SPatrick Williams 0x36: "<inventory_root>/system/chassis/motherboard/dimm27", 482*20f38712SPatrick Williams 0x37: "<inventory_root>/system/chassis/motherboard/dimm26", 483*20f38712SPatrick Williams 0x38: "<inventory_root>/system/chassis/motherboard/dimm25", 484*20f38712SPatrick Williams 0x39: "<inventory_root>/system/chassis/motherboard/dimm24", 485*20f38712SPatrick Williams 0x3A: "<inventory_root>/system/chassis/motherboard/dimm31", 486*20f38712SPatrick Williams 0x3B: "<inventory_root>/system/chassis/motherboard/dimm30", 487*20f38712SPatrick Williams 0x3C: "<inventory_root>/system/chassis/motherboard/dimm29", 488*20f38712SPatrick Williams 0x3D: "<inventory_root>/system/chassis/motherboard/dimm28", 489*20f38712SPatrick Williams 0x3E: "<inventory_root>/system/chassis/motherboard/cpu0/core0", 490*20f38712SPatrick Williams 0x3F: "<inventory_root>/system/chassis/motherboard/cpu0/core1", 491*20f38712SPatrick Williams 0x40: "<inventory_root>/system/chassis/motherboard/cpu0/core2", 492*20f38712SPatrick Williams 0x41: "<inventory_root>/system/chassis/motherboard/cpu0/core3", 493*20f38712SPatrick Williams 0x42: "<inventory_root>/system/chassis/motherboard/cpu0/core4", 494*20f38712SPatrick Williams 0x43: "<inventory_root>/system/chassis/motherboard/cpu0/core5", 495*20f38712SPatrick Williams 0x44: "<inventory_root>/system/chassis/motherboard/cpu0/core6", 496*20f38712SPatrick Williams 0x45: "<inventory_root>/system/chassis/motherboard/cpu0/core7", 497*20f38712SPatrick Williams 0x46: "<inventory_root>/system/chassis/motherboard/cpu0/core8", 498*20f38712SPatrick Williams 0x47: "<inventory_root>/system/chassis/motherboard/cpu0/core9", 499*20f38712SPatrick Williams 0x48: "<inventory_root>/system/chassis/motherboard/cpu0/core10", 500*20f38712SPatrick Williams 0x49: "<inventory_root>/system/chassis/motherboard/cpu0/core11", 501*20f38712SPatrick Williams 0x4A: "<inventory_root>/system/chassis/motherboard/cpu1/core0", 502*20f38712SPatrick Williams 0x4B: "<inventory_root>/system/chassis/motherboard/cpu1/core1", 503*20f38712SPatrick Williams 0x4C: "<inventory_root>/system/chassis/motherboard/cpu1/core2", 504*20f38712SPatrick Williams 0x4D: "<inventory_root>/system/chassis/motherboard/cpu1/core3", 505*20f38712SPatrick Williams 0x4E: "<inventory_root>/system/chassis/motherboard/cpu1/core4", 506*20f38712SPatrick Williams 0x4F: "<inventory_root>/system/chassis/motherboard/cpu1/core5", 507*20f38712SPatrick Williams 0x50: "<inventory_root>/system/chassis/motherboard/cpu1/core6", 508*20f38712SPatrick Williams 0x51: "<inventory_root>/system/chassis/motherboard/cpu1/core7", 509*20f38712SPatrick Williams 0x52: "<inventory_root>/system/chassis/motherboard/cpu1/core8", 510*20f38712SPatrick Williams 0x53: "<inventory_root>/system/chassis/motherboard/cpu1/core9", 511*20f38712SPatrick Williams 0x54: "<inventory_root>/system/chassis/motherboard/cpu1/core10", 512*20f38712SPatrick Williams 0x55: "<inventory_root>/system/chassis/motherboard/cpu1/core11", 513*20f38712SPatrick Williams 0x56: "<inventory_root>/system/chassis/motherboard/membuf0", 514*20f38712SPatrick Williams 0x57: "<inventory_root>/system/chassis/motherboard/membuf1", 515*20f38712SPatrick Williams 0x58: "<inventory_root>/system/chassis/motherboard/membuf2", 516*20f38712SPatrick Williams 0x59: "<inventory_root>/system/chassis/motherboard/membuf3", 517*20f38712SPatrick Williams 0x5A: "<inventory_root>/system/chassis/motherboard/membuf4", 518*20f38712SPatrick Williams 0x5B: "<inventory_root>/system/chassis/motherboard/membuf5", 519*20f38712SPatrick Williams 0x5C: "<inventory_root>/system/chassis/motherboard/membuf6", 520*20f38712SPatrick Williams 0x5D: "<inventory_root>/system/chassis/motherboard/membuf7", 521*20f38712SPatrick Williams 0x07: "/org/openbmc/sensors/host/BootCount", 522*20f38712SPatrick Williams 0x0C: "<inventory_root>/system/chassis/motherboard", 523*20f38712SPatrick Williams 0x01: "<inventory_root>/system/systemevent", 524*20f38712SPatrick Williams 0x08: "<inventory_root>/system/powerlimit", 525*20f38712SPatrick Williams 0x0D: "<inventory_root>/system/chassis/motherboard/refclock", 526*20f38712SPatrick Williams 0x0E: "<inventory_root>/system/chassis/motherboard/pcieclock", 527*20f38712SPatrick Williams 0x0F: "<inventory_root>/system/chassis/motherboard/todclock", 528*20f38712SPatrick Williams 0x10: "<inventory_root>/system/chassis/motherboard/apss", 529*20f38712SPatrick Williams 0x02: "/org/openbmc/sensors/host/OperatingSystemStatus", 530*20f38712SPatrick Williams 0x04: "<inventory_root>/system/chassis/motherboard/pcielink", 531*20f38712SPatrick Williams 0x0B: "/xyz/openbmc_project/sensors/chassis/PowerSupplyRedundancy", 532*20f38712SPatrick Williams 0xDA: "/org/openbmc/sensors/host/TurboAllowed", 533*20f38712SPatrick Williams 0xD8: "/org/openbmc/sensors/host/PowerSupplyDerating", 5343bd8cf2eSGeorge Keishing }, 535*20f38712SPatrick Williams "GPIO_PRESENT": {}, 5363bd8cf2eSGeorge Keishing} 5373bd8cf2eSGeorge Keishing 5383bd8cf2eSGeorge KeishingGPIO_CONFIG = {} 539*20f38712SPatrick WilliamsGPIO_CONFIG["BMC_POWER_UP"] = {"gpio_pin": "D1", "direction": "out"} 540*20f38712SPatrick WilliamsGPIO_CONFIG["SOFTWARE_PGOOD"] = {"gpio_pin": "R1", "direction": "out"} 541*20f38712SPatrick WilliamsGPIO_CONFIG["SYS_PWROK_BUFF"] = {"gpio_pin": "D2", "direction": "in"} 542301e7acdSGeorge Keishing 543301e7acdSGeorge Keishing# PV_CP_MD_JTAG_ATTENTION_N 544*20f38712SPatrick WilliamsGPIO_CONFIG["CHECKSTOP"] = {"gpio_pin": "J2", "direction": "falling"} 5453bd8cf2eSGeorge Keishing 546*20f38712SPatrick WilliamsGPIO_CONFIG["BMC_CP0_RESET_N"] = {"gpio_pin": "A1", "direction": "out"} 547301e7acdSGeorge Keishing# pcie switch reset 548*20f38712SPatrick WilliamsGPIO_CONFIG["BMC_VS1_PERST_N"] = {"gpio_pin": "B7", "direction": "out"} 549301e7acdSGeorge Keishing# pcie slots reset - not connected? 550*20f38712SPatrick WilliamsGPIO_CONFIG["BMC_CP0_PERST_ENABLE_R"] = {"gpio_pin": "A3", "direction": "out"} 5513bd8cf2eSGeorge Keishing 552301e7acdSGeorge Keishing# SOFT_FSI_DAT 553*20f38712SPatrick WilliamsGPIO_CONFIG["FSI_DATA"] = {"gpio_pin": "E0", "direction": "out"} 554301e7acdSGeorge Keishing# SOFT_FSI_CLK 555*20f38712SPatrick WilliamsGPIO_CONFIG["FSI_CLK"] = {"gpio_pin": "AA0", "direction": "out"} 556301e7acdSGeorge Keishing# BMC_FSI_IN_ENA 557*20f38712SPatrick WilliamsGPIO_CONFIG["FSI_ENABLE"] = {"gpio_pin": "D0", "direction": "out"} 558301e7acdSGeorge Keishing# FSI_JMFG0_PRSNT_N 559*20f38712SPatrick WilliamsGPIO_CONFIG["CRONUS_SEL"] = {"gpio_pin": "A6", "direction": "out"} 5603bd8cf2eSGeorge Keishing 561301e7acdSGeorge Keishing# FP_PWR_BTN_N 562*20f38712SPatrick WilliamsGPIO_CONFIG["POWER_BUTTON"] = {"gpio_pin": "I3", "direction": "both"} 563301e7acdSGeorge Keishing# BMC_NMIBTN_IN_N 564*20f38712SPatrick WilliamsGPIO_CONFIG["RESET_BUTTON"] = {"gpio_pin": "J1", "direction": "both"} 5653bd8cf2eSGeorge Keishing 566301e7acdSGeorge Keishing# FP_ID_BTN_N 567*20f38712SPatrick WilliamsGPIO_CONFIG["IDBTN"] = {"gpio_pin": "Q7", "direction": "out"} 5683bd8cf2eSGeorge Keishing 569301e7acdSGeorge KeishingGPIO_CONFIGS = { 570*20f38712SPatrick Williams "power_config": { 571*20f38712SPatrick Williams "power_good_in": "SYS_PWROK_BUFF", 572*20f38712SPatrick Williams "power_up_outs": [ 573*20f38712SPatrick Williams ("SOFTWARE_PGOOD", True), 574*20f38712SPatrick Williams ("BMC_POWER_UP", True), 575301e7acdSGeorge Keishing ], 576*20f38712SPatrick Williams "reset_outs": [ 577*20f38712SPatrick Williams ("BMC_CP0_RESET_N", False), 578301e7acdSGeorge Keishing ], 5793bd8cf2eSGeorge Keishing }, 580*20f38712SPatrick Williams "hostctl_config": { 581*20f38712SPatrick Williams "fsi_data": "FSI_DATA", 582*20f38712SPatrick Williams "fsi_clk": "FSI_CLK", 583*20f38712SPatrick Williams "fsi_enable": "FSI_ENABLE", 584*20f38712SPatrick Williams "cronus_sel": "CRONUS_SEL", 585*20f38712SPatrick Williams "optionals": [], 5863bd8cf2eSGeorge Keishing }, 5873bd8cf2eSGeorge Keishing} 5883bd8cf2eSGeorge Keishing 589301e7acdSGeorge Keishing 5903bd8cf2eSGeorge Keishing# Miscellaneous non-poll sensor with system specific properties. 5913bd8cf2eSGeorge Keishing# The sensor id is the same as those defined in ID_LOOKUP['SENSOR']. 5923bd8cf2eSGeorge KeishingMISC_SENSORS = { 593*20f38712SPatrick Williams 0x07: {"class": "BootCountSensor"}, 594*20f38712SPatrick Williams 0x03: {"class": "BootProgressSensor"}, 595*20f38712SPatrick Williams 0x02: {"class": "OperatingSystemStatusSensor"}, 596301e7acdSGeorge Keishing # Garrison value is used, Not in P9 XML yet. 597*20f38712SPatrick Williams 0x0B: {"class": "PowerSupplyRedundancySensor"}, 598*20f38712SPatrick Williams 0xDA: {"class": "TurboAllowedSensor"}, 599*20f38712SPatrick Williams 0xD8: {"class": "PowerSupplyDeratingSensor"}, 6003bd8cf2eSGeorge Keishing} 601301e7acdSGeorge Keishing 602301e7acdSGeorge Keishing# vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4 603