diff options
author | Patrick Williams <patrick@stwcx.xyz> | 2016-06-16 12:07:16 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-06-16 12:07:16 -0500 |
commit | 5774d44aa3dca936b6ddc118e2b3b0ea8e1c5f26 (patch) | |
tree | 8ac1992f0a6ca5fa92cfcdde1d9eb7e8915b3eaa | |
parent | 40187443840d0e419c13391b2091fda29d63dea4 (diff) | |
parent | e5fe522ad032f176d40cb14070b07e601d01e53b (diff) | |
download | talos-skeleton-5774d44aa3dca936b6ddc118e2b3b0ea8e1c5f26.tar.gz talos-skeleton-5774d44aa3dca936b6ddc118e2b3b0ea8e1c5f26.zip |
Merge pull request #105 from bradbishop/witherspoon
Initial Witherspoon board configuration
-rw-r--r-- | configs/Witherspoon.py | 649 |
1 files changed, 649 insertions, 0 deletions
diff --git a/configs/Witherspoon.py b/configs/Witherspoon.py new file mode 100644 index 0000000..42e4733 --- /dev/null +++ b/configs/Witherspoon.py @@ -0,0 +1,649 @@ +#! /usr/bin/python + +HOME_PATH = './' +CACHE_PATH = '/var/cache/obmc/' +FLASH_DOWNLOAD_PATH = "/tmp" +GPIO_BASE = 320 +SYSTEM_NAME = "Witherspoon" + + +## 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 = { + '<inventory_root>/system' : { 'fru_type' : 'SYSTEM','is_fru' : True, 'present' : "True" }, + '<inventory_root>/system/bios' : { 'fru_type' : 'SYSTEM','is_fru' : True, 'present' : "True" }, + '<inventory_root>/system/misc' : { 'fru_type' : 'SYSTEM','is_fru' : False, }, + + '<inventory_root>/system/chassis' : { 'fru_type' : 'SYSTEM','is_fru' : True, 'present' : "True" }, + + '<inventory_root>/system/chassis/motherboard' : { 'fru_type' : 'MAIN_PLANAR','is_fru' : True, }, + + '<inventory_root>/system/systemevent' : { 'fru_type' : 'SYSTEM_EVENT', 'is_fru' : False, }, + '<inventory_root>/system/chassis/motherboard/refclock' : { 'fru_type' : 'MAIN_PLANAR', 'is_fru' : False, }, + '<inventory_root>/system/chassis/motherboard/pcieclock': { 'fru_type' : 'MAIN_PLANAR', 'is_fru' : False, }, + '<inventory_root>/system/chassis/motherboard/todclock' : { 'fru_type' : 'MAIN_PLANAR', 'is_fru' : False, }, + '<inventory_root>/system/chassis/motherboard/apss' : { 'fru_type' : 'MAIN_PLANAR', 'is_fru' : False, }, + + '<inventory_root>/system/chassis/fan0' : { 'fru_type' : 'FAN','is_fru' : True, }, + '<inventory_root>/system/chassis/fan1' : { 'fru_type' : 'FAN','is_fru' : True, }, + '<inventory_root>/system/chassis/fan2' : { 'fru_type' : 'FAN','is_fru' : True, }, + '<inventory_root>/system/chassis/fan3' : { 'fru_type' : 'FAN','is_fru' : True, }, + + '<inventory_root>/system/chassis/motherboard/bmc' : { 'fru_type' : 'BMC','is_fru' : False, 'manufacturer' : 'ASPEED' }, + + '<inventory_root>/system/chassis/motherboard/cpu0' : { 'fru_type' : 'CPU', 'is_fru' : True, }, + '<inventory_root>/system/chassis/motherboard/cpu1' : { 'fru_type' : 'CPU', 'is_fru' : True, }, + + '<inventory_root>/system/chassis/motherboard/cpu0/core0' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + '<inventory_root>/system/chassis/motherboard/cpu0/core1' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + '<inventory_root>/system/chassis/motherboard/cpu0/core2' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + '<inventory_root>/system/chassis/motherboard/cpu0/core3' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + '<inventory_root>/system/chassis/motherboard/cpu0/core4' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + '<inventory_root>/system/chassis/motherboard/cpu0/core5' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + '<inventory_root>/system/chassis/motherboard/cpu0/core6' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + '<inventory_root>/system/chassis/motherboard/cpu0/core7' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + '<inventory_root>/system/chassis/motherboard/cpu0/core8' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + '<inventory_root>/system/chassis/motherboard/cpu0/core9' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + '<inventory_root>/system/chassis/motherboard/cpu0/core10': { 'fru_type' : 'CORE', 'is_fru' : False, }, + '<inventory_root>/system/chassis/motherboard/cpu0/core11': { 'fru_type' : 'CORE', 'is_fru' : False, }, + + '<inventory_root>/system/chassis/motherboard/cpu1/core0' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + '<inventory_root>/system/chassis/motherboard/cpu1/core1' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + '<inventory_root>/system/chassis/motherboard/cpu1/core2' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + '<inventory_root>/system/chassis/motherboard/cpu1/core3' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + '<inventory_root>/system/chassis/motherboard/cpu1/core4' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + '<inventory_root>/system/chassis/motherboard/cpu1/core5' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + '<inventory_root>/system/chassis/motherboard/cpu1/core6' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + '<inventory_root>/system/chassis/motherboard/cpu1/core7' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + '<inventory_root>/system/chassis/motherboard/cpu1/core8' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + '<inventory_root>/system/chassis/motherboard/cpu1/core9' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + '<inventory_root>/system/chassis/motherboard/cpu1/core10' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + '<inventory_root>/system/chassis/motherboard/cpu1/core11' : { 'fru_type' : 'CORE', 'is_fru' : False, }, + + '<inventory_root>/system/chassis/motherboard/membuf0' : { 'fru_type' : 'MEMORY_BUFFER', 'is_fru' : False, }, + '<inventory_root>/system/chassis/motherboard/membuf1' : { 'fru_type' : 'MEMORY_BUFFER', 'is_fru' : False, }, + '<inventory_root>/system/chassis/motherboard/membuf2' : { 'fru_type' : 'MEMORY_BUFFER', 'is_fru' : False, }, + '<inventory_root>/system/chassis/motherboard/membuf3' : { 'fru_type' : 'MEMORY_BUFFER', 'is_fru' : False, }, + '<inventory_root>/system/chassis/motherboard/membuf4' : { 'fru_type' : 'MEMORY_BUFFER', 'is_fru' : False, }, + '<inventory_root>/system/chassis/motherboard/membuf5' : { 'fru_type' : 'MEMORY_BUFFER', 'is_fru' : False, }, + '<inventory_root>/system/chassis/motherboard/membuf6' : { 'fru_type' : 'MEMORY_BUFFER', 'is_fru' : False, }, + '<inventory_root>/system/chassis/motherboard/membuf7' : { 'fru_type' : 'MEMORY_BUFFER', 'is_fru' : False, }, + + '<inventory_root>/system/chassis/motherboard/dimm0' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '<inventory_root>/system/chassis/motherboard/dimm1' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '<inventory_root>/system/chassis/motherboard/dimm2' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '<inventory_root>/system/chassis/motherboard/dimm3' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '<inventory_root>/system/chassis/motherboard/dimm4' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '<inventory_root>/system/chassis/motherboard/dimm5' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '<inventory_root>/system/chassis/motherboard/dimm6' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '<inventory_root>/system/chassis/motherboard/dimm7' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '<inventory_root>/system/chassis/motherboard/dimm8' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '<inventory_root>/system/chassis/motherboard/dimm9' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '<inventory_root>/system/chassis/motherboard/dimm10' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '<inventory_root>/system/chassis/motherboard/dimm11' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '<inventory_root>/system/chassis/motherboard/dimm12' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '<inventory_root>/system/chassis/motherboard/dimm13' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '<inventory_root>/system/chassis/motherboard/dimm14' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '<inventory_root>/system/chassis/motherboard/dimm15' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '<inventory_root>/system/chassis/motherboard/dimm16' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '<inventory_root>/system/chassis/motherboard/dimm17' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '<inventory_root>/system/chassis/motherboard/dimm18' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '<inventory_root>/system/chassis/motherboard/dimm19' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '<inventory_root>/system/chassis/motherboard/dimm20' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '<inventory_root>/system/chassis/motherboard/dimm21' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '<inventory_root>/system/chassis/motherboard/dimm22' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '<inventory_root>/system/chassis/motherboard/dimm23' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '<inventory_root>/system/chassis/motherboard/dimm24' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '<inventory_root>/system/chassis/motherboard/dimm25' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '<inventory_root>/system/chassis/motherboard/dimm26' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '<inventory_root>/system/chassis/motherboard/dimm27' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '<inventory_root>/system/chassis/motherboard/dimm28' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '<inventory_root>/system/chassis/motherboard/dimm29' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '<inventory_root>/system/chassis/motherboard/dimm30' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, + '<inventory_root>/system/chassis/motherboard/dimm31' : { 'fru_type' : 'DIMM', 'is_fru' : True,}, +} + +ID_LOOKUP = { + 'FRU' : { + 0x01 : '<inventory_root>/system/chassis/motherboard/cpu0', + 0x02 : '<inventory_root>/system/chassis/motherboard/cpu1', + 0x03 : '<inventory_root>/system/chassis/motherboard', + 0x04 : '<inventory_root>/system/chassis/motherboard/membuf0', + 0x05 : '<inventory_root>/system/chassis/motherboard/membuf1', + 0x06 : '<inventory_root>/system/chassis/motherboard/membuf2', + 0x07 : '<inventory_root>/system/chassis/motherboard/membuf3', + 0x08 : '<inventory_root>/system/chassis/motherboard/membuf4', + 0x09 : '<inventory_root>/system/chassis/motherboard/membuf5', + 0x0c : '<inventory_root>/system/chassis/motherboard/dimm0', + 0x0d : '<inventory_root>/system/chassis/motherboard/dimm1', + 0x0e : '<inventory_root>/system/chassis/motherboard/dimm2', + 0x0f : '<inventory_root>/system/chassis/motherboard/dimm3', + 0x10 : '<inventory_root>/system/chassis/motherboard/dimm4', + 0x11 : '<inventory_root>/system/chassis/motherboard/dimm5', + 0x12 : '<inventory_root>/system/chassis/motherboard/dimm6', + 0x13 : '<inventory_root>/system/chassis/motherboard/dimm7', + 0x14 : '<inventory_root>/system/chassis/motherboard/dimm8', + 0x15 : '<inventory_root>/system/chassis/motherboard/dimm9', + 0x16 : '<inventory_root>/system/chassis/motherboard/dimm10', + 0x17 : '<inventory_root>/system/chassis/motherboard/dimm11', + 0x18 : '<inventory_root>/system/chassis/motherboard/dimm12', + 0x19 : '<inventory_root>/system/chassis/motherboard/dimm13', + 0x1a : '<inventory_root>/system/chassis/motherboard/dimm14', + 0x1b : '<inventory_root>/system/chassis/motherboard/dimm15', + 0x1c : '<inventory_root>/system/chassis/motherboard/dimm16', + 0x1d : '<inventory_root>/system/chassis/motherboard/dimm17', + 0x1e : '<inventory_root>/system/chassis/motherboard/dimm18', + 0x1f : '<inventory_root>/system/chassis/motherboard/dimm19', + 0x20 : '<inventory_root>/system/chassis/motherboard/dimm20', + 0x21 : '<inventory_root>/system/chassis/motherboard/dimm21', + 0x22 : '<inventory_root>/system/chassis/motherboard/dimm22', + 0x23 : '<inventory_root>/system/chassis/motherboard/dimm23', + 0x24 : '<inventory_root>/system/chassis/motherboard/dimm24', + 0x25 : '<inventory_root>/system/chassis/motherboard/dimm25', + 0x26 : '<inventory_root>/system/chassis/motherboard/dimm26', + 0x27 : '<inventory_root>/system/chassis/motherboard/dimm27', + 0x28 : '<inventory_root>/system/chassis/motherboard/dimm28', + 0x29 : '<inventory_root>/system/chassis/motherboard/dimm29', + 0x2a : '<inventory_root>/system/chassis/motherboard/dimm30', + 0x2b : '<inventory_root>/system/chassis/motherboard/dimm31', + }, + 'FRU_STR' : { + 'PRODUCT_0' : '<inventory_root>/system/bios', + 'BOARD_1' : '<inventory_root>/system/chassis/motherboard/cpu0', + 'BOARD_2' : '<inventory_root>/system/chassis/motherboard/cpu1', + 'CHASSIS_3' : '<inventory_root>/system/chassis/motherboard', + 'BOARD_3' : '<inventory_root>/system/misc', + 'BOARD_4' : '<inventory_root>/system/chassis/motherboard/membuf0', + 'BOARD_5' : '<inventory_root>/system/chassis/motherboard/membuf1', + 'BOARD_6' : '<inventory_root>/system/chassis/motherboard/membuf2', + 'BOARD_7' : '<inventory_root>/system/chassis/motherboard/membuf3', + 'BOARD_8' : '<inventory_root>/system/chassis/motherboard/membuf4', + 'BOARD_9' : '<inventory_root>/system/chassis/motherboard/membuf5', + 'BOARD_10' : '<inventory_root>/system/chassis/motherboard/membuf6', + 'BOARD_11' : '<inventory_root>/system/chassis/motherboard/membuf7', + 'PRODUCT_12' : '<inventory_root>/system/chassis/motherboard/dimm0', + 'PRODUCT_13' : '<inventory_root>/system/chassis/motherboard/dimm1', + 'PRODUCT_14' : '<inventory_root>/system/chassis/motherboard/dimm2', + 'PRODUCT_15' : '<inventory_root>/system/chassis/motherboard/dimm3', + 'PRODUCT_16' : '<inventory_root>/system/chassis/motherboard/dimm4', + 'PRODUCT_17' : '<inventory_root>/system/chassis/motherboard/dimm5', + 'PRODUCT_18' : '<inventory_root>/system/chassis/motherboard/dimm6', + 'PRODUCT_19' : '<inventory_root>/system/chassis/motherboard/dimm7', + 'PRODUCT_20' : '<inventory_root>/system/chassis/motherboard/dimm8', + 'PRODUCT_21' : '<inventory_root>/system/chassis/motherboard/dimm9', + 'PRODUCT_22' : '<inventory_root>/system/chassis/motherboard/dimm10', + 'PRODUCT_23' : '<inventory_root>/system/chassis/motherboard/dimm11', + 'PRODUCT_24' : '<inventory_root>/system/chassis/motherboard/dimm12', + 'PRODUCT_25' : '<inventory_root>/system/chassis/motherboard/dimm13', + 'PRODUCT_26' : '<inventory_root>/system/chassis/motherboard/dimm14', + 'PRODUCT_27' : '<inventory_root>/system/chassis/motherboard/dimm15', + 'PRODUCT_28' : '<inventory_root>/system/chassis/motherboard/dimm16', + 'PRODUCT_29' : '<inventory_root>/system/chassis/motherboard/dimm17', + 'PRODUCT_30' : '<inventory_root>/system/chassis/motherboard/dimm18', + 'PRODUCT_31' : '<inventory_root>/system/chassis/motherboard/dimm19', + 'PRODUCT_32' : '<inventory_root>/system/chassis/motherboard/dimm20', + 'PRODUCT_33' : '<inventory_root>/system/chassis/motherboard/dimm21', + 'PRODUCT_34' : '<inventory_root>/system/chassis/motherboard/dimm22', + 'PRODUCT_35' : '<inventory_root>/system/chassis/motherboard/dimm23', + 'PRODUCT_36' : '<inventory_root>/system/chassis/motherboard/dimm24', + 'PRODUCT_37' : '<inventory_root>/system/chassis/motherboard/dimm25', + 'PRODUCT_38' : '<inventory_root>/system/chassis/motherboard/dimm26', + 'PRODUCT_39' : '<inventory_root>/system/chassis/motherboard/dimm27', + 'PRODUCT_40' : '<inventory_root>/system/chassis/motherboard/dimm28', + 'PRODUCT_41' : '<inventory_root>/system/chassis/motherboard/dimm29', + 'PRODUCT_42' : '<inventory_root>/system/chassis/motherboard/dimm30', + 'PRODUCT_43' : '<inventory_root>/system/chassis/motherboard/dimm31', + 'PRODUCT_47' : '<inventory_root>/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 : '<inventory_root>/system/chassis/motherboard/cpu0', + 0x0e : '<inventory_root>/system/chassis/motherboard/cpu1', + 0x1e : '<inventory_root>/system/chassis/motherboard/dimm3', + 0x1f : '<inventory_root>/system/chassis/motherboard/dimm2', + 0x20 : '<inventory_root>/system/chassis/motherboard/dimm1', + 0x21 : '<inventory_root>/system/chassis/motherboard/dimm0', + 0x22 : '<inventory_root>/system/chassis/motherboard/dimm7', + 0x23 : '<inventory_root>/system/chassis/motherboard/dimm6', + 0x24 : '<inventory_root>/system/chassis/motherboard/dimm5', + 0x25 : '<inventory_root>/system/chassis/motherboard/dimm4', + 0x26 : '<inventory_root>/system/chassis/motherboard/dimm11', + 0x27 : '<inventory_root>/system/chassis/motherboard/dimm10', + 0x28 : '<inventory_root>/system/chassis/motherboard/dimm9', + 0x29 : '<inventory_root>/system/chassis/motherboard/dimm8', + 0x2a : '<inventory_root>/system/chassis/motherboard/dimm15', + 0x2b : '<inventory_root>/system/chassis/motherboard/dimm14', + 0x2c : '<inventory_root>/system/chassis/motherboard/dimm13', + 0x2d : '<inventory_root>/system/chassis/motherboard/dimm12', + 0x2e : '<inventory_root>/system/chassis/motherboard/dimm19', + 0x2f : '<inventory_root>/system/chassis/motherboard/dimm18', + 0x30 : '<inventory_root>/system/chassis/motherboard/dimm17', + 0x31 : '<inventory_root>/system/chassis/motherboard/dimm16', + 0x32 : '<inventory_root>/system/chassis/motherboard/dimm23', + 0x33 : '<inventory_root>/system/chassis/motherboard/dimm22', + 0x34 : '<inventory_root>/system/chassis/motherboard/dimm21', + 0x35 : '<inventory_root>/system/chassis/motherboard/dimm20', + 0x36 : '<inventory_root>/system/chassis/motherboard/dimm27', + 0x37 : '<inventory_root>/system/chassis/motherboard/dimm26', + 0x38 : '<inventory_root>/system/chassis/motherboard/dimm25', + 0x39 : '<inventory_root>/system/chassis/motherboard/dimm24', + 0x3a : '<inventory_root>/system/chassis/motherboard/dimm31', + 0x3b : '<inventory_root>/system/chassis/motherboard/dimm30', + 0x3c : '<inventory_root>/system/chassis/motherboard/dimm29', + 0x3d : '<inventory_root>/system/chassis/motherboard/dimm28', + 0x3e : '<inventory_root>/system/chassis/motherboard/cpu0/core0', + 0x3f : '<inventory_root>/system/chassis/motherboard/cpu0/core1', + 0x40 : '<inventory_root>/system/chassis/motherboard/cpu0/core2', + 0x41 : '<inventory_root>/system/chassis/motherboard/cpu0/core3', + 0x42 : '<inventory_root>/system/chassis/motherboard/cpu0/core4', + 0x43 : '<inventory_root>/system/chassis/motherboard/cpu0/core5', + 0x44 : '<inventory_root>/system/chassis/motherboard/cpu0/core6', + 0x45 : '<inventory_root>/system/chassis/motherboard/cpu0/core7', + 0x46 : '<inventory_root>/system/chassis/motherboard/cpu0/core8', + 0x47 : '<inventory_root>/system/chassis/motherboard/cpu0/core9', + 0x48 : '<inventory_root>/system/chassis/motherboard/cpu0/core10', + 0x49 : '<inventory_root>/system/chassis/motherboard/cpu0/core11', + 0x4a : '<inventory_root>/system/chassis/motherboard/cpu1/core0', + 0x4b : '<inventory_root>/system/chassis/motherboard/cpu1/core1', + 0x4c : '<inventory_root>/system/chassis/motherboard/cpu1/core2', + 0x4d : '<inventory_root>/system/chassis/motherboard/cpu1/core3', + 0x4e : '<inventory_root>/system/chassis/motherboard/cpu1/core4', + 0x4f : '<inventory_root>/system/chassis/motherboard/cpu1/core5', + 0x50 : '<inventory_root>/system/chassis/motherboard/cpu1/core6', + 0x51 : '<inventory_root>/system/chassis/motherboard/cpu1/core7', + 0x52 : '<inventory_root>/system/chassis/motherboard/cpu1/core8', + 0x53 : '<inventory_root>/system/chassis/motherboard/cpu1/core9', + 0x54 : '<inventory_root>/system/chassis/motherboard/cpu1/core10', + 0x55 : '<inventory_root>/system/chassis/motherboard/cpu1/core11', + 0x56 : '<inventory_root>/system/chassis/motherboard/membuf0', + 0x57 : '<inventory_root>/system/chassis/motherboard/membuf1', + 0x58 : '<inventory_root>/system/chassis/motherboard/membuf2', + 0x59 : '<inventory_root>/system/chassis/motherboard/membuf3', + 0x5a : '<inventory_root>/system/chassis/motherboard/membuf4', + 0x5b : '<inventory_root>/system/chassis/motherboard/membuf5', + 0x5c : '<inventory_root>/system/chassis/motherboard/membuf6', + 0x5d : '<inventory_root>/system/chassis/motherboard/membuf7', + 0x5f : '/org/openbmc/sensors/host/BootCount', + 0x60 : '<inventory_root>/system/chassis/motherboard', + 0x61 : '<inventory_root>/system/systemevent', + 0x62 : '<inventory_root>/system/powerlimit', + 0x63 : '<inventory_root>/system/chassis/motherboard/refclock', + 0x64 : '<inventory_root>/system/chassis/motherboard/pcieclock', + 0xb1 : '<inventory_root>/system/chassis/motherboard/todclock', + 0xb2 : '<inventory_root>/system/chassis/motherboard/apss', + 0xb3 : '/org/openbmc/sensors/host/powercap', + 0xb5 : '/org/openbmc/sensors/host/OperatingSystemStatus', + 0xb6 : '<inventory_root>/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': 'N5', 'direction': 'out'} + +# witherspoon: not connect +#GPIO_CONFIG['CM1_OE_R_N'] = \ +# {'gpio_pin': 'A2', 'direction': 'out'} + +GPIO_CONFIG['BMC_CP0_RESET_N'] = \ + {'gpio_pin': 'A1', 'direction': 'out'} + +# witherspoon: No centaur +#GPIO_CONFIG['BMC_CFAM_RESET_N_R'] = \ +# {'gpio_pin': 'J2', 'direction': 'out'} + + +# FIXME: reset pcie switch, looks like BMC_VS1_PERST_N , see workbook fig.46 +#GPIO_CONFIG['PEX8718_DEVICES_RESET_N'] = \ +# {'gpio_pin': 'B7', 'direction': 'out'} +GPIO_CONFIG['BMC_VS1_PERST_N'] = \ + {'gpio_pin': 'B7', 'direction': 'out'} + +# FIXME: reset pcie slots, looks like BMC_CP0_PERST_ENABLE_R, see workbook fig.46 +# firestone: gpiog1, gpiog2 +#GPIO_CONFIG['CP0_DEVICES_RESET_N'] = \ +# {'gpio_pin': 'B1', 'direction': 'out'} +# FIXME: G2 for Firestone.. Witherspoon: no +#GPIO_CONFIG['CP1_DEVICES_RESET_N'] = \ +# {'gpio_pin': 'A1', 'direction': 'out'} +GPIO_CONFIG['BMC_CP0_PERST_ENABLE_R'] = \ + {'gpio_pin': 'A3', 'direction': 'out'} + +#FIXME: witherspoon: SOFT_FSI_CLK: AA0, SOFT_FSI_DAT: E0, see workbook fig.44 +GPIO_CONFIG['FSI_DATA'] = \ + {'gpio_pin': 'E0', 'direction': 'out'} +GPIO_CONFIG['FSI_CLK'] = \ + {'gpio_pin': 'AA0', 'direction': 'out'} +GPIO_CONFIG['FSI_ENABLE'] = \ + {'gpio_pin': 'D0', 'direction': 'out'} + +# FIXME: both witherspoon and garrison, gpioa6 is FSI_JMFG0_PRSNT_N +GPIO_CONFIG['CRONUS_SEL'] = \ + {'gpio_pin': 'A6', 'direction': 'out'} + +# FIXME: ?? firestone gpioj3 is NC +#GPIO_CONFIG['BMC_THROTTLE'] = \ +# {'gpio_pin': 'J3', 'direction': 'out'} + +#FIXME: ?? witherspoon: FP_ID_BTN_N_R, firestone: PD_BMC_IDBTN_IN_OUT_N - it is not connected +GPIO_CONFIG['IDBTN'] = \ + { 'gpio_pin': 'Q7', 'direction': 'out' } + +#FIXME: witherspoon: FP_PWR_BTN_N, firstone: NC_BMC_PWBTN_IN_N gpioe0 - not connected +GPIO_CONFIG['POWER_BUTTON'] = \ + {'gpio_pin': 'I3', 'direction': 'both'} +# witherspoon: BMC_NMIBTN_IN_N, firestone: BMC_NMIBTN_IN_N +GPIO_CONFIG['RESET_BUTTON'] = \ + {'gpio_pin': 'J1', 'direction': 'both'} + +GPIO_CONFIG['PS0_PRES_N'] = \ + {'gpio_pin': 'P7', 'direction': 'in'} +GPIO_CONFIG['PS1_PRES_N'] = \ + {'gpio_pin': 'N0', 'direction': 'in'} +# witherspoon: CARD_PRES_N +GPIO_CONFIG['CARD_PRES_N'] = \ + {'gpio_pin': 'I0', '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' }, +} |