xref: /openbmc/skeleton/configs/Barreleye.py (revision 40a360c2)
1*40a360c2SBrad Bishop#! /usr/bin/python
2*40a360c2SBrad Bishop
3*40a360c2SBrad BishopHOME_PATH = './'
4*40a360c2SBrad BishopCACHE_PATH = '/var/cache/obmc/'
5*40a360c2SBrad BishopFLASH_DOWNLOAD_PATH = "/tmp"
6*40a360c2SBrad BishopGPIO_BASE = 320
7*40a360c2SBrad BishopSYSTEM_NAME = "Barreleye"
8*40a360c2SBrad Bishop
9*40a360c2SBrad Bishop
10*40a360c2SBrad Bishop## System states
11*40a360c2SBrad Bishop##   state can change to next state in 2 ways:
12*40a360c2SBrad Bishop##   - a process emits a GotoSystemState signal with state name to goto
13*40a360c2SBrad Bishop##   - objects specified in EXIT_STATE_DEPEND have started
14*40a360c2SBrad BishopSYSTEM_STATES = [
15*40a360c2SBrad Bishop	'BASE_APPS',
16*40a360c2SBrad Bishop	'BMC_STARTING',
17*40a360c2SBrad Bishop	'BMC_STARTING2',
18*40a360c2SBrad Bishop	'BMC_READY',
19*40a360c2SBrad Bishop	'HOST_POWERING_ON',
20*40a360c2SBrad Bishop	'HOST_POWERED_ON',
21*40a360c2SBrad Bishop	'INVENTORY_UPLOADED',
22*40a360c2SBrad Bishop	'HOST_BOOTING',
23*40a360c2SBrad Bishop	'HOST_BOOTED',
24*40a360c2SBrad Bishop	'HOST_POWERED_OFF',
25*40a360c2SBrad Bishop]
26*40a360c2SBrad Bishop
27*40a360c2SBrad BishopEXIT_STATE_DEPEND = {
28*40a360c2SBrad Bishop	'BASE_APPS' : {
29*40a360c2SBrad Bishop		'/org/openbmc/sensors': 0,
30*40a360c2SBrad Bishop	},
31*40a360c2SBrad Bishop	'BMC_STARTING' : {
32*40a360c2SBrad Bishop		'/org/openbmc/control/power0' : 0,
33*40a360c2SBrad Bishop		'/org/openbmc/control/host0' : 0,
34*40a360c2SBrad Bishop		'/org/openbmc/control/flash/bios' : 0,
35*40a360c2SBrad Bishop		'/org/openbmc/sensors/speed/fan5': 0,
36*40a360c2SBrad Bishop		'/org/openbmc/inventory/system/chassis/io_board' : 0,
37*40a360c2SBrad Bishop	},
38*40a360c2SBrad Bishop	'BMC_STARTING2' : {
39*40a360c2SBrad Bishop		'/org/openbmc/control/fans' : 0,
40*40a360c2SBrad Bishop		'/org/openbmc/control/chassis0': 0,
41*40a360c2SBrad Bishop	},
42*40a360c2SBrad Bishop}
43*40a360c2SBrad Bishop
44*40a360c2SBrad Bishop## method will be called when state is entered
45*40a360c2SBrad BishopENTER_STATE_CALLBACK = {
46*40a360c2SBrad Bishop	'INVENTORY_UPLOADED' : {
47*40a360c2SBrad Bishop		'boot' : {
48*40a360c2SBrad Bishop			'bus_name'    : 'org.openbmc.control.Host',
49*40a360c2SBrad Bishop			'obj_name'    : '/org/openbmc/control/host0',
50*40a360c2SBrad Bishop			'interface_name' : 'org.openbmc.control.Host',
51*40a360c2SBrad Bishop		},
52*40a360c2SBrad Bishop		'setMax' : {
53*40a360c2SBrad Bishop			'bus_name'    : 'org.openbmc.control.Fans',
54*40a360c2SBrad Bishop			'obj_name'    : '/org/openbmc/control/fans',
55*40a360c2SBrad Bishop			'interface_name' : 'org.openbmc.control.Fans',
56*40a360c2SBrad Bishop		},
57*40a360c2SBrad Bishop		'setOn' : {
58*40a360c2SBrad Bishop			'bus_name'   : 'org.openbmc.control.led',
59*40a360c2SBrad Bishop			'obj_name'   : '/org/openbmc/control/led/identify',
60*40a360c2SBrad Bishop			'interface_name' : 'org.openbmc.Led',
61*40a360c2SBrad Bishop		}
62*40a360c2SBrad Bishop	},
63*40a360c2SBrad Bishop	'HOST_POWERED_OFF' : {
64*40a360c2SBrad Bishop		'setOff' : {
65*40a360c2SBrad Bishop			'bus_name'   : 'org.openbmc.control.led',
66*40a360c2SBrad Bishop			'obj_name'   : '/org/openbmc/control/led/identify',
67*40a360c2SBrad Bishop			'interface_name' : 'org.openbmc.Led',
68*40a360c2SBrad Bishop		}
69*40a360c2SBrad Bishop
70*40a360c2SBrad Bishop	},
71*40a360c2SBrad Bishop	'BMC_READY' : {
72*40a360c2SBrad Bishop		'setOn' : {
73*40a360c2SBrad Bishop			'bus_name'   : 'org.openbmc.control.led',
74*40a360c2SBrad Bishop			'obj_name'   : '/org/openbmc/control/led/beep',
75*40a360c2SBrad Bishop			'interface_name' : 'org.openbmc.Led',
76*40a360c2SBrad Bishop		},
77*40a360c2SBrad Bishop		'init' : {
78*40a360c2SBrad Bishop			'bus_name'   : 'org.openbmc.control.Flash',
79*40a360c2SBrad Bishop			'obj_name'   : '/org/openbmc/control/flash/bios',
80*40a360c2SBrad Bishop			'interface_name' : 'org.openbmc.Flash',
81*40a360c2SBrad Bishop		}
82*40a360c2SBrad Bishop	}
83*40a360c2SBrad Bishop}
84*40a360c2SBrad Bishop
85*40a360c2SBrad BishopAPPS = {
86*40a360c2SBrad Bishop	'startup_hacks' : {
87*40a360c2SBrad Bishop		'system_state'    : 'BASE_APPS',
88*40a360c2SBrad Bishop		'start_process'   : True,
89*40a360c2SBrad Bishop		'monitor_process' : False,
90*40a360c2SBrad Bishop		'process_name'    : 'startup_hacks.sh',
91*40a360c2SBrad Bishop	},
92*40a360c2SBrad Bishop	'inventory' : {
93*40a360c2SBrad Bishop		'system_state'    : 'BMC_STARTING',
94*40a360c2SBrad Bishop		'start_process'   : True,
95*40a360c2SBrad Bishop		'monitor_process' : True,
96*40a360c2SBrad Bishop		'process_name'    : 'inventory_items.py',
97*40a360c2SBrad Bishop		'args'            : [ SYSTEM_NAME ]
98*40a360c2SBrad Bishop	},
99*40a360c2SBrad Bishop	'inventory_upload' : {
100*40a360c2SBrad Bishop		'system_state'    : 'HOST_POWERED_ON',
101*40a360c2SBrad Bishop		'start_process'   : True,
102*40a360c2SBrad Bishop		'monitor_process' : False,
103*40a360c2SBrad Bishop		'process_name'    : 'goto_system_state.py',
104*40a360c2SBrad Bishop		'args'            : [ 'INVENTORY_UPLOADED', 'inventory_upload.py' ]
105*40a360c2SBrad Bishop	},
106*40a360c2SBrad Bishop	'pcie_present' : {
107*40a360c2SBrad Bishop		'system_state'    : 'INVENTORY_UPLOADED',
108*40a360c2SBrad Bishop		'start_process'   : True,
109*40a360c2SBrad Bishop		'monitor_process' : False,
110*40a360c2SBrad Bishop		'process_name'    : 'pcie_slot_present.exe',
111*40a360c2SBrad Bishop	},
112*40a360c2SBrad Bishop	'fan_control' : {
113*40a360c2SBrad Bishop		'system_state'    : 'BMC_STARTING2',
114*40a360c2SBrad Bishop		'start_process'   : True,
115*40a360c2SBrad Bishop		'monitor_process' : True,
116*40a360c2SBrad Bishop		'process_name'    : 'fan_control.py',
117*40a360c2SBrad Bishop	},
118*40a360c2SBrad Bishop	'hwmon' : {
119*40a360c2SBrad Bishop		'system_state'    : 'BMC_STARTING',
120*40a360c2SBrad Bishop		'start_process'   : True,
121*40a360c2SBrad Bishop		'monitor_process' : True,
122*40a360c2SBrad Bishop		'process_name'    : 'hwmon.py',
123*40a360c2SBrad Bishop		'args'            : [ SYSTEM_NAME ]
124*40a360c2SBrad Bishop	},
125*40a360c2SBrad Bishop	'sensor_manager' : {
126*40a360c2SBrad Bishop		'system_state'    : 'BASE_APPS',
127*40a360c2SBrad Bishop		'start_process'   : True,
128*40a360c2SBrad Bishop		'monitor_process' : True,
129*40a360c2SBrad Bishop		'process_name'    : 'sensor_manager2.py',
130*40a360c2SBrad Bishop		'args'            : [ SYSTEM_NAME ]
131*40a360c2SBrad Bishop	},
132*40a360c2SBrad Bishop	'host_watchdog' : {
133*40a360c2SBrad Bishop		'system_state'    : 'BMC_STARTING',
134*40a360c2SBrad Bishop		'start_process'   : True,
135*40a360c2SBrad Bishop		'monitor_process' : True,
136*40a360c2SBrad Bishop		'process_name'    : 'host_watchdog.exe',
137*40a360c2SBrad Bishop	},
138*40a360c2SBrad Bishop	'power_control' : {
139*40a360c2SBrad Bishop		'system_state'    : 'BMC_STARTING',
140*40a360c2SBrad Bishop		'start_process'   : True,
141*40a360c2SBrad Bishop		'monitor_process' : True,
142*40a360c2SBrad Bishop		'process_name' : 'power_control.exe',
143*40a360c2SBrad Bishop		'args' : [ '3000', '10' ]
144*40a360c2SBrad Bishop	},
145*40a360c2SBrad Bishop	'power_button' : {
146*40a360c2SBrad Bishop		'system_state'    : 'BMC_STARTING',
147*40a360c2SBrad Bishop		'start_process'   : True,
148*40a360c2SBrad Bishop		'monitor_process' : True,
149*40a360c2SBrad Bishop		'process_name'    : 'button_power.exe',
150*40a360c2SBrad Bishop	},
151*40a360c2SBrad Bishop        'reset_button' : {
152*40a360c2SBrad Bishop                'system_state'    : 'BMC_STARTING',
153*40a360c2SBrad Bishop                'start_process'   : True,
154*40a360c2SBrad Bishop                'monitor_process' : True,
155*40a360c2SBrad Bishop                'process_name'    : 'button_reset.exe',
156*40a360c2SBrad Bishop        },
157*40a360c2SBrad Bishop	'led_control' : {
158*40a360c2SBrad Bishop		'system_state'    : 'BMC_STARTING',
159*40a360c2SBrad Bishop		'start_process'   : True,
160*40a360c2SBrad Bishop		'monitor_process' : True,
161*40a360c2SBrad Bishop		'process_name'    : 'led_controller.exe',
162*40a360c2SBrad Bishop	},
163*40a360c2SBrad Bishop	'flash_control' : {
164*40a360c2SBrad Bishop		'system_state'    : 'BMC_STARTING',
165*40a360c2SBrad Bishop		'start_process'   : True,
166*40a360c2SBrad Bishop		'monitor_process' : True,
167*40a360c2SBrad Bishop		'process_name'    : 'flash_bios.exe',
168*40a360c2SBrad Bishop	},
169*40a360c2SBrad Bishop	'bmc_flash_control' : {
170*40a360c2SBrad Bishop		'system_state'    : 'BMC_STARTING',
171*40a360c2SBrad Bishop		'start_process'   : True,
172*40a360c2SBrad Bishop		'monitor_process' : True,
173*40a360c2SBrad Bishop		'process_name'    : 'bmc_update.py',
174*40a360c2SBrad Bishop	},
175*40a360c2SBrad Bishop	'download_manager' : {
176*40a360c2SBrad Bishop		'system_state'    : 'BMC_STARTING',
177*40a360c2SBrad Bishop		'start_process'   : True,
178*40a360c2SBrad Bishop		'monitor_process' : True,
179*40a360c2SBrad Bishop		'process_name'    : 'download_manager.py',
180*40a360c2SBrad Bishop		'args'            : [ SYSTEM_NAME ]
181*40a360c2SBrad Bishop	},
182*40a360c2SBrad Bishop	'host_control' : {
183*40a360c2SBrad Bishop		'system_state'    : 'BMC_STARTING',
184*40a360c2SBrad Bishop		'start_process'   : True,
185*40a360c2SBrad Bishop		'monitor_process' : True,
186*40a360c2SBrad Bishop		'process_name'    : 'control_host.exe',
187*40a360c2SBrad Bishop	},
188*40a360c2SBrad Bishop	'chassis_control' : {
189*40a360c2SBrad Bishop		'system_state'    : 'BMC_STARTING2',
190*40a360c2SBrad Bishop		'start_process'   : True,
191*40a360c2SBrad Bishop		'monitor_process' : True,
192*40a360c2SBrad Bishop		'process_name'    : 'chassis_control.py',
193*40a360c2SBrad Bishop	},
194*40a360c2SBrad Bishop	'board_vpd' : {
195*40a360c2SBrad Bishop		'system_state'    : 'BMC_STARTING2',
196*40a360c2SBrad Bishop		'start_process'   : True,
197*40a360c2SBrad Bishop		'monitor_process' : False,
198*40a360c2SBrad Bishop		'process_name'    : 'phosphor-read-eeprom',
199*40a360c2SBrad Bishop		'args'            : ['--eeprom','/sys/bus/i2c/devices/0-0050/eeprom','--fruid','64'],
200*40a360c2SBrad Bishop	},
201*40a360c2SBrad Bishop	'motherboard_vpd' : {
202*40a360c2SBrad Bishop		'system_state'    : 'BMC_STARTING2',
203*40a360c2SBrad Bishop		'start_process'   : True,
204*40a360c2SBrad Bishop		'monitor_process' : False,
205*40a360c2SBrad Bishop		'process_name'    : 'phosphor-read-eeprom',
206*40a360c2SBrad Bishop		'args'            : ['--eeprom','/sys/bus/i2c/devices/4-0054/eeprom','--fruid','3'],
207*40a360c2SBrad Bishop	},
208*40a360c2SBrad Bishop	'exp_vpd' : {
209*40a360c2SBrad Bishop		'system_state'    : 'BMC_STARTING2',
210*40a360c2SBrad Bishop		'start_process'   : True,
211*40a360c2SBrad Bishop		'monitor_process' : False,
212*40a360c2SBrad Bishop		'process_name'    : 'phosphor-read-eeprom',
213*40a360c2SBrad Bishop		'args'            : ['--eeprom','/sys/bus/i2c/devices/6-0051/eeprom','--fruid','65'],
214*40a360c2SBrad Bishop	},
215*40a360c2SBrad Bishop	'hdd_vpd' : {
216*40a360c2SBrad Bishop		'system_state'    : 'BMC_STARTING2',
217*40a360c2SBrad Bishop		'start_process'   : True,
218*40a360c2SBrad Bishop		'monitor_process' : False,
219*40a360c2SBrad Bishop		'process_name'    : 'phosphor-read-eeprom',
220*40a360c2SBrad Bishop		'args'            : ['--eeprom','/sys/bus/i2c/devices/6-0055/eeprom','--fruid','66'],
221*40a360c2SBrad Bishop	},
222*40a360c2SBrad Bishop	'restore' : {
223*40a360c2SBrad Bishop		'system_state'    : 'BMC_READY',
224*40a360c2SBrad Bishop		'start_process'   : True,
225*40a360c2SBrad Bishop		'monitor_process' : False,
226*40a360c2SBrad Bishop		'process_name'    : 'discover_system_state.py',
227*40a360c2SBrad Bishop	},
228*40a360c2SBrad Bishop	'bmc_control' : {
229*40a360c2SBrad Bishop		'system_state'    : 'BMC_STARTING',
230*40a360c2SBrad Bishop		'start_process'   : True,
231*40a360c2SBrad Bishop		'monitor_process' : True,
232*40a360c2SBrad Bishop		'process_name'    : 'control_bmc.exe',
233*40a360c2SBrad Bishop	},
234*40a360c2SBrad Bishop}
235*40a360c2SBrad Bishop
236*40a360c2SBrad BishopCACHED_INTERFACES = {
237*40a360c2SBrad Bishop		"org.openbmc.InventoryItem" : True,
238*40a360c2SBrad Bishop		"org.openbmc.control.Chassis" : True,
239*40a360c2SBrad Bishop	}
240*40a360c2SBrad BishopINVENTORY_ROOT = '/org/openbmc/inventory'
241*40a360c2SBrad Bishop
242*40a360c2SBrad BishopFRU_INSTANCES = {
243*40a360c2SBrad Bishop	'<inventory_root>/system' : { 'fru_type' : 'SYSTEM','is_fru' : True, 'present' : "True" },
244*40a360c2SBrad Bishop	'<inventory_root>/system/bios' : { 'fru_type' : 'SYSTEM','is_fru' : True, 'present' : "True" },
245*40a360c2SBrad Bishop	'<inventory_root>/system/misc' : { 'fru_type' : 'SYSTEM','is_fru' : False, },
246*40a360c2SBrad Bishop
247*40a360c2SBrad Bishop	'<inventory_root>/system/chassis' : { 'fru_type' : 'SYSTEM','is_fru' : True, 'present' : "True" },
248*40a360c2SBrad Bishop
249*40a360c2SBrad Bishop	'<inventory_root>/system/chassis/motherboard' : { 'fru_type' : 'MAIN_PLANAR','is_fru' : True, },
250*40a360c2SBrad Bishop	'<inventory_root>/system/chassis/io_board' : { 'fru_type' : 'DAUGHTER_CARD','is_fru' : True, },
251*40a360c2SBrad Bishop	'<inventory_root>/system/chassis/sas_expander' : { 'fru_type' : 'DAUGHTER_CARD','is_fru' : True, },
252*40a360c2SBrad Bishop	'<inventory_root>/system/chassis/hdd_backplane' : { 'fru_type' : 'DAUGHTER_CARD','is_fru' : True, },
253*40a360c2SBrad Bishop
254*40a360c2SBrad Bishop	'<inventory_root>/system/systemevent'                  : { 'fru_type' : 'SYSTEM_EVENT', 'is_fru' : False, },
255*40a360c2SBrad Bishop	'<inventory_root>/system/chassis/motherboard/refclock' : { 'fru_type' : 'MAIN_PLANAR', 'is_fru' : False, },
256*40a360c2SBrad Bishop	'<inventory_root>/system/chassis/motherboard/pcieclock': { 'fru_type' : 'MAIN_PLANAR', 'is_fru' : False, },
257*40a360c2SBrad Bishop	'<inventory_root>/system/chassis/motherboard/todclock' : { 'fru_type' : 'MAIN_PLANAR', 'is_fru' : False, },
258*40a360c2SBrad Bishop	'<inventory_root>/system/chassis/motherboard/apss'     : { 'fru_type' : 'MAIN_PLANAR', 'is_fru' : False, },
259*40a360c2SBrad Bishop
260*40a360c2SBrad Bishop	'<inventory_root>/system/chassis/fan0' : { 'fru_type' : 'FAN','is_fru' : True, },
261*40a360c2SBrad Bishop	'<inventory_root>/system/chassis/fan1' : { 'fru_type' : 'FAN','is_fru' : True, },
262*40a360c2SBrad Bishop	'<inventory_root>/system/chassis/fan2' : { 'fru_type' : 'FAN','is_fru' : True, },
263*40a360c2SBrad Bishop	'<inventory_root>/system/chassis/fan3' : { 'fru_type' : 'FAN','is_fru' : True, },
264*40a360c2SBrad Bishop	'<inventory_root>/system/chassis/fan4' : { 'fru_type' : 'FAN','is_fru' : True, },
265*40a360c2SBrad Bishop	'<inventory_root>/system/chassis/fan5' : { 'fru_type' : 'FAN','is_fru' : True, },
266*40a360c2SBrad Bishop
267*40a360c2SBrad Bishop	'<inventory_root>/system/chassis/motherboard/bmc' : { 'fru_type' : 'BMC','is_fru' : False, 'manufacturer' : 'ASPEED' },
268*40a360c2SBrad Bishop
269*40a360c2SBrad Bishop	'<inventory_root>/system/chassis/motherboard/cpu0' : { 'fru_type' : 'CPU', 'is_fru' : True, },
270*40a360c2SBrad Bishop	'<inventory_root>/system/chassis/motherboard/cpu1' : { 'fru_type' : 'CPU', 'is_fru' : True, },
271*40a360c2SBrad Bishop
272*40a360c2SBrad Bishop	'<inventory_root>/system/chassis/motherboard/cpu0/core0' : { 'fru_type' : 'CORE', 'is_fru' : False, },
273*40a360c2SBrad Bishop	'<inventory_root>/system/chassis/motherboard/cpu0/core1' : { 'fru_type' : 'CORE', 'is_fru' : False, },
274*40a360c2SBrad Bishop	'<inventory_root>/system/chassis/motherboard/cpu0/core2' : { 'fru_type' : 'CORE', 'is_fru' : False, },
275*40a360c2SBrad Bishop	'<inventory_root>/system/chassis/motherboard/cpu0/core3' : { 'fru_type' : 'CORE', 'is_fru' : False, },
276*40a360c2SBrad Bishop	'<inventory_root>/system/chassis/motherboard/cpu0/core4' : { 'fru_type' : 'CORE', 'is_fru' : False, },
277*40a360c2SBrad Bishop	'<inventory_root>/system/chassis/motherboard/cpu0/core5' : { 'fru_type' : 'CORE', 'is_fru' : False, },
278*40a360c2SBrad Bishop	'<inventory_root>/system/chassis/motherboard/cpu0/core6' : { 'fru_type' : 'CORE', 'is_fru' : False, },
279*40a360c2SBrad Bishop	'<inventory_root>/system/chassis/motherboard/cpu0/core7' : { 'fru_type' : 'CORE', 'is_fru' : False, },
280*40a360c2SBrad Bishop	'<inventory_root>/system/chassis/motherboard/cpu0/core8' : { 'fru_type' : 'CORE', 'is_fru' : False, },
281*40a360c2SBrad Bishop	'<inventory_root>/system/chassis/motherboard/cpu0/core9' : { 'fru_type' : 'CORE', 'is_fru' : False, },
282*40a360c2SBrad Bishop	'<inventory_root>/system/chassis/motherboard/cpu0/core10': { 'fru_type' : 'CORE', 'is_fru' : False, },
283*40a360c2SBrad Bishop	'<inventory_root>/system/chassis/motherboard/cpu0/core11': { 'fru_type' : 'CORE', 'is_fru' : False, },
284*40a360c2SBrad Bishop
285*40a360c2SBrad Bishop	'<inventory_root>/system/chassis/motherboard/cpu1/core0' : { 'fru_type' : 'CORE', 'is_fru' : False, },
286*40a360c2SBrad Bishop	'<inventory_root>/system/chassis/motherboard/cpu1/core1' : { 'fru_type' : 'CORE', 'is_fru' : False, },
287*40a360c2SBrad Bishop	'<inventory_root>/system/chassis/motherboard/cpu1/core2' : { 'fru_type' : 'CORE', 'is_fru' : False, },
288*40a360c2SBrad Bishop	'<inventory_root>/system/chassis/motherboard/cpu1/core3' : { 'fru_type' : 'CORE', 'is_fru' : False, },
289*40a360c2SBrad Bishop	'<inventory_root>/system/chassis/motherboard/cpu1/core4' : { 'fru_type' : 'CORE', 'is_fru' : False, },
290*40a360c2SBrad Bishop	'<inventory_root>/system/chassis/motherboard/cpu1/core5' : { 'fru_type' : 'CORE', 'is_fru' : False, },
291*40a360c2SBrad Bishop	'<inventory_root>/system/chassis/motherboard/cpu1/core6' : { 'fru_type' : 'CORE', 'is_fru' : False, },
292*40a360c2SBrad Bishop	'<inventory_root>/system/chassis/motherboard/cpu1/core7' : { 'fru_type' : 'CORE', 'is_fru' : False, },
293*40a360c2SBrad Bishop	'<inventory_root>/system/chassis/motherboard/cpu1/core8' : { 'fru_type' : 'CORE', 'is_fru' : False, },
294*40a360c2SBrad Bishop	'<inventory_root>/system/chassis/motherboard/cpu1/core9' : { 'fru_type' : 'CORE', 'is_fru' : False, },
295*40a360c2SBrad Bishop	'<inventory_root>/system/chassis/motherboard/cpu1/core10' : { 'fru_type' : 'CORE', 'is_fru' : False, },
296*40a360c2SBrad Bishop	'<inventory_root>/system/chassis/motherboard/cpu1/core11' : { 'fru_type' : 'CORE', 'is_fru' : False, },
297*40a360c2SBrad Bishop
298*40a360c2SBrad Bishop	'<inventory_root>/system/chassis/motherboard/membuf0' : { 'fru_type' : 'MEMORY_BUFFER', 'is_fru' : False, },
299*40a360c2SBrad Bishop	'<inventory_root>/system/chassis/motherboard/membuf1' : { 'fru_type' : 'MEMORY_BUFFER', 'is_fru' : False, },
300*40a360c2SBrad Bishop	'<inventory_root>/system/chassis/motherboard/membuf2' : { 'fru_type' : 'MEMORY_BUFFER', 'is_fru' : False, },
301*40a360c2SBrad Bishop	'<inventory_root>/system/chassis/motherboard/membuf3' : { 'fru_type' : 'MEMORY_BUFFER', 'is_fru' : False, },
302*40a360c2SBrad Bishop	'<inventory_root>/system/chassis/motherboard/membuf4' : { 'fru_type' : 'MEMORY_BUFFER', 'is_fru' : False, },
303*40a360c2SBrad Bishop	'<inventory_root>/system/chassis/motherboard/membuf5' : { 'fru_type' : 'MEMORY_BUFFER', 'is_fru' : False, },
304*40a360c2SBrad Bishop	'<inventory_root>/system/chassis/motherboard/membuf6' : { 'fru_type' : 'MEMORY_BUFFER', 'is_fru' : False, },
305*40a360c2SBrad Bishop	'<inventory_root>/system/chassis/motherboard/membuf7' : { 'fru_type' : 'MEMORY_BUFFER', 'is_fru' : False, },
306*40a360c2SBrad Bishop
307*40a360c2SBrad Bishop	'<inventory_root>/system/chassis/motherboard/dimm0' : { 'fru_type' : 'DIMM', 'is_fru' : True,},
308*40a360c2SBrad Bishop	'<inventory_root>/system/chassis/motherboard/dimm1' : { 'fru_type' : 'DIMM', 'is_fru' : True,},
309*40a360c2SBrad Bishop	'<inventory_root>/system/chassis/motherboard/dimm2' : { 'fru_type' : 'DIMM', 'is_fru' : True,},
310*40a360c2SBrad Bishop	'<inventory_root>/system/chassis/motherboard/dimm3' : { 'fru_type' : 'DIMM', 'is_fru' : True,},
311*40a360c2SBrad Bishop	'<inventory_root>/system/chassis/motherboard/dimm4' : { 'fru_type' : 'DIMM', 'is_fru' : True,},
312*40a360c2SBrad Bishop	'<inventory_root>/system/chassis/motherboard/dimm5' : { 'fru_type' : 'DIMM', 'is_fru' : True,},
313*40a360c2SBrad Bishop	'<inventory_root>/system/chassis/motherboard/dimm6' : { 'fru_type' : 'DIMM', 'is_fru' : True,},
314*40a360c2SBrad Bishop	'<inventory_root>/system/chassis/motherboard/dimm7' : { 'fru_type' : 'DIMM', 'is_fru' : True,},
315*40a360c2SBrad Bishop	'<inventory_root>/system/chassis/motherboard/dimm8' : { 'fru_type' : 'DIMM', 'is_fru' : True,},
316*40a360c2SBrad Bishop	'<inventory_root>/system/chassis/motherboard/dimm9' : { 'fru_type' : 'DIMM', 'is_fru' : True,},
317*40a360c2SBrad Bishop	'<inventory_root>/system/chassis/motherboard/dimm10' : { 'fru_type' : 'DIMM', 'is_fru' : True,},
318*40a360c2SBrad Bishop	'<inventory_root>/system/chassis/motherboard/dimm11' : { 'fru_type' : 'DIMM', 'is_fru' : True,},
319*40a360c2SBrad Bishop	'<inventory_root>/system/chassis/motherboard/dimm12' : { 'fru_type' : 'DIMM', 'is_fru' : True,},
320*40a360c2SBrad Bishop	'<inventory_root>/system/chassis/motherboard/dimm13' : { 'fru_type' : 'DIMM', 'is_fru' : True,},
321*40a360c2SBrad Bishop	'<inventory_root>/system/chassis/motherboard/dimm14' : { 'fru_type' : 'DIMM', 'is_fru' : True,},
322*40a360c2SBrad Bishop	'<inventory_root>/system/chassis/motherboard/dimm15' : { 'fru_type' : 'DIMM', 'is_fru' : True,},
323*40a360c2SBrad Bishop	'<inventory_root>/system/chassis/motherboard/dimm16' : { 'fru_type' : 'DIMM', 'is_fru' : True,},
324*40a360c2SBrad Bishop	'<inventory_root>/system/chassis/motherboard/dimm17' : { 'fru_type' : 'DIMM', 'is_fru' : True,},
325*40a360c2SBrad Bishop	'<inventory_root>/system/chassis/motherboard/dimm18' : { 'fru_type' : 'DIMM', 'is_fru' : True,},
326*40a360c2SBrad Bishop	'<inventory_root>/system/chassis/motherboard/dimm19' : { 'fru_type' : 'DIMM', 'is_fru' : True,},
327*40a360c2SBrad Bishop	'<inventory_root>/system/chassis/motherboard/dimm20' : { 'fru_type' : 'DIMM', 'is_fru' : True,},
328*40a360c2SBrad Bishop	'<inventory_root>/system/chassis/motherboard/dimm21' : { 'fru_type' : 'DIMM', 'is_fru' : True,},
329*40a360c2SBrad Bishop	'<inventory_root>/system/chassis/motherboard/dimm22' : { 'fru_type' : 'DIMM', 'is_fru' : True,},
330*40a360c2SBrad Bishop	'<inventory_root>/system/chassis/motherboard/dimm23' : { 'fru_type' : 'DIMM', 'is_fru' : True,},
331*40a360c2SBrad Bishop	'<inventory_root>/system/chassis/motherboard/dimm24' : { 'fru_type' : 'DIMM', 'is_fru' : True,},
332*40a360c2SBrad Bishop	'<inventory_root>/system/chassis/motherboard/dimm25' : { 'fru_type' : 'DIMM', 'is_fru' : True,},
333*40a360c2SBrad Bishop	'<inventory_root>/system/chassis/motherboard/dimm26' : { 'fru_type' : 'DIMM', 'is_fru' : True,},
334*40a360c2SBrad Bishop	'<inventory_root>/system/chassis/motherboard/dimm27' : { 'fru_type' : 'DIMM', 'is_fru' : True,},
335*40a360c2SBrad Bishop	'<inventory_root>/system/chassis/motherboard/dimm28' : { 'fru_type' : 'DIMM', 'is_fru' : True,},
336*40a360c2SBrad Bishop	'<inventory_root>/system/chassis/motherboard/dimm29' : { 'fru_type' : 'DIMM', 'is_fru' : True,},
337*40a360c2SBrad Bishop	'<inventory_root>/system/chassis/motherboard/dimm30' : { 'fru_type' : 'DIMM', 'is_fru' : True,},
338*40a360c2SBrad Bishop	'<inventory_root>/system/chassis/motherboard/dimm31' : { 'fru_type' : 'DIMM', 'is_fru' : True,},
339*40a360c2SBrad Bishop
340*40a360c2SBrad Bishop	'<inventory_root>/system/chassis/io_board/pcie_slot0_riser' : { 'fru_type' : 'PCIE_RISER', 'is_fru' : True,},
341*40a360c2SBrad Bishop	'<inventory_root>/system/chassis/io_board/pcie_slot1_riser' : { 'fru_type' : 'PCIE_RISER', 'is_fru' : True,},
342*40a360c2SBrad Bishop	'<inventory_root>/system/chassis/io_board/pcie_slot2_riser' : { 'fru_type' : 'PCIE_RISER', 'is_fru' : True,},
343*40a360c2SBrad Bishop	'<inventory_root>/system/chassis/io_board/pcie_slot0' : { 'fru_type' : 'PCIE_CARD', 'is_fru' : True,},
344*40a360c2SBrad Bishop	'<inventory_root>/system/chassis/io_board/pcie_slot1' :	{ 'fru_type' : 'PCIE_CARD', 'is_fru' : True,},
345*40a360c2SBrad Bishop	'<inventory_root>/system/chassis/io_board/pcie_slot2' :	{ 'fru_type' : 'PCIE_CARD', 'is_fru' : True,},
346*40a360c2SBrad Bishop	'<inventory_root>/system/chassis/io_board/pcie_mezz0' :	{ 'fru_type' : 'PCIE_CARD', 'is_fru' : True,},
347*40a360c2SBrad Bishop	'<inventory_root>/system/chassis/io_board/pcie_mezz1' :	{ 'fru_type' : 'PCIE_CARD', 'is_fru' : True,},
348*40a360c2SBrad Bishop}
349*40a360c2SBrad Bishop
350*40a360c2SBrad BishopID_LOOKUP = {
351*40a360c2SBrad Bishop	'FRU' : {
352*40a360c2SBrad Bishop		0x03 : '<inventory_root>/system/chassis/motherboard',
353*40a360c2SBrad Bishop		0x40 : '<inventory_root>/system/chassis/io_board',
354*40a360c2SBrad Bishop		0x01 : '<inventory_root>/system/chassis/motherboard/cpu0',
355*40a360c2SBrad Bishop                0x02 : '<inventory_root>/system/chassis/motherboard/cpu1',
356*40a360c2SBrad Bishop		0x04 : '<inventory_root>/system/chassis/motherboard/membuf0',
357*40a360c2SBrad Bishop                0x05 : '<inventory_root>/system/chassis/motherboard/membuf1',
358*40a360c2SBrad Bishop                0x06 : '<inventory_root>/system/chassis/motherboard/membuf2',
359*40a360c2SBrad Bishop                0x07 : '<inventory_root>/system/chassis/motherboard/membuf3',
360*40a360c2SBrad Bishop                0x08 : '<inventory_root>/system/chassis/motherboard/membuf4',
361*40a360c2SBrad Bishop                0x09 : '<inventory_root>/system/chassis/motherboard/membuf5',
362*40a360c2SBrad Bishop                0x0a : '<inventory_root>/system/chassis/motherboard/membuf6',
363*40a360c2SBrad Bishop                0x0b : '<inventory_root>/system/chassis/motherboard/membuf7',
364*40a360c2SBrad Bishop		0x0c : '<inventory_root>/system/chassis/motherboard/dimm0',
365*40a360c2SBrad Bishop		0x0d : '<inventory_root>/system/chassis/motherboard/dimm1',
366*40a360c2SBrad Bishop		0x0e : '<inventory_root>/system/chassis/motherboard/dimm2',
367*40a360c2SBrad Bishop		0x0f : '<inventory_root>/system/chassis/motherboard/dimm3',
368*40a360c2SBrad Bishop                0x10 : '<inventory_root>/system/chassis/motherboard/dimm4',
369*40a360c2SBrad Bishop                0x11 : '<inventory_root>/system/chassis/motherboard/dimm5',
370*40a360c2SBrad Bishop                0x12 : '<inventory_root>/system/chassis/motherboard/dimm6',
371*40a360c2SBrad Bishop                0x13 : '<inventory_root>/system/chassis/motherboard/dimm7',
372*40a360c2SBrad Bishop                0x14 : '<inventory_root>/system/chassis/motherboard/dimm8',
373*40a360c2SBrad Bishop                0x15 : '<inventory_root>/system/chassis/motherboard/dimm9',
374*40a360c2SBrad Bishop		0x16 : '<inventory_root>/system/chassis/motherboard/dimm10',
375*40a360c2SBrad Bishop		0x17 : '<inventory_root>/system/chassis/motherboard/dimm11',
376*40a360c2SBrad Bishop		0x18 : '<inventory_root>/system/chassis/motherboard/dimm12',
377*40a360c2SBrad Bishop		0x19 : '<inventory_root>/system/chassis/motherboard/dimm13',
378*40a360c2SBrad Bishop		0x1a : '<inventory_root>/system/chassis/motherboard/dimm14',
379*40a360c2SBrad Bishop		0x1b : '<inventory_root>/system/chassis/motherboard/dimm15',
380*40a360c2SBrad Bishop		0x1c : '<inventory_root>/system/chassis/motherboard/dimm16',
381*40a360c2SBrad Bishop		0x1d : '<inventory_root>/system/chassis/motherboard/dimm17',
382*40a360c2SBrad Bishop		0x1e : '<inventory_root>/system/chassis/motherboard/dimm18',
383*40a360c2SBrad Bishop		0x1f : '<inventory_root>/system/chassis/motherboard/dimm19',
384*40a360c2SBrad Bishop		0x20 : '<inventory_root>/system/chassis/motherboard/dimm20',
385*40a360c2SBrad Bishop                0x21 : '<inventory_root>/system/chassis/motherboard/dimm21',
386*40a360c2SBrad Bishop                0x22 : '<inventory_root>/system/chassis/motherboard/dimm22',
387*40a360c2SBrad Bishop                0x23 : '<inventory_root>/system/chassis/motherboard/dimm23',
388*40a360c2SBrad Bishop                0x24 : '<inventory_root>/system/chassis/motherboard/dimm24',
389*40a360c2SBrad Bishop                0x25 : '<inventory_root>/system/chassis/motherboard/dimm25',
390*40a360c2SBrad Bishop                0x26 : '<inventory_root>/system/chassis/motherboard/dimm26',
391*40a360c2SBrad Bishop                0x27 : '<inventory_root>/system/chassis/motherboard/dimm27',
392*40a360c2SBrad Bishop                0x28 : '<inventory_root>/system/chassis/motherboard/dimm28',
393*40a360c2SBrad Bishop                0x29 : '<inventory_root>/system/chassis/motherboard/dimm29',
394*40a360c2SBrad Bishop                0x2a : '<inventory_root>/system/chassis/motherboard/dimm30',
395*40a360c2SBrad Bishop                0x2b : '<inventory_root>/system/chassis/motherboard/dimm31',
396*40a360c2SBrad Bishop		0x33 : '<inventory_root>/system',
397*40a360c2SBrad Bishop	},
398*40a360c2SBrad Bishop	'FRU_STR' : {
399*40a360c2SBrad Bishop		'PRODUCT_0'  : '<inventory_root>/system/bios',
400*40a360c2SBrad Bishop		'BOARD_3'    : '<inventory_root>/system/misc',
401*40a360c2SBrad Bishop		'PRODUCT_51' : '<inventory_root>/system/misc',
402*40a360c2SBrad Bishop		'PRODUCT_100': '<inventory_root>/system',
403*40a360c2SBrad Bishop		'CHASSIS_100': '<inventory_root>/system/chassis',
404*40a360c2SBrad Bishop		'BOARD_100'  : '<inventory_root>/system/chassis/io_board',
405*40a360c2SBrad Bishop		'BOARD_101'  : '<inventory_root>/system/chassis/sas_expander',
406*40a360c2SBrad Bishop		'BOARD_102'  : '<inventory_root>/system/chassis/hdd_backplane',
407*40a360c2SBrad Bishop		'CHASSIS_3'  : '<inventory_root>/system/chassis/motherboard',
408*40a360c2SBrad Bishop		'BOARD_1'    : '<inventory_root>/system/chassis/motherboard/cpu0',
409*40a360c2SBrad Bishop		'BOARD_2'    : '<inventory_root>/system/chassis/motherboard/cpu1',
410*40a360c2SBrad Bishop		'BOARD_4'    : '<inventory_root>/system/chassis/motherboard/membuf0',
411*40a360c2SBrad Bishop		'BOARD_5'    : '<inventory_root>/system/chassis/motherboard/membuf1',
412*40a360c2SBrad Bishop		'BOARD_6'    : '<inventory_root>/system/chassis/motherboard/membuf2',
413*40a360c2SBrad Bishop		'BOARD_7'    : '<inventory_root>/system/chassis/motherboard/membuf3',
414*40a360c2SBrad Bishop		'BOARD_8'    : '<inventory_root>/system/chassis/motherboard/membuf4',
415*40a360c2SBrad Bishop		'BOARD_9'    : '<inventory_root>/system/chassis/motherboard/membuf5',
416*40a360c2SBrad Bishop		'BOARD_10'   : '<inventory_root>/system/chassis/motherboard/membuf6',
417*40a360c2SBrad Bishop		'BOARD_11'   : '<inventory_root>/system/chassis/motherboard/membuf7',
418*40a360c2SBrad Bishop		'PRODUCT_12'   : '<inventory_root>/system/chassis/motherboard/dimm0',
419*40a360c2SBrad Bishop		'PRODUCT_13'   : '<inventory_root>/system/chassis/motherboard/dimm1',
420*40a360c2SBrad Bishop		'PRODUCT_14'   : '<inventory_root>/system/chassis/motherboard/dimm2',
421*40a360c2SBrad Bishop		'PRODUCT_15'   : '<inventory_root>/system/chassis/motherboard/dimm3',
422*40a360c2SBrad Bishop		'PRODUCT_16'   : '<inventory_root>/system/chassis/motherboard/dimm4',
423*40a360c2SBrad Bishop		'PRODUCT_17'   : '<inventory_root>/system/chassis/motherboard/dimm5',
424*40a360c2SBrad Bishop		'PRODUCT_18'   : '<inventory_root>/system/chassis/motherboard/dimm6',
425*40a360c2SBrad Bishop		'PRODUCT_19'   : '<inventory_root>/system/chassis/motherboard/dimm7',
426*40a360c2SBrad Bishop		'PRODUCT_20'   : '<inventory_root>/system/chassis/motherboard/dimm8',
427*40a360c2SBrad Bishop		'PRODUCT_21'   : '<inventory_root>/system/chassis/motherboard/dimm9',
428*40a360c2SBrad Bishop		'PRODUCT_22'   : '<inventory_root>/system/chassis/motherboard/dimm10',
429*40a360c2SBrad Bishop		'PRODUCT_23'   : '<inventory_root>/system/chassis/motherboard/dimm11',
430*40a360c2SBrad Bishop		'PRODUCT_24'   : '<inventory_root>/system/chassis/motherboard/dimm12',
431*40a360c2SBrad Bishop		'PRODUCT_25'   : '<inventory_root>/system/chassis/motherboard/dimm13',
432*40a360c2SBrad Bishop		'PRODUCT_26'   : '<inventory_root>/system/chassis/motherboard/dimm14',
433*40a360c2SBrad Bishop		'PRODUCT_27'   : '<inventory_root>/system/chassis/motherboard/dimm15',
434*40a360c2SBrad Bishop		'PRODUCT_28'   : '<inventory_root>/system/chassis/motherboard/dimm16',
435*40a360c2SBrad Bishop		'PRODUCT_29'   : '<inventory_root>/system/chassis/motherboard/dimm17',
436*40a360c2SBrad Bishop		'PRODUCT_30'   : '<inventory_root>/system/chassis/motherboard/dimm18',
437*40a360c2SBrad Bishop		'PRODUCT_31'   : '<inventory_root>/system/chassis/motherboard/dimm19',
438*40a360c2SBrad Bishop		'PRODUCT_32'   : '<inventory_root>/system/chassis/motherboard/dimm20',
439*40a360c2SBrad Bishop		'PRODUCT_33'   : '<inventory_root>/system/chassis/motherboard/dimm21',
440*40a360c2SBrad Bishop		'PRODUCT_34'   : '<inventory_root>/system/chassis/motherboard/dimm22',
441*40a360c2SBrad Bishop		'PRODUCT_35'   : '<inventory_root>/system/chassis/motherboard/dimm23',
442*40a360c2SBrad Bishop		'PRODUCT_36'   : '<inventory_root>/system/chassis/motherboard/dimm24',
443*40a360c2SBrad Bishop		'PRODUCT_37'   : '<inventory_root>/system/chassis/motherboard/dimm25',
444*40a360c2SBrad Bishop		'PRODUCT_38'   : '<inventory_root>/system/chassis/motherboard/dimm26',
445*40a360c2SBrad Bishop		'PRODUCT_39'   : '<inventory_root>/system/chassis/motherboard/dimm27',
446*40a360c2SBrad Bishop		'PRODUCT_40'   : '<inventory_root>/system/chassis/motherboard/dimm28',
447*40a360c2SBrad Bishop		'PRODUCT_41'   : '<inventory_root>/system/chassis/motherboard/dimm29',
448*40a360c2SBrad Bishop		'PRODUCT_42'   : '<inventory_root>/system/chassis/motherboard/dimm30',
449*40a360c2SBrad Bishop		'PRODUCT_43'   : '<inventory_root>/system/chassis/motherboard/dimm31',
450*40a360c2SBrad Bishop	},
451*40a360c2SBrad Bishop	'SENSOR' : {
452*40a360c2SBrad Bishop		0x35 : '<inventory_root>/system/systemevent',
453*40a360c2SBrad Bishop		0x36 : '<inventory_root>/system/powerlimit',
454*40a360c2SBrad Bishop                0x34 : '<inventory_root>/system/chassis/motherboard',
455*40a360c2SBrad Bishop		0x31 : '<inventory_root>/system/chassis/motherboard/pcielink',
456*40a360c2SBrad Bishop		0x37 : '<inventory_root>/system/chassis/motherboard/refclock',
457*40a360c2SBrad Bishop		0x38 : '<inventory_root>/system/chassis/motherboard/pcieclock',
458*40a360c2SBrad Bishop		0x39 : '<inventory_root>/system/chassis/motherboard/todclock',
459*40a360c2SBrad Bishop		0x3A : '<inventory_root>/system/chassis/motherboard/apss',
460*40a360c2SBrad Bishop		0x0c : '<inventory_root>/system/chassis/motherboard/cpu0',
461*40a360c2SBrad Bishop                0x0e : '<inventory_root>/system/chassis/motherboard/cpu1',
462*40a360c2SBrad Bishop		0xc8 : '<inventory_root>/system/chassis/motherboard/cpu0/core0',
463*40a360c2SBrad Bishop		0xc9 : '<inventory_root>/system/chassis/motherboard/cpu0/core1',
464*40a360c2SBrad Bishop		0xca : '<inventory_root>/system/chassis/motherboard/cpu0/core2',
465*40a360c2SBrad Bishop		0xcb : '<inventory_root>/system/chassis/motherboard/cpu0/core3',
466*40a360c2SBrad Bishop		0xcc : '<inventory_root>/system/chassis/motherboard/cpu0/core4',
467*40a360c2SBrad Bishop		0xcd : '<inventory_root>/system/chassis/motherboard/cpu0/core5',
468*40a360c2SBrad Bishop		0xce : '<inventory_root>/system/chassis/motherboard/cpu0/core6',
469*40a360c2SBrad Bishop		0xcf : '<inventory_root>/system/chassis/motherboard/cpu0/core7',
470*40a360c2SBrad Bishop		0xd0 : '<inventory_root>/system/chassis/motherboard/cpu0/core8',
471*40a360c2SBrad Bishop		0xd1 : '<inventory_root>/system/chassis/motherboard/cpu0/core9',
472*40a360c2SBrad Bishop		0xd2 : '<inventory_root>/system/chassis/motherboard/cpu0/core10',
473*40a360c2SBrad Bishop		0xd3 : '<inventory_root>/system/chassis/motherboard/cpu0/core11',
474*40a360c2SBrad Bishop                0xd4 : '<inventory_root>/system/chassis/motherboard/cpu1/core0',
475*40a360c2SBrad Bishop                0xd5 : '<inventory_root>/system/chassis/motherboard/cpu1/core1',
476*40a360c2SBrad Bishop                0xd6 : '<inventory_root>/system/chassis/motherboard/cpu1/core2',
477*40a360c2SBrad Bishop                0xd7 : '<inventory_root>/system/chassis/motherboard/cpu1/core3',
478*40a360c2SBrad Bishop                0xd8 : '<inventory_root>/system/chassis/motherboard/cpu1/core4',
479*40a360c2SBrad Bishop                0xd9 : '<inventory_root>/system/chassis/motherboard/cpu1/core5',
480*40a360c2SBrad Bishop                0xda : '<inventory_root>/system/chassis/motherboard/cpu1/core6',
481*40a360c2SBrad Bishop                0xdb : '<inventory_root>/system/chassis/motherboard/cpu1/core7',
482*40a360c2SBrad Bishop                0xdc : '<inventory_root>/system/chassis/motherboard/cpu1/core8',
483*40a360c2SBrad Bishop                0xdd : '<inventory_root>/system/chassis/motherboard/cpu1/core9',
484*40a360c2SBrad Bishop                0xde : '<inventory_root>/system/chassis/motherboard/cpu1/core10',
485*40a360c2SBrad Bishop                0xdf : '<inventory_root>/system/chassis/motherboard/cpu1/core11',
486*40a360c2SBrad Bishop		0x40 : '<inventory_root>/system/chassis/motherboard/membuf0',
487*40a360c2SBrad Bishop    	        0x41 : '<inventory_root>/system/chassis/motherboard/membuf1',
488*40a360c2SBrad Bishop       		0x42 : '<inventory_root>/system/chassis/motherboard/membuf2',
489*40a360c2SBrad Bishop       		0x43 : '<inventory_root>/system/chassis/motherboard/membuf3',
490*40a360c2SBrad Bishop       		0x44 : '<inventory_root>/system/chassis/motherboard/membuf4',
491*40a360c2SBrad Bishop                0x45 : '<inventory_root>/system/chassis/motherboard/membuf5',
492*40a360c2SBrad Bishop                0x46 : '<inventory_root>/system/chassis/motherboard/membuf6',
493*40a360c2SBrad Bishop                0x47 : '<inventory_root>/system/chassis/motherboard/membuf7',
494*40a360c2SBrad Bishop		0x10 : '<inventory_root>/system/chassis/motherboard/dimm0',
495*40a360c2SBrad Bishop		0x11 : '<inventory_root>/system/chassis/motherboard/dimm1',
496*40a360c2SBrad Bishop		0x12 : '<inventory_root>/system/chassis/motherboard/dimm2',
497*40a360c2SBrad Bishop		0x13 : '<inventory_root>/system/chassis/motherboard/dimm3',
498*40a360c2SBrad Bishop                0x14 : '<inventory_root>/system/chassis/motherboard/dimm4',
499*40a360c2SBrad Bishop                0x15 : '<inventory_root>/system/chassis/motherboard/dimm5',
500*40a360c2SBrad Bishop                0x16 : '<inventory_root>/system/chassis/motherboard/dimm6',
501*40a360c2SBrad Bishop                0x17 : '<inventory_root>/system/chassis/motherboard/dimm7',
502*40a360c2SBrad Bishop                0x18 : '<inventory_root>/system/chassis/motherboard/dimm8',
503*40a360c2SBrad Bishop                0x19 : '<inventory_root>/system/chassis/motherboard/dimm9',
504*40a360c2SBrad Bishop                0x1a : '<inventory_root>/system/chassis/motherboard/dimm10',
505*40a360c2SBrad Bishop                0x1b : '<inventory_root>/system/chassis/motherboard/dimm11',
506*40a360c2SBrad Bishop                0x1c : '<inventory_root>/system/chassis/motherboard/dimm12',
507*40a360c2SBrad Bishop                0x1d : '<inventory_root>/system/chassis/motherboard/dimm13',
508*40a360c2SBrad Bishop                0x1e : '<inventory_root>/system/chassis/motherboard/dimm14',
509*40a360c2SBrad Bishop                0x1f : '<inventory_root>/system/chassis/motherboard/dimm15',
510*40a360c2SBrad Bishop                0x20 : '<inventory_root>/system/chassis/motherboard/dimm16',
511*40a360c2SBrad Bishop                0x21 : '<inventory_root>/system/chassis/motherboard/dimm17',
512*40a360c2SBrad Bishop                0x22 : '<inventory_root>/system/chassis/motherboard/dimm18',
513*40a360c2SBrad Bishop                0x23 : '<inventory_root>/system/chassis/motherboard/dimm19',
514*40a360c2SBrad Bishop                0x24 : '<inventory_root>/system/chassis/motherboard/dimm20',
515*40a360c2SBrad Bishop                0x25 : '<inventory_root>/system/chassis/motherboard/dimm21',
516*40a360c2SBrad Bishop                0x26 : '<inventory_root>/system/chassis/motherboard/dimm22',
517*40a360c2SBrad Bishop                0x27 : '<inventory_root>/system/chassis/motherboard/dimm23',
518*40a360c2SBrad Bishop                0x28 : '<inventory_root>/system/chassis/motherboard/dimm24',
519*40a360c2SBrad Bishop                0x29 : '<inventory_root>/system/chassis/motherboard/dimm25',
520*40a360c2SBrad Bishop                0x2a : '<inventory_root>/system/chassis/motherboard/dimm26',
521*40a360c2SBrad Bishop                0x2b : '<inventory_root>/system/chassis/motherboard/dimm27',
522*40a360c2SBrad Bishop                0x2c : '<inventory_root>/system/chassis/motherboard/dimm28',
523*40a360c2SBrad Bishop                0x2d : '<inventory_root>/system/chassis/motherboard/dimm29',
524*40a360c2SBrad Bishop                0x2e : '<inventory_root>/system/chassis/motherboard/dimm30',
525*40a360c2SBrad Bishop                0x2f : '<inventory_root>/system/chassis/motherboard/dimm31',
526*40a360c2SBrad Bishop		0x09 : '/org/openbmc/sensors/host/BootCount',
527*40a360c2SBrad Bishop		0x05 : '/org/openbmc/sensors/host/BootProgress',
528*40a360c2SBrad Bishop		0x04 : '/org/openbmc/sensors/host/HostStatus',
529*40a360c2SBrad Bishop		0x08 : '/org/openbmc/sensors/host/cpu0/OccStatus',
530*40a360c2SBrad Bishop		0x0A : '/org/openbmc/sensors/host/cpu1/OccStatus',
531*40a360c2SBrad Bishop		0x32 : '/org/openbmc/sensors/host/OperatingSystemStatus',
532*40a360c2SBrad Bishop		0x33 : '/org/openbmc/sensors/host/powercap',
533*40a360c2SBrad Bishop	},
534*40a360c2SBrad Bishop	'GPIO_PRESENT' : {
535*40a360c2SBrad Bishop		'SLOT0_RISER_PRESENT' : '<inventory_root>/system/chassis/io_board/pcie_slot0_riser',
536*40a360c2SBrad Bishop		'SLOT1_RISER_PRESENT' : '<inventory_root>/system/chassis/io_board/pcie_slot1_riser',
537*40a360c2SBrad Bishop		'SLOT2_RISER_PRESENT' : '<inventory_root>/system/chassis/io_board/pcie_slot2_riser',
538*40a360c2SBrad Bishop		'SLOT0_PRESENT' : '<inventory_root>/system/chassis/io_board/pcie_slot0',
539*40a360c2SBrad Bishop		'SLOT1_PRESENT' : '<inventory_root>/system/chassis/io_board/pcie_slot1',
540*40a360c2SBrad Bishop		'SLOT2_PRESENT' : '<inventory_root>/system/chassis/io_board/pcie_slot2',
541*40a360c2SBrad Bishop		'MEZZ0_PRESENT' : '<inventory_root>/system/chassis/io_board/pcie_mezz0',
542*40a360c2SBrad Bishop		'MEZZ1_PRESENT' : '<inventory_root>/system/chassis/io_board/pcie_mezz1',
543*40a360c2SBrad Bishop	}
544*40a360c2SBrad Bishop}
545*40a360c2SBrad Bishop
546*40a360c2SBrad BishopGPIO_CONFIG = {}
547*40a360c2SBrad BishopGPIO_CONFIG['FSI_CLK']    =   { 'gpio_pin': 'A4', 'direction': 'out' }
548*40a360c2SBrad BishopGPIO_CONFIG['FSI_DATA']   =   { 'gpio_pin': 'A5', 'direction': 'out' }
549*40a360c2SBrad BishopGPIO_CONFIG['FSI_ENABLE'] =   { 'gpio_pin': 'D0', 'direction': 'out' }
550*40a360c2SBrad BishopGPIO_CONFIG['POWER_PIN']  =   { 'gpio_pin': 'E1', 'direction': 'out'  }
551*40a360c2SBrad BishopGPIO_CONFIG['CRONUS_SEL'] =   { 'gpio_pin': 'A6', 'direction': 'out'  }
552*40a360c2SBrad BishopGPIO_CONFIG['PGOOD']      =   { 'gpio_pin': 'C7', 'direction': 'in'  }
553*40a360c2SBrad BishopGPIO_CONFIG['POWER_BUTTON'] = { 'gpio_pin': 'E0', 'direction': 'both' }
554*40a360c2SBrad BishopGPIO_CONFIG['PCIE_RESET']   = { 'gpio_pin': 'B5', 'direction': 'out' }
555*40a360c2SBrad BishopGPIO_CONFIG['USB_RESET']    = { 'gpio_pin': 'B6', 'direction': 'out' }
556*40a360c2SBrad Bishop
557*40a360c2SBrad BishopGPIO_CONFIG['IDBTN']       = { 'gpio_pin': 'Q7', 'direction': 'out' }
558*40a360c2SBrad BishopGPIO_CONFIG['BMC_THROTTLE']       = { 'gpio_pin': 'J3', 'direction': 'out' }
559*40a360c2SBrad BishopGPIO_CONFIG['RESET_BUTTON']       = { 'gpio_pin': 'E2', 'direction': 'both' }
560*40a360c2SBrad BishopGPIO_CONFIG['CPLD_TCK']    	  =   { 'gpio_pin': 'P0', 'direction': 'out' }
561*40a360c2SBrad BishopGPIO_CONFIG['CPLD_TDO']    	  =   { 'gpio_pin': 'P1', 'direction': 'out' }
562*40a360c2SBrad BishopGPIO_CONFIG['CPLD_TDI']    	  =   { 'gpio_pin': 'P2', 'direction': 'out' }
563*40a360c2SBrad BishopGPIO_CONFIG['CPLD_TMS']    	  =   { 'gpio_pin': 'P3', 'direction': 'out' }
564*40a360c2SBrad Bishop
565*40a360c2SBrad BishopGPIO_CONFIG['SLOT0_RISER_PRESENT'] =   { 'gpio_pin': 'N0', 'direction': 'in' }
566*40a360c2SBrad BishopGPIO_CONFIG['SLOT1_RISER_PRESENT'] =   { 'gpio_pin': 'N1', 'direction': 'in' }
567*40a360c2SBrad BishopGPIO_CONFIG['SLOT2_RISER_PRESENT'] =   { 'gpio_pin': 'N2', 'direction': 'in' }
568*40a360c2SBrad BishopGPIO_CONFIG['SLOT0_PRESENT'] =         { 'gpio_pin': 'N3', 'direction': 'in' }
569*40a360c2SBrad BishopGPIO_CONFIG['SLOT1_PRESENT'] =         { 'gpio_pin': 'N4', 'direction': 'in' }
570*40a360c2SBrad BishopGPIO_CONFIG['SLOT2_PRESENT'] =         { 'gpio_pin': 'N5', 'direction': 'in' }
571*40a360c2SBrad BishopGPIO_CONFIG['MEZZ0_PRESENT'] =         { 'gpio_pin': 'O0', 'direction': 'in' }
572*40a360c2SBrad BishopGPIO_CONFIG['MEZZ1_PRESENT'] =         { 'gpio_pin': 'O1', 'direction': 'in' }
573*40a360c2SBrad Bishop
574*40a360c2SBrad Bishopdef convertGpio(name):
575*40a360c2SBrad Bishop	name = name.upper()
576*40a360c2SBrad Bishop	c = name[0:1]
577*40a360c2SBrad Bishop	offset = int(name[1:])
578*40a360c2SBrad Bishop	a = ord(c)-65
579*40a360c2SBrad Bishop	base = a*8+GPIO_BASE
580*40a360c2SBrad Bishop	return base+offset
581*40a360c2SBrad Bishop
582*40a360c2SBrad Bishop
583*40a360c2SBrad BishopHWMON_CONFIG = {
584*40a360c2SBrad Bishop	'0-004a' :  {
585*40a360c2SBrad Bishop		'names' : {
586*40a360c2SBrad Bishop			'temp1_input' : { 'object_path' : 'temperature/ambient','poll_interval' : 5000,'scale' : 1000,'units' : 'C' },
587*40a360c2SBrad Bishop		}
588*40a360c2SBrad Bishop	},
589*40a360c2SBrad Bishop	'6-002d' : {
590*40a360c2SBrad Bishop		'names' : {
591*40a360c2SBrad Bishop			'pwm1' : { 'object_path' : 'speed/fan0','poll_interval' : 10000,'scale' : 1,'units' : '' },
592*40a360c2SBrad Bishop			'pwm2' : { 'object_path' : 'speed/fan1','poll_interval' : 10000,'scale' : 1,'units' : '' },
593*40a360c2SBrad Bishop                        'pwm3' : { 'object_path' : 'speed/fan2','poll_interval' : 10000,'scale' : 1,'units' : '' },
594*40a360c2SBrad Bishop                        'in1_input' : { 'object_path' : 'voltage/P1V35_CPU0_BUF4','poll_interval' : 10000,'scale' : 1,'units' : '' },
595*40a360c2SBrad Bishop                        'in2_input' : { 'object_path' : 'voltage/P0V9_CPU0_BUF1','poll_interval' : 10000,'scale' : 1,'units' : '' },
596*40a360c2SBrad Bishop                        'in3_input' : { 'object_path' : 'voltage/P0V9_CPU0_BUF2','poll_interval' : 10000,'scale' : 1,'units' : '' },
597*40a360c2SBrad Bishop                        'in4_input' : { 'object_path' : 'voltage/P0V9_CPU0_BUF3','poll_interval' : 10000,'scale' : 1,'units' : '' },
598*40a360c2SBrad Bishop                        'in5_input' : { 'object_path' : 'voltage/P0V9_CPU0_BUF4','poll_interval' : 10000,'scale' : 1,'units' : '' },
599*40a360c2SBrad Bishop                        'in6_input' : { 'object_path' : 'voltage/P1V09_CPU0_BUF1','poll_interval' : 10000,'scale' : 1,'units' : '' },
600*40a360c2SBrad Bishop                        'in7_input' : { 'object_path' : 'voltage/P1V09_CPU0_BUF2','poll_interval' : 10000,'scale' : 1,'units' : '' },
601*40a360c2SBrad Bishop                        'in8_input' : { 'object_path' : 'voltage/P1V09_CPU0_BUF3','poll_interval' : 10000,'scale' : 1,'units' : '' },
602*40a360c2SBrad Bishop                        'in9_input' : { 'object_path' : 'voltage/P1V09_CPU0_BUF4','poll_interval' : 10000,'scale' : 1,'units' : '' },
603*40a360c2SBrad Bishop                        'in10_input' : { 'object_path' : 'voltage/P0V97_CPU0','poll_interval' : 10000,'scale' : 1,'units' : '' },
604*40a360c2SBrad Bishop                        'in11_input' : { 'object_path' : 'voltage/P1V1_MEM0','poll_interval' : 10000,'scale' : 1,'units' : '' },
605*40a360c2SBrad Bishop                        'in12_input' : { 'object_path' : 'voltage/P1V35_CPU0_BUF1','poll_interval' : 10000,'scale' : 1,'units' : '' },
606*40a360c2SBrad Bishop                        'in13_input' : { 'object_path' : 'voltage/P1V35_CPU0_BUF2','poll_interval' : 10000,'scale' : 1,'units' : '' },
607*40a360c2SBrad Bishop                        'in14_input' : { 'object_path' : 'voltage/P1V35_CPU0_BUF3','poll_interval' : 10000,'scale' : 1,'units' : '' },
608*40a360c2SBrad Bishop		}
609*40a360c2SBrad Bishop	},
610*40a360c2SBrad Bishop	'6-002e' : {
611*40a360c2SBrad Bishop		'names' : {
612*40a360c2SBrad Bishop			'pwm1' : { 'object_path' : 'speed/fan3','poll_interval' : 10000,'scale' : 1,'units' : '' },
613*40a360c2SBrad Bishop			'pwm2' : { 'object_path' : 'speed/fan4','poll_interval' : 10000,'scale' : 1,'units' : '' },
614*40a360c2SBrad Bishop			'pwm3' : { 'object_path' : 'speed/fan5','poll_interval' : 10000,'scale' : 1,'units' : '' },
615*40a360c2SBrad Bishop   			'in1_input' : { 'object_path' : 'voltage/P1V35_CPU1_BUF4','poll_interval' : 10000,'scale' : 1,'units' : '' },
616*40a360c2SBrad Bishop                        'in2_input' : { 'object_path' : 'voltage/P0V9_CPU1_BUF1','poll_interval' : 10000,'scale' : 1,'units' : '' },
617*40a360c2SBrad Bishop                        'in3_input' : { 'object_path' : 'voltage/P0V9_CPU1_BUF2','poll_interval' : 10000,'scale' : 1,'units' : '' },
618*40a360c2SBrad Bishop                        'in4_input' : { 'object_path' : 'voltage/P0V9_CPU1_BUF3','poll_interval' : 10000,'scale' : 1,'units' : '' },
619*40a360c2SBrad Bishop                        'in5_input' : { 'object_path' : 'voltage/P0V9_CPU1_BUF4','poll_interval' : 10000,'scale' : 1,'units' : '' },
620*40a360c2SBrad Bishop                        'in6_input' : { 'object_path' : 'voltage/P1V09_CPU1_BUF1','poll_interval' : 10000,'scale' : 1,'units' : '' },
621*40a360c2SBrad Bishop                        'in7_input' : { 'object_path' : 'voltage/P1V09_CPU1_BUF2','poll_interval' : 10000,'scale' : 1,'units' : '' },
622*40a360c2SBrad Bishop                        'in8_input' : { 'object_path' : 'voltage/P1V09_CPU1_BUF3','poll_interval' : 10000,'scale' : 1,'units' : '' },
623*40a360c2SBrad Bishop                        'in9_input' : { 'object_path' : 'voltage/P1V09_CPU1_BUF4','poll_interval' : 10000,'scale' : 1,'units' : '' },
624*40a360c2SBrad Bishop                        'in10_input' : { 'object_path' : 'voltage/P0V97_CPU1','poll_interval' : 10000,'scale' : 1,'units' : '' },
625*40a360c2SBrad Bishop                        'in11_input' : { 'object_path' : 'voltage/P1V1_MEM1','poll_interval' : 10000,'scale' : 1,'units' : '' },
626*40a360c2SBrad Bishop                        'in12_input' : { 'object_path' : 'voltage/P1V35_CPU1_BUF1','poll_interval' : 10000,'scale' : 1,'units' : '' },
627*40a360c2SBrad Bishop                        'in13_input' : { 'object_path' : 'voltage/P1V35_CPU1_BUF2','poll_interval' : 10000,'scale' : 1,'units' : '' },
628*40a360c2SBrad Bishop                        'in14_input' : { 'object_path' : 'voltage/P1V35_CPU1_BUF3','poll_interval' : 10000,'scale' : 1,'units' : '' },
629*40a360c2SBrad Bishop		}
630*40a360c2SBrad Bishop         },
631*40a360c2SBrad Bishop	'3-0050' : {
632*40a360c2SBrad Bishop		'names' : {
633*40a360c2SBrad Bishop			'caps_curr_powercap' : { 'object_path' : 'powercap/curr_cap','poll_interval' : 10000,'scale' : 1,'units' : 'W' },
634*40a360c2SBrad Bishop			'caps_curr_powerreading' : { 'object_path' : 'powercap/system_power','poll_interval' : 10000,'scale' : 1,'units' : 'W' },
635*40a360c2SBrad Bishop			'caps_max_powercap' : { 'object_path' : 'powercap/max_cap','poll_interval' : 10000,'scale' : 1,'units' : 'W' },
636*40a360c2SBrad Bishop			'caps_min_powercap' : { 'object_path' : 'powercap/min_cap','poll_interval' : 10000,'scale' : 1,'units' : 'W' },
637*40a360c2SBrad Bishop			'caps_norm_powercap' : { 'object_path' : 'powercap/n_cap','poll_interval' : 10000,'scale' : 1,'units' : 'W' },
638*40a360c2SBrad Bishop			'caps_user_powerlimit' : { 'object_path' : 'powercap/user_cap','poll_interval' : 10000,'scale' : 1,'units' : 'W' },
639*40a360c2SBrad Bishop		},
640*40a360c2SBrad Bishop		'labels' : {
641*40a360c2SBrad Bishop		'176' :  { 'object_path' : 'temperature/cpu0/core0','poll_interval' : 5000,'scale' : 1000,'units' : 'C',
642*40a360c2SBrad Bishop			'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True },
643*40a360c2SBrad Bishop		'177' :  { 'object_path' : 'temperature/cpu0/core1','poll_interval' : 5000,'scale' : 1000,'units' : 'C',
644*40a360c2SBrad Bishop			'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True },
645*40a360c2SBrad Bishop		'178' :  { 'object_path' : 'temperature/cpu0/core2','poll_interval' : 5000,'scale' : 1000,'units' : 'C',
646*40a360c2SBrad Bishop			'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True },
647*40a360c2SBrad Bishop		'179' :  { 'object_path' : 'temperature/cpu0/core3','poll_interval' : 5000,'scale' : 1000,'units' : 'C',
648*40a360c2SBrad Bishop			'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True },
649*40a360c2SBrad Bishop		'180' :  { 'object_path' : 'temperature/cpu0/core4','poll_interval' : 5000,'scale' : 1000,'units' : 'C',
650*40a360c2SBrad Bishop			'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True },
651*40a360c2SBrad Bishop		'181' :  { 'object_path' : 'temperature/cpu0/core5','poll_interval' : 5000,'scale' : 1000,'units' : 'C',
652*40a360c2SBrad Bishop			'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True },
653*40a360c2SBrad Bishop		'182' :  { 'object_path' : 'temperature/cpu0/core6','poll_interval' : 5000,'scale' : 1000,'units' : 'C',
654*40a360c2SBrad Bishop			'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True },
655*40a360c2SBrad Bishop		'183' :  { 'object_path' : 'temperature/cpu0/core7','poll_interval' : 5000,'scale' : 1000,'units' : 'C',
656*40a360c2SBrad Bishop			'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True },
657*40a360c2SBrad Bishop		'184' :  { 'object_path' : 'temperature/cpu0/core8','poll_interval' : 5000,'scale' : 1000,'units' : 'C',
658*40a360c2SBrad Bishop			'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True },
659*40a360c2SBrad Bishop		'185' :  { 'object_path' : 'temperature/cpu0/core9','poll_interval' : 5000,'scale' : 1000,'units' : 'C',
660*40a360c2SBrad Bishop			'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True },
661*40a360c2SBrad Bishop		'186' :  { 'object_path' : 'temperature/cpu0/core10','poll_interval' : 5000,'scale' : 1000,'units' : 'C',
662*40a360c2SBrad Bishop			'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True },
663*40a360c2SBrad Bishop		'187' :  { 'object_path' : 'temperature/cpu0/core11','poll_interval' : 5000,'scale' : 1000,'units' : 'C',
664*40a360c2SBrad Bishop			'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True },
665*40a360c2SBrad Bishop		'102' :  { 'object_path' : 'temperature/dimm0','poll_interval' : 5000,'scale' : 1000,'units' : 'C' },
666*40a360c2SBrad Bishop		'103' :  { 'object_path' : 'temperature/dimm1','poll_interval' : 5000,'scale' : 1000,'units' : 'C' },
667*40a360c2SBrad Bishop		'104' :  { 'object_path' : 'temperature/dimm2','poll_interval' : 5000,'scale' : 1000,'units' : 'C' },
668*40a360c2SBrad Bishop		'105' :  { 'object_path' : 'temperature/dimm3','poll_interval' : 5000,'scale' : 1000,'units' : 'C' },
669*40a360c2SBrad Bishop		'106' :  { 'object_path' : 'temperature/dimm4','poll_interval' : 5000,'scale' : 1000,'units' : 'C' },
670*40a360c2SBrad Bishop		'107' :  { 'object_path' : 'temperature/dimm5','poll_interval' : 5000,'scale' : 1000,'units' : 'C' },
671*40a360c2SBrad Bishop		'108' :  { 'object_path' : 'temperature/dimm6','poll_interval' : 5000,'scale' : 1000,'units' : 'C' },
672*40a360c2SBrad Bishop		'109' :  { 'object_path' : 'temperature/dimm7','poll_interval' : 5000,'scale' : 1000,'units' : 'C' },
673*40a360c2SBrad Bishop		'110' :  { 'object_path' : 'temperature/dimm8','poll_interval' : 5000,'scale' : 1000,'units' : 'C' },
674*40a360c2SBrad Bishop		'111' :  { 'object_path' : 'temperature/dimm9','poll_interval' : 5000,'scale' : 1000,'units' : 'C' },
675*40a360c2SBrad Bishop		'112' :  { 'object_path' : 'temperature/dimm10','poll_interval' : 5000,'scale' : 1000,'units' : 'C' },
676*40a360c2SBrad Bishop		'113' :  { 'object_path' : 'temperature/dimm11','poll_interval' : 5000,'scale' : 1000,'units' : 'C' },
677*40a360c2SBrad Bishop		'114' :  { 'object_path' : 'temperature/dimm12','poll_interval' : 5000,'scale' : 1000,'units' : 'C' },
678*40a360c2SBrad Bishop		'115' :  { 'object_path' : 'temperature/dimm13','poll_interval' : 5000,'scale' : 1000,'units' : 'C' },
679*40a360c2SBrad Bishop		'116' :  { 'object_path' : 'temperature/dimm14','poll_interval' : 5000,'scale' : 1000,'units' : 'C' },
680*40a360c2SBrad Bishop		'117' :  { 'object_path' : 'temperature/dimm15','poll_interval' : 5000,'scale' : 1000,'units' : 'C' },
681*40a360c2SBrad Bishop		'94' :  { 'object_path' : 'temperature/membuf0','poll_interval' : 5000,'scale' : 1000,'units' : 'C' },
682*40a360c2SBrad Bishop		'95' :  { 'object_path' : 'temperature/membuf1','poll_interval' : 5000,'scale' : 1000,'units' : 'C' },
683*40a360c2SBrad Bishop		'96' :  { 'object_path' : 'temperature/membuf2','poll_interval' : 5000,'scale' : 1000,'units' : 'C' },
684*40a360c2SBrad Bishop		'97' :  { 'object_path' : 'temperature/membuf3','poll_interval' : 5000,'scale' : 1000,'units' : 'C' },
685*40a360c2SBrad Bishop		}
686*40a360c2SBrad Bishop	},
687*40a360c2SBrad Bishop	'3-0051' : {
688*40a360c2SBrad Bishop		'labels' :  {
689*40a360c2SBrad Bishop		'188' :  { 'object_path' : 'temperature/cpu1/core0','poll_interval' : 5000,'scale' : 1000,'units' : 'C',
690*40a360c2SBrad Bishop			'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True },
691*40a360c2SBrad Bishop		'189' :  { 'object_path' : 'temperature/cpu1/core1','poll_interval' : 5000,'scale' : 1000,'units' : 'C',
692*40a360c2SBrad Bishop			'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True },
693*40a360c2SBrad Bishop		'190' :  { 'object_path' : 'temperature/cpu1/core2','poll_interval' : 5000,'scale' : 1000,'units' : 'C',
694*40a360c2SBrad Bishop			'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True },
695*40a360c2SBrad Bishop		'191' :  { 'object_path' : 'temperature/cpu1/core3','poll_interval' : 5000,'scale' : 1000,'units' : 'C',
696*40a360c2SBrad Bishop			'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True },
697*40a360c2SBrad Bishop		'192' :  { 'object_path' : 'temperature/cpu1/core4','poll_interval' : 5000,'scale' : 1000,'units' : 'C',
698*40a360c2SBrad Bishop			'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True },
699*40a360c2SBrad Bishop		'193' :  { 'object_path' : 'temperature/cpu1/core5','poll_interval' : 5000,'scale' : 1000,'units' : 'C',
700*40a360c2SBrad Bishop			'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True },
701*40a360c2SBrad Bishop		'194' :  { 'object_path' : 'temperature/cpu1/core6','poll_interval' : 5000,'scale' : 1000,'units' : 'C',
702*40a360c2SBrad Bishop			'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True },
703*40a360c2SBrad Bishop		'195' :  { 'object_path' : 'temperature/cpu1/core7','poll_interval' : 5000,'scale' : 1000,'units' : 'C',
704*40a360c2SBrad Bishop			'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True },
705*40a360c2SBrad Bishop		'196' :  { 'object_path' : 'temperature/cpu1/core8','poll_interval' : 5000,'scale' : 1000,'units' : 'C',
706*40a360c2SBrad Bishop			'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True },
707*40a360c2SBrad Bishop		'197' :  { 'object_path' : 'temperature/cpu1/core9','poll_interval' : 5000,'scale' : 1000,'units' : 'C',
708*40a360c2SBrad Bishop			'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True },
709*40a360c2SBrad Bishop		'198' :  { 'object_path' : 'temperature/cpu1/core10','poll_interval' : 5000,'scale' : 1000,'units' : 'C',
710*40a360c2SBrad Bishop			'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True },
711*40a360c2SBrad Bishop		'199' :  { 'object_path' : 'temperature/cpu1/core11','poll_interval' : 5000,'scale' : 1000,'units' : 'C',
712*40a360c2SBrad Bishop			'critical_upper' : 100, 'critical_lower' : -100, 'warning_upper' : 90, 'warning_lower' : -99, 'emergency_enabled' : True },
713*40a360c2SBrad Bishop		'118' :  { 'object_path' : 'temperature/dimm16','poll_interval' : 5000,'scale' : 1000,'units' : 'C' },
714*40a360c2SBrad Bishop		'119' :  { 'object_path' : 'temperature/dimm17','poll_interval' : 5000,'scale' : 1000,'units' : 'C' },
715*40a360c2SBrad Bishop		'120' :  { 'object_path' : 'temperature/dimm18','poll_interval' : 5000,'scale' : 1000,'units' : 'C' },
716*40a360c2SBrad Bishop		'121' :  { 'object_path' : 'temperature/dimm19','poll_interval' : 5000,'scale' : 1000,'units' : 'C' },
717*40a360c2SBrad Bishop		'122' :  { 'object_path' : 'temperature/dimm20','poll_interval' : 5000,'scale' : 1000,'units' : 'C' },
718*40a360c2SBrad Bishop		'123' :  { 'object_path' : 'temperature/dimm21','poll_interval' : 5000,'scale' : 1000,'units' : 'C' },
719*40a360c2SBrad Bishop		'124' :  { 'object_path' : 'temperature/dimm22','poll_interval' : 5000,'scale' : 1000,'units' : 'C' },
720*40a360c2SBrad Bishop		'125' :  { 'object_path' : 'temperature/dimm23','poll_interval' : 5000,'scale' : 1000,'units' : 'C' },
721*40a360c2SBrad Bishop		'126' :  { 'object_path' : 'temperature/dimm24','poll_interval' : 5000,'scale' : 1000,'units' : 'C' },
722*40a360c2SBrad Bishop		'127' :  { 'object_path' : 'temperature/dimm25','poll_interval' : 5000,'scale' : 1000,'units' : 'C' },
723*40a360c2SBrad Bishop		'128' :  { 'object_path' : 'temperature/dimm26','poll_interval' : 5000,'scale' : 1000,'units' : 'C' },
724*40a360c2SBrad Bishop		'129' :  { 'object_path' : 'temperature/dimm27','poll_interval' : 5000,'scale' : 1000,'units' : 'C' },
725*40a360c2SBrad Bishop		'130' :  { 'object_path' : 'temperature/dimm28','poll_interval' : 5000,'scale' : 1000,'units' : 'C' },
726*40a360c2SBrad Bishop		'131' :  { 'object_path' : 'temperature/dimm29','poll_interval' : 5000,'scale' : 1000,'units' : 'C' },
727*40a360c2SBrad Bishop		'132' :  { 'object_path' : 'temperature/dimm30','poll_interval' : 5000,'scale' : 1000,'units' : 'C' },
728*40a360c2SBrad Bishop		'133' :  { 'object_path' : 'temperature/dimm31','poll_interval' : 5000,'scale' : 1000,'units' : 'C' },
729*40a360c2SBrad Bishop		'98' :  { 'object_path' : 'temperature/membuf4','poll_interval' : 5000,'scale' : 1000,'units' : 'C' },
730*40a360c2SBrad Bishop		'99' :  { 'object_path' : 'temperature/membuf5','poll_interval' : 5000,'scale' : 1000,'units' : 'C' },
731*40a360c2SBrad Bishop		'100' :  { 'object_path' : 'temperature/membuf6','poll_interval' : 5000,'scale' : 1000,'units' : 'C' },
732*40a360c2SBrad Bishop		'101' :  { 'object_path' : 'temperature/membuf7','poll_interval' : 5000,'scale' : 1000,'units' : 'C' },
733*40a360c2SBrad Bishop		}
734*40a360c2SBrad Bishop	},
735*40a360c2SBrad Bishop	'4-0010' :  {
736*40a360c2SBrad Bishop		'names' : {
737*40a360c2SBrad Bishop			# Barreleye uses 0.25 millioohms sense resistor for adm1278
738*40a360c2SBrad Bishop			# To convert Iout register value Y to real-world value X, use an equation:
739*40a360c2SBrad Bishop			# X= 1/m * (Y * 10^-R - b), here m = 800 * R_sense, and R_sense is expressed in milliohms.
740*40a360c2SBrad Bishop			# The adm1278 driver did the conversion, but the R_sense is set here as a scale factor.
741*40a360c2SBrad Bishop			'curr1_input' : { 'object_path' : 'HSCA/Iout','poll_interval' : 5000,'scale' : 0.25,'units' : 'mA' },
742*40a360c2SBrad Bishop			'in2_input' : { 'object_path' : 'HSCA/Vout','poll_interval' : 5000,'scale' : 1,'units' : 'mV' },
743*40a360c2SBrad Bishop		}
744*40a360c2SBrad Bishop	},
745*40a360c2SBrad Bishop	'5-0010' :  {
746*40a360c2SBrad Bishop		'names' : {
747*40a360c2SBrad Bishop			'curr1_input' : { 'object_path' : 'HSCB/Iout','poll_interval' : 5000,'scale' : 0.25,'units' : 'mA' },
748*40a360c2SBrad Bishop			'in2_input' : { 'object_path' : 'HSCB/Vout','poll_interval' : 5000,'scale' : 1,'units' : 'mV' },
749*40a360c2SBrad Bishop		}
750*40a360c2SBrad Bishop	},
751*40a360c2SBrad Bishop	'6-0010' :  {
752*40a360c2SBrad Bishop		'names' : {
753*40a360c2SBrad Bishop			'curr1_input' : { 'object_path' : 'HSCC/Iout','poll_interval' : 5000,'scale' : 0.25,'units' : 'mA' },
754*40a360c2SBrad Bishop			'in2_input' : { 'object_path' : 'HSCC/Vout','poll_interval' : 5000,'scale' : 1,'units' : 'mV' },
755*40a360c2SBrad Bishop		}
756*40a360c2SBrad Bishop	},
757*40a360c2SBrad Bishop}
758*40a360c2SBrad Bishop
759*40a360c2SBrad Bishop# Miscellaneous non-poll sensor with system specific properties.
760*40a360c2SBrad Bishop# The sensor id is the same as those defined in ID_LOOKUP['SENSOR'].
761*40a360c2SBrad BishopMISC_SENSORS = {
762*40a360c2SBrad Bishop	0x09 : { 'class' : 'BootCountSensor' },
763*40a360c2SBrad Bishop	0x05 : { 'class' : 'BootProgressSensor' },
764*40a360c2SBrad Bishop	0x08 : { 'class' : 'OccStatusSensor',
765*40a360c2SBrad Bishop		'os_path' : '/sys/class/i2c-adapter/i2c-3/3-0050/online' },
766*40a360c2SBrad Bishop	0x0A : { 'class' : 'OccStatusSensor',
767*40a360c2SBrad Bishop		'os_path' : '/sys/class/i2c-adapter/i2c-3/3-0051/online' },
768*40a360c2SBrad Bishop	0x32 : { 'class' : 'OperatingSystemStatusSensor' },
769*40a360c2SBrad Bishop	0x33 : { 'class' : 'PowerCap',
770*40a360c2SBrad Bishop		'os_path' : '/sys/class/hwmon/hwmon3/user_powercap' },
771*40a360c2SBrad Bishop}
772