140a360c2SBrad Bishop#! /usr/bin/python 240a360c2SBrad Bishop 340a360c2SBrad BishopHOME_PATH = './' 440a360c2SBrad BishopCACHE_PATH = '/var/cache/obmc/' 540a360c2SBrad BishopFLASH_DOWNLOAD_PATH = "/tmp" 640a360c2SBrad BishopGPIO_BASE = 320 740a360c2SBrad BishopSYSTEM_NAME = "Garrison" 840a360c2SBrad Bishop 940a360c2SBrad Bishop 1040a360c2SBrad Bishop## System states 1140a360c2SBrad Bishop## state can change to next state in 2 ways: 1240a360c2SBrad Bishop## - a process emits a GotoSystemState signal with state name to goto 1340a360c2SBrad Bishop## - objects specified in EXIT_STATE_DEPEND have started 1440a360c2SBrad BishopSYSTEM_STATES = [ 1540a360c2SBrad Bishop 'BASE_APPS', 1640a360c2SBrad Bishop 'BMC_STARTING', 1740a360c2SBrad Bishop 'BMC_READY', 1840a360c2SBrad Bishop 'HOST_POWERING_ON', 1940a360c2SBrad Bishop 'HOST_POWERED_ON', 2040a360c2SBrad Bishop 'HOST_BOOTING', 2140a360c2SBrad Bishop 'HOST_BOOTED', 2240a360c2SBrad Bishop 'HOST_POWERED_OFF', 2340a360c2SBrad Bishop] 2440a360c2SBrad Bishop 2540a360c2SBrad BishopEXIT_STATE_DEPEND = { 2640a360c2SBrad Bishop 'BASE_APPS' : { 2740a360c2SBrad Bishop '/org/openbmc/sensors': 0, 2840a360c2SBrad Bishop }, 2940a360c2SBrad Bishop 'BMC_STARTING' : { 3040a360c2SBrad Bishop '/org/openbmc/control/chassis0': 0, 3140a360c2SBrad Bishop '/org/openbmc/control/power0' : 0, 3240a360c2SBrad Bishop '/org/openbmc/control/host0' : 0, 3340a360c2SBrad Bishop '/org/openbmc/control/flash/bios' : 0, 3440a360c2SBrad Bishop }, 3540a360c2SBrad Bishop} 3640a360c2SBrad Bishop 3740a360c2SBrad Bishop## method will be called when state is entered 3840a360c2SBrad BishopENTER_STATE_CALLBACK = { 3940a360c2SBrad Bishop 'HOST_POWERED_ON' : { 4040a360c2SBrad Bishop 'boot' : { 4140a360c2SBrad Bishop 'bus_name' : 'org.openbmc.control.Host', 4240a360c2SBrad Bishop 'obj_name' : '/org/openbmc/control/host0', 4340a360c2SBrad Bishop 'interface_name' : 'org.openbmc.control.Host', 4440a360c2SBrad Bishop }, 4540a360c2SBrad Bishop }, 4640a360c2SBrad Bishop 'HOST_POWERED_OFF' : { 4740a360c2SBrad Bishop 'setOff' : { 4840a360c2SBrad Bishop 'bus_name' : 'org.openbmc.control.led', 4940a360c2SBrad Bishop 'obj_name' : '/org/openbmc/control/led/identify', 5040a360c2SBrad Bishop 'interface_name' : 'org.openbmc.Led', 5140a360c2SBrad Bishop } 5240a360c2SBrad Bishop }, 5340a360c2SBrad Bishop 'BMC_READY' : { 5440a360c2SBrad Bishop 'setOn' : { 5540a360c2SBrad Bishop 'bus_name' : 'org.openbmc.control.led', 5640a360c2SBrad Bishop 'obj_name' : '/org/openbmc/control/led/beep', 5740a360c2SBrad Bishop 'interface_name' : 'org.openbmc.Led', 5840a360c2SBrad Bishop }, 5940a360c2SBrad Bishop 'init' : { 6040a360c2SBrad Bishop 'bus_name' : 'org.openbmc.control.Flash', 6140a360c2SBrad Bishop 'obj_name' : '/org/openbmc/control/flash/bios', 6240a360c2SBrad Bishop 'interface_name' : 'org.openbmc.Flash', 6340a360c2SBrad Bishop } 6440a360c2SBrad Bishop } 6540a360c2SBrad Bishop} 6640a360c2SBrad Bishop 6740a360c2SBrad BishopAPPS = { 6840a360c2SBrad Bishop 'startup_hacks' : { 6940a360c2SBrad Bishop 'system_state' : 'BASE_APPS', 7040a360c2SBrad Bishop 'start_process' : True, 7140a360c2SBrad Bishop 'monitor_process' : False, 7240a360c2SBrad Bishop 'process_name' : 'startup_hacks.sh', 7340a360c2SBrad Bishop }, 7440a360c2SBrad Bishop 'inventory' : { 7540a360c2SBrad Bishop 'system_state' : 'BMC_STARTING', 7640a360c2SBrad Bishop 'start_process' : True, 7740a360c2SBrad Bishop 'monitor_process' : True, 7840a360c2SBrad Bishop 'process_name' : 'inventory_items.py', 7940a360c2SBrad Bishop 'args' : [ SYSTEM_NAME ] 8040a360c2SBrad Bishop }, 8140a360c2SBrad Bishop 'hwmon' : { 8240a360c2SBrad Bishop 'system_state' : 'BMC_STARTING', 8340a360c2SBrad Bishop 'start_process' : True, 8440a360c2SBrad Bishop 'monitor_process' : True, 8540a360c2SBrad Bishop 'process_name' : 'hwmon.py', 8640a360c2SBrad Bishop 'args' : [ SYSTEM_NAME ] 8740a360c2SBrad Bishop }, 8840a360c2SBrad Bishop 'sensor_manager' : { 8940a360c2SBrad Bishop 'system_state' : 'BASE_APPS', 9040a360c2SBrad Bishop 'start_process' : True, 9140a360c2SBrad Bishop 'monitor_process' : True, 9240a360c2SBrad Bishop 'process_name' : 'sensor_manager2.py', 9340a360c2SBrad Bishop 'args' : [ SYSTEM_NAME ] 9440a360c2SBrad Bishop }, 9540a360c2SBrad Bishop 'host_watchdog' : { 9640a360c2SBrad Bishop 'system_state' : 'BMC_STARTING', 9740a360c2SBrad Bishop 'start_process' : True, 9840a360c2SBrad Bishop 'monitor_process' : True, 9940a360c2SBrad Bishop 'process_name' : 'host_watchdog.exe', 10040a360c2SBrad Bishop }, 10140a360c2SBrad Bishop 'power_control' : { 10240a360c2SBrad Bishop 'system_state' : 'BMC_STARTING', 10340a360c2SBrad Bishop 'start_process' : True, 10440a360c2SBrad Bishop 'monitor_process' : True, 10540a360c2SBrad Bishop 'process_name' : 'power_control.exe', 10640a360c2SBrad Bishop 'args' : [ '3000', '10' ] 10740a360c2SBrad Bishop }, 10840a360c2SBrad Bishop 'power_button' : { 10940a360c2SBrad Bishop 'system_state' : 'BMC_STARTING', 11040a360c2SBrad Bishop 'start_process' : True, 11140a360c2SBrad Bishop 'monitor_process' : True, 11240a360c2SBrad Bishop 'process_name' : 'button_power.exe', 11340a360c2SBrad Bishop }, 11440a360c2SBrad Bishop 'reset_button' : { 11540a360c2SBrad Bishop 'system_state' : 'BMC_STARTING', 11640a360c2SBrad Bishop 'start_process' : True, 11740a360c2SBrad Bishop 'monitor_process' : True, 11840a360c2SBrad Bishop 'process_name' : 'button_reset.exe', 11940a360c2SBrad Bishop }, 12040a360c2SBrad Bishop 'led_control' : { 12140a360c2SBrad Bishop 'system_state' : 'BMC_STARTING', 12240a360c2SBrad Bishop 'start_process' : True, 12340a360c2SBrad Bishop 'monitor_process' : True, 12440a360c2SBrad Bishop 'process_name' : 'led_controller.exe', 12540a360c2SBrad Bishop }, 12640a360c2SBrad Bishop 'flash_control' : { 12740a360c2SBrad Bishop 'system_state' : 'BMC_STARTING', 12840a360c2SBrad Bishop 'start_process' : True, 12940a360c2SBrad Bishop 'monitor_process' : True, 13040a360c2SBrad Bishop 'process_name' : 'flash_bios.exe', 13140a360c2SBrad Bishop }, 13240a360c2SBrad Bishop 'bmc_flash_control' : { 13340a360c2SBrad Bishop 'system_state' : 'BMC_STARTING', 13440a360c2SBrad Bishop 'start_process' : True, 13540a360c2SBrad Bishop 'monitor_process' : True, 13640a360c2SBrad Bishop 'process_name' : 'bmc_update.py', 13740a360c2SBrad Bishop }, 13840a360c2SBrad Bishop 'download_manager' : { 13940a360c2SBrad Bishop 'system_state' : 'BMC_STARTING', 14040a360c2SBrad Bishop 'start_process' : True, 14140a360c2SBrad Bishop 'monitor_process' : True, 14240a360c2SBrad Bishop 'process_name' : 'download_manager.py', 14340a360c2SBrad Bishop 'args' : [ SYSTEM_NAME ] 14440a360c2SBrad Bishop }, 14540a360c2SBrad Bishop 'host_control' : { 14640a360c2SBrad Bishop 'system_state' : 'BMC_STARTING', 14740a360c2SBrad Bishop 'start_process' : True, 14840a360c2SBrad Bishop 'monitor_process' : True, 14940a360c2SBrad Bishop 'process_name' : 'control_host.exe', 15040a360c2SBrad Bishop }, 15140a360c2SBrad Bishop 'chassis_control' : { 15240a360c2SBrad Bishop 'system_state' : 'BMC_STARTING', 15340a360c2SBrad Bishop 'start_process' : True, 15440a360c2SBrad Bishop 'monitor_process' : True, 15540a360c2SBrad Bishop 'process_name' : 'chassis_control.py', 15640a360c2SBrad Bishop }, 15740a360c2SBrad Bishop 'restore' : { 15840a360c2SBrad Bishop 'system_state' : 'BMC_READY', 15940a360c2SBrad Bishop 'start_process' : True, 16040a360c2SBrad Bishop 'monitor_process' : False, 16140a360c2SBrad Bishop 'process_name' : 'discover_system_state.py', 16240a360c2SBrad Bishop }, 16340a360c2SBrad Bishop 'bmc_control' : { 16440a360c2SBrad Bishop 'system_state' : 'BMC_STARTING', 16540a360c2SBrad Bishop 'start_process' : True, 16640a360c2SBrad Bishop 'monitor_process' : True, 16740a360c2SBrad Bishop 'process_name' : 'control_bmc.exe', 16840a360c2SBrad Bishop }, 16940a360c2SBrad Bishop} 17040a360c2SBrad Bishop 17140a360c2SBrad BishopCACHED_INTERFACES = { 17240a360c2SBrad Bishop "org.openbmc.InventoryItem" : True, 17340a360c2SBrad Bishop "org.openbmc.control.Chassis" : True, 17440a360c2SBrad Bishop} 17540a360c2SBrad Bishop 17640a360c2SBrad BishopINVENTORY_ROOT = '/org/openbmc/inventory' 17740a360c2SBrad Bishop 17840a360c2SBrad BishopFRU_INSTANCES = { 17940a360c2SBrad Bishop '<inventory_root>/system' : { 'fru_type' : 'SYSTEM','is_fru' : True, 'present' : "True" }, 18040a360c2SBrad Bishop '<inventory_root>/system/bios' : { 'fru_type' : 'SYSTEM','is_fru' : True, 'present' : "True" }, 18140a360c2SBrad Bishop '<inventory_root>/system/misc' : { 'fru_type' : 'SYSTEM','is_fru' : False, }, 18240a360c2SBrad Bishop 18340a360c2SBrad Bishop '<inventory_root>/system/chassis' : { 'fru_type' : 'SYSTEM','is_fru' : True, 'present' : "True" }, 18440a360c2SBrad Bishop 18540a360c2SBrad Bishop '<inventory_root>/system/chassis/motherboard' : { 'fru_type' : 'MAIN_PLANAR','is_fru' : True, }, 18640a360c2SBrad Bishop 18740a360c2SBrad Bishop '<inventory_root>/system/systemevent' : { 'fru_type' : 'SYSTEM_EVENT', 'is_fru' : False, }, 18840a360c2SBrad Bishop '<inventory_root>/system/chassis/motherboard/refclock' : { 'fru_type' : 'MAIN_PLANAR', 'is_fru' : False, }, 18940a360c2SBrad Bishop '<inventory_root>/system/chassis/motherboard/pcieclock': { 'fru_type' : 'MAIN_PLANAR', 'is_fru' : False, }, 19040a360c2SBrad Bishop '<inventory_root>/system/chassis/motherboard/todclock' : { 'fru_type' : 'MAIN_PLANAR', 'is_fru' : False, }, 19140a360c2SBrad Bishop '<inventory_root>/system/chassis/motherboard/apss' : { 'fru_type' : 'MAIN_PLANAR', 'is_fru' : False, }, 19240a360c2SBrad Bishop 19340a360c2SBrad Bishop '<inventory_root>/system/chassis/fan0' : { 'fru_type' : 'FAN','is_fru' : True, }, 19440a360c2SBrad Bishop '<inventory_root>/system/chassis/fan1' : { 'fru_type' : 'FAN','is_fru' : True, }, 19540a360c2SBrad Bishop '<inventory_root>/system/chassis/fan2' : { 'fru_type' : 'FAN','is_fru' : True, }, 19640a360c2SBrad Bishop '<inventory_root>/system/chassis/fan3' : { 'fru_type' : 'FAN','is_fru' : True, }, 19740a360c2SBrad Bishop 19840a360c2SBrad Bishop '<inventory_root>/system/chassis/motherboard/bmc' : { 'fru_type' : 'BMC','is_fru' : False, 'manufacturer' : 'ASPEED' }, 19940a360c2SBrad Bishop 20040a360c2SBrad Bishop '<inventory_root>/system/chassis/motherboard/cpu0' : { 'fru_type' : 'CPU', 'is_fru' : True, }, 20140a360c2SBrad Bishop '<inventory_root>/system/chassis/motherboard/cpu1' : { 'fru_type' : 'CPU', 'is_fru' : True, }, 20240a360c2SBrad Bishop 20340a360c2SBrad Bishop '<inventory_root>/system/chassis/motherboard/cpu0/core0' : { 'fru_type' : 'CORE', 'is_fru' : False, }, 20440a360c2SBrad Bishop '<inventory_root>/system/chassis/motherboard/cpu0/core1' : { 'fru_type' : 'CORE', 'is_fru' : False, }, 20540a360c2SBrad Bishop '<inventory_root>/system/chassis/motherboard/cpu0/core2' : { 'fru_type' : 'CORE', 'is_fru' : False, }, 20640a360c2SBrad Bishop '<inventory_root>/system/chassis/motherboard/cpu0/core3' : { 'fru_type' : 'CORE', 'is_fru' : False, }, 20740a360c2SBrad Bishop '<inventory_root>/system/chassis/motherboard/cpu0/core4' : { 'fru_type' : 'CORE', 'is_fru' : False, }, 20840a360c2SBrad Bishop '<inventory_root>/system/chassis/motherboard/cpu0/core5' : { 'fru_type' : 'CORE', 'is_fru' : False, }, 20940a360c2SBrad Bishop '<inventory_root>/system/chassis/motherboard/cpu0/core6' : { 'fru_type' : 'CORE', 'is_fru' : False, }, 21040a360c2SBrad Bishop '<inventory_root>/system/chassis/motherboard/cpu0/core7' : { 'fru_type' : 'CORE', 'is_fru' : False, }, 21140a360c2SBrad Bishop '<inventory_root>/system/chassis/motherboard/cpu0/core8' : { 'fru_type' : 'CORE', 'is_fru' : False, }, 21240a360c2SBrad Bishop '<inventory_root>/system/chassis/motherboard/cpu0/core9' : { 'fru_type' : 'CORE', 'is_fru' : False, }, 21340a360c2SBrad Bishop '<inventory_root>/system/chassis/motherboard/cpu0/core10': { 'fru_type' : 'CORE', 'is_fru' : False, }, 21440a360c2SBrad Bishop '<inventory_root>/system/chassis/motherboard/cpu0/core11': { 'fru_type' : 'CORE', 'is_fru' : False, }, 21540a360c2SBrad Bishop 21640a360c2SBrad Bishop '<inventory_root>/system/chassis/motherboard/cpu1/core0' : { 'fru_type' : 'CORE', 'is_fru' : False, }, 21740a360c2SBrad Bishop '<inventory_root>/system/chassis/motherboard/cpu1/core1' : { 'fru_type' : 'CORE', 'is_fru' : False, }, 21840a360c2SBrad Bishop '<inventory_root>/system/chassis/motherboard/cpu1/core2' : { 'fru_type' : 'CORE', 'is_fru' : False, }, 21940a360c2SBrad Bishop '<inventory_root>/system/chassis/motherboard/cpu1/core3' : { 'fru_type' : 'CORE', 'is_fru' : False, }, 22040a360c2SBrad Bishop '<inventory_root>/system/chassis/motherboard/cpu1/core4' : { 'fru_type' : 'CORE', 'is_fru' : False, }, 22140a360c2SBrad Bishop '<inventory_root>/system/chassis/motherboard/cpu1/core5' : { 'fru_type' : 'CORE', 'is_fru' : False, }, 22240a360c2SBrad Bishop '<inventory_root>/system/chassis/motherboard/cpu1/core6' : { 'fru_type' : 'CORE', 'is_fru' : False, }, 22340a360c2SBrad Bishop '<inventory_root>/system/chassis/motherboard/cpu1/core7' : { 'fru_type' : 'CORE', 'is_fru' : False, }, 22440a360c2SBrad Bishop '<inventory_root>/system/chassis/motherboard/cpu1/core8' : { 'fru_type' : 'CORE', 'is_fru' : False, }, 22540a360c2SBrad Bishop '<inventory_root>/system/chassis/motherboard/cpu1/core9' : { 'fru_type' : 'CORE', 'is_fru' : False, }, 22640a360c2SBrad Bishop '<inventory_root>/system/chassis/motherboard/cpu1/core10' : { 'fru_type' : 'CORE', 'is_fru' : False, }, 22740a360c2SBrad Bishop '<inventory_root>/system/chassis/motherboard/cpu1/core11' : { 'fru_type' : 'CORE', 'is_fru' : False, }, 22840a360c2SBrad Bishop 22940a360c2SBrad Bishop '<inventory_root>/system/chassis/motherboard/membuf0' : { 'fru_type' : 'MEMORY_BUFFER', 'is_fru' : False, }, 23040a360c2SBrad Bishop '<inventory_root>/system/chassis/motherboard/membuf1' : { 'fru_type' : 'MEMORY_BUFFER', 'is_fru' : False, }, 23140a360c2SBrad Bishop '<inventory_root>/system/chassis/motherboard/membuf2' : { 'fru_type' : 'MEMORY_BUFFER', 'is_fru' : False, }, 23240a360c2SBrad Bishop '<inventory_root>/system/chassis/motherboard/membuf3' : { 'fru_type' : 'MEMORY_BUFFER', 'is_fru' : False, }, 23340a360c2SBrad Bishop '<inventory_root>/system/chassis/motherboard/membuf4' : { 'fru_type' : 'MEMORY_BUFFER', 'is_fru' : False, }, 23440a360c2SBrad Bishop '<inventory_root>/system/chassis/motherboard/membuf5' : { 'fru_type' : 'MEMORY_BUFFER', 'is_fru' : False, }, 23540a360c2SBrad Bishop '<inventory_root>/system/chassis/motherboard/membuf6' : { 'fru_type' : 'MEMORY_BUFFER', 'is_fru' : False, }, 23640a360c2SBrad Bishop '<inventory_root>/system/chassis/motherboard/membuf7' : { 'fru_type' : 'MEMORY_BUFFER', 'is_fru' : False, }, 23740a360c2SBrad Bishop 23840a360c2SBrad Bishop '<inventory_root>/system/chassis/motherboard/dimm0' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, 23940a360c2SBrad Bishop '<inventory_root>/system/chassis/motherboard/dimm1' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, 24040a360c2SBrad Bishop '<inventory_root>/system/chassis/motherboard/dimm2' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, 24140a360c2SBrad Bishop '<inventory_root>/system/chassis/motherboard/dimm3' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, 24240a360c2SBrad Bishop '<inventory_root>/system/chassis/motherboard/dimm4' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, 24340a360c2SBrad Bishop '<inventory_root>/system/chassis/motherboard/dimm5' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, 24440a360c2SBrad Bishop '<inventory_root>/system/chassis/motherboard/dimm6' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, 24540a360c2SBrad Bishop '<inventory_root>/system/chassis/motherboard/dimm7' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, 24640a360c2SBrad Bishop '<inventory_root>/system/chassis/motherboard/dimm8' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, 24740a360c2SBrad Bishop '<inventory_root>/system/chassis/motherboard/dimm9' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, 24840a360c2SBrad Bishop '<inventory_root>/system/chassis/motherboard/dimm10' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, 24940a360c2SBrad Bishop '<inventory_root>/system/chassis/motherboard/dimm11' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, 25040a360c2SBrad Bishop '<inventory_root>/system/chassis/motherboard/dimm12' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, 25140a360c2SBrad Bishop '<inventory_root>/system/chassis/motherboard/dimm13' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, 25240a360c2SBrad Bishop '<inventory_root>/system/chassis/motherboard/dimm14' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, 25340a360c2SBrad Bishop '<inventory_root>/system/chassis/motherboard/dimm15' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, 25440a360c2SBrad Bishop '<inventory_root>/system/chassis/motherboard/dimm16' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, 25540a360c2SBrad Bishop '<inventory_root>/system/chassis/motherboard/dimm17' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, 25640a360c2SBrad Bishop '<inventory_root>/system/chassis/motherboard/dimm18' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, 25740a360c2SBrad Bishop '<inventory_root>/system/chassis/motherboard/dimm19' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, 25840a360c2SBrad Bishop '<inventory_root>/system/chassis/motherboard/dimm20' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, 25940a360c2SBrad Bishop '<inventory_root>/system/chassis/motherboard/dimm21' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, 26040a360c2SBrad Bishop '<inventory_root>/system/chassis/motherboard/dimm22' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, 26140a360c2SBrad Bishop '<inventory_root>/system/chassis/motherboard/dimm23' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, 26240a360c2SBrad Bishop '<inventory_root>/system/chassis/motherboard/dimm24' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, 26340a360c2SBrad Bishop '<inventory_root>/system/chassis/motherboard/dimm25' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, 26440a360c2SBrad Bishop '<inventory_root>/system/chassis/motherboard/dimm26' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, 26540a360c2SBrad Bishop '<inventory_root>/system/chassis/motherboard/dimm27' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, 26640a360c2SBrad Bishop '<inventory_root>/system/chassis/motherboard/dimm28' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, 26740a360c2SBrad Bishop '<inventory_root>/system/chassis/motherboard/dimm29' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, 26840a360c2SBrad Bishop '<inventory_root>/system/chassis/motherboard/dimm30' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, 26940a360c2SBrad Bishop '<inventory_root>/system/chassis/motherboard/dimm31' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, 27040a360c2SBrad Bishop} 27140a360c2SBrad Bishop 27240a360c2SBrad BishopID_LOOKUP = { 27340a360c2SBrad Bishop 'FRU' : { 27440a360c2SBrad Bishop 0x01 : '<inventory_root>/system/chassis/motherboard/cpu0', 27540a360c2SBrad Bishop 0x02 : '<inventory_root>/system/chassis/motherboard/cpu1', 27640a360c2SBrad Bishop 0x03 : '<inventory_root>/system/chassis/motherboard', 27740a360c2SBrad Bishop 0x04 : '<inventory_root>/system/chassis/motherboard/membuf0', 27840a360c2SBrad Bishop 0x05 : '<inventory_root>/system/chassis/motherboard/membuf1', 27940a360c2SBrad Bishop 0x06 : '<inventory_root>/system/chassis/motherboard/membuf2', 28040a360c2SBrad Bishop 0x07 : '<inventory_root>/system/chassis/motherboard/membuf3', 28140a360c2SBrad Bishop 0x08 : '<inventory_root>/system/chassis/motherboard/membuf4', 28240a360c2SBrad Bishop 0x09 : '<inventory_root>/system/chassis/motherboard/membuf5', 28340a360c2SBrad Bishop 0x0c : '<inventory_root>/system/chassis/motherboard/dimm0', 28440a360c2SBrad Bishop 0x0d : '<inventory_root>/system/chassis/motherboard/dimm1', 28540a360c2SBrad Bishop 0x0e : '<inventory_root>/system/chassis/motherboard/dimm2', 28640a360c2SBrad Bishop 0x0f : '<inventory_root>/system/chassis/motherboard/dimm3', 28740a360c2SBrad Bishop 0x10 : '<inventory_root>/system/chassis/motherboard/dimm4', 28840a360c2SBrad Bishop 0x11 : '<inventory_root>/system/chassis/motherboard/dimm5', 28940a360c2SBrad Bishop 0x12 : '<inventory_root>/system/chassis/motherboard/dimm6', 29040a360c2SBrad Bishop 0x13 : '<inventory_root>/system/chassis/motherboard/dimm7', 29140a360c2SBrad Bishop 0x14 : '<inventory_root>/system/chassis/motherboard/dimm8', 29240a360c2SBrad Bishop 0x15 : '<inventory_root>/system/chassis/motherboard/dimm9', 29340a360c2SBrad Bishop 0x16 : '<inventory_root>/system/chassis/motherboard/dimm10', 29440a360c2SBrad Bishop 0x17 : '<inventory_root>/system/chassis/motherboard/dimm11', 29540a360c2SBrad Bishop 0x18 : '<inventory_root>/system/chassis/motherboard/dimm12', 29640a360c2SBrad Bishop 0x19 : '<inventory_root>/system/chassis/motherboard/dimm13', 29740a360c2SBrad Bishop 0x1a : '<inventory_root>/system/chassis/motherboard/dimm14', 29840a360c2SBrad Bishop 0x1b : '<inventory_root>/system/chassis/motherboard/dimm15', 29940a360c2SBrad Bishop 0x1c : '<inventory_root>/system/chassis/motherboard/dimm16', 30040a360c2SBrad Bishop 0x1d : '<inventory_root>/system/chassis/motherboard/dimm17', 30140a360c2SBrad Bishop 0x1e : '<inventory_root>/system/chassis/motherboard/dimm18', 30240a360c2SBrad Bishop 0x1f : '<inventory_root>/system/chassis/motherboard/dimm19', 30340a360c2SBrad Bishop 0x20 : '<inventory_root>/system/chassis/motherboard/dimm20', 30440a360c2SBrad Bishop 0x21 : '<inventory_root>/system/chassis/motherboard/dimm21', 30540a360c2SBrad Bishop 0x22 : '<inventory_root>/system/chassis/motherboard/dimm22', 30640a360c2SBrad Bishop 0x23 : '<inventory_root>/system/chassis/motherboard/dimm23', 30740a360c2SBrad Bishop 0x24 : '<inventory_root>/system/chassis/motherboard/dimm24', 30840a360c2SBrad Bishop 0x25 : '<inventory_root>/system/chassis/motherboard/dimm25', 30940a360c2SBrad Bishop 0x26 : '<inventory_root>/system/chassis/motherboard/dimm26', 31040a360c2SBrad Bishop 0x27 : '<inventory_root>/system/chassis/motherboard/dimm27', 31140a360c2SBrad Bishop 0x28 : '<inventory_root>/system/chassis/motherboard/dimm28', 31240a360c2SBrad Bishop 0x29 : '<inventory_root>/system/chassis/motherboard/dimm29', 31340a360c2SBrad Bishop 0x2a : '<inventory_root>/system/chassis/motherboard/dimm30', 31440a360c2SBrad Bishop 0x2b : '<inventory_root>/system/chassis/motherboard/dimm31', 31540a360c2SBrad Bishop }, 31640a360c2SBrad Bishop 'FRU_STR' : { 31740a360c2SBrad Bishop 'PRODUCT_0' : '<inventory_root>/system/bios', 31840a360c2SBrad Bishop 'BOARD_1' : '<inventory_root>/system/chassis/motherboard/cpu0', 31940a360c2SBrad Bishop 'BOARD_2' : '<inventory_root>/system/chassis/motherboard/cpu1', 32040a360c2SBrad Bishop 'CHASSIS_3' : '<inventory_root>/system/chassis/motherboard', 32140a360c2SBrad Bishop 'BOARD_3' : '<inventory_root>/system/misc', 32240a360c2SBrad Bishop 'BOARD_4' : '<inventory_root>/system/chassis/motherboard/membuf0', 32340a360c2SBrad Bishop 'BOARD_5' : '<inventory_root>/system/chassis/motherboard/membuf1', 32440a360c2SBrad Bishop 'BOARD_6' : '<inventory_root>/system/chassis/motherboard/membuf2', 32540a360c2SBrad Bishop 'BOARD_7' : '<inventory_root>/system/chassis/motherboard/membuf3', 32640a360c2SBrad Bishop 'BOARD_8' : '<inventory_root>/system/chassis/motherboard/membuf4', 32740a360c2SBrad Bishop 'BOARD_9' : '<inventory_root>/system/chassis/motherboard/membuf5', 32840a360c2SBrad Bishop 'BOARD_10' : '<inventory_root>/system/chassis/motherboard/membuf6', 32940a360c2SBrad Bishop 'BOARD_11' : '<inventory_root>/system/chassis/motherboard/membuf7', 33040a360c2SBrad Bishop 'PRODUCT_12' : '<inventory_root>/system/chassis/motherboard/dimm0', 33140a360c2SBrad Bishop 'PRODUCT_13' : '<inventory_root>/system/chassis/motherboard/dimm1', 33240a360c2SBrad Bishop 'PRODUCT_14' : '<inventory_root>/system/chassis/motherboard/dimm2', 33340a360c2SBrad Bishop 'PRODUCT_15' : '<inventory_root>/system/chassis/motherboard/dimm3', 33440a360c2SBrad Bishop 'PRODUCT_16' : '<inventory_root>/system/chassis/motherboard/dimm4', 33540a360c2SBrad Bishop 'PRODUCT_17' : '<inventory_root>/system/chassis/motherboard/dimm5', 33640a360c2SBrad Bishop 'PRODUCT_18' : '<inventory_root>/system/chassis/motherboard/dimm6', 33740a360c2SBrad Bishop 'PRODUCT_19' : '<inventory_root>/system/chassis/motherboard/dimm7', 33840a360c2SBrad Bishop 'PRODUCT_20' : '<inventory_root>/system/chassis/motherboard/dimm8', 33940a360c2SBrad Bishop 'PRODUCT_21' : '<inventory_root>/system/chassis/motherboard/dimm9', 34040a360c2SBrad Bishop 'PRODUCT_22' : '<inventory_root>/system/chassis/motherboard/dimm10', 34140a360c2SBrad Bishop 'PRODUCT_23' : '<inventory_root>/system/chassis/motherboard/dimm11', 34240a360c2SBrad Bishop 'PRODUCT_24' : '<inventory_root>/system/chassis/motherboard/dimm12', 34340a360c2SBrad Bishop 'PRODUCT_25' : '<inventory_root>/system/chassis/motherboard/dimm13', 34440a360c2SBrad Bishop 'PRODUCT_26' : '<inventory_root>/system/chassis/motherboard/dimm14', 34540a360c2SBrad Bishop 'PRODUCT_27' : '<inventory_root>/system/chassis/motherboard/dimm15', 34640a360c2SBrad Bishop 'PRODUCT_28' : '<inventory_root>/system/chassis/motherboard/dimm16', 34740a360c2SBrad Bishop 'PRODUCT_29' : '<inventory_root>/system/chassis/motherboard/dimm17', 34840a360c2SBrad Bishop 'PRODUCT_30' : '<inventory_root>/system/chassis/motherboard/dimm18', 34940a360c2SBrad Bishop 'PRODUCT_31' : '<inventory_root>/system/chassis/motherboard/dimm19', 35040a360c2SBrad Bishop 'PRODUCT_32' : '<inventory_root>/system/chassis/motherboard/dimm20', 35140a360c2SBrad Bishop 'PRODUCT_33' : '<inventory_root>/system/chassis/motherboard/dimm21', 35240a360c2SBrad Bishop 'PRODUCT_34' : '<inventory_root>/system/chassis/motherboard/dimm22', 35340a360c2SBrad Bishop 'PRODUCT_35' : '<inventory_root>/system/chassis/motherboard/dimm23', 35440a360c2SBrad Bishop 'PRODUCT_36' : '<inventory_root>/system/chassis/motherboard/dimm24', 35540a360c2SBrad Bishop 'PRODUCT_37' : '<inventory_root>/system/chassis/motherboard/dimm25', 35640a360c2SBrad Bishop 'PRODUCT_38' : '<inventory_root>/system/chassis/motherboard/dimm26', 35740a360c2SBrad Bishop 'PRODUCT_39' : '<inventory_root>/system/chassis/motherboard/dimm27', 35840a360c2SBrad Bishop 'PRODUCT_40' : '<inventory_root>/system/chassis/motherboard/dimm28', 35940a360c2SBrad Bishop 'PRODUCT_41' : '<inventory_root>/system/chassis/motherboard/dimm29', 36040a360c2SBrad Bishop 'PRODUCT_42' : '<inventory_root>/system/chassis/motherboard/dimm30', 36140a360c2SBrad Bishop 'PRODUCT_43' : '<inventory_root>/system/chassis/motherboard/dimm31', 36240a360c2SBrad Bishop 'PRODUCT_47' : '<inventory_root>/system/misc', 36340a360c2SBrad Bishop }, 36440a360c2SBrad Bishop 'SENSOR' : { 36540a360c2SBrad Bishop 0x04 : '/org/openbmc/sensors/host/HostStatus', 36640a360c2SBrad Bishop 0x05 : '/org/openbmc/sensors/host/BootProgress', 36740a360c2SBrad Bishop 0x08 : '/org/openbmc/sensors/host/cpu0/OccStatus', 36840a360c2SBrad Bishop 0x09 : '/org/openbmc/sensors/host/cpu1/OccStatus', 36940a360c2SBrad Bishop 0x0c : '<inventory_root>/system/chassis/motherboard/cpu0', 37040a360c2SBrad Bishop 0x0e : '<inventory_root>/system/chassis/motherboard/cpu1', 37140a360c2SBrad Bishop 0x1e : '<inventory_root>/system/chassis/motherboard/dimm3', 37240a360c2SBrad Bishop 0x1f : '<inventory_root>/system/chassis/motherboard/dimm2', 37340a360c2SBrad Bishop 0x20 : '<inventory_root>/system/chassis/motherboard/dimm1', 37440a360c2SBrad Bishop 0x21 : '<inventory_root>/system/chassis/motherboard/dimm0', 37540a360c2SBrad Bishop 0x22 : '<inventory_root>/system/chassis/motherboard/dimm7', 37640a360c2SBrad Bishop 0x23 : '<inventory_root>/system/chassis/motherboard/dimm6', 37740a360c2SBrad Bishop 0x24 : '<inventory_root>/system/chassis/motherboard/dimm5', 37840a360c2SBrad Bishop 0x25 : '<inventory_root>/system/chassis/motherboard/dimm4', 37940a360c2SBrad Bishop 0x26 : '<inventory_root>/system/chassis/motherboard/dimm11', 38040a360c2SBrad Bishop 0x27 : '<inventory_root>/system/chassis/motherboard/dimm10', 38140a360c2SBrad Bishop 0x28 : '<inventory_root>/system/chassis/motherboard/dimm9', 38240a360c2SBrad Bishop 0x29 : '<inventory_root>/system/chassis/motherboard/dimm8', 38340a360c2SBrad Bishop 0x2a : '<inventory_root>/system/chassis/motherboard/dimm15', 38440a360c2SBrad Bishop 0x2b : '<inventory_root>/system/chassis/motherboard/dimm14', 38540a360c2SBrad Bishop 0x2c : '<inventory_root>/system/chassis/motherboard/dimm13', 38640a360c2SBrad Bishop 0x2d : '<inventory_root>/system/chassis/motherboard/dimm12', 38740a360c2SBrad Bishop 0x2e : '<inventory_root>/system/chassis/motherboard/dimm19', 38840a360c2SBrad Bishop 0x2f : '<inventory_root>/system/chassis/motherboard/dimm18', 38940a360c2SBrad Bishop 0x30 : '<inventory_root>/system/chassis/motherboard/dimm17', 39040a360c2SBrad Bishop 0x31 : '<inventory_root>/system/chassis/motherboard/dimm16', 39140a360c2SBrad Bishop 0x32 : '<inventory_root>/system/chassis/motherboard/dimm23', 39240a360c2SBrad Bishop 0x33 : '<inventory_root>/system/chassis/motherboard/dimm22', 39340a360c2SBrad Bishop 0x34 : '<inventory_root>/system/chassis/motherboard/dimm21', 39440a360c2SBrad Bishop 0x35 : '<inventory_root>/system/chassis/motherboard/dimm20', 39540a360c2SBrad Bishop 0x36 : '<inventory_root>/system/chassis/motherboard/dimm27', 39640a360c2SBrad Bishop 0x37 : '<inventory_root>/system/chassis/motherboard/dimm26', 39740a360c2SBrad Bishop 0x38 : '<inventory_root>/system/chassis/motherboard/dimm25', 39840a360c2SBrad Bishop 0x39 : '<inventory_root>/system/chassis/motherboard/dimm24', 39940a360c2SBrad Bishop 0x3a : '<inventory_root>/system/chassis/motherboard/dimm31', 40040a360c2SBrad Bishop 0x3b : '<inventory_root>/system/chassis/motherboard/dimm30', 40140a360c2SBrad Bishop 0x3c : '<inventory_root>/system/chassis/motherboard/dimm29', 40240a360c2SBrad Bishop 0x3d : '<inventory_root>/system/chassis/motherboard/dimm28', 40340a360c2SBrad Bishop 0x3e : '<inventory_root>/system/chassis/motherboard/cpu0/core0', 40440a360c2SBrad Bishop 0x3f : '<inventory_root>/system/chassis/motherboard/cpu0/core1', 40540a360c2SBrad Bishop 0x40 : '<inventory_root>/system/chassis/motherboard/cpu0/core2', 40640a360c2SBrad Bishop 0x41 : '<inventory_root>/system/chassis/motherboard/cpu0/core3', 40740a360c2SBrad Bishop 0x42 : '<inventory_root>/system/chassis/motherboard/cpu0/core4', 40840a360c2SBrad Bishop 0x43 : '<inventory_root>/system/chassis/motherboard/cpu0/core5', 40940a360c2SBrad Bishop 0x44 : '<inventory_root>/system/chassis/motherboard/cpu0/core6', 41040a360c2SBrad Bishop 0x45 : '<inventory_root>/system/chassis/motherboard/cpu0/core7', 41140a360c2SBrad Bishop 0x46 : '<inventory_root>/system/chassis/motherboard/cpu0/core8', 41240a360c2SBrad Bishop 0x47 : '<inventory_root>/system/chassis/motherboard/cpu0/core9', 41340a360c2SBrad Bishop 0x48 : '<inventory_root>/system/chassis/motherboard/cpu0/core10', 41440a360c2SBrad Bishop 0x49 : '<inventory_root>/system/chassis/motherboard/cpu0/core11', 41540a360c2SBrad Bishop 0x4a : '<inventory_root>/system/chassis/motherboard/cpu1/core0', 41640a360c2SBrad Bishop 0x4b : '<inventory_root>/system/chassis/motherboard/cpu1/core1', 41740a360c2SBrad Bishop 0x4c : '<inventory_root>/system/chassis/motherboard/cpu1/core2', 41840a360c2SBrad Bishop 0x4d : '<inventory_root>/system/chassis/motherboard/cpu1/core3', 41940a360c2SBrad Bishop 0x4e : '<inventory_root>/system/chassis/motherboard/cpu1/core4', 42040a360c2SBrad Bishop 0x4f : '<inventory_root>/system/chassis/motherboard/cpu1/core5', 42140a360c2SBrad Bishop 0x50 : '<inventory_root>/system/chassis/motherboard/cpu1/core6', 42240a360c2SBrad Bishop 0x51 : '<inventory_root>/system/chassis/motherboard/cpu1/core7', 42340a360c2SBrad Bishop 0x52 : '<inventory_root>/system/chassis/motherboard/cpu1/core8', 42440a360c2SBrad Bishop 0x53 : '<inventory_root>/system/chassis/motherboard/cpu1/core9', 42540a360c2SBrad Bishop 0x54 : '<inventory_root>/system/chassis/motherboard/cpu1/core10', 42640a360c2SBrad Bishop 0x55 : '<inventory_root>/system/chassis/motherboard/cpu1/core11', 42740a360c2SBrad Bishop 0x56 : '<inventory_root>/system/chassis/motherboard/membuf0', 42840a360c2SBrad Bishop 0x57 : '<inventory_root>/system/chassis/motherboard/membuf1', 42940a360c2SBrad Bishop 0x58 : '<inventory_root>/system/chassis/motherboard/membuf2', 43040a360c2SBrad Bishop 0x59 : '<inventory_root>/system/chassis/motherboard/membuf3', 43140a360c2SBrad Bishop 0x5a : '<inventory_root>/system/chassis/motherboard/membuf4', 43240a360c2SBrad Bishop 0x5b : '<inventory_root>/system/chassis/motherboard/membuf5', 43340a360c2SBrad Bishop 0x5c : '<inventory_root>/system/chassis/motherboard/membuf6', 43440a360c2SBrad Bishop 0x5d : '<inventory_root>/system/chassis/motherboard/membuf7', 43540a360c2SBrad Bishop 0x5f : '/org/openbmc/sensors/host/BootCount', 43640a360c2SBrad Bishop 0x60 : '<inventory_root>/system/chassis/motherboard', 43740a360c2SBrad Bishop 0x61 : '<inventory_root>/system/systemevent', 43840a360c2SBrad Bishop 0x62 : '<inventory_root>/system/powerlimit', 43940a360c2SBrad Bishop 0x63 : '<inventory_root>/system/chassis/motherboard/refclock', 44040a360c2SBrad Bishop 0x64 : '<inventory_root>/system/chassis/motherboard/pcieclock', 44140a360c2SBrad Bishop 0xb1 : '<inventory_root>/system/chassis/motherboard/todclock', 44240a360c2SBrad Bishop 0xb2 : '<inventory_root>/system/chassis/motherboard/apss', 44340a360c2SBrad Bishop 0xb3 : '/org/openbmc/sensors/host/powercap', 44440a360c2SBrad Bishop 0xb5 : '/org/openbmc/sensors/host/OperatingSystemStatus', 44540a360c2SBrad Bishop 0xb6 : '<inventory_root>/system/chassis/motherboard/pcielink', 44640a360c2SBrad Bishop }, 44740a360c2SBrad Bishop 'GPIO_PRESENT' : {} 44840a360c2SBrad Bishop} 44940a360c2SBrad Bishop 45040a360c2SBrad BishopGPIO_CONFIG = {} 45140a360c2SBrad BishopGPIO_CONFIG['BMC_POWER_UP'] = \ 45240a360c2SBrad Bishop {'gpio_pin': 'D1', 'direction': 'out'} 45340a360c2SBrad BishopGPIO_CONFIG['SYS_PWROK_BUFF'] = \ 45440a360c2SBrad Bishop {'gpio_pin': 'D2', 'direction': 'in'} 45540a360c2SBrad BishopGPIO_CONFIG['BMC_WD_CLEAR_PULSE_N'] = \ 45640a360c2SBrad Bishop {'gpio_pin': 'N4', 'direction': 'out'} 45740a360c2SBrad BishopGPIO_CONFIG['CM1_OE_R_N'] = \ 45840a360c2SBrad Bishop {'gpio_pin': 'Q6', 'direction': 'out'} 45940a360c2SBrad BishopGPIO_CONFIG['BMC_CP0_RESET_N'] = \ 46040a360c2SBrad Bishop {'gpio_pin': 'O2', 'direction': 'out'} 46140a360c2SBrad BishopGPIO_CONFIG['BMC_CFAM_RESET_N_R'] = \ 46240a360c2SBrad Bishop {'gpio_pin': 'J2', 'direction': 'out'} 46340a360c2SBrad BishopGPIO_CONFIG['PEX8718_DEVICES_RESET_N'] = \ 46440a360c2SBrad Bishop {'gpio_pin': 'B6', 'direction': 'out'} 46540a360c2SBrad BishopGPIO_CONFIG['CP0_DEVICES_RESET_N'] = \ 46640a360c2SBrad Bishop {'gpio_pin': 'N3', 'direction': 'out'} 46740a360c2SBrad BishopGPIO_CONFIG['CP1_DEVICES_RESET_N'] = \ 46840a360c2SBrad Bishop {'gpio_pin': 'N5', 'direction': 'out'} 46940a360c2SBrad Bishop 47040a360c2SBrad BishopGPIO_CONFIG['FSI_DATA'] = \ 47140a360c2SBrad Bishop {'gpio_pin': 'A5', 'direction': 'out'} 47240a360c2SBrad BishopGPIO_CONFIG['FSI_CLK'] = \ 47340a360c2SBrad Bishop {'gpio_pin': 'A4', 'direction': 'out'} 47440a360c2SBrad BishopGPIO_CONFIG['FSI_ENABLE'] = \ 47540a360c2SBrad Bishop {'gpio_pin': 'D0', 'direction': 'out'} 47640a360c2SBrad BishopGPIO_CONFIG['CRONUS_SEL'] = \ 47740a360c2SBrad Bishop {'gpio_pin': 'A6', 'direction': 'out'} 47840a360c2SBrad BishopGPIO_CONFIG['BMC_THROTTLE'] = \ 47940a360c2SBrad Bishop {'gpio_pin': 'J3', 'direction': 'out'} 48040a360c2SBrad Bishop 48140a360c2SBrad BishopGPIO_CONFIG['IDBTN'] = \ 48240a360c2SBrad Bishop { 'gpio_pin': 'Q7', 'direction': 'out' } 48340a360c2SBrad BishopGPIO_CONFIG['POWER_BUTTON'] = \ 48440a360c2SBrad Bishop {'gpio_pin': 'E0', 'direction': 'both'} 48540a360c2SBrad BishopGPIO_CONFIG['RESET_BUTTON'] = \ 48640a360c2SBrad Bishop {'gpio_pin': 'E4', 'direction': 'both'} 48740a360c2SBrad Bishop 48840a360c2SBrad BishopGPIO_CONFIG['PS0_PRES_N'] = \ 48940a360c2SBrad Bishop {'gpio_pin': 'P7', 'direction': 'in'} 49040a360c2SBrad BishopGPIO_CONFIG['PS1_PRES_N'] = \ 49140a360c2SBrad Bishop {'gpio_pin': 'N0', 'direction': 'in'} 49240a360c2SBrad BishopGPIO_CONFIG['CARD_PRES_N'] = \ 49340a360c2SBrad Bishop {'gpio_pin': 'J0', 'direction': 'in'} 49440a360c2SBrad Bishop 49540a360c2SBrad Bishop 49640a360c2SBrad Bishop 49740a360c2SBrad Bishop 49840a360c2SBrad Bishopdef convertGpio(name): 49940a360c2SBrad Bishop name = name.upper() 50040a360c2SBrad Bishop c = name[0:1] 50140a360c2SBrad Bishop offset = int(name[1:]) 50240a360c2SBrad Bishop a = ord(c)-65 50340a360c2SBrad Bishop base = a*8+GPIO_BASE 50440a360c2SBrad Bishop return base+offset 50540a360c2SBrad Bishop 50640a360c2SBrad Bishop 50740a360c2SBrad BishopHWMON_CONFIG = { 50840a360c2SBrad Bishop '4-0050' : { 50940a360c2SBrad Bishop 'names' : { 51040a360c2SBrad Bishop 'caps_curr_powercap' : { 'object_path' : 'powercap/curr_cap','poll_interval' : 10000,'scale' : 1,'units' : 'W' }, 51140a360c2SBrad Bishop 'caps_curr_powerreading' : { 'object_path' : 'powercap/system_power','poll_interval' : 10000,'scale' : 1,'units' : 'W' }, 51240a360c2SBrad Bishop 'caps_max_powercap' : { 'object_path' : 'powercap/max_cap','poll_interval' : 10000,'scale' : 1,'units' : 'W' }, 51340a360c2SBrad Bishop 'caps_min_powercap' : { 'object_path' : 'powercap/min_cap','poll_interval' : 10000,'scale' : 1,'units' : 'W' }, 51440a360c2SBrad Bishop 'caps_norm_powercap' : { 'object_path' : 'powercap/n_cap','poll_interval' : 10000,'scale' : 1,'units' : 'W' }, 51540a360c2SBrad Bishop 'caps_user_powerlimit' : { 'object_path' : 'powercap/user_cap','poll_interval' : 10000,'scale' : 1,'units' : 'W' }, 51640a360c2SBrad Bishop }, 51740a360c2SBrad Bishop 'labels' : { 51840a360c2SBrad Bishop '176' : { 'object_path' : 'temperature/cpu0/core0','poll_interval' : 5000,'scale' : 1000,'units' : 'C', 51940a360c2SBrad Bishop 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, 52040a360c2SBrad Bishop '177' : { 'object_path' : 'temperature/cpu0/core1','poll_interval' : 5000,'scale' : 1000,'units' : 'C', 52140a360c2SBrad Bishop 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, 52240a360c2SBrad Bishop '178' : { 'object_path' : 'temperature/cpu0/core2','poll_interval' : 5000,'scale' : 1000,'units' : 'C', 52340a360c2SBrad Bishop 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, 52440a360c2SBrad Bishop '179' : { 'object_path' : 'temperature/cpu0/core3','poll_interval' : 5000,'scale' : 1000,'units' : 'C', 52540a360c2SBrad Bishop 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, 52640a360c2SBrad Bishop '180' : { 'object_path' : 'temperature/cpu0/core4','poll_interval' : 5000,'scale' : 1000,'units' : 'C', 52740a360c2SBrad Bishop 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, 52840a360c2SBrad Bishop '181' : { 'object_path' : 'temperature/cpu0/core5','poll_interval' : 5000,'scale' : 1000,'units' : 'C', 52940a360c2SBrad Bishop 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, 53040a360c2SBrad Bishop '182' : { 'object_path' : 'temperature/cpu0/core6','poll_interval' : 5000,'scale' : 1000,'units' : 'C', 53140a360c2SBrad Bishop 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, 53240a360c2SBrad Bishop '183' : { 'object_path' : 'temperature/cpu0/core7','poll_interval' : 5000,'scale' : 1000,'units' : 'C', 53340a360c2SBrad Bishop 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, 53440a360c2SBrad Bishop '184' : { 'object_path' : 'temperature/cpu0/core8','poll_interval' : 5000,'scale' : 1000,'units' : 'C', 53540a360c2SBrad Bishop 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, 53640a360c2SBrad Bishop '185' : { 'object_path' : 'temperature/cpu0/core9','poll_interval' : 5000,'scale' : 1000,'units' : 'C', 53740a360c2SBrad Bishop 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, 53840a360c2SBrad Bishop '186' : { 'object_path' : 'temperature/cpu0/core10','poll_interval' : 5000,'scale' : 1000,'units' : 'C', 53940a360c2SBrad Bishop 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, 54040a360c2SBrad Bishop '187' : { 'object_path' : 'temperature/cpu0/core11','poll_interval' : 5000,'scale' : 1000,'units' : 'C', 54140a360c2SBrad Bishop 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, 54240a360c2SBrad Bishop '102' : { 'object_path' : 'temperature/dimm0','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, 54340a360c2SBrad Bishop '103' : { 'object_path' : 'temperature/dimm1','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, 54440a360c2SBrad Bishop '104' : { 'object_path' : 'temperature/dimm2','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, 54540a360c2SBrad Bishop '105' : { 'object_path' : 'temperature/dimm3','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, 54640a360c2SBrad Bishop '106' : { 'object_path' : 'temperature/dimm4','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, 54740a360c2SBrad Bishop '107' : { 'object_path' : 'temperature/dimm5','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, 54840a360c2SBrad Bishop '108' : { 'object_path' : 'temperature/dimm6','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, 54940a360c2SBrad Bishop '109' : { 'object_path' : 'temperature/dimm7','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, 55040a360c2SBrad Bishop '110' : { 'object_path' : 'temperature/dimm8','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, 55140a360c2SBrad Bishop '111' : { 'object_path' : 'temperature/dimm9','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, 55240a360c2SBrad Bishop '112' : { 'object_path' : 'temperature/dimm10','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, 55340a360c2SBrad Bishop '113' : { 'object_path' : 'temperature/dimm11','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, 55440a360c2SBrad Bishop '114' : { 'object_path' : 'temperature/dimm12','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, 55540a360c2SBrad Bishop '115' : { 'object_path' : 'temperature/dimm13','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, 55640a360c2SBrad Bishop '116' : { 'object_path' : 'temperature/dimm14','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, 55740a360c2SBrad Bishop '117' : { 'object_path' : 'temperature/dimm15','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, 55840a360c2SBrad Bishop '94' : { 'object_path' : 'temperature/membuf0','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, 55940a360c2SBrad Bishop '95' : { 'object_path' : 'temperature/membuf1','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, 56040a360c2SBrad Bishop '96' : { 'object_path' : 'temperature/membuf2','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, 56140a360c2SBrad Bishop '97' : { 'object_path' : 'temperature/membuf3','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, 56240a360c2SBrad Bishop } 56340a360c2SBrad Bishop }, 56440a360c2SBrad Bishop '5-0050' : { 56540a360c2SBrad Bishop 'labels' : { 56640a360c2SBrad Bishop '188' : { 'object_path' : 'temperature/cpu1/core0','poll_interval' : 5000,'scale' : 1000,'units' : 'C', 56740a360c2SBrad Bishop 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, 56840a360c2SBrad Bishop '189' : { 'object_path' : 'temperature/cpu1/core1','poll_interval' : 5000,'scale' : 1000,'units' : 'C', 56940a360c2SBrad Bishop 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, 57040a360c2SBrad Bishop '190' : { 'object_path' : 'temperature/cpu1/core2','poll_interval' : 5000,'scale' : 1000,'units' : 'C', 57140a360c2SBrad Bishop 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, 57240a360c2SBrad Bishop '191' : { 'object_path' : 'temperature/cpu1/core3','poll_interval' : 5000,'scale' : 1000,'units' : 'C', 57340a360c2SBrad Bishop 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, 57440a360c2SBrad Bishop '192' : { 'object_path' : 'temperature/cpu1/core4','poll_interval' : 5000,'scale' : 1000,'units' : 'C', 57540a360c2SBrad Bishop 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, 57640a360c2SBrad Bishop '193' : { 'object_path' : 'temperature/cpu1/core5','poll_interval' : 5000,'scale' : 1000,'units' : 'C', 57740a360c2SBrad Bishop 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, 57840a360c2SBrad Bishop '194' : { 'object_path' : 'temperature/cpu1/core6','poll_interval' : 5000,'scale' : 1000,'units' : 'C', 57940a360c2SBrad Bishop 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, 58040a360c2SBrad Bishop '195' : { 'object_path' : 'temperature/cpu1/core7','poll_interval' : 5000,'scale' : 1000,'units' : 'C', 58140a360c2SBrad Bishop 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, 58240a360c2SBrad Bishop '196' : { 'object_path' : 'temperature/cpu1/core8','poll_interval' : 5000,'scale' : 1000,'units' : 'C', 58340a360c2SBrad Bishop 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, 58440a360c2SBrad Bishop '197' : { 'object_path' : 'temperature/cpu1/core9','poll_interval' : 5000,'scale' : 1000,'units' : 'C', 58540a360c2SBrad Bishop 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, 58640a360c2SBrad Bishop '198' : { 'object_path' : 'temperature/cpu1/core10','poll_interval' : 5000,'scale' : 1000,'units' : 'C', 58740a360c2SBrad Bishop 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, 58840a360c2SBrad Bishop '199' : { 'object_path' : 'temperature/cpu1/core11','poll_interval' : 5000,'scale' : 1000,'units' : 'C', 58940a360c2SBrad Bishop 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, 59040a360c2SBrad Bishop '118' : { 'object_path' : 'temperature/dimm16','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, 59140a360c2SBrad Bishop '119' : { 'object_path' : 'temperature/dimm17','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, 59240a360c2SBrad Bishop '120' : { 'object_path' : 'temperature/dimm18','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, 59340a360c2SBrad Bishop '121' : { 'object_path' : 'temperature/dimm19','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, 59440a360c2SBrad Bishop '122' : { 'object_path' : 'temperature/dimm20','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, 59540a360c2SBrad Bishop '123' : { 'object_path' : 'temperature/dimm21','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, 59640a360c2SBrad Bishop '124' : { 'object_path' : 'temperature/dimm22','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, 59740a360c2SBrad Bishop '125' : { 'object_path' : 'temperature/dimm23','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, 59840a360c2SBrad Bishop '126' : { 'object_path' : 'temperature/dimm24','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, 59940a360c2SBrad Bishop '127' : { 'object_path' : 'temperature/dimm25','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, 60040a360c2SBrad Bishop '128' : { 'object_path' : 'temperature/dimm26','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, 60140a360c2SBrad Bishop '129' : { 'object_path' : 'temperature/dimm27','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, 60240a360c2SBrad Bishop '130' : { 'object_path' : 'temperature/dimm28','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, 60340a360c2SBrad Bishop '131' : { 'object_path' : 'temperature/dimm29','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, 60440a360c2SBrad Bishop '132' : { 'object_path' : 'temperature/dimm30','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, 60540a360c2SBrad Bishop '133' : { 'object_path' : 'temperature/dimm31','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, 60640a360c2SBrad Bishop '98' : { 'object_path' : 'temperature/membuf4','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, 60740a360c2SBrad Bishop '99' : { 'object_path' : 'temperature/membuf5','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, 60840a360c2SBrad Bishop '100' : { 'object_path' : 'temperature/membuf6','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, 60940a360c2SBrad Bishop '101' : { 'object_path' : 'temperature/membuf7','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, 61040a360c2SBrad Bishop } 61140a360c2SBrad Bishop }, 61240a360c2SBrad Bishop} 61340a360c2SBrad Bishop 61440a360c2SBrad Bishop# Miscellaneous non-poll sensor with system specific properties. 61540a360c2SBrad Bishop# The sensor id is the same as those defined in ID_LOOKUP['SENSOR']. 61640a360c2SBrad BishopMISC_SENSORS = { 61740a360c2SBrad Bishop 0x5f : { 'class' : 'BootCountSensor' }, 61840a360c2SBrad Bishop 0x05 : { 'class' : 'BootProgressSensor' }, 61940a360c2SBrad Bishop 0x08 : { 'class' : 'OccStatusSensor', 620*57b53bd0SBrad Bishop 'os_path' : '/sys/class/i2c-adapter/i2c-4/4-0050/online' }, 62140a360c2SBrad Bishop 0x09 : { 'class' : 'OccStatusSensor', 622*57b53bd0SBrad Bishop 'os_path' : '/sys/class/i2c-adapter/i2c-5/5-0050/online' }, 62340a360c2SBrad Bishop 0xb5 : { 'class' : 'OperatingSystemStatusSensor' }, 62440a360c2SBrad Bishop 0xb3 : { 'class' : 'PowerCap', 62540a360c2SBrad Bishop 'os_path' : '/sys/class/hwmon/hwmon3/user_powercap' }, 62640a360c2SBrad Bishop} 627