From 40a360c2a4feef97a8f7041e655b2a42e51e0224 Mon Sep 17 00:00:00 2001 From: Brad Bishop Date: Sat, 28 May 2016 18:41:04 -0400 Subject: Reorganize directory structure Moving to directory per-application layout. This facilitates building single applications which is useful in the Yocto build environment since different applications satisfy different OpenBMC build requirements. A number of issues are also addressed: - All applications were pulling in libsystemd and the gdbus libs irrespective of whether or not they were needed. - gpio.o duplicated in every application - moved to libopenbmc_intf - Added install target Signed-off-by: Brad Bishop --- configs/Barreleye.py | 771 +++++++++++++++++++++++++++++++++++++++++++++++++++ configs/Firestone.py | 626 +++++++++++++++++++++++++++++++++++++++++ configs/Garrison.py | 626 +++++++++++++++++++++++++++++++++++++++++ configs/Makefile | 1 + configs/Palmetto.py | 327 ++++++++++++++++++++++ configs/setup.py | 6 + 6 files changed, 2357 insertions(+) create mode 100644 configs/Barreleye.py create mode 100644 configs/Firestone.py create mode 100644 configs/Garrison.py create mode 120000 configs/Makefile create mode 100644 configs/Palmetto.py create mode 100644 configs/setup.py (limited to 'configs') diff --git a/configs/Barreleye.py b/configs/Barreleye.py new file mode 100644 index 0000000..c23f657 --- /dev/null +++ b/configs/Barreleye.py @@ -0,0 +1,771 @@ +#! /usr/bin/python + +HOME_PATH = './' +CACHE_PATH = '/var/cache/obmc/' +FLASH_DOWNLOAD_PATH = "/tmp" +GPIO_BASE = 320 +SYSTEM_NAME = "Barreleye" + + +## System states +## state can change to next state in 2 ways: +## - a process emits a GotoSystemState signal with state name to goto +## - objects specified in EXIT_STATE_DEPEND have started +SYSTEM_STATES = [ + 'BASE_APPS', + 'BMC_STARTING', + 'BMC_STARTING2', + 'BMC_READY', + 'HOST_POWERING_ON', + 'HOST_POWERED_ON', + 'INVENTORY_UPLOADED', + 'HOST_BOOTING', + 'HOST_BOOTED', + 'HOST_POWERED_OFF', +] + +EXIT_STATE_DEPEND = { + 'BASE_APPS' : { + '/org/openbmc/sensors': 0, + }, + 'BMC_STARTING' : { + '/org/openbmc/control/power0' : 0, + '/org/openbmc/control/host0' : 0, + '/org/openbmc/control/flash/bios' : 0, + '/org/openbmc/sensors/speed/fan5': 0, + '/org/openbmc/inventory/system/chassis/io_board' : 0, + }, + 'BMC_STARTING2' : { + '/org/openbmc/control/fans' : 0, + '/org/openbmc/control/chassis0': 0, + }, +} + +## method will be called when state is entered +ENTER_STATE_CALLBACK = { + 'INVENTORY_UPLOADED' : { + 'boot' : { + 'bus_name' : 'org.openbmc.control.Host', + 'obj_name' : '/org/openbmc/control/host0', + 'interface_name' : 'org.openbmc.control.Host', + }, + 'setMax' : { + 'bus_name' : 'org.openbmc.control.Fans', + 'obj_name' : '/org/openbmc/control/fans', + 'interface_name' : 'org.openbmc.control.Fans', + }, + 'setOn' : { + 'bus_name' : 'org.openbmc.control.led', + 'obj_name' : '/org/openbmc/control/led/identify', + 'interface_name' : 'org.openbmc.Led', + } + }, + 'HOST_POWERED_OFF' : { + 'setOff' : { + 'bus_name' : 'org.openbmc.control.led', + 'obj_name' : '/org/openbmc/control/led/identify', + 'interface_name' : 'org.openbmc.Led', + } + + }, + 'BMC_READY' : { + 'setOn' : { + 'bus_name' : 'org.openbmc.control.led', + 'obj_name' : '/org/openbmc/control/led/beep', + 'interface_name' : 'org.openbmc.Led', + }, + 'init' : { + 'bus_name' : 'org.openbmc.control.Flash', + 'obj_name' : '/org/openbmc/control/flash/bios', + 'interface_name' : 'org.openbmc.Flash', + } + } +} + +APPS = { + 'startup_hacks' : { + 'system_state' : 'BASE_APPS', + 'start_process' : True, + 'monitor_process' : False, + 'process_name' : 'startup_hacks.sh', + }, + 'inventory' : { + 'system_state' : 'BMC_STARTING', + 'start_process' : True, + 'monitor_process' : True, + 'process_name' : 'inventory_items.py', + 'args' : [ SYSTEM_NAME ] + }, + 'inventory_upload' : { + 'system_state' : 'HOST_POWERED_ON', + 'start_process' : True, + 'monitor_process' : False, + 'process_name' : 'goto_system_state.py', + 'args' : [ 'INVENTORY_UPLOADED', 'inventory_upload.py' ] + }, + 'pcie_present' : { + 'system_state' : 'INVENTORY_UPLOADED', + 'start_process' : True, + 'monitor_process' : False, + 'process_name' : 'pcie_slot_present.exe', + }, + 'fan_control' : { + 'system_state' : 'BMC_STARTING2', + 'start_process' : True, + 'monitor_process' : True, + 'process_name' : 'fan_control.py', + }, + 'hwmon' : { + 'system_state' : 'BMC_STARTING', + 'start_process' : True, + 'monitor_process' : True, + 'process_name' : 'hwmon.py', + 'args' : [ SYSTEM_NAME ] + }, + 'sensor_manager' : { + 'system_state' : 'BASE_APPS', + 'start_process' : True, + 'monitor_process' : True, + 'process_name' : 'sensor_manager2.py', + 'args' : [ SYSTEM_NAME ] + }, + 'host_watchdog' : { + 'system_state' : 'BMC_STARTING', + 'start_process' : True, + 'monitor_process' : True, + 'process_name' : 'host_watchdog.exe', + }, + 'power_control' : { + 'system_state' : 'BMC_STARTING', + 'start_process' : True, + 'monitor_process' : True, + 'process_name' : 'power_control.exe', + 'args' : [ '3000', '10' ] + }, + 'power_button' : { + 'system_state' : 'BMC_STARTING', + 'start_process' : True, + 'monitor_process' : True, + 'process_name' : 'button_power.exe', + }, + 'reset_button' : { + 'system_state' : 'BMC_STARTING', + 'start_process' : True, + 'monitor_process' : True, + 'process_name' : 'button_reset.exe', + }, + 'led_control' : { + 'system_state' : 'BMC_STARTING', + 'start_process' : True, + 'monitor_process' : True, + 'process_name' : 'led_controller.exe', + }, + 'flash_control' : { + 'system_state' : 'BMC_STARTING', + 'start_process' : True, + 'monitor_process' : True, + 'process_name' : 'flash_bios.exe', + }, + 'bmc_flash_control' : { + 'system_state' : 'BMC_STARTING', + 'start_process' : True, + 'monitor_process' : True, + 'process_name' : 'bmc_update.py', + }, + 'download_manager' : { + 'system_state' : 'BMC_STARTING', + 'start_process' : True, + 'monitor_process' : True, + 'process_name' : 'download_manager.py', + 'args' : [ SYSTEM_NAME ] + }, + 'host_control' : { + 'system_state' : 'BMC_STARTING', + 'start_process' : True, + 'monitor_process' : True, + 'process_name' : 'control_host.exe', + }, + 'chassis_control' : { + 'system_state' : 'BMC_STARTING2', + 'start_process' : True, + 'monitor_process' : True, + 'process_name' : 'chassis_control.py', + }, + 'board_vpd' : { + 'system_state' : 'BMC_STARTING2', + 'start_process' : True, + 'monitor_process' : False, + 'process_name' : 'phosphor-read-eeprom', + 'args' : ['--eeprom','/sys/bus/i2c/devices/0-0050/eeprom','--fruid','64'], + }, + 'motherboard_vpd' : { + 'system_state' : 'BMC_STARTING2', + 'start_process' : True, + 'monitor_process' : False, + 'process_name' : 'phosphor-read-eeprom', + 'args' : ['--eeprom','/sys/bus/i2c/devices/4-0054/eeprom','--fruid','3'], + }, + 'exp_vpd' : { + 'system_state' : 'BMC_STARTING2', + 'start_process' : True, + 'monitor_process' : False, + 'process_name' : 'phosphor-read-eeprom', + 'args' : ['--eeprom','/sys/bus/i2c/devices/6-0051/eeprom','--fruid','65'], + }, + 'hdd_vpd' : { + 'system_state' : 'BMC_STARTING2', + 'start_process' : True, + 'monitor_process' : False, + 'process_name' : 'phosphor-read-eeprom', + 'args' : ['--eeprom','/sys/bus/i2c/devices/6-0055/eeprom','--fruid','66'], + }, + 'restore' : { + 'system_state' : 'BMC_READY', + 'start_process' : True, + 'monitor_process' : False, + 'process_name' : 'discover_system_state.py', + }, + 'bmc_control' : { + 'system_state' : 'BMC_STARTING', + 'start_process' : True, + 'monitor_process' : True, + 'process_name' : 'control_bmc.exe', + }, +} + +CACHED_INTERFACES = { + "org.openbmc.InventoryItem" : True, + "org.openbmc.control.Chassis" : True, + } +INVENTORY_ROOT = '/org/openbmc/inventory' + +FRU_INSTANCES = { + '/system' : { 'fru_type' : 'SYSTEM','is_fru' : True, 'present' : "True" }, + '/system/bios' : { 'fru_type' : 'SYSTEM','is_fru' : True, 'present' : "True" }, + '/system/misc' : { 'fru_type' : 'SYSTEM','is_fru' : False, }, + + '/system/chassis' : { 'fru_type' : 'SYSTEM','is_fru' : True, 'present' : "True" }, + + '/system/chassis/motherboard' : { 'fru_type' : 'MAIN_PLANAR','is_fru' : True, }, + '/system/chassis/io_board' : { 'fru_type' : 'DAUGHTER_CARD','is_fru' : True, }, + '/system/chassis/sas_expander' : { 'fru_type' : 'DAUGHTER_CARD','is_fru' : True, }, + '/system/chassis/hdd_backplane' : { 'fru_type' : 'DAUGHTER_CARD','is_fru' : True, }, + + '/system/systemevent' : { 'fru_type' : 'SYSTEM_EVENT', 'is_fru' : False, }, + '/system/chassis/motherboard/refclock' : { 'fru_type' : 'MAIN_PLANAR', 'is_fru' : False, }, + '/system/chassis/motherboard/pcieclock': { 'fru_type' : 'MAIN_PLANAR', 'is_fru' : False, }, + '/system/chassis/motherboard/todclock' : { 'fru_type' : 'MAIN_PLANAR', 'is_fru' : False, }, + '/system/chassis/motherboard/apss' : { 'fru_type' : 'MAIN_PLANAR', 'is_fru' : False, }, + + '/system/chassis/fan0' : { 'fru_type' : 'FAN','is_fru' : True, }, + '/system/chassis/fan1' : { 'fru_type' : 'FAN','is_fru' : True, }, + '/system/chassis/fan2' : { 'fru_type' : 'FAN','is_fru' : True, }, + '/system/chassis/fan3' : { 'fru_type' : 'FAN','is_fru' : True, }, + '/system/chassis/fan4' : { 'fru_type' : 'FAN','is_fru' : True, }, + '/system/chassis/fan5' : { 'fru_type' : 'FAN','is_fru' : True, }, + + '/system/chassis/motherboard/bmc' : { 'fru_type' : 'BMC','is_fru' : False, 'manufacturer' : 'ASPEED' }, + + '/system/chassis/motherboard/cpu0' : { 'fru_type' : 'CPU', 'is_fru' : True, }, + '/system/chassis/motherboard/cpu1' : { 'fru_type' : 'CPU', 'is_fru' : True, }, + + '/system/chassis/motherboard/cpu0/core0' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + '/system/chassis/motherboard/cpu0/core1' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + '/system/chassis/motherboard/cpu0/core2' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + '/system/chassis/motherboard/cpu0/core3' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + '/system/chassis/motherboard/cpu0/core4' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + '/system/chassis/motherboard/cpu0/core5' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + '/system/chassis/motherboard/cpu0/core6' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + '/system/chassis/motherboard/cpu0/core7' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + '/system/chassis/motherboard/cpu0/core8' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + '/system/chassis/motherboard/cpu0/core9' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + '/system/chassis/motherboard/cpu0/core10': { 'fru_type' : 'CORE', 'is_fru' : False, }, + '/system/chassis/motherboard/cpu0/core11': { 'fru_type' : 'CORE', 'is_fru' : False, }, + + '/system/chassis/motherboard/cpu1/core0' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + '/system/chassis/motherboard/cpu1/core1' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + '/system/chassis/motherboard/cpu1/core2' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + '/system/chassis/motherboard/cpu1/core3' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + '/system/chassis/motherboard/cpu1/core4' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + '/system/chassis/motherboard/cpu1/core5' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + '/system/chassis/motherboard/cpu1/core6' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + '/system/chassis/motherboard/cpu1/core7' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + '/system/chassis/motherboard/cpu1/core8' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + '/system/chassis/motherboard/cpu1/core9' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + '/system/chassis/motherboard/cpu1/core10' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + '/system/chassis/motherboard/cpu1/core11' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + + '/system/chassis/motherboard/membuf0' : { 'fru_type' : 'MEMORY_BUFFER', 'is_fru' : False, }, + '/system/chassis/motherboard/membuf1' : { 'fru_type' : 'MEMORY_BUFFER', 'is_fru' : False, }, + '/system/chassis/motherboard/membuf2' : { 'fru_type' : 'MEMORY_BUFFER', 'is_fru' : False, }, + '/system/chassis/motherboard/membuf3' : { 'fru_type' : 'MEMORY_BUFFER', 'is_fru' : False, }, + '/system/chassis/motherboard/membuf4' : { 'fru_type' : 'MEMORY_BUFFER', 'is_fru' : False, }, + '/system/chassis/motherboard/membuf5' : { 'fru_type' : 'MEMORY_BUFFER', 'is_fru' : False, }, + '/system/chassis/motherboard/membuf6' : { 'fru_type' : 'MEMORY_BUFFER', 'is_fru' : False, }, + '/system/chassis/motherboard/membuf7' : { 'fru_type' : 'MEMORY_BUFFER', 'is_fru' : False, }, + + '/system/chassis/motherboard/dimm0' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm1' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm2' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm3' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm4' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm5' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm6' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm7' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm8' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm9' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm10' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm11' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm12' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm13' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm14' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm15' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm16' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm17' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm18' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm19' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm20' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm21' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm22' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm23' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm24' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm25' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm26' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm27' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm28' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm29' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm30' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm31' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + + '/system/chassis/io_board/pcie_slot0_riser' : { 'fru_type' : 'PCIE_RISER', 'is_fru' : True,}, + '/system/chassis/io_board/pcie_slot1_riser' : { 'fru_type' : 'PCIE_RISER', 'is_fru' : True,}, + '/system/chassis/io_board/pcie_slot2_riser' : { 'fru_type' : 'PCIE_RISER', 'is_fru' : True,}, + '/system/chassis/io_board/pcie_slot0' : { 'fru_type' : 'PCIE_CARD', 'is_fru' : True,}, + '/system/chassis/io_board/pcie_slot1' : { 'fru_type' : 'PCIE_CARD', 'is_fru' : True,}, + '/system/chassis/io_board/pcie_slot2' : { 'fru_type' : 'PCIE_CARD', 'is_fru' : True,}, + '/system/chassis/io_board/pcie_mezz0' : { 'fru_type' : 'PCIE_CARD', 'is_fru' : True,}, + '/system/chassis/io_board/pcie_mezz1' : { 'fru_type' : 'PCIE_CARD', 'is_fru' : True,}, +} + +ID_LOOKUP = { + 'FRU' : { + 0x03 : '/system/chassis/motherboard', + 0x40 : '/system/chassis/io_board', + 0x01 : '/system/chassis/motherboard/cpu0', + 0x02 : '/system/chassis/motherboard/cpu1', + 0x04 : '/system/chassis/motherboard/membuf0', + 0x05 : '/system/chassis/motherboard/membuf1', + 0x06 : '/system/chassis/motherboard/membuf2', + 0x07 : '/system/chassis/motherboard/membuf3', + 0x08 : '/system/chassis/motherboard/membuf4', + 0x09 : '/system/chassis/motherboard/membuf5', + 0x0a : '/system/chassis/motherboard/membuf6', + 0x0b : '/system/chassis/motherboard/membuf7', + 0x0c : '/system/chassis/motherboard/dimm0', + 0x0d : '/system/chassis/motherboard/dimm1', + 0x0e : '/system/chassis/motherboard/dimm2', + 0x0f : '/system/chassis/motherboard/dimm3', + 0x10 : '/system/chassis/motherboard/dimm4', + 0x11 : '/system/chassis/motherboard/dimm5', + 0x12 : '/system/chassis/motherboard/dimm6', + 0x13 : '/system/chassis/motherboard/dimm7', + 0x14 : '/system/chassis/motherboard/dimm8', + 0x15 : '/system/chassis/motherboard/dimm9', + 0x16 : '/system/chassis/motherboard/dimm10', + 0x17 : '/system/chassis/motherboard/dimm11', + 0x18 : '/system/chassis/motherboard/dimm12', + 0x19 : '/system/chassis/motherboard/dimm13', + 0x1a : '/system/chassis/motherboard/dimm14', + 0x1b : '/system/chassis/motherboard/dimm15', + 0x1c : '/system/chassis/motherboard/dimm16', + 0x1d : '/system/chassis/motherboard/dimm17', + 0x1e : '/system/chassis/motherboard/dimm18', + 0x1f : '/system/chassis/motherboard/dimm19', + 0x20 : '/system/chassis/motherboard/dimm20', + 0x21 : '/system/chassis/motherboard/dimm21', + 0x22 : '/system/chassis/motherboard/dimm22', + 0x23 : '/system/chassis/motherboard/dimm23', + 0x24 : '/system/chassis/motherboard/dimm24', + 0x25 : '/system/chassis/motherboard/dimm25', + 0x26 : '/system/chassis/motherboard/dimm26', + 0x27 : '/system/chassis/motherboard/dimm27', + 0x28 : '/system/chassis/motherboard/dimm28', + 0x29 : '/system/chassis/motherboard/dimm29', + 0x2a : '/system/chassis/motherboard/dimm30', + 0x2b : '/system/chassis/motherboard/dimm31', + 0x33 : '/system', + }, + 'FRU_STR' : { + 'PRODUCT_0' : '/system/bios', + 'BOARD_3' : '/system/misc', + 'PRODUCT_51' : '/system/misc', + 'PRODUCT_100': '/system', + 'CHASSIS_100': '/system/chassis', + 'BOARD_100' : '/system/chassis/io_board', + 'BOARD_101' : '/system/chassis/sas_expander', + 'BOARD_102' : '/system/chassis/hdd_backplane', + 'CHASSIS_3' : '/system/chassis/motherboard', + 'BOARD_1' : '/system/chassis/motherboard/cpu0', + 'BOARD_2' : '/system/chassis/motherboard/cpu1', + 'BOARD_4' : '/system/chassis/motherboard/membuf0', + 'BOARD_5' : '/system/chassis/motherboard/membuf1', + 'BOARD_6' : '/system/chassis/motherboard/membuf2', + 'BOARD_7' : '/system/chassis/motherboard/membuf3', + 'BOARD_8' : '/system/chassis/motherboard/membuf4', + 'BOARD_9' : '/system/chassis/motherboard/membuf5', + 'BOARD_10' : '/system/chassis/motherboard/membuf6', + 'BOARD_11' : '/system/chassis/motherboard/membuf7', + 'PRODUCT_12' : '/system/chassis/motherboard/dimm0', + 'PRODUCT_13' : '/system/chassis/motherboard/dimm1', + 'PRODUCT_14' : '/system/chassis/motherboard/dimm2', + 'PRODUCT_15' : '/system/chassis/motherboard/dimm3', + 'PRODUCT_16' : '/system/chassis/motherboard/dimm4', + 'PRODUCT_17' : '/system/chassis/motherboard/dimm5', + 'PRODUCT_18' : '/system/chassis/motherboard/dimm6', + 'PRODUCT_19' : '/system/chassis/motherboard/dimm7', + 'PRODUCT_20' : '/system/chassis/motherboard/dimm8', + 'PRODUCT_21' : '/system/chassis/motherboard/dimm9', + 'PRODUCT_22' : '/system/chassis/motherboard/dimm10', + 'PRODUCT_23' : '/system/chassis/motherboard/dimm11', + 'PRODUCT_24' : '/system/chassis/motherboard/dimm12', + 'PRODUCT_25' : '/system/chassis/motherboard/dimm13', + 'PRODUCT_26' : '/system/chassis/motherboard/dimm14', + 'PRODUCT_27' : '/system/chassis/motherboard/dimm15', + 'PRODUCT_28' : '/system/chassis/motherboard/dimm16', + 'PRODUCT_29' : '/system/chassis/motherboard/dimm17', + 'PRODUCT_30' : '/system/chassis/motherboard/dimm18', + 'PRODUCT_31' : '/system/chassis/motherboard/dimm19', + 'PRODUCT_32' : '/system/chassis/motherboard/dimm20', + 'PRODUCT_33' : '/system/chassis/motherboard/dimm21', + 'PRODUCT_34' : '/system/chassis/motherboard/dimm22', + 'PRODUCT_35' : '/system/chassis/motherboard/dimm23', + 'PRODUCT_36' : '/system/chassis/motherboard/dimm24', + 'PRODUCT_37' : '/system/chassis/motherboard/dimm25', + 'PRODUCT_38' : '/system/chassis/motherboard/dimm26', + 'PRODUCT_39' : '/system/chassis/motherboard/dimm27', + 'PRODUCT_40' : '/system/chassis/motherboard/dimm28', + 'PRODUCT_41' : '/system/chassis/motherboard/dimm29', + 'PRODUCT_42' : '/system/chassis/motherboard/dimm30', + 'PRODUCT_43' : '/system/chassis/motherboard/dimm31', + }, + 'SENSOR' : { + 0x35 : '/system/systemevent', + 0x36 : '/system/powerlimit', + 0x34 : '/system/chassis/motherboard', + 0x31 : '/system/chassis/motherboard/pcielink', + 0x37 : '/system/chassis/motherboard/refclock', + 0x38 : '/system/chassis/motherboard/pcieclock', + 0x39 : '/system/chassis/motherboard/todclock', + 0x3A : '/system/chassis/motherboard/apss', + 0x0c : '/system/chassis/motherboard/cpu0', + 0x0e : '/system/chassis/motherboard/cpu1', + 0xc8 : '/system/chassis/motherboard/cpu0/core0', + 0xc9 : '/system/chassis/motherboard/cpu0/core1', + 0xca : '/system/chassis/motherboard/cpu0/core2', + 0xcb : '/system/chassis/motherboard/cpu0/core3', + 0xcc : '/system/chassis/motherboard/cpu0/core4', + 0xcd : '/system/chassis/motherboard/cpu0/core5', + 0xce : '/system/chassis/motherboard/cpu0/core6', + 0xcf : '/system/chassis/motherboard/cpu0/core7', + 0xd0 : '/system/chassis/motherboard/cpu0/core8', + 0xd1 : '/system/chassis/motherboard/cpu0/core9', + 0xd2 : '/system/chassis/motherboard/cpu0/core10', + 0xd3 : '/system/chassis/motherboard/cpu0/core11', + 0xd4 : '/system/chassis/motherboard/cpu1/core0', + 0xd5 : '/system/chassis/motherboard/cpu1/core1', + 0xd6 : '/system/chassis/motherboard/cpu1/core2', + 0xd7 : '/system/chassis/motherboard/cpu1/core3', + 0xd8 : '/system/chassis/motherboard/cpu1/core4', + 0xd9 : '/system/chassis/motherboard/cpu1/core5', + 0xda : '/system/chassis/motherboard/cpu1/core6', + 0xdb : '/system/chassis/motherboard/cpu1/core7', + 0xdc : '/system/chassis/motherboard/cpu1/core8', + 0xdd : '/system/chassis/motherboard/cpu1/core9', + 0xde : '/system/chassis/motherboard/cpu1/core10', + 0xdf : '/system/chassis/motherboard/cpu1/core11', + 0x40 : '/system/chassis/motherboard/membuf0', + 0x41 : '/system/chassis/motherboard/membuf1', + 0x42 : '/system/chassis/motherboard/membuf2', + 0x43 : '/system/chassis/motherboard/membuf3', + 0x44 : '/system/chassis/motherboard/membuf4', + 0x45 : '/system/chassis/motherboard/membuf5', + 0x46 : '/system/chassis/motherboard/membuf6', + 0x47 : '/system/chassis/motherboard/membuf7', + 0x10 : '/system/chassis/motherboard/dimm0', + 0x11 : '/system/chassis/motherboard/dimm1', + 0x12 : '/system/chassis/motherboard/dimm2', + 0x13 : '/system/chassis/motherboard/dimm3', + 0x14 : '/system/chassis/motherboard/dimm4', + 0x15 : '/system/chassis/motherboard/dimm5', + 0x16 : '/system/chassis/motherboard/dimm6', + 0x17 : '/system/chassis/motherboard/dimm7', + 0x18 : '/system/chassis/motherboard/dimm8', + 0x19 : '/system/chassis/motherboard/dimm9', + 0x1a : '/system/chassis/motherboard/dimm10', + 0x1b : '/system/chassis/motherboard/dimm11', + 0x1c : '/system/chassis/motherboard/dimm12', + 0x1d : '/system/chassis/motherboard/dimm13', + 0x1e : '/system/chassis/motherboard/dimm14', + 0x1f : '/system/chassis/motherboard/dimm15', + 0x20 : '/system/chassis/motherboard/dimm16', + 0x21 : '/system/chassis/motherboard/dimm17', + 0x22 : '/system/chassis/motherboard/dimm18', + 0x23 : '/system/chassis/motherboard/dimm19', + 0x24 : '/system/chassis/motherboard/dimm20', + 0x25 : '/system/chassis/motherboard/dimm21', + 0x26 : '/system/chassis/motherboard/dimm22', + 0x27 : '/system/chassis/motherboard/dimm23', + 0x28 : '/system/chassis/motherboard/dimm24', + 0x29 : '/system/chassis/motherboard/dimm25', + 0x2a : '/system/chassis/motherboard/dimm26', + 0x2b : '/system/chassis/motherboard/dimm27', + 0x2c : '/system/chassis/motherboard/dimm28', + 0x2d : '/system/chassis/motherboard/dimm29', + 0x2e : '/system/chassis/motherboard/dimm30', + 0x2f : '/system/chassis/motherboard/dimm31', + 0x09 : '/org/openbmc/sensors/host/BootCount', + 0x05 : '/org/openbmc/sensors/host/BootProgress', + 0x04 : '/org/openbmc/sensors/host/HostStatus', + 0x08 : '/org/openbmc/sensors/host/cpu0/OccStatus', + 0x0A : '/org/openbmc/sensors/host/cpu1/OccStatus', + 0x32 : '/org/openbmc/sensors/host/OperatingSystemStatus', + 0x33 : '/org/openbmc/sensors/host/powercap', + }, + 'GPIO_PRESENT' : { + 'SLOT0_RISER_PRESENT' : '/system/chassis/io_board/pcie_slot0_riser', + 'SLOT1_RISER_PRESENT' : '/system/chassis/io_board/pcie_slot1_riser', + 'SLOT2_RISER_PRESENT' : '/system/chassis/io_board/pcie_slot2_riser', + 'SLOT0_PRESENT' : '/system/chassis/io_board/pcie_slot0', + 'SLOT1_PRESENT' : '/system/chassis/io_board/pcie_slot1', + 'SLOT2_PRESENT' : '/system/chassis/io_board/pcie_slot2', + 'MEZZ0_PRESENT' : '/system/chassis/io_board/pcie_mezz0', + 'MEZZ1_PRESENT' : '/system/chassis/io_board/pcie_mezz1', + } +} + +GPIO_CONFIG = {} +GPIO_CONFIG['FSI_CLK'] = { 'gpio_pin': 'A4', 'direction': 'out' } +GPIO_CONFIG['FSI_DATA'] = { 'gpio_pin': 'A5', 'direction': 'out' } +GPIO_CONFIG['FSI_ENABLE'] = { 'gpio_pin': 'D0', 'direction': 'out' } +GPIO_CONFIG['POWER_PIN'] = { 'gpio_pin': 'E1', 'direction': 'out' } +GPIO_CONFIG['CRONUS_SEL'] = { 'gpio_pin': 'A6', 'direction': 'out' } +GPIO_CONFIG['PGOOD'] = { 'gpio_pin': 'C7', 'direction': 'in' } +GPIO_CONFIG['POWER_BUTTON'] = { 'gpio_pin': 'E0', 'direction': 'both' } +GPIO_CONFIG['PCIE_RESET'] = { 'gpio_pin': 'B5', 'direction': 'out' } +GPIO_CONFIG['USB_RESET'] = { 'gpio_pin': 'B6', 'direction': 'out' } + +GPIO_CONFIG['IDBTN'] = { 'gpio_pin': 'Q7', 'direction': 'out' } +GPIO_CONFIG['BMC_THROTTLE'] = { 'gpio_pin': 'J3', 'direction': 'out' } +GPIO_CONFIG['RESET_BUTTON'] = { 'gpio_pin': 'E2', 'direction': 'both' } +GPIO_CONFIG['CPLD_TCK'] = { 'gpio_pin': 'P0', 'direction': 'out' } +GPIO_CONFIG['CPLD_TDO'] = { 'gpio_pin': 'P1', 'direction': 'out' } +GPIO_CONFIG['CPLD_TDI'] = { 'gpio_pin': 'P2', 'direction': 'out' } +GPIO_CONFIG['CPLD_TMS'] = { 'gpio_pin': 'P3', 'direction': 'out' } + +GPIO_CONFIG['SLOT0_RISER_PRESENT'] = { 'gpio_pin': 'N0', 'direction': 'in' } +GPIO_CONFIG['SLOT1_RISER_PRESENT'] = { 'gpio_pin': 'N1', 'direction': 'in' } +GPIO_CONFIG['SLOT2_RISER_PRESENT'] = { 'gpio_pin': 'N2', 'direction': 'in' } +GPIO_CONFIG['SLOT0_PRESENT'] = { 'gpio_pin': 'N3', 'direction': 'in' } +GPIO_CONFIG['SLOT1_PRESENT'] = { 'gpio_pin': 'N4', 'direction': 'in' } +GPIO_CONFIG['SLOT2_PRESENT'] = { 'gpio_pin': 'N5', 'direction': 'in' } +GPIO_CONFIG['MEZZ0_PRESENT'] = { 'gpio_pin': 'O0', 'direction': 'in' } +GPIO_CONFIG['MEZZ1_PRESENT'] = { 'gpio_pin': 'O1', 'direction': 'in' } + +def convertGpio(name): + name = name.upper() + c = name[0:1] + offset = int(name[1:]) + a = ord(c)-65 + base = a*8+GPIO_BASE + return base+offset + + +HWMON_CONFIG = { + '0-004a' : { + 'names' : { + 'temp1_input' : { 'object_path' : 'temperature/ambient','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + } + }, + '6-002d' : { + 'names' : { + 'pwm1' : { 'object_path' : 'speed/fan0','poll_interval' : 10000,'scale' : 1,'units' : '' }, + 'pwm2' : { 'object_path' : 'speed/fan1','poll_interval' : 10000,'scale' : 1,'units' : '' }, + 'pwm3' : { 'object_path' : 'speed/fan2','poll_interval' : 10000,'scale' : 1,'units' : '' }, + 'in1_input' : { 'object_path' : 'voltage/P1V35_CPU0_BUF4','poll_interval' : 10000,'scale' : 1,'units' : '' }, + 'in2_input' : { 'object_path' : 'voltage/P0V9_CPU0_BUF1','poll_interval' : 10000,'scale' : 1,'units' : '' }, + 'in3_input' : { 'object_path' : 'voltage/P0V9_CPU0_BUF2','poll_interval' : 10000,'scale' : 1,'units' : '' }, + 'in4_input' : { 'object_path' : 'voltage/P0V9_CPU0_BUF3','poll_interval' : 10000,'scale' : 1,'units' : '' }, + 'in5_input' : { 'object_path' : 'voltage/P0V9_CPU0_BUF4','poll_interval' : 10000,'scale' : 1,'units' : '' }, + 'in6_input' : { 'object_path' : 'voltage/P1V09_CPU0_BUF1','poll_interval' : 10000,'scale' : 1,'units' : '' }, + 'in7_input' : { 'object_path' : 'voltage/P1V09_CPU0_BUF2','poll_interval' : 10000,'scale' : 1,'units' : '' }, + 'in8_input' : { 'object_path' : 'voltage/P1V09_CPU0_BUF3','poll_interval' : 10000,'scale' : 1,'units' : '' }, + 'in9_input' : { 'object_path' : 'voltage/P1V09_CPU0_BUF4','poll_interval' : 10000,'scale' : 1,'units' : '' }, + 'in10_input' : { 'object_path' : 'voltage/P0V97_CPU0','poll_interval' : 10000,'scale' : 1,'units' : '' }, + 'in11_input' : { 'object_path' : 'voltage/P1V1_MEM0','poll_interval' : 10000,'scale' : 1,'units' : '' }, + 'in12_input' : { 'object_path' : 'voltage/P1V35_CPU0_BUF1','poll_interval' : 10000,'scale' : 1,'units' : '' }, + 'in13_input' : { 'object_path' : 'voltage/P1V35_CPU0_BUF2','poll_interval' : 10000,'scale' : 1,'units' : '' }, + 'in14_input' : { 'object_path' : 'voltage/P1V35_CPU0_BUF3','poll_interval' : 10000,'scale' : 1,'units' : '' }, + } + }, + '6-002e' : { + 'names' : { + 'pwm1' : { 'object_path' : 'speed/fan3','poll_interval' : 10000,'scale' : 1,'units' : '' }, + 'pwm2' : { 'object_path' : 'speed/fan4','poll_interval' : 10000,'scale' : 1,'units' : '' }, + 'pwm3' : { 'object_path' : 'speed/fan5','poll_interval' : 10000,'scale' : 1,'units' : '' }, + 'in1_input' : { 'object_path' : 'voltage/P1V35_CPU1_BUF4','poll_interval' : 10000,'scale' : 1,'units' : '' }, + 'in2_input' : { 'object_path' : 'voltage/P0V9_CPU1_BUF1','poll_interval' : 10000,'scale' : 1,'units' : '' }, + 'in3_input' : { 'object_path' : 'voltage/P0V9_CPU1_BUF2','poll_interval' : 10000,'scale' : 1,'units' : '' }, + 'in4_input' : { 'object_path' : 'voltage/P0V9_CPU1_BUF3','poll_interval' : 10000,'scale' : 1,'units' : '' }, + 'in5_input' : { 'object_path' : 'voltage/P0V9_CPU1_BUF4','poll_interval' : 10000,'scale' : 1,'units' : '' }, + 'in6_input' : { 'object_path' : 'voltage/P1V09_CPU1_BUF1','poll_interval' : 10000,'scale' : 1,'units' : '' }, + 'in7_input' : { 'object_path' : 'voltage/P1V09_CPU1_BUF2','poll_interval' : 10000,'scale' : 1,'units' : '' }, + 'in8_input' : { 'object_path' : 'voltage/P1V09_CPU1_BUF3','poll_interval' : 10000,'scale' : 1,'units' : '' }, + 'in9_input' : { 'object_path' : 'voltage/P1V09_CPU1_BUF4','poll_interval' : 10000,'scale' : 1,'units' : '' }, + 'in10_input' : { 'object_path' : 'voltage/P0V97_CPU1','poll_interval' : 10000,'scale' : 1,'units' : '' }, + 'in11_input' : { 'object_path' : 'voltage/P1V1_MEM1','poll_interval' : 10000,'scale' : 1,'units' : '' }, + 'in12_input' : { 'object_path' : 'voltage/P1V35_CPU1_BUF1','poll_interval' : 10000,'scale' : 1,'units' : '' }, + 'in13_input' : { 'object_path' : 'voltage/P1V35_CPU1_BUF2','poll_interval' : 10000,'scale' : 1,'units' : '' }, + 'in14_input' : { 'object_path' : 'voltage/P1V35_CPU1_BUF3','poll_interval' : 10000,'scale' : 1,'units' : '' }, + } + }, + '3-0050' : { + 'names' : { + 'caps_curr_powercap' : { 'object_path' : 'powercap/curr_cap','poll_interval' : 10000,'scale' : 1,'units' : 'W' }, + 'caps_curr_powerreading' : { 'object_path' : 'powercap/system_power','poll_interval' : 10000,'scale' : 1,'units' : 'W' }, + 'caps_max_powercap' : { 'object_path' : 'powercap/max_cap','poll_interval' : 10000,'scale' : 1,'units' : 'W' }, + 'caps_min_powercap' : { 'object_path' : 'powercap/min_cap','poll_interval' : 10000,'scale' : 1,'units' : 'W' }, + 'caps_norm_powercap' : { 'object_path' : 'powercap/n_cap','poll_interval' : 10000,'scale' : 1,'units' : 'W' }, + 'caps_user_powerlimit' : { 'object_path' : 'powercap/user_cap','poll_interval' : 10000,'scale' : 1,'units' : 'W' }, + }, + 'labels' : { + '176' : { 'object_path' : 'temperature/cpu0/core0','poll_interval' : 5000,'scale' : 1000,'units' : 'C', + 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, + '177' : { 'object_path' : 'temperature/cpu0/core1','poll_interval' : 5000,'scale' : 1000,'units' : 'C', + 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, + '178' : { 'object_path' : 'temperature/cpu0/core2','poll_interval' : 5000,'scale' : 1000,'units' : 'C', + 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, + '179' : { 'object_path' : 'temperature/cpu0/core3','poll_interval' : 5000,'scale' : 1000,'units' : 'C', + 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, + '180' : { 'object_path' : 'temperature/cpu0/core4','poll_interval' : 5000,'scale' : 1000,'units' : 'C', + 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, + '181' : { 'object_path' : 'temperature/cpu0/core5','poll_interval' : 5000,'scale' : 1000,'units' : 'C', + 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, + '182' : { 'object_path' : 'temperature/cpu0/core6','poll_interval' : 5000,'scale' : 1000,'units' : 'C', + 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, + '183' : { 'object_path' : 'temperature/cpu0/core7','poll_interval' : 5000,'scale' : 1000,'units' : 'C', + 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, + '184' : { 'object_path' : 'temperature/cpu0/core8','poll_interval' : 5000,'scale' : 1000,'units' : 'C', + 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, + '185' : { 'object_path' : 'temperature/cpu0/core9','poll_interval' : 5000,'scale' : 1000,'units' : 'C', + 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, + '186' : { 'object_path' : 'temperature/cpu0/core10','poll_interval' : 5000,'scale' : 1000,'units' : 'C', + 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, + '187' : { 'object_path' : 'temperature/cpu0/core11','poll_interval' : 5000,'scale' : 1000,'units' : 'C', + 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, + '102' : { 'object_path' : 'temperature/dimm0','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '103' : { 'object_path' : 'temperature/dimm1','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '104' : { 'object_path' : 'temperature/dimm2','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '105' : { 'object_path' : 'temperature/dimm3','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '106' : { 'object_path' : 'temperature/dimm4','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '107' : { 'object_path' : 'temperature/dimm5','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '108' : { 'object_path' : 'temperature/dimm6','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '109' : { 'object_path' : 'temperature/dimm7','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '110' : { 'object_path' : 'temperature/dimm8','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '111' : { 'object_path' : 'temperature/dimm9','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '112' : { 'object_path' : 'temperature/dimm10','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '113' : { 'object_path' : 'temperature/dimm11','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '114' : { 'object_path' : 'temperature/dimm12','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '115' : { 'object_path' : 'temperature/dimm13','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '116' : { 'object_path' : 'temperature/dimm14','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '117' : { 'object_path' : 'temperature/dimm15','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '94' : { 'object_path' : 'temperature/membuf0','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '95' : { 'object_path' : 'temperature/membuf1','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '96' : { 'object_path' : 'temperature/membuf2','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '97' : { 'object_path' : 'temperature/membuf3','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + } + }, + '3-0051' : { + 'labels' : { + '188' : { 'object_path' : 'temperature/cpu1/core0','poll_interval' : 5000,'scale' : 1000,'units' : 'C', + 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, + '189' : { 'object_path' : 'temperature/cpu1/core1','poll_interval' : 5000,'scale' : 1000,'units' : 'C', + 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, + '190' : { 'object_path' : 'temperature/cpu1/core2','poll_interval' : 5000,'scale' : 1000,'units' : 'C', + 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, + '191' : { 'object_path' : 'temperature/cpu1/core3','poll_interval' : 5000,'scale' : 1000,'units' : 'C', + 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, + '192' : { 'object_path' : 'temperature/cpu1/core4','poll_interval' : 5000,'scale' : 1000,'units' : 'C', + 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, + '193' : { 'object_path' : 'temperature/cpu1/core5','poll_interval' : 5000,'scale' : 1000,'units' : 'C', + 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, + '194' : { 'object_path' : 'temperature/cpu1/core6','poll_interval' : 5000,'scale' : 1000,'units' : 'C', + 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, + '195' : { 'object_path' : 'temperature/cpu1/core7','poll_interval' : 5000,'scale' : 1000,'units' : 'C', + 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, + '196' : { 'object_path' : 'temperature/cpu1/core8','poll_interval' : 5000,'scale' : 1000,'units' : 'C', + 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, + '197' : { 'object_path' : 'temperature/cpu1/core9','poll_interval' : 5000,'scale' : 1000,'units' : 'C', + 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, + '198' : { 'object_path' : 'temperature/cpu1/core10','poll_interval' : 5000,'scale' : 1000,'units' : 'C', + 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, + '199' : { 'object_path' : 'temperature/cpu1/core11','poll_interval' : 5000,'scale' : 1000,'units' : 'C', + 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, + '118' : { 'object_path' : 'temperature/dimm16','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '119' : { 'object_path' : 'temperature/dimm17','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '120' : { 'object_path' : 'temperature/dimm18','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '121' : { 'object_path' : 'temperature/dimm19','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '122' : { 'object_path' : 'temperature/dimm20','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '123' : { 'object_path' : 'temperature/dimm21','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '124' : { 'object_path' : 'temperature/dimm22','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '125' : { 'object_path' : 'temperature/dimm23','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '126' : { 'object_path' : 'temperature/dimm24','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '127' : { 'object_path' : 'temperature/dimm25','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '128' : { 'object_path' : 'temperature/dimm26','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '129' : { 'object_path' : 'temperature/dimm27','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '130' : { 'object_path' : 'temperature/dimm28','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '131' : { 'object_path' : 'temperature/dimm29','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '132' : { 'object_path' : 'temperature/dimm30','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '133' : { 'object_path' : 'temperature/dimm31','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '98' : { 'object_path' : 'temperature/membuf4','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '99' : { 'object_path' : 'temperature/membuf5','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '100' : { 'object_path' : 'temperature/membuf6','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '101' : { 'object_path' : 'temperature/membuf7','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + } + }, + '4-0010' : { + 'names' : { + # Barreleye uses 0.25 millioohms sense resistor for adm1278 + # To convert Iout register value Y to real-world value X, use an equation: + # X= 1/m * (Y * 10^-R - b), here m = 800 * R_sense, and R_sense is expressed in milliohms. + # The adm1278 driver did the conversion, but the R_sense is set here as a scale factor. + 'curr1_input' : { 'object_path' : 'HSCA/Iout','poll_interval' : 5000,'scale' : 0.25,'units' : 'mA' }, + 'in2_input' : { 'object_path' : 'HSCA/Vout','poll_interval' : 5000,'scale' : 1,'units' : 'mV' }, + } + }, + '5-0010' : { + 'names' : { + 'curr1_input' : { 'object_path' : 'HSCB/Iout','poll_interval' : 5000,'scale' : 0.25,'units' : 'mA' }, + 'in2_input' : { 'object_path' : 'HSCB/Vout','poll_interval' : 5000,'scale' : 1,'units' : 'mV' }, + } + }, + '6-0010' : { + 'names' : { + 'curr1_input' : { 'object_path' : 'HSCC/Iout','poll_interval' : 5000,'scale' : 0.25,'units' : 'mA' }, + 'in2_input' : { 'object_path' : 'HSCC/Vout','poll_interval' : 5000,'scale' : 1,'units' : 'mV' }, + } + }, +} + +# Miscellaneous non-poll sensor with system specific properties. +# The sensor id is the same as those defined in ID_LOOKUP['SENSOR']. +MISC_SENSORS = { + 0x09 : { 'class' : 'BootCountSensor' }, + 0x05 : { 'class' : 'BootProgressSensor' }, + 0x08 : { 'class' : 'OccStatusSensor', + 'os_path' : '/sys/class/i2c-adapter/i2c-3/3-0050/online' }, + 0x0A : { 'class' : 'OccStatusSensor', + 'os_path' : '/sys/class/i2c-adapter/i2c-3/3-0051/online' }, + 0x32 : { 'class' : 'OperatingSystemStatusSensor' }, + 0x33 : { 'class' : 'PowerCap', + 'os_path' : '/sys/class/hwmon/hwmon3/user_powercap' }, +} diff --git a/configs/Firestone.py b/configs/Firestone.py new file mode 100644 index 0000000..4767178 --- /dev/null +++ b/configs/Firestone.py @@ -0,0 +1,626 @@ +#! /usr/bin/python + +HOME_PATH = './' +CACHE_PATH = '/var/cache/obmc/' +FLASH_DOWNLOAD_PATH = "/tmp" +GPIO_BASE = 320 +SYSTEM_NAME = "Firestone" + + +## System states +## state can change to next state in 2 ways: +## - a process emits a GotoSystemState signal with state name to goto +## - objects specified in EXIT_STATE_DEPEND have started +SYSTEM_STATES = [ + 'BASE_APPS', + 'BMC_STARTING', + 'BMC_READY', + 'HOST_POWERING_ON', + 'HOST_POWERED_ON', + 'HOST_BOOTING', + 'HOST_BOOTED', + 'HOST_POWERED_OFF', +] + +EXIT_STATE_DEPEND = { + 'BASE_APPS' : { + '/org/openbmc/sensors': 0, + }, + 'BMC_STARTING' : { + '/org/openbmc/control/chassis0': 0, + '/org/openbmc/control/power0' : 0, + '/org/openbmc/control/host0' : 0, + '/org/openbmc/control/flash/bios' : 0, + }, +} + +## method will be called when state is entered +ENTER_STATE_CALLBACK = { + 'HOST_POWERED_ON' : { + 'boot' : { + 'bus_name' : 'org.openbmc.control.Host', + 'obj_name' : '/org/openbmc/control/host0', + 'interface_name' : 'org.openbmc.control.Host', + }, + }, + 'HOST_POWERED_OFF' : { + 'setOff' : { + 'bus_name' : 'org.openbmc.control.led', + 'obj_name' : '/org/openbmc/control/led/identify', + 'interface_name' : 'org.openbmc.Led', + } + }, + 'BMC_READY' : { + 'setOn' : { + 'bus_name' : 'org.openbmc.control.led', + 'obj_name' : '/org/openbmc/control/led/beep', + 'interface_name' : 'org.openbmc.Led', + }, + 'init' : { + 'bus_name' : 'org.openbmc.control.Flash', + 'obj_name' : '/org/openbmc/control/flash/bios', + 'interface_name' : 'org.openbmc.Flash', + } + } +} + +APPS = { + 'startup_hacks' : { + 'system_state' : 'BASE_APPS', + 'start_process' : True, + 'monitor_process' : False, + 'process_name' : 'startup_hacks.sh', + }, + 'inventory' : { + 'system_state' : 'BMC_STARTING', + 'start_process' : True, + 'monitor_process' : True, + 'process_name' : 'inventory_items.py', + 'args' : [ SYSTEM_NAME ] + }, + 'hwmon' : { + 'system_state' : 'BMC_STARTING', + 'start_process' : True, + 'monitor_process' : True, + 'process_name' : 'hwmon.py', + 'args' : [ SYSTEM_NAME ] + }, + 'sensor_manager' : { + 'system_state' : 'BASE_APPS', + 'start_process' : True, + 'monitor_process' : True, + 'process_name' : 'sensor_manager2.py', + 'args' : [ SYSTEM_NAME ] + }, + 'host_watchdog' : { + 'system_state' : 'BMC_STARTING', + 'start_process' : True, + 'monitor_process' : True, + 'process_name' : 'host_watchdog.exe', + }, + 'power_control' : { + 'system_state' : 'BMC_STARTING', + 'start_process' : True, + 'monitor_process' : True, + 'process_name' : 'power_control.exe', + 'args' : [ '3000', '10' ] + }, + 'power_button' : { + 'system_state' : 'BMC_STARTING', + 'start_process' : True, + 'monitor_process' : True, + 'process_name' : 'button_power.exe', + }, + 'reset_button' : { + 'system_state' : 'BMC_STARTING', + 'start_process' : True, + 'monitor_process' : True, + 'process_name' : 'button_reset.exe', + }, + 'led_control' : { + 'system_state' : 'BMC_STARTING', + 'start_process' : True, + 'monitor_process' : True, + 'process_name' : 'led_controller.exe', + }, + 'flash_control' : { + 'system_state' : 'BMC_STARTING', + 'start_process' : True, + 'monitor_process' : True, + 'process_name' : 'flash_bios.exe', + }, + 'bmc_flash_control' : { + 'system_state' : 'BMC_STARTING', + 'start_process' : True, + 'monitor_process' : True, + 'process_name' : 'bmc_update.py', + }, + 'download_manager' : { + 'system_state' : 'BMC_STARTING', + 'start_process' : True, + 'monitor_process' : True, + 'process_name' : 'download_manager.py', + 'args' : [ SYSTEM_NAME ] + }, + 'host_control' : { + 'system_state' : 'BMC_STARTING', + 'start_process' : True, + 'monitor_process' : True, + 'process_name' : 'control_host.exe', + }, + 'chassis_control' : { + 'system_state' : 'BMC_STARTING', + 'start_process' : True, + 'monitor_process' : True, + 'process_name' : 'chassis_control.py', + }, + 'restore' : { + 'system_state' : 'BMC_READY', + 'start_process' : True, + 'monitor_process' : False, + 'process_name' : 'discover_system_state.py', + }, + 'bmc_control' : { + 'system_state' : 'BMC_STARTING', + 'start_process' : True, + 'monitor_process' : True, + 'process_name' : 'control_bmc.exe', + }, +} + +CACHED_INTERFACES = { + "org.openbmc.InventoryItem" : True, + "org.openbmc.control.Chassis" : True, +} + +INVENTORY_ROOT = '/org/openbmc/inventory' + +FRU_INSTANCES = { + '/system' : { 'fru_type' : 'SYSTEM','is_fru' : True, 'present' : "True" }, + '/system/bios' : { 'fru_type' : 'SYSTEM','is_fru' : True, 'present' : "True" }, + '/system/misc' : { 'fru_type' : 'SYSTEM','is_fru' : False, }, + + '/system/chassis' : { 'fru_type' : 'SYSTEM','is_fru' : True, 'present' : "True" }, + + '/system/chassis/motherboard' : { 'fru_type' : 'MAIN_PLANAR','is_fru' : True, }, + + '/system/systemevent' : { 'fru_type' : 'SYSTEM_EVENT', 'is_fru' : False, }, + '/system/chassis/motherboard/refclock' : { 'fru_type' : 'MAIN_PLANAR', 'is_fru' : False, }, + '/system/chassis/motherboard/pcieclock': { 'fru_type' : 'MAIN_PLANAR', 'is_fru' : False, }, + '/system/chassis/motherboard/todclock' : { 'fru_type' : 'MAIN_PLANAR', 'is_fru' : False, }, + '/system/chassis/motherboard/apss' : { 'fru_type' : 'MAIN_PLANAR', 'is_fru' : False, }, + + '/system/chassis/fan0' : { 'fru_type' : 'FAN','is_fru' : True, }, + '/system/chassis/fan1' : { 'fru_type' : 'FAN','is_fru' : True, }, + '/system/chassis/fan2' : { 'fru_type' : 'FAN','is_fru' : True, }, + '/system/chassis/fan3' : { 'fru_type' : 'FAN','is_fru' : True, }, + + '/system/chassis/motherboard/bmc' : { 'fru_type' : 'BMC','is_fru' : False, 'manufacturer' : 'ASPEED' }, + + '/system/chassis/motherboard/cpu0' : { 'fru_type' : 'CPU', 'is_fru' : True, }, + '/system/chassis/motherboard/cpu1' : { 'fru_type' : 'CPU', 'is_fru' : True, }, + + '/system/chassis/motherboard/cpu0/core0' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + '/system/chassis/motherboard/cpu0/core1' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + '/system/chassis/motherboard/cpu0/core2' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + '/system/chassis/motherboard/cpu0/core3' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + '/system/chassis/motherboard/cpu0/core4' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + '/system/chassis/motherboard/cpu0/core5' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + '/system/chassis/motherboard/cpu0/core6' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + '/system/chassis/motherboard/cpu0/core7' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + '/system/chassis/motherboard/cpu0/core8' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + '/system/chassis/motherboard/cpu0/core9' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + '/system/chassis/motherboard/cpu0/core10': { 'fru_type' : 'CORE', 'is_fru' : False, }, + '/system/chassis/motherboard/cpu0/core11': { 'fru_type' : 'CORE', 'is_fru' : False, }, + + '/system/chassis/motherboard/cpu1/core0' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + '/system/chassis/motherboard/cpu1/core1' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + '/system/chassis/motherboard/cpu1/core2' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + '/system/chassis/motherboard/cpu1/core3' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + '/system/chassis/motherboard/cpu1/core4' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + '/system/chassis/motherboard/cpu1/core5' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + '/system/chassis/motherboard/cpu1/core6' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + '/system/chassis/motherboard/cpu1/core7' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + '/system/chassis/motherboard/cpu1/core8' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + '/system/chassis/motherboard/cpu1/core9' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + '/system/chassis/motherboard/cpu1/core10' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + '/system/chassis/motherboard/cpu1/core11' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + + '/system/chassis/motherboard/membuf0' : { 'fru_type' : 'MEMORY_BUFFER', 'is_fru' : False, }, + '/system/chassis/motherboard/membuf1' : { 'fru_type' : 'MEMORY_BUFFER', 'is_fru' : False, }, + '/system/chassis/motherboard/membuf2' : { 'fru_type' : 'MEMORY_BUFFER', 'is_fru' : False, }, + '/system/chassis/motherboard/membuf3' : { 'fru_type' : 'MEMORY_BUFFER', 'is_fru' : False, }, + '/system/chassis/motherboard/membuf4' : { 'fru_type' : 'MEMORY_BUFFER', 'is_fru' : False, }, + '/system/chassis/motherboard/membuf5' : { 'fru_type' : 'MEMORY_BUFFER', 'is_fru' : False, }, + '/system/chassis/motherboard/membuf6' : { 'fru_type' : 'MEMORY_BUFFER', 'is_fru' : False, }, + '/system/chassis/motherboard/membuf7' : { 'fru_type' : 'MEMORY_BUFFER', 'is_fru' : False, }, + + '/system/chassis/motherboard/dimm0' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm1' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm2' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm3' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm4' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm5' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm6' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm7' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm8' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm9' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm10' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm11' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm12' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm13' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm14' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm15' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm16' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm17' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm18' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm19' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm20' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm21' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm22' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm23' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm24' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm25' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm26' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm27' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm28' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm29' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm30' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm31' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, +} + +ID_LOOKUP = { + 'FRU' : { + 0x01 : '/system/chassis/motherboard/cpu0', + 0x02 : '/system/chassis/motherboard/cpu1', + 0x03 : '/system/chassis/motherboard', + 0x04 : '/system/chassis/motherboard/membuf0', + 0x05 : '/system/chassis/motherboard/membuf1', + 0x06 : '/system/chassis/motherboard/membuf2', + 0x07 : '/system/chassis/motherboard/membuf3', + 0x08 : '/system/chassis/motherboard/membuf4', + 0x09 : '/system/chassis/motherboard/membuf5', + 0x0c : '/system/chassis/motherboard/dimm0', + 0x0d : '/system/chassis/motherboard/dimm1', + 0x0e : '/system/chassis/motherboard/dimm2', + 0x0f : '/system/chassis/motherboard/dimm3', + 0x10 : '/system/chassis/motherboard/dimm4', + 0x11 : '/system/chassis/motherboard/dimm5', + 0x12 : '/system/chassis/motherboard/dimm6', + 0x13 : '/system/chassis/motherboard/dimm7', + 0x14 : '/system/chassis/motherboard/dimm8', + 0x15 : '/system/chassis/motherboard/dimm9', + 0x16 : '/system/chassis/motherboard/dimm10', + 0x17 : '/system/chassis/motherboard/dimm11', + 0x18 : '/system/chassis/motherboard/dimm12', + 0x19 : '/system/chassis/motherboard/dimm13', + 0x1a : '/system/chassis/motherboard/dimm14', + 0x1b : '/system/chassis/motherboard/dimm15', + 0x1c : '/system/chassis/motherboard/dimm16', + 0x1d : '/system/chassis/motherboard/dimm17', + 0x1e : '/system/chassis/motherboard/dimm18', + 0x1f : '/system/chassis/motherboard/dimm19', + 0x20 : '/system/chassis/motherboard/dimm20', + 0x21 : '/system/chassis/motherboard/dimm21', + 0x22 : '/system/chassis/motherboard/dimm22', + 0x23 : '/system/chassis/motherboard/dimm23', + 0x24 : '/system/chassis/motherboard/dimm24', + 0x25 : '/system/chassis/motherboard/dimm25', + 0x26 : '/system/chassis/motherboard/dimm26', + 0x27 : '/system/chassis/motherboard/dimm27', + 0x28 : '/system/chassis/motherboard/dimm28', + 0x29 : '/system/chassis/motherboard/dimm29', + 0x2a : '/system/chassis/motherboard/dimm30', + 0x2b : '/system/chassis/motherboard/dimm31', + }, + 'FRU_STR' : { + 'PRODUCT_0' : '/system/bios', + 'BOARD_1' : '/system/chassis/motherboard/cpu0', + 'BOARD_2' : '/system/chassis/motherboard/cpu1', + 'CHASSIS_3' : '/system/chassis/motherboard', + 'BOARD_3' : '/system/misc', + 'BOARD_4' : '/system/chassis/motherboard/membuf0', + 'BOARD_5' : '/system/chassis/motherboard/membuf1', + 'BOARD_6' : '/system/chassis/motherboard/membuf2', + 'BOARD_7' : '/system/chassis/motherboard/membuf3', + 'BOARD_8' : '/system/chassis/motherboard/membuf4', + 'BOARD_9' : '/system/chassis/motherboard/membuf5', + 'BOARD_10' : '/system/chassis/motherboard/membuf6', + 'BOARD_11' : '/system/chassis/motherboard/membuf7', + 'PRODUCT_12' : '/system/chassis/motherboard/dimm0', + 'PRODUCT_13' : '/system/chassis/motherboard/dimm1', + 'PRODUCT_14' : '/system/chassis/motherboard/dimm2', + 'PRODUCT_15' : '/system/chassis/motherboard/dimm3', + 'PRODUCT_16' : '/system/chassis/motherboard/dimm4', + 'PRODUCT_17' : '/system/chassis/motherboard/dimm5', + 'PRODUCT_18' : '/system/chassis/motherboard/dimm6', + 'PRODUCT_19' : '/system/chassis/motherboard/dimm7', + 'PRODUCT_20' : '/system/chassis/motherboard/dimm8', + 'PRODUCT_21' : '/system/chassis/motherboard/dimm9', + 'PRODUCT_22' : '/system/chassis/motherboard/dimm10', + 'PRODUCT_23' : '/system/chassis/motherboard/dimm11', + 'PRODUCT_24' : '/system/chassis/motherboard/dimm12', + 'PRODUCT_25' : '/system/chassis/motherboard/dimm13', + 'PRODUCT_26' : '/system/chassis/motherboard/dimm14', + 'PRODUCT_27' : '/system/chassis/motherboard/dimm15', + 'PRODUCT_28' : '/system/chassis/motherboard/dimm16', + 'PRODUCT_29' : '/system/chassis/motherboard/dimm17', + 'PRODUCT_30' : '/system/chassis/motherboard/dimm18', + 'PRODUCT_31' : '/system/chassis/motherboard/dimm19', + 'PRODUCT_32' : '/system/chassis/motherboard/dimm20', + 'PRODUCT_33' : '/system/chassis/motherboard/dimm21', + 'PRODUCT_34' : '/system/chassis/motherboard/dimm22', + 'PRODUCT_35' : '/system/chassis/motherboard/dimm23', + 'PRODUCT_36' : '/system/chassis/motherboard/dimm24', + 'PRODUCT_37' : '/system/chassis/motherboard/dimm25', + 'PRODUCT_38' : '/system/chassis/motherboard/dimm26', + 'PRODUCT_39' : '/system/chassis/motherboard/dimm27', + 'PRODUCT_40' : '/system/chassis/motherboard/dimm28', + 'PRODUCT_41' : '/system/chassis/motherboard/dimm29', + 'PRODUCT_42' : '/system/chassis/motherboard/dimm30', + 'PRODUCT_43' : '/system/chassis/motherboard/dimm31', + 'PRODUCT_47' : '/system/misc', + }, + 'SENSOR' : { + 0x04 : '/org/openbmc/sensors/host/HostStatus', + 0x05 : '/org/openbmc/sensors/host/BootProgress', + 0x08 : '/org/openbmc/sensors/host/cpu0/OccStatus', + 0x09 : '/org/openbmc/sensors/host/cpu1/OccStatus', + 0x0c : '/system/chassis/motherboard/cpu0', + 0x0e : '/system/chassis/motherboard/cpu1', + 0x1e : '/system/chassis/motherboard/dimm3', + 0x1f : '/system/chassis/motherboard/dimm2', + 0x20 : '/system/chassis/motherboard/dimm1', + 0x21 : '/system/chassis/motherboard/dimm0', + 0x22 : '/system/chassis/motherboard/dimm7', + 0x23 : '/system/chassis/motherboard/dimm6', + 0x24 : '/system/chassis/motherboard/dimm5', + 0x25 : '/system/chassis/motherboard/dimm4', + 0x26 : '/system/chassis/motherboard/dimm11', + 0x27 : '/system/chassis/motherboard/dimm10', + 0x28 : '/system/chassis/motherboard/dimm9', + 0x29 : '/system/chassis/motherboard/dimm8', + 0x2a : '/system/chassis/motherboard/dimm15', + 0x2b : '/system/chassis/motherboard/dimm14', + 0x2c : '/system/chassis/motherboard/dimm13', + 0x2d : '/system/chassis/motherboard/dimm12', + 0x2e : '/system/chassis/motherboard/dimm19', + 0x2f : '/system/chassis/motherboard/dimm18', + 0x30 : '/system/chassis/motherboard/dimm17', + 0x31 : '/system/chassis/motherboard/dimm16', + 0x32 : '/system/chassis/motherboard/dimm23', + 0x33 : '/system/chassis/motherboard/dimm22', + 0x34 : '/system/chassis/motherboard/dimm21', + 0x35 : '/system/chassis/motherboard/dimm20', + 0x36 : '/system/chassis/motherboard/dimm27', + 0x37 : '/system/chassis/motherboard/dimm26', + 0x38 : '/system/chassis/motherboard/dimm25', + 0x39 : '/system/chassis/motherboard/dimm24', + 0x3a : '/system/chassis/motherboard/dimm31', + 0x3b : '/system/chassis/motherboard/dimm30', + 0x3c : '/system/chassis/motherboard/dimm29', + 0x3d : '/system/chassis/motherboard/dimm28', + 0x3e : '/system/chassis/motherboard/cpu0/core0', + 0x3f : '/system/chassis/motherboard/cpu0/core1', + 0x40 : '/system/chassis/motherboard/cpu0/core2', + 0x41 : '/system/chassis/motherboard/cpu0/core3', + 0x42 : '/system/chassis/motherboard/cpu0/core4', + 0x43 : '/system/chassis/motherboard/cpu0/core5', + 0x44 : '/system/chassis/motherboard/cpu0/core6', + 0x45 : '/system/chassis/motherboard/cpu0/core7', + 0x46 : '/system/chassis/motherboard/cpu0/core8', + 0x47 : '/system/chassis/motherboard/cpu0/core9', + 0x48 : '/system/chassis/motherboard/cpu0/core10', + 0x49 : '/system/chassis/motherboard/cpu0/core11', + 0x4a : '/system/chassis/motherboard/cpu1/core0', + 0x4b : '/system/chassis/motherboard/cpu1/core1', + 0x4c : '/system/chassis/motherboard/cpu1/core2', + 0x4d : '/system/chassis/motherboard/cpu1/core3', + 0x4e : '/system/chassis/motherboard/cpu1/core4', + 0x4f : '/system/chassis/motherboard/cpu1/core5', + 0x50 : '/system/chassis/motherboard/cpu1/core6', + 0x51 : '/system/chassis/motherboard/cpu1/core7', + 0x52 : '/system/chassis/motherboard/cpu1/core8', + 0x53 : '/system/chassis/motherboard/cpu1/core9', + 0x54 : '/system/chassis/motherboard/cpu1/core10', + 0x55 : '/system/chassis/motherboard/cpu1/core11', + 0x56 : '/system/chassis/motherboard/membuf0', + 0x57 : '/system/chassis/motherboard/membuf1', + 0x58 : '/system/chassis/motherboard/membuf2', + 0x59 : '/system/chassis/motherboard/membuf3', + 0x5a : '/system/chassis/motherboard/membuf4', + 0x5b : '/system/chassis/motherboard/membuf5', + 0x5c : '/system/chassis/motherboard/membuf6', + 0x5d : '/system/chassis/motherboard/membuf7', + 0x5f : '/org/openbmc/sensors/host/BootCount', + 0x60 : '/system/chassis/motherboard', + 0x61 : '/system/systemevent', + 0x62 : '/system/powerlimit', + 0x63 : '/system/chassis/motherboard/refclock', + 0x64 : '/system/chassis/motherboard/pcieclock', + 0xb1 : '/system/chassis/motherboard/todclock', + 0xb2 : '/system/chassis/motherboard/apss', + 0xb3 : '/org/openbmc/sensors/host/powercap', + 0xb5 : '/org/openbmc/sensors/host/OperatingSystemStatus', + 0xb6 : '/system/chassis/motherboard/pcielink', + }, + 'GPIO_PRESENT' : {} +} + +GPIO_CONFIG = {} +GPIO_CONFIG['BMC_POWER_UP'] = \ + {'gpio_pin': 'D1', 'direction': 'out'} +GPIO_CONFIG['SYS_PWROK_BUFF'] = \ + {'gpio_pin': 'D2', 'direction': 'in'} +GPIO_CONFIG['BMC_WD_CLEAR_PULSE_N'] = \ + {'gpio_pin': 'N4', 'direction': 'out'} +GPIO_CONFIG['CM1_OE_R_N'] = \ + {'gpio_pin': 'Q6', 'direction': 'out'} +GPIO_CONFIG['BMC_CP0_RESET_N'] = \ + {'gpio_pin': 'O2', 'direction': 'out'} +GPIO_CONFIG['BMC_CFAM_RESET_N_R'] = \ + {'gpio_pin': 'J2', 'direction': 'out'} +GPIO_CONFIG['PEX8718_DEVICES_RESET_N'] = \ + {'gpio_pin': 'B6', 'direction': 'out'} +GPIO_CONFIG['CP0_DEVICES_RESET_N'] = \ + {'gpio_pin': 'N3', 'direction': 'out'} +GPIO_CONFIG['CP1_DEVICES_RESET_N'] = \ + {'gpio_pin': 'N5', 'direction': 'out'} +GPIO_CONFIG['IDBTN'] = \ + { 'gpio_pin': 'Q7', 'direction': 'out' } +GPIO_CONFIG['FSI_DATA'] = \ + {'gpio_pin': 'A5', 'direction': 'out'} +GPIO_CONFIG['FSI_CLK'] = \ + {'gpio_pin': 'A4', 'direction': 'out'} +GPIO_CONFIG['FSI_ENABLE'] = \ + {'gpio_pin': 'D0', 'direction': 'out'} +GPIO_CONFIG['CRONUS_SEL'] = \ + {'gpio_pin': 'A6', 'direction': 'out'} +GPIO_CONFIG['BMC_THROTTLE'] = \ + {'gpio_pin': 'J3', 'direction': 'out'} + +GPIO_CONFIG['POWER_BUTTON'] = \ + {'gpio_pin': 'E0', 'direction': 'both'} +GPIO_CONFIG['RESET_BUTTON'] = \ + {'gpio_pin': 'E4', 'direction': 'both'} + +GPIO_CONFIG['PS0_PRES_N'] = \ + {'gpio_pin': 'P7', 'direction': 'in'} +GPIO_CONFIG['PS1_PRES_N'] = \ + {'gpio_pin': 'N0', 'direction': 'in'} +GPIO_CONFIG['CARD_PRES_N'] = \ + {'gpio_pin': 'J0', 'direction': 'in'} + + + + +def convertGpio(name): + name = name.upper() + c = name[0:1] + offset = int(name[1:]) + a = ord(c)-65 + base = a*8+GPIO_BASE + return base+offset + + +HWMON_CONFIG = { + '4-0050' : { + 'names' : { + 'caps_curr_powercap' : { 'object_path' : 'powercap/curr_cap','poll_interval' : 10000,'scale' : 1,'units' : 'W' }, + 'caps_curr_powerreading' : { 'object_path' : 'powercap/system_power','poll_interval' : 10000,'scale' : 1,'units' : 'W' }, + 'caps_max_powercap' : { 'object_path' : 'powercap/max_cap','poll_interval' : 10000,'scale' : 1,'units' : 'W' }, + 'caps_min_powercap' : { 'object_path' : 'powercap/min_cap','poll_interval' : 10000,'scale' : 1,'units' : 'W' }, + 'caps_norm_powercap' : { 'object_path' : 'powercap/n_cap','poll_interval' : 10000,'scale' : 1,'units' : 'W' }, + 'caps_user_powerlimit' : { 'object_path' : 'powercap/user_cap','poll_interval' : 10000,'scale' : 1,'units' : 'W' }, + }, + 'labels' : { + '176' : { 'object_path' : 'temperature/cpu0/core0','poll_interval' : 5000,'scale' : 1000,'units' : 'C', + 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, + '177' : { 'object_path' : 'temperature/cpu0/core1','poll_interval' : 5000,'scale' : 1000,'units' : 'C', + 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, + '178' : { 'object_path' : 'temperature/cpu0/core2','poll_interval' : 5000,'scale' : 1000,'units' : 'C', + 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, + '179' : { 'object_path' : 'temperature/cpu0/core3','poll_interval' : 5000,'scale' : 1000,'units' : 'C', + 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, + '180' : { 'object_path' : 'temperature/cpu0/core4','poll_interval' : 5000,'scale' : 1000,'units' : 'C', + 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, + '181' : { 'object_path' : 'temperature/cpu0/core5','poll_interval' : 5000,'scale' : 1000,'units' : 'C', + 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, + '182' : { 'object_path' : 'temperature/cpu0/core6','poll_interval' : 5000,'scale' : 1000,'units' : 'C', + 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, + '183' : { 'object_path' : 'temperature/cpu0/core7','poll_interval' : 5000,'scale' : 1000,'units' : 'C', + 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, + '184' : { 'object_path' : 'temperature/cpu0/core8','poll_interval' : 5000,'scale' : 1000,'units' : 'C', + 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, + '185' : { 'object_path' : 'temperature/cpu0/core9','poll_interval' : 5000,'scale' : 1000,'units' : 'C', + 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, + '186' : { 'object_path' : 'temperature/cpu0/core10','poll_interval' : 5000,'scale' : 1000,'units' : 'C', + 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, + '187' : { 'object_path' : 'temperature/cpu0/core11','poll_interval' : 5000,'scale' : 1000,'units' : 'C', + 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, + '102' : { 'object_path' : 'temperature/dimm0','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '103' : { 'object_path' : 'temperature/dimm1','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '104' : { 'object_path' : 'temperature/dimm2','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '105' : { 'object_path' : 'temperature/dimm3','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '106' : { 'object_path' : 'temperature/dimm4','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '107' : { 'object_path' : 'temperature/dimm5','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '108' : { 'object_path' : 'temperature/dimm6','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '109' : { 'object_path' : 'temperature/dimm7','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '110' : { 'object_path' : 'temperature/dimm8','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '111' : { 'object_path' : 'temperature/dimm9','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '112' : { 'object_path' : 'temperature/dimm10','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '113' : { 'object_path' : 'temperature/dimm11','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '114' : { 'object_path' : 'temperature/dimm12','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '115' : { 'object_path' : 'temperature/dimm13','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '116' : { 'object_path' : 'temperature/dimm14','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '117' : { 'object_path' : 'temperature/dimm15','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '94' : { 'object_path' : 'temperature/membuf0','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '95' : { 'object_path' : 'temperature/membuf1','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '96' : { 'object_path' : 'temperature/membuf2','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '97' : { 'object_path' : 'temperature/membuf3','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + } + }, + '5-0050' : { + 'labels' : { + '188' : { 'object_path' : 'temperature/cpu1/core0','poll_interval' : 5000,'scale' : 1000,'units' : 'C', + 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, + '189' : { 'object_path' : 'temperature/cpu1/core1','poll_interval' : 5000,'scale' : 1000,'units' : 'C', + 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, + '190' : { 'object_path' : 'temperature/cpu1/core2','poll_interval' : 5000,'scale' : 1000,'units' : 'C', + 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, + '191' : { 'object_path' : 'temperature/cpu1/core3','poll_interval' : 5000,'scale' : 1000,'units' : 'C', + 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, + '192' : { 'object_path' : 'temperature/cpu1/core4','poll_interval' : 5000,'scale' : 1000,'units' : 'C', + 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, + '193' : { 'object_path' : 'temperature/cpu1/core5','poll_interval' : 5000,'scale' : 1000,'units' : 'C', + 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, + '194' : { 'object_path' : 'temperature/cpu1/core6','poll_interval' : 5000,'scale' : 1000,'units' : 'C', + 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, + '195' : { 'object_path' : 'temperature/cpu1/core7','poll_interval' : 5000,'scale' : 1000,'units' : 'C', + 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, + '196' : { 'object_path' : 'temperature/cpu1/core8','poll_interval' : 5000,'scale' : 1000,'units' : 'C', + 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, + '197' : { 'object_path' : 'temperature/cpu1/core9','poll_interval' : 5000,'scale' : 1000,'units' : 'C', + 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, + '198' : { 'object_path' : 'temperature/cpu1/core10','poll_interval' : 5000,'scale' : 1000,'units' : 'C', + 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, + '199' : { 'object_path' : 'temperature/cpu1/core11','poll_interval' : 5000,'scale' : 1000,'units' : 'C', + 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, + '118' : { 'object_path' : 'temperature/dimm16','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '119' : { 'object_path' : 'temperature/dimm17','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '120' : { 'object_path' : 'temperature/dimm18','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '121' : { 'object_path' : 'temperature/dimm19','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '122' : { 'object_path' : 'temperature/dimm20','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '123' : { 'object_path' : 'temperature/dimm21','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '124' : { 'object_path' : 'temperature/dimm22','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '125' : { 'object_path' : 'temperature/dimm23','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '126' : { 'object_path' : 'temperature/dimm24','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '127' : { 'object_path' : 'temperature/dimm25','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '128' : { 'object_path' : 'temperature/dimm26','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '129' : { 'object_path' : 'temperature/dimm27','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '130' : { 'object_path' : 'temperature/dimm28','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '131' : { 'object_path' : 'temperature/dimm29','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '132' : { 'object_path' : 'temperature/dimm30','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '133' : { 'object_path' : 'temperature/dimm31','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '98' : { 'object_path' : 'temperature/membuf4','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '99' : { 'object_path' : 'temperature/membuf5','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '100' : { 'object_path' : 'temperature/membuf6','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '101' : { 'object_path' : 'temperature/membuf7','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + } + }, +} + + +# Miscellaneous non-poll sensor with system specific properties. +# The sensor id is the same as those defined in ID_LOOKUP['SENSOR']. +MISC_SENSORS = { + 0x5f : { 'class' : 'BootCountSensor' }, + 0x05 : { 'class' : 'BootProgressSensor' }, + 0x08 : { 'class' : 'OccStatusSensor', + 'os_path' : '/sys/class/i2c-adapter/i2c-3/3-0050/online' }, + 0x09 : { 'class' : 'OccStatusSensor', + 'os_path' : '/sys/class/i2c-adapter/i2c-3/3-0051/online' }, + 0xb5 : { 'class' : 'OperatingSystemStatusSensor' }, + 0xb3 : { 'class' : 'PowerCap', + 'os_path' : '/sys/class/hwmon/hwmon3/user_powercap' }, +} diff --git a/configs/Garrison.py b/configs/Garrison.py new file mode 100644 index 0000000..e8f0927 --- /dev/null +++ b/configs/Garrison.py @@ -0,0 +1,626 @@ +#! /usr/bin/python + +HOME_PATH = './' +CACHE_PATH = '/var/cache/obmc/' +FLASH_DOWNLOAD_PATH = "/tmp" +GPIO_BASE = 320 +SYSTEM_NAME = "Garrison" + + +## System states +## state can change to next state in 2 ways: +## - a process emits a GotoSystemState signal with state name to goto +## - objects specified in EXIT_STATE_DEPEND have started +SYSTEM_STATES = [ + 'BASE_APPS', + 'BMC_STARTING', + 'BMC_READY', + 'HOST_POWERING_ON', + 'HOST_POWERED_ON', + 'HOST_BOOTING', + 'HOST_BOOTED', + 'HOST_POWERED_OFF', +] + +EXIT_STATE_DEPEND = { + 'BASE_APPS' : { + '/org/openbmc/sensors': 0, + }, + 'BMC_STARTING' : { + '/org/openbmc/control/chassis0': 0, + '/org/openbmc/control/power0' : 0, + '/org/openbmc/control/host0' : 0, + '/org/openbmc/control/flash/bios' : 0, + }, +} + +## method will be called when state is entered +ENTER_STATE_CALLBACK = { + 'HOST_POWERED_ON' : { + 'boot' : { + 'bus_name' : 'org.openbmc.control.Host', + 'obj_name' : '/org/openbmc/control/host0', + 'interface_name' : 'org.openbmc.control.Host', + }, + }, + 'HOST_POWERED_OFF' : { + 'setOff' : { + 'bus_name' : 'org.openbmc.control.led', + 'obj_name' : '/org/openbmc/control/led/identify', + 'interface_name' : 'org.openbmc.Led', + } + }, + 'BMC_READY' : { + 'setOn' : { + 'bus_name' : 'org.openbmc.control.led', + 'obj_name' : '/org/openbmc/control/led/beep', + 'interface_name' : 'org.openbmc.Led', + }, + 'init' : { + 'bus_name' : 'org.openbmc.control.Flash', + 'obj_name' : '/org/openbmc/control/flash/bios', + 'interface_name' : 'org.openbmc.Flash', + } + } +} + +APPS = { + 'startup_hacks' : { + 'system_state' : 'BASE_APPS', + 'start_process' : True, + 'monitor_process' : False, + 'process_name' : 'startup_hacks.sh', + }, + 'inventory' : { + 'system_state' : 'BMC_STARTING', + 'start_process' : True, + 'monitor_process' : True, + 'process_name' : 'inventory_items.py', + 'args' : [ SYSTEM_NAME ] + }, + 'hwmon' : { + 'system_state' : 'BMC_STARTING', + 'start_process' : True, + 'monitor_process' : True, + 'process_name' : 'hwmon.py', + 'args' : [ SYSTEM_NAME ] + }, + 'sensor_manager' : { + 'system_state' : 'BASE_APPS', + 'start_process' : True, + 'monitor_process' : True, + 'process_name' : 'sensor_manager2.py', + 'args' : [ SYSTEM_NAME ] + }, + 'host_watchdog' : { + 'system_state' : 'BMC_STARTING', + 'start_process' : True, + 'monitor_process' : True, + 'process_name' : 'host_watchdog.exe', + }, + 'power_control' : { + 'system_state' : 'BMC_STARTING', + 'start_process' : True, + 'monitor_process' : True, + 'process_name' : 'power_control.exe', + 'args' : [ '3000', '10' ] + }, + 'power_button' : { + 'system_state' : 'BMC_STARTING', + 'start_process' : True, + 'monitor_process' : True, + 'process_name' : 'button_power.exe', + }, + 'reset_button' : { + 'system_state' : 'BMC_STARTING', + 'start_process' : True, + 'monitor_process' : True, + 'process_name' : 'button_reset.exe', + }, + 'led_control' : { + 'system_state' : 'BMC_STARTING', + 'start_process' : True, + 'monitor_process' : True, + 'process_name' : 'led_controller.exe', + }, + 'flash_control' : { + 'system_state' : 'BMC_STARTING', + 'start_process' : True, + 'monitor_process' : True, + 'process_name' : 'flash_bios.exe', + }, + 'bmc_flash_control' : { + 'system_state' : 'BMC_STARTING', + 'start_process' : True, + 'monitor_process' : True, + 'process_name' : 'bmc_update.py', + }, + 'download_manager' : { + 'system_state' : 'BMC_STARTING', + 'start_process' : True, + 'monitor_process' : True, + 'process_name' : 'download_manager.py', + 'args' : [ SYSTEM_NAME ] + }, + 'host_control' : { + 'system_state' : 'BMC_STARTING', + 'start_process' : True, + 'monitor_process' : True, + 'process_name' : 'control_host.exe', + }, + 'chassis_control' : { + 'system_state' : 'BMC_STARTING', + 'start_process' : True, + 'monitor_process' : True, + 'process_name' : 'chassis_control.py', + }, + 'restore' : { + 'system_state' : 'BMC_READY', + 'start_process' : True, + 'monitor_process' : False, + 'process_name' : 'discover_system_state.py', + }, + 'bmc_control' : { + 'system_state' : 'BMC_STARTING', + 'start_process' : True, + 'monitor_process' : True, + 'process_name' : 'control_bmc.exe', + }, +} + +CACHED_INTERFACES = { + "org.openbmc.InventoryItem" : True, + "org.openbmc.control.Chassis" : True, +} + +INVENTORY_ROOT = '/org/openbmc/inventory' + +FRU_INSTANCES = { + '/system' : { 'fru_type' : 'SYSTEM','is_fru' : True, 'present' : "True" }, + '/system/bios' : { 'fru_type' : 'SYSTEM','is_fru' : True, 'present' : "True" }, + '/system/misc' : { 'fru_type' : 'SYSTEM','is_fru' : False, }, + + '/system/chassis' : { 'fru_type' : 'SYSTEM','is_fru' : True, 'present' : "True" }, + + '/system/chassis/motherboard' : { 'fru_type' : 'MAIN_PLANAR','is_fru' : True, }, + + '/system/systemevent' : { 'fru_type' : 'SYSTEM_EVENT', 'is_fru' : False, }, + '/system/chassis/motherboard/refclock' : { 'fru_type' : 'MAIN_PLANAR', 'is_fru' : False, }, + '/system/chassis/motherboard/pcieclock': { 'fru_type' : 'MAIN_PLANAR', 'is_fru' : False, }, + '/system/chassis/motherboard/todclock' : { 'fru_type' : 'MAIN_PLANAR', 'is_fru' : False, }, + '/system/chassis/motherboard/apss' : { 'fru_type' : 'MAIN_PLANAR', 'is_fru' : False, }, + + '/system/chassis/fan0' : { 'fru_type' : 'FAN','is_fru' : True, }, + '/system/chassis/fan1' : { 'fru_type' : 'FAN','is_fru' : True, }, + '/system/chassis/fan2' : { 'fru_type' : 'FAN','is_fru' : True, }, + '/system/chassis/fan3' : { 'fru_type' : 'FAN','is_fru' : True, }, + + '/system/chassis/motherboard/bmc' : { 'fru_type' : 'BMC','is_fru' : False, 'manufacturer' : 'ASPEED' }, + + '/system/chassis/motherboard/cpu0' : { 'fru_type' : 'CPU', 'is_fru' : True, }, + '/system/chassis/motherboard/cpu1' : { 'fru_type' : 'CPU', 'is_fru' : True, }, + + '/system/chassis/motherboard/cpu0/core0' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + '/system/chassis/motherboard/cpu0/core1' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + '/system/chassis/motherboard/cpu0/core2' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + '/system/chassis/motherboard/cpu0/core3' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + '/system/chassis/motherboard/cpu0/core4' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + '/system/chassis/motherboard/cpu0/core5' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + '/system/chassis/motherboard/cpu0/core6' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + '/system/chassis/motherboard/cpu0/core7' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + '/system/chassis/motherboard/cpu0/core8' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + '/system/chassis/motherboard/cpu0/core9' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + '/system/chassis/motherboard/cpu0/core10': { 'fru_type' : 'CORE', 'is_fru' : False, }, + '/system/chassis/motherboard/cpu0/core11': { 'fru_type' : 'CORE', 'is_fru' : False, }, + + '/system/chassis/motherboard/cpu1/core0' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + '/system/chassis/motherboard/cpu1/core1' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + '/system/chassis/motherboard/cpu1/core2' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + '/system/chassis/motherboard/cpu1/core3' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + '/system/chassis/motherboard/cpu1/core4' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + '/system/chassis/motherboard/cpu1/core5' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + '/system/chassis/motherboard/cpu1/core6' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + '/system/chassis/motherboard/cpu1/core7' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + '/system/chassis/motherboard/cpu1/core8' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + '/system/chassis/motherboard/cpu1/core9' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + '/system/chassis/motherboard/cpu1/core10' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + '/system/chassis/motherboard/cpu1/core11' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + + '/system/chassis/motherboard/membuf0' : { 'fru_type' : 'MEMORY_BUFFER', 'is_fru' : False, }, + '/system/chassis/motherboard/membuf1' : { 'fru_type' : 'MEMORY_BUFFER', 'is_fru' : False, }, + '/system/chassis/motherboard/membuf2' : { 'fru_type' : 'MEMORY_BUFFER', 'is_fru' : False, }, + '/system/chassis/motherboard/membuf3' : { 'fru_type' : 'MEMORY_BUFFER', 'is_fru' : False, }, + '/system/chassis/motherboard/membuf4' : { 'fru_type' : 'MEMORY_BUFFER', 'is_fru' : False, }, + '/system/chassis/motherboard/membuf5' : { 'fru_type' : 'MEMORY_BUFFER', 'is_fru' : False, }, + '/system/chassis/motherboard/membuf6' : { 'fru_type' : 'MEMORY_BUFFER', 'is_fru' : False, }, + '/system/chassis/motherboard/membuf7' : { 'fru_type' : 'MEMORY_BUFFER', 'is_fru' : False, }, + + '/system/chassis/motherboard/dimm0' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm1' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm2' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm3' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm4' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm5' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm6' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm7' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm8' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm9' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm10' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm11' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm12' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm13' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm14' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm15' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm16' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm17' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm18' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm19' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm20' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm21' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm22' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm23' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm24' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm25' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm26' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm27' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm28' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm29' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm30' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm31' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, +} + +ID_LOOKUP = { + 'FRU' : { + 0x01 : '/system/chassis/motherboard/cpu0', + 0x02 : '/system/chassis/motherboard/cpu1', + 0x03 : '/system/chassis/motherboard', + 0x04 : '/system/chassis/motherboard/membuf0', + 0x05 : '/system/chassis/motherboard/membuf1', + 0x06 : '/system/chassis/motherboard/membuf2', + 0x07 : '/system/chassis/motherboard/membuf3', + 0x08 : '/system/chassis/motherboard/membuf4', + 0x09 : '/system/chassis/motherboard/membuf5', + 0x0c : '/system/chassis/motherboard/dimm0', + 0x0d : '/system/chassis/motherboard/dimm1', + 0x0e : '/system/chassis/motherboard/dimm2', + 0x0f : '/system/chassis/motherboard/dimm3', + 0x10 : '/system/chassis/motherboard/dimm4', + 0x11 : '/system/chassis/motherboard/dimm5', + 0x12 : '/system/chassis/motherboard/dimm6', + 0x13 : '/system/chassis/motherboard/dimm7', + 0x14 : '/system/chassis/motherboard/dimm8', + 0x15 : '/system/chassis/motherboard/dimm9', + 0x16 : '/system/chassis/motherboard/dimm10', + 0x17 : '/system/chassis/motherboard/dimm11', + 0x18 : '/system/chassis/motherboard/dimm12', + 0x19 : '/system/chassis/motherboard/dimm13', + 0x1a : '/system/chassis/motherboard/dimm14', + 0x1b : '/system/chassis/motherboard/dimm15', + 0x1c : '/system/chassis/motherboard/dimm16', + 0x1d : '/system/chassis/motherboard/dimm17', + 0x1e : '/system/chassis/motherboard/dimm18', + 0x1f : '/system/chassis/motherboard/dimm19', + 0x20 : '/system/chassis/motherboard/dimm20', + 0x21 : '/system/chassis/motherboard/dimm21', + 0x22 : '/system/chassis/motherboard/dimm22', + 0x23 : '/system/chassis/motherboard/dimm23', + 0x24 : '/system/chassis/motherboard/dimm24', + 0x25 : '/system/chassis/motherboard/dimm25', + 0x26 : '/system/chassis/motherboard/dimm26', + 0x27 : '/system/chassis/motherboard/dimm27', + 0x28 : '/system/chassis/motherboard/dimm28', + 0x29 : '/system/chassis/motherboard/dimm29', + 0x2a : '/system/chassis/motherboard/dimm30', + 0x2b : '/system/chassis/motherboard/dimm31', + }, + 'FRU_STR' : { + 'PRODUCT_0' : '/system/bios', + 'BOARD_1' : '/system/chassis/motherboard/cpu0', + 'BOARD_2' : '/system/chassis/motherboard/cpu1', + 'CHASSIS_3' : '/system/chassis/motherboard', + 'BOARD_3' : '/system/misc', + 'BOARD_4' : '/system/chassis/motherboard/membuf0', + 'BOARD_5' : '/system/chassis/motherboard/membuf1', + 'BOARD_6' : '/system/chassis/motherboard/membuf2', + 'BOARD_7' : '/system/chassis/motherboard/membuf3', + 'BOARD_8' : '/system/chassis/motherboard/membuf4', + 'BOARD_9' : '/system/chassis/motherboard/membuf5', + 'BOARD_10' : '/system/chassis/motherboard/membuf6', + 'BOARD_11' : '/system/chassis/motherboard/membuf7', + 'PRODUCT_12' : '/system/chassis/motherboard/dimm0', + 'PRODUCT_13' : '/system/chassis/motherboard/dimm1', + 'PRODUCT_14' : '/system/chassis/motherboard/dimm2', + 'PRODUCT_15' : '/system/chassis/motherboard/dimm3', + 'PRODUCT_16' : '/system/chassis/motherboard/dimm4', + 'PRODUCT_17' : '/system/chassis/motherboard/dimm5', + 'PRODUCT_18' : '/system/chassis/motherboard/dimm6', + 'PRODUCT_19' : '/system/chassis/motherboard/dimm7', + 'PRODUCT_20' : '/system/chassis/motherboard/dimm8', + 'PRODUCT_21' : '/system/chassis/motherboard/dimm9', + 'PRODUCT_22' : '/system/chassis/motherboard/dimm10', + 'PRODUCT_23' : '/system/chassis/motherboard/dimm11', + 'PRODUCT_24' : '/system/chassis/motherboard/dimm12', + 'PRODUCT_25' : '/system/chassis/motherboard/dimm13', + 'PRODUCT_26' : '/system/chassis/motherboard/dimm14', + 'PRODUCT_27' : '/system/chassis/motherboard/dimm15', + 'PRODUCT_28' : '/system/chassis/motherboard/dimm16', + 'PRODUCT_29' : '/system/chassis/motherboard/dimm17', + 'PRODUCT_30' : '/system/chassis/motherboard/dimm18', + 'PRODUCT_31' : '/system/chassis/motherboard/dimm19', + 'PRODUCT_32' : '/system/chassis/motherboard/dimm20', + 'PRODUCT_33' : '/system/chassis/motherboard/dimm21', + 'PRODUCT_34' : '/system/chassis/motherboard/dimm22', + 'PRODUCT_35' : '/system/chassis/motherboard/dimm23', + 'PRODUCT_36' : '/system/chassis/motherboard/dimm24', + 'PRODUCT_37' : '/system/chassis/motherboard/dimm25', + 'PRODUCT_38' : '/system/chassis/motherboard/dimm26', + 'PRODUCT_39' : '/system/chassis/motherboard/dimm27', + 'PRODUCT_40' : '/system/chassis/motherboard/dimm28', + 'PRODUCT_41' : '/system/chassis/motherboard/dimm29', + 'PRODUCT_42' : '/system/chassis/motherboard/dimm30', + 'PRODUCT_43' : '/system/chassis/motherboard/dimm31', + 'PRODUCT_47' : '/system/misc', + }, + 'SENSOR' : { + 0x04 : '/org/openbmc/sensors/host/HostStatus', + 0x05 : '/org/openbmc/sensors/host/BootProgress', + 0x08 : '/org/openbmc/sensors/host/cpu0/OccStatus', + 0x09 : '/org/openbmc/sensors/host/cpu1/OccStatus', + 0x0c : '/system/chassis/motherboard/cpu0', + 0x0e : '/system/chassis/motherboard/cpu1', + 0x1e : '/system/chassis/motherboard/dimm3', + 0x1f : '/system/chassis/motherboard/dimm2', + 0x20 : '/system/chassis/motherboard/dimm1', + 0x21 : '/system/chassis/motherboard/dimm0', + 0x22 : '/system/chassis/motherboard/dimm7', + 0x23 : '/system/chassis/motherboard/dimm6', + 0x24 : '/system/chassis/motherboard/dimm5', + 0x25 : '/system/chassis/motherboard/dimm4', + 0x26 : '/system/chassis/motherboard/dimm11', + 0x27 : '/system/chassis/motherboard/dimm10', + 0x28 : '/system/chassis/motherboard/dimm9', + 0x29 : '/system/chassis/motherboard/dimm8', + 0x2a : '/system/chassis/motherboard/dimm15', + 0x2b : '/system/chassis/motherboard/dimm14', + 0x2c : '/system/chassis/motherboard/dimm13', + 0x2d : '/system/chassis/motherboard/dimm12', + 0x2e : '/system/chassis/motherboard/dimm19', + 0x2f : '/system/chassis/motherboard/dimm18', + 0x30 : '/system/chassis/motherboard/dimm17', + 0x31 : '/system/chassis/motherboard/dimm16', + 0x32 : '/system/chassis/motherboard/dimm23', + 0x33 : '/system/chassis/motherboard/dimm22', + 0x34 : '/system/chassis/motherboard/dimm21', + 0x35 : '/system/chassis/motherboard/dimm20', + 0x36 : '/system/chassis/motherboard/dimm27', + 0x37 : '/system/chassis/motherboard/dimm26', + 0x38 : '/system/chassis/motherboard/dimm25', + 0x39 : '/system/chassis/motherboard/dimm24', + 0x3a : '/system/chassis/motherboard/dimm31', + 0x3b : '/system/chassis/motherboard/dimm30', + 0x3c : '/system/chassis/motherboard/dimm29', + 0x3d : '/system/chassis/motherboard/dimm28', + 0x3e : '/system/chassis/motherboard/cpu0/core0', + 0x3f : '/system/chassis/motherboard/cpu0/core1', + 0x40 : '/system/chassis/motherboard/cpu0/core2', + 0x41 : '/system/chassis/motherboard/cpu0/core3', + 0x42 : '/system/chassis/motherboard/cpu0/core4', + 0x43 : '/system/chassis/motherboard/cpu0/core5', + 0x44 : '/system/chassis/motherboard/cpu0/core6', + 0x45 : '/system/chassis/motherboard/cpu0/core7', + 0x46 : '/system/chassis/motherboard/cpu0/core8', + 0x47 : '/system/chassis/motherboard/cpu0/core9', + 0x48 : '/system/chassis/motherboard/cpu0/core10', + 0x49 : '/system/chassis/motherboard/cpu0/core11', + 0x4a : '/system/chassis/motherboard/cpu1/core0', + 0x4b : '/system/chassis/motherboard/cpu1/core1', + 0x4c : '/system/chassis/motherboard/cpu1/core2', + 0x4d : '/system/chassis/motherboard/cpu1/core3', + 0x4e : '/system/chassis/motherboard/cpu1/core4', + 0x4f : '/system/chassis/motherboard/cpu1/core5', + 0x50 : '/system/chassis/motherboard/cpu1/core6', + 0x51 : '/system/chassis/motherboard/cpu1/core7', + 0x52 : '/system/chassis/motherboard/cpu1/core8', + 0x53 : '/system/chassis/motherboard/cpu1/core9', + 0x54 : '/system/chassis/motherboard/cpu1/core10', + 0x55 : '/system/chassis/motherboard/cpu1/core11', + 0x56 : '/system/chassis/motherboard/membuf0', + 0x57 : '/system/chassis/motherboard/membuf1', + 0x58 : '/system/chassis/motherboard/membuf2', + 0x59 : '/system/chassis/motherboard/membuf3', + 0x5a : '/system/chassis/motherboard/membuf4', + 0x5b : '/system/chassis/motherboard/membuf5', + 0x5c : '/system/chassis/motherboard/membuf6', + 0x5d : '/system/chassis/motherboard/membuf7', + 0x5f : '/org/openbmc/sensors/host/BootCount', + 0x60 : '/system/chassis/motherboard', + 0x61 : '/system/systemevent', + 0x62 : '/system/powerlimit', + 0x63 : '/system/chassis/motherboard/refclock', + 0x64 : '/system/chassis/motherboard/pcieclock', + 0xb1 : '/system/chassis/motherboard/todclock', + 0xb2 : '/system/chassis/motherboard/apss', + 0xb3 : '/org/openbmc/sensors/host/powercap', + 0xb5 : '/org/openbmc/sensors/host/OperatingSystemStatus', + 0xb6 : '/system/chassis/motherboard/pcielink', + }, + 'GPIO_PRESENT' : {} +} + +GPIO_CONFIG = {} +GPIO_CONFIG['BMC_POWER_UP'] = \ + {'gpio_pin': 'D1', 'direction': 'out'} +GPIO_CONFIG['SYS_PWROK_BUFF'] = \ + {'gpio_pin': 'D2', 'direction': 'in'} +GPIO_CONFIG['BMC_WD_CLEAR_PULSE_N'] = \ + {'gpio_pin': 'N4', 'direction': 'out'} +GPIO_CONFIG['CM1_OE_R_N'] = \ + {'gpio_pin': 'Q6', 'direction': 'out'} +GPIO_CONFIG['BMC_CP0_RESET_N'] = \ + {'gpio_pin': 'O2', 'direction': 'out'} +GPIO_CONFIG['BMC_CFAM_RESET_N_R'] = \ + {'gpio_pin': 'J2', 'direction': 'out'} +GPIO_CONFIG['PEX8718_DEVICES_RESET_N'] = \ + {'gpio_pin': 'B6', 'direction': 'out'} +GPIO_CONFIG['CP0_DEVICES_RESET_N'] = \ + {'gpio_pin': 'N3', 'direction': 'out'} +GPIO_CONFIG['CP1_DEVICES_RESET_N'] = \ + {'gpio_pin': 'N5', 'direction': 'out'} + +GPIO_CONFIG['FSI_DATA'] = \ + {'gpio_pin': 'A5', 'direction': 'out'} +GPIO_CONFIG['FSI_CLK'] = \ + {'gpio_pin': 'A4', 'direction': 'out'} +GPIO_CONFIG['FSI_ENABLE'] = \ + {'gpio_pin': 'D0', 'direction': 'out'} +GPIO_CONFIG['CRONUS_SEL'] = \ + {'gpio_pin': 'A6', 'direction': 'out'} +GPIO_CONFIG['BMC_THROTTLE'] = \ + {'gpio_pin': 'J3', 'direction': 'out'} + +GPIO_CONFIG['IDBTN'] = \ + { 'gpio_pin': 'Q7', 'direction': 'out' } +GPIO_CONFIG['POWER_BUTTON'] = \ + {'gpio_pin': 'E0', 'direction': 'both'} +GPIO_CONFIG['RESET_BUTTON'] = \ + {'gpio_pin': 'E4', 'direction': 'both'} + +GPIO_CONFIG['PS0_PRES_N'] = \ + {'gpio_pin': 'P7', 'direction': 'in'} +GPIO_CONFIG['PS1_PRES_N'] = \ + {'gpio_pin': 'N0', 'direction': 'in'} +GPIO_CONFIG['CARD_PRES_N'] = \ + {'gpio_pin': 'J0', 'direction': 'in'} + + + + +def convertGpio(name): + name = name.upper() + c = name[0:1] + offset = int(name[1:]) + a = ord(c)-65 + base = a*8+GPIO_BASE + return base+offset + + +HWMON_CONFIG = { + '4-0050' : { + 'names' : { + 'caps_curr_powercap' : { 'object_path' : 'powercap/curr_cap','poll_interval' : 10000,'scale' : 1,'units' : 'W' }, + 'caps_curr_powerreading' : { 'object_path' : 'powercap/system_power','poll_interval' : 10000,'scale' : 1,'units' : 'W' }, + 'caps_max_powercap' : { 'object_path' : 'powercap/max_cap','poll_interval' : 10000,'scale' : 1,'units' : 'W' }, + 'caps_min_powercap' : { 'object_path' : 'powercap/min_cap','poll_interval' : 10000,'scale' : 1,'units' : 'W' }, + 'caps_norm_powercap' : { 'object_path' : 'powercap/n_cap','poll_interval' : 10000,'scale' : 1,'units' : 'W' }, + 'caps_user_powerlimit' : { 'object_path' : 'powercap/user_cap','poll_interval' : 10000,'scale' : 1,'units' : 'W' }, + }, + 'labels' : { + '176' : { 'object_path' : 'temperature/cpu0/core0','poll_interval' : 5000,'scale' : 1000,'units' : 'C', + 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, + '177' : { 'object_path' : 'temperature/cpu0/core1','poll_interval' : 5000,'scale' : 1000,'units' : 'C', + 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, + '178' : { 'object_path' : 'temperature/cpu0/core2','poll_interval' : 5000,'scale' : 1000,'units' : 'C', + 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, + '179' : { 'object_path' : 'temperature/cpu0/core3','poll_interval' : 5000,'scale' : 1000,'units' : 'C', + 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, + '180' : { 'object_path' : 'temperature/cpu0/core4','poll_interval' : 5000,'scale' : 1000,'units' : 'C', + 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, + '181' : { 'object_path' : 'temperature/cpu0/core5','poll_interval' : 5000,'scale' : 1000,'units' : 'C', + 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, + '182' : { 'object_path' : 'temperature/cpu0/core6','poll_interval' : 5000,'scale' : 1000,'units' : 'C', + 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, + '183' : { 'object_path' : 'temperature/cpu0/core7','poll_interval' : 5000,'scale' : 1000,'units' : 'C', + 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, + '184' : { 'object_path' : 'temperature/cpu0/core8','poll_interval' : 5000,'scale' : 1000,'units' : 'C', + 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, + '185' : { 'object_path' : 'temperature/cpu0/core9','poll_interval' : 5000,'scale' : 1000,'units' : 'C', + 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, + '186' : { 'object_path' : 'temperature/cpu0/core10','poll_interval' : 5000,'scale' : 1000,'units' : 'C', + 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, + '187' : { 'object_path' : 'temperature/cpu0/core11','poll_interval' : 5000,'scale' : 1000,'units' : 'C', + 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, + '102' : { 'object_path' : 'temperature/dimm0','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '103' : { 'object_path' : 'temperature/dimm1','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '104' : { 'object_path' : 'temperature/dimm2','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '105' : { 'object_path' : 'temperature/dimm3','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '106' : { 'object_path' : 'temperature/dimm4','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '107' : { 'object_path' : 'temperature/dimm5','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '108' : { 'object_path' : 'temperature/dimm6','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '109' : { 'object_path' : 'temperature/dimm7','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '110' : { 'object_path' : 'temperature/dimm8','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '111' : { 'object_path' : 'temperature/dimm9','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '112' : { 'object_path' : 'temperature/dimm10','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '113' : { 'object_path' : 'temperature/dimm11','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '114' : { 'object_path' : 'temperature/dimm12','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '115' : { 'object_path' : 'temperature/dimm13','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '116' : { 'object_path' : 'temperature/dimm14','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '117' : { 'object_path' : 'temperature/dimm15','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '94' : { 'object_path' : 'temperature/membuf0','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '95' : { 'object_path' : 'temperature/membuf1','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '96' : { 'object_path' : 'temperature/membuf2','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '97' : { 'object_path' : 'temperature/membuf3','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + } + }, + '5-0050' : { + 'labels' : { + '188' : { 'object_path' : 'temperature/cpu1/core0','poll_interval' : 5000,'scale' : 1000,'units' : 'C', + 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, + '189' : { 'object_path' : 'temperature/cpu1/core1','poll_interval' : 5000,'scale' : 1000,'units' : 'C', + 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, + '190' : { 'object_path' : 'temperature/cpu1/core2','poll_interval' : 5000,'scale' : 1000,'units' : 'C', + 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, + '191' : { 'object_path' : 'temperature/cpu1/core3','poll_interval' : 5000,'scale' : 1000,'units' : 'C', + 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, + '192' : { 'object_path' : 'temperature/cpu1/core4','poll_interval' : 5000,'scale' : 1000,'units' : 'C', + 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, + '193' : { 'object_path' : 'temperature/cpu1/core5','poll_interval' : 5000,'scale' : 1000,'units' : 'C', + 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, + '194' : { 'object_path' : 'temperature/cpu1/core6','poll_interval' : 5000,'scale' : 1000,'units' : 'C', + 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, + '195' : { 'object_path' : 'temperature/cpu1/core7','poll_interval' : 5000,'scale' : 1000,'units' : 'C', + 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, + '196' : { 'object_path' : 'temperature/cpu1/core8','poll_interval' : 5000,'scale' : 1000,'units' : 'C', + 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, + '197' : { 'object_path' : 'temperature/cpu1/core9','poll_interval' : 5000,'scale' : 1000,'units' : 'C', + 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, + '198' : { 'object_path' : 'temperature/cpu1/core10','poll_interval' : 5000,'scale' : 1000,'units' : 'C', + 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, + '199' : { 'object_path' : 'temperature/cpu1/core11','poll_interval' : 5000,'scale' : 1000,'units' : 'C', + 'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True }, + '118' : { 'object_path' : 'temperature/dimm16','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '119' : { 'object_path' : 'temperature/dimm17','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '120' : { 'object_path' : 'temperature/dimm18','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '121' : { 'object_path' : 'temperature/dimm19','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '122' : { 'object_path' : 'temperature/dimm20','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '123' : { 'object_path' : 'temperature/dimm21','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '124' : { 'object_path' : 'temperature/dimm22','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '125' : { 'object_path' : 'temperature/dimm23','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '126' : { 'object_path' : 'temperature/dimm24','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '127' : { 'object_path' : 'temperature/dimm25','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '128' : { 'object_path' : 'temperature/dimm26','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '129' : { 'object_path' : 'temperature/dimm27','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '130' : { 'object_path' : 'temperature/dimm28','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '131' : { 'object_path' : 'temperature/dimm29','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '132' : { 'object_path' : 'temperature/dimm30','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '133' : { 'object_path' : 'temperature/dimm31','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '98' : { 'object_path' : 'temperature/membuf4','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '99' : { 'object_path' : 'temperature/membuf5','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '100' : { 'object_path' : 'temperature/membuf6','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + '101' : { 'object_path' : 'temperature/membuf7','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + } + }, +} + +# Miscellaneous non-poll sensor with system specific properties. +# The sensor id is the same as those defined in ID_LOOKUP['SENSOR']. +MISC_SENSORS = { + 0x5f : { 'class' : 'BootCountSensor' }, + 0x05 : { 'class' : 'BootProgressSensor' }, + 0x08 : { 'class' : 'OccStatusSensor', + 'os_path' : '/sys/class/i2c-adapter/i2c-3/3-0050/online' }, + 0x09 : { 'class' : 'OccStatusSensor', + 'os_path' : '/sys/class/i2c-adapter/i2c-3/3-0051/online' }, + 0xb5 : { 'class' : 'OperatingSystemStatusSensor' }, + 0xb3 : { 'class' : 'PowerCap', + 'os_path' : '/sys/class/hwmon/hwmon3/user_powercap' }, +} diff --git a/configs/Makefile b/configs/Makefile new file mode 120000 index 0000000..76a90fc --- /dev/null +++ b/configs/Makefile @@ -0,0 +1 @@ +../Makefile.python \ No newline at end of file diff --git a/configs/Palmetto.py b/configs/Palmetto.py new file mode 100644 index 0000000..bb4d6f2 --- /dev/null +++ b/configs/Palmetto.py @@ -0,0 +1,327 @@ +#! /usr/bin/python + +HOME_PATH = './' +CACHE_PATH = '/var/cache/obmc/' +FLASH_DOWNLOAD_PATH = "/tmp" +GPIO_BASE = 320 +SYSTEM_NAME = "Palmetto" + + +## System states +## state can change to next state in 2 ways: +## - a process emits a GotoSystemState signal with state name to goto +## - objects specified in EXIT_STATE_DEPEND have started +SYSTEM_STATES = [ + 'BASE_APPS', + 'BMC_STARTING', + 'BMC_READY', + 'HOST_POWERING_ON', + 'HOST_POWERED_ON', + 'HOST_BOOTING', + 'HOST_BOOTED', + 'HOST_POWERED_OFF', +] + +EXIT_STATE_DEPEND = { + 'BASE_APPS' : { + '/org/openbmc/sensors': 0, + }, + 'BMC_STARTING' : { + '/org/openbmc/control/chassis0': 0, + '/org/openbmc/control/power0' : 0, + '/org/openbmc/control/led/identify' : 0, + '/org/openbmc/control/host0' : 0, + '/org/openbmc/control/flash/bios' : 0, + } +} + +## method will be called when state is entered +ENTER_STATE_CALLBACK = { + 'HOST_POWERED_ON' : { + 'boot' : { + 'bus_name' : 'org.openbmc.control.Host', + 'obj_name' : '/org/openbmc/control/host0', + 'interface_name' : 'org.openbmc.control.Host', + } + }, + 'BMC_READY' : { + 'setOn' : { + 'bus_name' : 'org.openbmc.control.led', + 'obj_name' : '/org/openbmc/control/led/identify', + 'interface_name' : 'org.openbmc.Led', + }, + 'init' : { + 'bus_name' : 'org.openbmc.control.Flash', + 'obj_name' : '/org/openbmc/control/flash/bios', + 'interface_name' : 'org.openbmc.Flash', + }, + } +} + +APPS = { + 'startup_hacks' : { + 'system_state' : 'BASE_APPS', + 'start_process' : True, + 'monitor_process' : False, + 'process_name' : 'startup_hacks.sh', + }, + 'inventory' : { + 'system_state' : 'BMC_STARTING', + 'start_process' : True, + 'monitor_process' : True, + 'process_name' : 'inventory_items.py', + 'args' : [ SYSTEM_NAME ] + }, + 'pcie_present' : { + 'system_state' : 'HOST_POWERED_ON', + 'start_process' : False, + 'monitor_process' : False, + 'process_name' : 'pcie_slot_present.exe', + }, + 'virtual_sensors' : { + 'system_state' : 'BMC_STARTING', + 'start_process' : True, + 'monitor_process' : True, + 'process_name' : 'hwmon.py', + 'args' : [ SYSTEM_NAME ] + }, + 'sensor_manager' : { + 'system_state' : 'BASE_APPS', + 'start_process' : True, + 'monitor_process' : True, + 'process_name' : 'sensor_manager2.py', + 'args' : [ SYSTEM_NAME ] + }, + 'host_watchdog' : { + 'system_state' : 'BMC_STARTING', + 'start_process' : True, + 'monitor_process' : True, + 'process_name' : 'host_watchdog.exe', + }, + 'power_control' : { + 'system_state' : 'BMC_STARTING', + 'start_process' : True, + 'monitor_process' : True, + 'process_name' : 'power_control.exe', + 'args' : [ '3000', '10' ] + }, + 'power_button' : { + 'system_state' : 'BMC_STARTING', + 'start_process' : False, + 'monitor_process' : False, + 'process_name' : 'button_power.exe', + }, + 'led_control' : { + 'system_state' : 'BMC_STARTING', + 'start_process' : True, + 'monitor_process' : True, + 'process_name' : 'led_controller.exe', + }, + 'flash_control' : { + 'system_state' : 'BMC_STARTING', + 'start_process' : True, + 'monitor_process' : True, + 'process_name' : 'flash_bios.exe', + }, + 'bmc_flash_control' : { + 'system_state' : 'BMC_STARTING', + 'start_process' : True, + 'monitor_process' : True, + 'process_name' : 'bmc_update.py', + }, + 'download_manager' : { + 'system_state' : 'BMC_STARTING', + 'start_process' : True, + 'monitor_process' : True, + 'process_name' : 'download_manager.py', + 'args' : [ SYSTEM_NAME ] + }, + 'host_control' : { + 'system_state' : 'BMC_STARTING', + 'start_process' : True, + 'monitor_process' : True, + 'process_name' : 'control_host.exe', + }, + 'chassis_control' : { + 'system_state' : 'BMC_STARTING', + 'start_process' : True, + 'monitor_process' : True, + 'process_name' : 'chassis_control.py', + }, + 'bmc_control' : { + 'system_state' : 'BMC_STARTING', + 'start_process' : True, + 'monitor_process' : True, + 'process_name' : 'control_bmc.exe', + } +} + +CACHED_INTERFACES = { + "org.openbmc.InventoryItem" : True, + "org.openbmc.control.Chassis" : True, + } +INVENTORY_ROOT = '/org/openbmc/inventory' + +FRU_INSTANCES = { + '/system' : { 'fru_type' : 'SYSTEM','is_fru' : True, }, + '/system/chassis' : { 'fru_type' : 'SYSTEM','is_fru' : True, }, + '/system/chassis/motherboard' : { 'fru_type' : 'MAIN_PLANAR','is_fru' : True, }, + + '/system/chassis/fan0' : { 'fru_type' : 'FAN','is_fru' : True, }, + '/system/chassis/fan1' : { 'fru_type' : 'FAN','is_fru' : True, }, + '/system/chassis/fan2' : { 'fru_type' : 'FAN','is_fru' : True, }, + '/system/chassis/fan3' : { 'fru_type' : 'FAN','is_fru' : True, }, + '/system/chassis/fan4' : { 'fru_type' : 'FAN','is_fru' : True, }, + + '/system/chassis/motherboard/bmc' : { 'fru_type' : 'BMC','is_fru' : False, + 'manufacturer' : 'ASPEED' }, + '/system/chassis/motherboard/cpu0' : { 'fru_type' : 'CPU', 'is_fru' : True, }, + '/system/chassis/motherboard/cpu0/core0' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + '/system/chassis/motherboard/cpu0/core1' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + '/system/chassis/motherboard/cpu0/core2' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + '/system/chassis/motherboard/cpu0/core3' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + '/system/chassis/motherboard/cpu0/core4' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + '/system/chassis/motherboard/cpu0/core5' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + '/system/chassis/motherboard/cpu0/core6' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + '/system/chassis/motherboard/cpu0/core7' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + '/system/chassis/motherboard/cpu0/core8' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + '/system/chassis/motherboard/cpu0/core9' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + '/system/chassis/motherboard/cpu0/core10' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + '/system/chassis/motherboard/cpu0/core11' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + + + '/system/chassis/motherboard/membuf0' : { 'fru_type' : 'MEMORY_BUFFER', 'is_fru' : False, }, + + '/system/chassis/motherboard/dimm0' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm1' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm2' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '/system/chassis/motherboard/dimm3' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + + '/system/chassis/io_board/pcie_slot0' : { 'fru_type' : 'PCIE_CARD', 'is_fru' : True,}, + '/system/chassis/io_board/pcie_slot1' : { 'fru_type' : 'PCIE_CARD', 'is_fru' : True,}, + + '/system/systemevent' : { 'fru_type' : 'SYSTEM_EVENT', 'is_fru' : False, }, + '/system/chassis/motherboard/refclock' : { 'fru_type' : 'MAIN_PLANAR', 'is_fru' : False, }, + '/system/chassis/motherboard/pcieclock': { 'fru_type' : 'MAIN_PLANAR', 'is_fru' : False, }, + '/system/chassis/motherboard/todclock' : { 'fru_type' : 'MAIN_PLANAR', 'is_fru' : False, }, + '/system/chassis/motherboard/apss' : { 'fru_type' : 'MAIN_PLANAR', 'is_fru' : False, }, +} + +ID_LOOKUP = { + 'FRU' : { + 0x0d : '/system/chassis', + 0x34 : '/system/chassis/motherboard', + 0x01 : '/system/chassis/motherboard/cpu0', + 0x02 : '/system/chassis/motherboard/membuf0', + 0x03 : '/system/chassis/motherboard/dimm0', + 0x04 : '/system/chassis/motherboard/dimm1', + 0x05 : '/system/chassis/motherboard/dimm2', + 0x06 : '/system/chassis/motherboard/dimm3', + 0x35 : '/system', + }, + 'FRU_STR' : { + 'PRODUCT_15' : '/system', + 'CHASSIS_2' : '/system/chassis', + 'BOARD_1' : '/system/chassis/motherboard/cpu0', + 'BOARD_2' : '/system/chassis/motherboard/membuf0', + 'BOARD_14' : '/system/chassis/motherboard', + 'PRODUCT_3' : '/system/chassis/motherboard/dimm0', + 'PRODUCT_4' : '/system/chassis/motherboard/dimm1', + 'PRODUCT_5' : '/system/chassis/motherboard/dimm2', + 'PRODUCT_6' : '/system/chassis/motherboard/dimm3', + }, + 'SENSOR' : { + 0x34 : '/system/chassis/motherboard', + 0x35 : '/system/systemevent', + 0x37 : '/system/chassis/motherboard/refclock', + 0x38 : '/system/chassis/motherboard/pcieclock', + 0x39 : '/system/chassis/motherboard/todclock', + 0x3A : '/system/chassis/motherboard/apss', + 0x2f : '/system/chassis/motherboard/cpu0', + 0x22 : '/system/chassis/motherboard/cpu0/core0', + 0x23 : '/system/chassis/motherboard/cpu0/core1', + 0x24 : '/system/chassis/motherboard/cpu0/core2', + 0x25 : '/system/chassis/motherboard/cpu0/core3', + 0x26 : '/system/chassis/motherboard/cpu0/core4', + 0x27 : '/system/chassis/motherboard/cpu0/core5', + 0x28 : '/system/chassis/motherboard/cpu0/core6', + 0x29 : '/system/chassis/motherboard/cpu0/core7', + 0x2a : '/system/chassis/motherboard/cpu0/core8', + 0x2b : '/system/chassis/motherboard/cpu0/core9', + 0x2c : '/system/chassis/motherboard/cpu0/core10', + 0x2d : '/system/chassis/motherboard/cpu0/core11', + 0x2e : '/system/chassis/motherboard/membuf0', + 0x1e : '/system/chassis/motherboard/dimm0', + 0x1f : '/system/chassis/motherboard/dimm1', + 0x20 : '/system/chassis/motherboard/dimm2', + 0x21 : '/system/chassis/motherboard/dimm3', + 0x09 : '/org/openbmc/sensors/host/BootCount', + 0x05 : '/org/openbmc/sensors/host/BootProgress', + 0x08 : '/org/openbmc/sensors/host/cpu0/OccStatus', + 0x32 : '/org/openbmc/sensors/host/OperatingSystemStatus', + 0x33 : '/org/openbmc/sensors/host/PowerCap', + }, + 'GPIO_PRESENT' : { + 'SLOT0_PRESENT' : '/system/chassis/io_board/pcie_slot0', + 'SLOT1_PRESENT' : '/system/chassis/io_board/pcie_slot1', + } +} + +GPIO_CONFIG = {} +GPIO_CONFIG['FSI_CLK'] = { 'gpio_pin': 'A4', 'direction': 'out' } +GPIO_CONFIG['FSI_DATA'] = { 'gpio_pin': 'A5', 'direction': 'out' } +GPIO_CONFIG['FSI_ENABLE'] = { 'gpio_pin': 'D0', 'direction': 'out' } +GPIO_CONFIG['POWER_PIN'] = { 'gpio_pin': 'E1', 'direction': 'out' } +GPIO_CONFIG['CRONUS_SEL'] = { 'gpio_pin': 'A6', 'direction': 'out' } +GPIO_CONFIG['PGOOD'] = { 'gpio_pin': 'C7', 'direction': 'in' } +GPIO_CONFIG['BMC_THROTTLE'] = { 'gpio_pin': 'J3', 'direction': 'out' } +GPIO_CONFIG['IDBTN'] = { 'gpio_pin': 'Q7', 'direction': 'out' } +GPIO_CONFIG['POWER_BUTTON'] = { 'gpio_pin': 'E0', 'direction': 'both' } +GPIO_CONFIG['PCIE_RESET'] = { 'gpio_pin': 'B5', 'direction': 'out' } +GPIO_CONFIG['USB_RESET'] = { 'gpio_pin': 'B6', 'direction': 'out' } +GPIO_CONFIG['SLOT0_RISER_PRESENT'] = { 'gpio_pin': 'N0', 'direction': 'in' } +GPIO_CONFIG['SLOT1_RISER_PRESENT'] = { 'gpio_pin': 'N1', 'direction': 'in' } +GPIO_CONFIG['SLOT2_RISER_PRESENT'] = { 'gpio_pin': 'N2', 'direction': 'in' } +GPIO_CONFIG['SLOT0_PRESENT'] = { 'gpio_pin': 'N3', 'direction': 'in' } +GPIO_CONFIG['SLOT1_PRESENT'] = { 'gpio_pin': 'N4', 'direction': 'in' } +GPIO_CONFIG['SLOT2_PRESENT'] = { 'gpio_pin': 'N5', 'direction': 'in' } +GPIO_CONFIG['MEZZ0_PRESENT'] = { 'gpio_pin': 'O0', 'direction': 'in' } +GPIO_CONFIG['MEZZ1_PRESENT'] = { 'gpio_pin': 'O1', 'direction': 'in' } + +def convertGpio(name): + name = name.upper() + c = name[0:1] + offset = int(name[1:]) + a = ord(c)-65 + base = a*8+GPIO_BASE + return base+offset + +HWMON_CONFIG = { + '2-004c' : { + 'names' : { + 'temp1_input' : { 'object_path' : 'temperature/ambient','poll_interval' : 5000,'scale' : 1000,'units' : 'C' }, + } + }, + '3-0050' : { + 'names' : { + 'caps_curr_powercap' : { 'object_path' : 'powercap/curr_cap','poll_interval' : 10000,'scale' : 1,'units' : 'W' }, + 'caps_curr_powerreading' : { 'object_path' : 'powercap/system_power','poll_interval' : 10000,'scale' : 1,'units' : 'W' }, + 'caps_max_powercap' : { 'object_path' : 'powercap/max_cap','poll_interval' : 10000,'scale' : 1,'units' : 'W' }, + 'caps_min_powercap' : { 'object_path' : 'powercap/min_cap','poll_interval' : 10000,'scale' : 1,'units' : 'W' }, + 'caps_norm_powercap' : { 'object_path' : 'powercap/n_cap','poll_interval' : 10000,'scale' : 1,'units' : 'W' }, + 'caps_user_powerlimit' : { 'object_path' : 'powercap/user_cap','poll_interval' : 10000,'scale' : 1,'units' : 'W' }, + } + } +} + +# Miscellaneous non-poll sensor with system specific properties. +# The sensor id is the same as those defined in ID_LOOKUP['SENSOR']. +MISC_SENSORS = { + 0x09 : { 'class' : 'BootCountSensor' }, + 0x05 : { 'class' : 'BootProgressSensor' }, + 0x08 : { 'class' : 'OccStatusSensor', + 'os_path' : '/sys/class/i2c-adapter/i2c-3/3-0050/online' }, + 0x32 : { 'class' : 'OperatingSystemStatusSensor' }, + 0x33 : { 'class' : 'PowerCap', + 'os_path' : '/sys/class/hwmon/hwmon1/user_powercap' }, +} diff --git a/configs/setup.py b/configs/setup.py new file mode 100644 index 0000000..0132f01 --- /dev/null +++ b/configs/setup.py @@ -0,0 +1,6 @@ +from distutils.core import setup + +setup(name='openbmc_configs', + version='1.0', + py_modules=['Palmetto', 'Garrison', 'Barreleye', 'Firestone', 'Witherspoon'], + ) -- cgit v1.2.1