blob: 6c724159f505164c667bff9b40cf807fe1887583 [file] [log] [blame]
George Keishing3bd8cf22016-09-01 00:04:19 -05001#! /usr/bin/python
2
George Keishing301e7ac2018-06-01 12:06:33 -05003## System states
4## state can change to next state in 2 ways:
5## - a process emits a GotoSystemState signal with state name to goto
6## - objects specified in EXIT_STATE_DEPEND have started
George Keishing3bd8cf22016-09-01 00:04:19 -05007SYSTEM_STATES = [
8 'BASE_APPS',
9 'BMC_STARTING',
10 'BMC_READY',
11 'HOST_POWERING_ON',
12 'HOST_POWERED_ON',
13 'HOST_BOOTING',
14 'HOST_BOOTED',
15 'HOST_POWERED_OFF',
16]
17
18EXIT_STATE_DEPEND = {
George Keishing301e7ac2018-06-01 12:06:33 -050019 'BASE_APPS' : {
George Keishing3bd8cf22016-09-01 00:04:19 -050020 '/org/openbmc/sensors': 0,
21 },
George Keishing301e7ac2018-06-01 12:06:33 -050022 'BMC_STARTING' : {
George Keishing3bd8cf22016-09-01 00:04:19 -050023 '/org/openbmc/control/chassis0': 0,
George Keishing301e7ac2018-06-01 12:06:33 -050024 '/org/openbmc/control/power0' : 0,
25 '/org/openbmc/control/flash/bios' : 0,
George Keishing3bd8cf22016-09-01 00:04:19 -050026 },
27}
28
George Keishing3bd8cf22016-09-01 00:04:19 -050029FRU_INSTANCES = {
George Keishing301e7ac2018-06-01 12:06:33 -050030 '<inventory_root>/system' : { 'fru_type' : 'SYSTEM','is_fru' : True, 'present' : "True" },
31 '<inventory_root>/system/bios' : { 'fru_type' : 'SYSTEM','is_fru' : True, 'present' : "True" },
32 '<inventory_root>/system/misc' : { 'fru_type' : 'SYSTEM','is_fru' : False, },
George Keishing3bd8cf22016-09-01 00:04:19 -050033
George Keishing301e7ac2018-06-01 12:06:33 -050034 '<inventory_root>/system/chassis' : { 'fru_type' : 'SYSTEM','is_fru' : True, 'present' : "True" },
George Keishing3bd8cf22016-09-01 00:04:19 -050035
George Keishing301e7ac2018-06-01 12:06:33 -050036 '<inventory_root>/system/chassis/motherboard' : { 'fru_type' : 'MAIN_PLANAR','is_fru' : True, },
George Keishing3bd8cf22016-09-01 00:04:19 -050037
George Keishing301e7ac2018-06-01 12:06:33 -050038 '<inventory_root>/system/systemevent' : { 'fru_type' : 'SYSTEM_EVENT', 'is_fru' : False, },
39 '<inventory_root>/system/chassis/motherboard/refclock' : { 'fru_type' : 'MAIN_PLANAR', 'is_fru' : False, },
40 '<inventory_root>/system/chassis/motherboard/pcieclock': { 'fru_type' : 'MAIN_PLANAR', 'is_fru' : False, },
41 '<inventory_root>/system/chassis/motherboard/todclock' : { 'fru_type' : 'MAIN_PLANAR', 'is_fru' : False, },
42 '<inventory_root>/system/chassis/motherboard/apss' : { 'fru_type' : 'MAIN_PLANAR', 'is_fru' : False, },
George Keishing3bd8cf22016-09-01 00:04:19 -050043
George Keishing301e7ac2018-06-01 12:06:33 -050044 '<inventory_root>/system/chassis/fan0' : { 'fru_type' : 'FAN','is_fru' : True, },
45 '<inventory_root>/system/chassis/fan1' : { 'fru_type' : 'FAN','is_fru' : True, },
46 '<inventory_root>/system/chassis/fan2' : { 'fru_type' : 'FAN','is_fru' : True, },
47 '<inventory_root>/system/chassis/fan3' : { 'fru_type' : 'FAN','is_fru' : True, },
George Keishing3bd8cf22016-09-01 00:04:19 -050048
George Keishing301e7ac2018-06-01 12:06:33 -050049 '<inventory_root>/system/chassis/motherboard/bmc' : { 'fru_type' : 'BMC','is_fru' : False, 'manufacturer' : 'ASPEED' },
George Keishing3bd8cf22016-09-01 00:04:19 -050050
George Keishing301e7ac2018-06-01 12:06:33 -050051 '<inventory_root>/system/chassis/motherboard/cpu0' : { 'fru_type' : 'CPU', 'is_fru' : True, },
52 '<inventory_root>/system/chassis/motherboard/cpu1' : { 'fru_type' : 'CPU', 'is_fru' : True, },
George Keishing3bd8cf22016-09-01 00:04:19 -050053
George Keishing301e7ac2018-06-01 12:06:33 -050054 '<inventory_root>/system/chassis/motherboard/cpu0/core0' : { 'fru_type' : 'CORE', 'is_fru' : False, },
55 '<inventory_root>/system/chassis/motherboard/cpu0/core1' : { 'fru_type' : 'CORE', 'is_fru' : False, },
56 '<inventory_root>/system/chassis/motherboard/cpu0/core2' : { 'fru_type' : 'CORE', 'is_fru' : False, },
57 '<inventory_root>/system/chassis/motherboard/cpu0/core3' : { 'fru_type' : 'CORE', 'is_fru' : False, },
58 '<inventory_root>/system/chassis/motherboard/cpu0/core4' : { 'fru_type' : 'CORE', 'is_fru' : False, },
59 '<inventory_root>/system/chassis/motherboard/cpu0/core5' : { 'fru_type' : 'CORE', 'is_fru' : False, },
60 '<inventory_root>/system/chassis/motherboard/cpu0/core6' : { 'fru_type' : 'CORE', 'is_fru' : False, },
61 '<inventory_root>/system/chassis/motherboard/cpu0/core7' : { 'fru_type' : 'CORE', 'is_fru' : False, },
62 '<inventory_root>/system/chassis/motherboard/cpu0/core8' : { 'fru_type' : 'CORE', 'is_fru' : False, },
63 '<inventory_root>/system/chassis/motherboard/cpu0/core9' : { 'fru_type' : 'CORE', 'is_fru' : False, },
64 '<inventory_root>/system/chassis/motherboard/cpu0/core10': { 'fru_type' : 'CORE', 'is_fru' : False, },
65 '<inventory_root>/system/chassis/motherboard/cpu0/core11': { 'fru_type' : 'CORE', 'is_fru' : False, },
George Keishing3bd8cf22016-09-01 00:04:19 -050066
George Keishing301e7ac2018-06-01 12:06:33 -050067 '<inventory_root>/system/chassis/motherboard/cpu1/core0' : { 'fru_type' : 'CORE', 'is_fru' : False, },
68 '<inventory_root>/system/chassis/motherboard/cpu1/core1' : { 'fru_type' : 'CORE', 'is_fru' : False, },
69 '<inventory_root>/system/chassis/motherboard/cpu1/core2' : { 'fru_type' : 'CORE', 'is_fru' : False, },
70 '<inventory_root>/system/chassis/motherboard/cpu1/core3' : { 'fru_type' : 'CORE', 'is_fru' : False, },
71 '<inventory_root>/system/chassis/motherboard/cpu1/core4' : { 'fru_type' : 'CORE', 'is_fru' : False, },
72 '<inventory_root>/system/chassis/motherboard/cpu1/core5' : { 'fru_type' : 'CORE', 'is_fru' : False, },
73 '<inventory_root>/system/chassis/motherboard/cpu1/core6' : { 'fru_type' : 'CORE', 'is_fru' : False, },
74 '<inventory_root>/system/chassis/motherboard/cpu1/core7' : { 'fru_type' : 'CORE', 'is_fru' : False, },
75 '<inventory_root>/system/chassis/motherboard/cpu1/core8' : { 'fru_type' : 'CORE', 'is_fru' : False, },
76 '<inventory_root>/system/chassis/motherboard/cpu1/core9' : { 'fru_type' : 'CORE', 'is_fru' : False, },
77 '<inventory_root>/system/chassis/motherboard/cpu1/core10' : { 'fru_type' : 'CORE', 'is_fru' : False, },
78 '<inventory_root>/system/chassis/motherboard/cpu1/core11' : { 'fru_type' : 'CORE', 'is_fru' : False, },
George Keishing3bd8cf22016-09-01 00:04:19 -050079
George Keishing301e7ac2018-06-01 12:06:33 -050080 '<inventory_root>/system/chassis/motherboard/membuf0' : { 'fru_type' : 'MEMORY_BUFFER', 'is_fru' : False, },
81 '<inventory_root>/system/chassis/motherboard/membuf1' : { 'fru_type' : 'MEMORY_BUFFER', 'is_fru' : False, },
82 '<inventory_root>/system/chassis/motherboard/membuf2' : { 'fru_type' : 'MEMORY_BUFFER', 'is_fru' : False, },
83 '<inventory_root>/system/chassis/motherboard/membuf3' : { 'fru_type' : 'MEMORY_BUFFER', 'is_fru' : False, },
84 '<inventory_root>/system/chassis/motherboard/membuf4' : { 'fru_type' : 'MEMORY_BUFFER', 'is_fru' : False, },
85 '<inventory_root>/system/chassis/motherboard/membuf5' : { 'fru_type' : 'MEMORY_BUFFER', 'is_fru' : False, },
86 '<inventory_root>/system/chassis/motherboard/membuf6' : { 'fru_type' : 'MEMORY_BUFFER', 'is_fru' : False, },
87 '<inventory_root>/system/chassis/motherboard/membuf7' : { 'fru_type' : 'MEMORY_BUFFER', 'is_fru' : False, },
George Keishing3bd8cf22016-09-01 00:04:19 -050088
George Keishing301e7ac2018-06-01 12:06:33 -050089 '<inventory_root>/system/chassis/motherboard/dimm0' : { 'fru_type' : 'DIMM', 'is_fru' : True,},
90 '<inventory_root>/system/chassis/motherboard/dimm1' : { 'fru_type' : 'DIMM', 'is_fru' : True,},
91 '<inventory_root>/system/chassis/motherboard/dimm2' : { 'fru_type' : 'DIMM', 'is_fru' : True,},
92 '<inventory_root>/system/chassis/motherboard/dimm3' : { 'fru_type' : 'DIMM', 'is_fru' : True,},
93 '<inventory_root>/system/chassis/motherboard/dimm4' : { 'fru_type' : 'DIMM', 'is_fru' : True,},
94 '<inventory_root>/system/chassis/motherboard/dimm5' : { 'fru_type' : 'DIMM', 'is_fru' : True,},
95 '<inventory_root>/system/chassis/motherboard/dimm6' : { 'fru_type' : 'DIMM', 'is_fru' : True,},
96 '<inventory_root>/system/chassis/motherboard/dimm7' : { 'fru_type' : 'DIMM', 'is_fru' : True,},
97 '<inventory_root>/system/chassis/motherboard/dimm8' : { 'fru_type' : 'DIMM', 'is_fru' : True,},
98 '<inventory_root>/system/chassis/motherboard/dimm9' : { 'fru_type' : 'DIMM', 'is_fru' : True,},
99 '<inventory_root>/system/chassis/motherboard/dimm10' : { 'fru_type' : 'DIMM', 'is_fru' : True,},
100 '<inventory_root>/system/chassis/motherboard/dimm11' : { 'fru_type' : 'DIMM', 'is_fru' : True,},
101 '<inventory_root>/system/chassis/motherboard/dimm12' : { 'fru_type' : 'DIMM', 'is_fru' : True,},
102 '<inventory_root>/system/chassis/motherboard/dimm13' : { 'fru_type' : 'DIMM', 'is_fru' : True,},
103 '<inventory_root>/system/chassis/motherboard/dimm14' : { 'fru_type' : 'DIMM', 'is_fru' : True,},
104 '<inventory_root>/system/chassis/motherboard/dimm15' : { 'fru_type' : 'DIMM', 'is_fru' : True,},
105 '<inventory_root>/system/chassis/motherboard/dimm16' : { 'fru_type' : 'DIMM', 'is_fru' : True,},
106 '<inventory_root>/system/chassis/motherboard/dimm17' : { 'fru_type' : 'DIMM', 'is_fru' : True,},
107 '<inventory_root>/system/chassis/motherboard/dimm18' : { 'fru_type' : 'DIMM', 'is_fru' : True,},
108 '<inventory_root>/system/chassis/motherboard/dimm19' : { 'fru_type' : 'DIMM', 'is_fru' : True,},
109 '<inventory_root>/system/chassis/motherboard/dimm20' : { 'fru_type' : 'DIMM', 'is_fru' : True,},
110 '<inventory_root>/system/chassis/motherboard/dimm21' : { 'fru_type' : 'DIMM', 'is_fru' : True,},
111 '<inventory_root>/system/chassis/motherboard/dimm22' : { 'fru_type' : 'DIMM', 'is_fru' : True,},
112 '<inventory_root>/system/chassis/motherboard/dimm23' : { 'fru_type' : 'DIMM', 'is_fru' : True,},
113 '<inventory_root>/system/chassis/motherboard/dimm24' : { 'fru_type' : 'DIMM', 'is_fru' : True,},
114 '<inventory_root>/system/chassis/motherboard/dimm25' : { 'fru_type' : 'DIMM', 'is_fru' : True,},
115 '<inventory_root>/system/chassis/motherboard/dimm26' : { 'fru_type' : 'DIMM', 'is_fru' : True,},
116 '<inventory_root>/system/chassis/motherboard/dimm27' : { 'fru_type' : 'DIMM', 'is_fru' : True,},
117 '<inventory_root>/system/chassis/motherboard/dimm28' : { 'fru_type' : 'DIMM', 'is_fru' : True,},
118 '<inventory_root>/system/chassis/motherboard/dimm29' : { 'fru_type' : 'DIMM', 'is_fru' : True,},
119 '<inventory_root>/system/chassis/motherboard/dimm30' : { 'fru_type' : 'DIMM', 'is_fru' : True,},
120 '<inventory_root>/system/chassis/motherboard/dimm31' : { 'fru_type' : 'DIMM', 'is_fru' : True,},
George Keishing3bd8cf22016-09-01 00:04:19 -0500121}
122
123ID_LOOKUP = {
George Keishing301e7ac2018-06-01 12:06:33 -0500124 'FRU' : {
125 0x01 : '<inventory_root>/system/chassis/motherboard/cpu0',
126 0x02 : '<inventory_root>/system/chassis/motherboard/cpu1',
127 0x03 : '<inventory_root>/system/chassis/motherboard',
128 0x04 : '<inventory_root>/system/chassis/motherboard/membuf0',
129 0x05 : '<inventory_root>/system/chassis/motherboard/membuf1',
130 0x06 : '<inventory_root>/system/chassis/motherboard/membuf2',
131 0x07 : '<inventory_root>/system/chassis/motherboard/membuf3',
132 0x08 : '<inventory_root>/system/chassis/motherboard/membuf4',
133 0x09 : '<inventory_root>/system/chassis/motherboard/membuf5',
134 0x0c : '<inventory_root>/system/chassis/motherboard/dimm0',
135 0x0d : '<inventory_root>/system/chassis/motherboard/dimm1',
136 0x0e : '<inventory_root>/system/chassis/motherboard/dimm2',
137 0x0f : '<inventory_root>/system/chassis/motherboard/dimm3',
138 0x10 : '<inventory_root>/system/chassis/motherboard/dimm4',
139 0x11 : '<inventory_root>/system/chassis/motherboard/dimm5',
140 0x12 : '<inventory_root>/system/chassis/motherboard/dimm6',
141 0x13 : '<inventory_root>/system/chassis/motherboard/dimm7',
142 0x14 : '<inventory_root>/system/chassis/motherboard/dimm8',
143 0x15 : '<inventory_root>/system/chassis/motherboard/dimm9',
144 0x16 : '<inventory_root>/system/chassis/motherboard/dimm10',
145 0x17 : '<inventory_root>/system/chassis/motherboard/dimm11',
146 0x18 : '<inventory_root>/system/chassis/motherboard/dimm12',
147 0x19 : '<inventory_root>/system/chassis/motherboard/dimm13',
148 0x1a : '<inventory_root>/system/chassis/motherboard/dimm14',
149 0x1b : '<inventory_root>/system/chassis/motherboard/dimm15',
150 0x1c : '<inventory_root>/system/chassis/motherboard/dimm16',
151 0x1d : '<inventory_root>/system/chassis/motherboard/dimm17',
152 0x1e : '<inventory_root>/system/chassis/motherboard/dimm18',
153 0x1f : '<inventory_root>/system/chassis/motherboard/dimm19',
154 0x20 : '<inventory_root>/system/chassis/motherboard/dimm20',
155 0x21 : '<inventory_root>/system/chassis/motherboard/dimm21',
156 0x22 : '<inventory_root>/system/chassis/motherboard/dimm22',
157 0x23 : '<inventory_root>/system/chassis/motherboard/dimm23',
158 0x24 : '<inventory_root>/system/chassis/motherboard/dimm24',
159 0x25 : '<inventory_root>/system/chassis/motherboard/dimm25',
160 0x26 : '<inventory_root>/system/chassis/motherboard/dimm26',
161 0x27 : '<inventory_root>/system/chassis/motherboard/dimm27',
162 0x28 : '<inventory_root>/system/chassis/motherboard/dimm28',
163 0x29 : '<inventory_root>/system/chassis/motherboard/dimm29',
164 0x2a : '<inventory_root>/system/chassis/motherboard/dimm30',
165 0x2b : '<inventory_root>/system/chassis/motherboard/dimm31',
George Keishing3bd8cf22016-09-01 00:04:19 -0500166 },
George Keishing301e7ac2018-06-01 12:06:33 -0500167 'FRU_STR' : {
168 'PRODUCT_0' : '<inventory_root>/system/bios',
169 'BOARD_1' : '<inventory_root>/system/chassis/motherboard/cpu0',
170 'BOARD_2' : '<inventory_root>/system/chassis/motherboard/cpu1',
171 'CHASSIS_3' : '<inventory_root>/system/chassis/motherboard',
172 'BOARD_3' : '<inventory_root>/system/misc',
173 'BOARD_4' : '<inventory_root>/system/chassis/motherboard/membuf0',
174 'BOARD_5' : '<inventory_root>/system/chassis/motherboard/membuf1',
175 'BOARD_6' : '<inventory_root>/system/chassis/motherboard/membuf2',
176 'BOARD_7' : '<inventory_root>/system/chassis/motherboard/membuf3',
177 'BOARD_8' : '<inventory_root>/system/chassis/motherboard/membuf4',
178 'BOARD_9' : '<inventory_root>/system/chassis/motherboard/membuf5',
179 'BOARD_10' : '<inventory_root>/system/chassis/motherboard/membuf6',
180 'BOARD_11' : '<inventory_root>/system/chassis/motherboard/membuf7',
181 'PRODUCT_12' : '<inventory_root>/system/chassis/motherboard/dimm0',
182 'PRODUCT_13' : '<inventory_root>/system/chassis/motherboard/dimm1',
183 'PRODUCT_14' : '<inventory_root>/system/chassis/motherboard/dimm2',
184 'PRODUCT_15' : '<inventory_root>/system/chassis/motherboard/dimm3',
185 'PRODUCT_16' : '<inventory_root>/system/chassis/motherboard/dimm4',
186 'PRODUCT_17' : '<inventory_root>/system/chassis/motherboard/dimm5',
187 'PRODUCT_18' : '<inventory_root>/system/chassis/motherboard/dimm6',
188 'PRODUCT_19' : '<inventory_root>/system/chassis/motherboard/dimm7',
189 'PRODUCT_20' : '<inventory_root>/system/chassis/motherboard/dimm8',
190 'PRODUCT_21' : '<inventory_root>/system/chassis/motherboard/dimm9',
191 'PRODUCT_22' : '<inventory_root>/system/chassis/motherboard/dimm10',
192 'PRODUCT_23' : '<inventory_root>/system/chassis/motherboard/dimm11',
193 'PRODUCT_24' : '<inventory_root>/system/chassis/motherboard/dimm12',
194 'PRODUCT_25' : '<inventory_root>/system/chassis/motherboard/dimm13',
195 'PRODUCT_26' : '<inventory_root>/system/chassis/motherboard/dimm14',
196 'PRODUCT_27' : '<inventory_root>/system/chassis/motherboard/dimm15',
197 'PRODUCT_28' : '<inventory_root>/system/chassis/motherboard/dimm16',
198 'PRODUCT_29' : '<inventory_root>/system/chassis/motherboard/dimm17',
199 'PRODUCT_30' : '<inventory_root>/system/chassis/motherboard/dimm18',
200 'PRODUCT_31' : '<inventory_root>/system/chassis/motherboard/dimm19',
201 'PRODUCT_32' : '<inventory_root>/system/chassis/motherboard/dimm20',
202 'PRODUCT_33' : '<inventory_root>/system/chassis/motherboard/dimm21',
203 'PRODUCT_34' : '<inventory_root>/system/chassis/motherboard/dimm22',
204 'PRODUCT_35' : '<inventory_root>/system/chassis/motherboard/dimm23',
205 'PRODUCT_36' : '<inventory_root>/system/chassis/motherboard/dimm24',
206 'PRODUCT_37' : '<inventory_root>/system/chassis/motherboard/dimm25',
207 'PRODUCT_38' : '<inventory_root>/system/chassis/motherboard/dimm26',
208 'PRODUCT_39' : '<inventory_root>/system/chassis/motherboard/dimm27',
209 'PRODUCT_40' : '<inventory_root>/system/chassis/motherboard/dimm28',
210 'PRODUCT_41' : '<inventory_root>/system/chassis/motherboard/dimm29',
211 'PRODUCT_42' : '<inventory_root>/system/chassis/motherboard/dimm30',
212 'PRODUCT_43' : '<inventory_root>/system/chassis/motherboard/dimm31',
213 'PRODUCT_47' : '<inventory_root>/system/misc',
George Keishing3bd8cf22016-09-01 00:04:19 -0500214 },
George Keishing301e7ac2018-06-01 12:06:33 -0500215 'SENSOR' : {
216 0x02 : '/org/openbmc/sensors/host/HostStatus',
217 0x03 : '/org/openbmc/sensors/host/BootProgress',
218 0x5a : '<inventory_root>/system/chassis/motherboard/cpu0',
219 0xa4 : '<inventory_root>/system/chassis/motherboard/cpu1',
220 0x1e : '<inventory_root>/system/chassis/motherboard/dimm3',
221 0x1f : '<inventory_root>/system/chassis/motherboard/dimm2',
222 0x20 : '<inventory_root>/system/chassis/motherboard/dimm1',
223 0x21 : '<inventory_root>/system/chassis/motherboard/dimm0',
224 0x22 : '<inventory_root>/system/chassis/motherboard/dimm7',
225 0x23 : '<inventory_root>/system/chassis/motherboard/dimm6',
226 0x24 : '<inventory_root>/system/chassis/motherboard/dimm5',
227 0x25 : '<inventory_root>/system/chassis/motherboard/dimm4',
228 0x26 : '<inventory_root>/system/chassis/motherboard/dimm11',
229 0x27 : '<inventory_root>/system/chassis/motherboard/dimm10',
230 0x28 : '<inventory_root>/system/chassis/motherboard/dimm9',
231 0x29 : '<inventory_root>/system/chassis/motherboard/dimm8',
232 0x2a : '<inventory_root>/system/chassis/motherboard/dimm15',
233 0x2b : '<inventory_root>/system/chassis/motherboard/dimm14',
234 0x2c : '<inventory_root>/system/chassis/motherboard/dimm13',
235 0x2d : '<inventory_root>/system/chassis/motherboard/dimm12',
236 0x2e : '<inventory_root>/system/chassis/motherboard/dimm19',
237 0x2f : '<inventory_root>/system/chassis/motherboard/dimm18',
238 0x30 : '<inventory_root>/system/chassis/motherboard/dimm17',
239 0x31 : '<inventory_root>/system/chassis/motherboard/dimm16',
240 0x32 : '<inventory_root>/system/chassis/motherboard/dimm23',
241 0x33 : '<inventory_root>/system/chassis/motherboard/dimm22',
242 0x34 : '<inventory_root>/system/chassis/motherboard/dimm21',
243 0x35 : '<inventory_root>/system/chassis/motherboard/dimm20',
244 0x36 : '<inventory_root>/system/chassis/motherboard/dimm27',
245 0x37 : '<inventory_root>/system/chassis/motherboard/dimm26',
246 0x38 : '<inventory_root>/system/chassis/motherboard/dimm25',
247 0x39 : '<inventory_root>/system/chassis/motherboard/dimm24',
248 0x3a : '<inventory_root>/system/chassis/motherboard/dimm31',
249 0x3b : '<inventory_root>/system/chassis/motherboard/dimm30',
250 0x3c : '<inventory_root>/system/chassis/motherboard/dimm29',
251 0x3d : '<inventory_root>/system/chassis/motherboard/dimm28',
252 0x3e : '<inventory_root>/system/chassis/motherboard/cpu0/core0',
253 0x3f : '<inventory_root>/system/chassis/motherboard/cpu0/core1',
254 0x40 : '<inventory_root>/system/chassis/motherboard/cpu0/core2',
255 0x41 : '<inventory_root>/system/chassis/motherboard/cpu0/core3',
256 0x42 : '<inventory_root>/system/chassis/motherboard/cpu0/core4',
257 0x43 : '<inventory_root>/system/chassis/motherboard/cpu0/core5',
258 0x44 : '<inventory_root>/system/chassis/motherboard/cpu0/core6',
259 0x45 : '<inventory_root>/system/chassis/motherboard/cpu0/core7',
260 0x46 : '<inventory_root>/system/chassis/motherboard/cpu0/core8',
261 0x47 : '<inventory_root>/system/chassis/motherboard/cpu0/core9',
262 0x48 : '<inventory_root>/system/chassis/motherboard/cpu0/core10',
263 0x49 : '<inventory_root>/system/chassis/motherboard/cpu0/core11',
264 0x4a : '<inventory_root>/system/chassis/motherboard/cpu1/core0',
265 0x4b : '<inventory_root>/system/chassis/motherboard/cpu1/core1',
266 0x4c : '<inventory_root>/system/chassis/motherboard/cpu1/core2',
267 0x4d : '<inventory_root>/system/chassis/motherboard/cpu1/core3',
268 0x4e : '<inventory_root>/system/chassis/motherboard/cpu1/core4',
269 0x4f : '<inventory_root>/system/chassis/motherboard/cpu1/core5',
270 0x50 : '<inventory_root>/system/chassis/motherboard/cpu1/core6',
271 0x51 : '<inventory_root>/system/chassis/motherboard/cpu1/core7',
272 0x52 : '<inventory_root>/system/chassis/motherboard/cpu1/core8',
273 0x53 : '<inventory_root>/system/chassis/motherboard/cpu1/core9',
274 0x54 : '<inventory_root>/system/chassis/motherboard/cpu1/core10',
275 0x55 : '<inventory_root>/system/chassis/motherboard/cpu1/core11',
276 0x56 : '<inventory_root>/system/chassis/motherboard/membuf0',
277 0x57 : '<inventory_root>/system/chassis/motherboard/membuf1',
278 0x58 : '<inventory_root>/system/chassis/motherboard/membuf2',
279 0x59 : '<inventory_root>/system/chassis/motherboard/membuf3',
280 0x5a : '<inventory_root>/system/chassis/motherboard/membuf4',
281 0x5b : '<inventory_root>/system/chassis/motherboard/membuf5',
282 0x5c : '<inventory_root>/system/chassis/motherboard/membuf6',
283 0x5d : '<inventory_root>/system/chassis/motherboard/membuf7',
284 0x07 : '/org/openbmc/sensors/host/BootCount',
285 0x0c : '<inventory_root>/system/chassis/motherboard',
286 0x01 : '<inventory_root>/system/systemevent',
287 0x08 : '<inventory_root>/system/powerlimit',
288 0x0d : '<inventory_root>/system/chassis/motherboard/refclock',
289 0x0e : '<inventory_root>/system/chassis/motherboard/pcieclock',
290 0x0f : '<inventory_root>/system/chassis/motherboard/todclock',
291 0x10 : '<inventory_root>/system/chassis/motherboard/apss',
292 0x02 : '/org/openbmc/sensors/host/OperatingSystemStatus',
293 0x04 : '<inventory_root>/system/chassis/motherboard/pcielink',
294 0x0b : '/xyz/openbmc_project/sensors/chassis/PowerSupplyRedundancy',
295 0xda : '/org/openbmc/sensors/host/TurboAllowed',
296 0xD8 : '/org/openbmc/sensors/host/PowerSupplyDerating',
George Keishing3bd8cf22016-09-01 00:04:19 -0500297 },
George Keishing301e7ac2018-06-01 12:06:33 -0500298 'GPIO_PRESENT' : {}
George Keishing3bd8cf22016-09-01 00:04:19 -0500299}
300
301GPIO_CONFIG = {}
302GPIO_CONFIG['BMC_POWER_UP'] = \
George Keishing301e7ac2018-06-01 12:06:33 -0500303 {'gpio_pin': 'D1', 'direction': 'out'}
304GPIO_CONFIG['SOFTWARE_PGOOD'] = \
305 {'gpio_pin': 'R1', 'direction': 'out'}
George Keishing3bd8cf22016-09-01 00:04:19 -0500306GPIO_CONFIG['SYS_PWROK_BUFF'] = \
George Keishing301e7ac2018-06-01 12:06:33 -0500307 {'gpio_pin': 'D2', 'direction': 'in'}
George Keishing3bd8cf22016-09-01 00:04:19 -0500308
George Keishing301e7ac2018-06-01 12:06:33 -0500309# PV_CP_MD_JTAG_ATTENTION_N
310GPIO_CONFIG['CHECKSTOP'] = \
311 {'gpio_pin': 'J2', 'direction': 'falling'}
George Keishing3bd8cf22016-09-01 00:04:19 -0500312
313GPIO_CONFIG['BMC_CP0_RESET_N'] = \
George Keishing301e7ac2018-06-01 12:06:33 -0500314 {'gpio_pin': 'A1', 'direction': 'out'}
315# pcie switch reset
George Keishing3bd8cf22016-09-01 00:04:19 -0500316GPIO_CONFIG['BMC_VS1_PERST_N'] = \
George Keishing301e7ac2018-06-01 12:06:33 -0500317 {'gpio_pin': 'B7', 'direction': 'out'}
318# pcie slots reset - not connected?
George Keishing3bd8cf22016-09-01 00:04:19 -0500319GPIO_CONFIG['BMC_CP0_PERST_ENABLE_R'] = \
George Keishing301e7ac2018-06-01 12:06:33 -0500320 {'gpio_pin': 'A3', 'direction': 'out'}
George Keishing3bd8cf22016-09-01 00:04:19 -0500321
George Keishing301e7ac2018-06-01 12:06:33 -0500322# SOFT_FSI_DAT
George Keishing3bd8cf22016-09-01 00:04:19 -0500323GPIO_CONFIG['FSI_DATA'] = \
George Keishing301e7ac2018-06-01 12:06:33 -0500324 {'gpio_pin': 'E0', 'direction': 'out'}
325# SOFT_FSI_CLK
George Keishing3bd8cf22016-09-01 00:04:19 -0500326GPIO_CONFIG['FSI_CLK'] = \
George Keishing301e7ac2018-06-01 12:06:33 -0500327 {'gpio_pin': 'AA0', 'direction': 'out'}
328# BMC_FSI_IN_ENA
George Keishing3bd8cf22016-09-01 00:04:19 -0500329GPIO_CONFIG['FSI_ENABLE'] = \
George Keishing301e7ac2018-06-01 12:06:33 -0500330 {'gpio_pin': 'D0', 'direction': 'out'}
331# FSI_JMFG0_PRSNT_N
George Keishing3bd8cf22016-09-01 00:04:19 -0500332GPIO_CONFIG['CRONUS_SEL'] = \
George Keishing301e7ac2018-06-01 12:06:33 -0500333 {'gpio_pin': 'A6', 'direction': 'out'}
George Keishing3bd8cf22016-09-01 00:04:19 -0500334
George Keishing301e7ac2018-06-01 12:06:33 -0500335# FP_PWR_BTN_N
336GPIO_CONFIG['POWER_BUTTON'] = \
337 {'gpio_pin': 'I3', 'direction': 'both'}
338# BMC_NMIBTN_IN_N
339GPIO_CONFIG['RESET_BUTTON'] = \
340 {'gpio_pin': 'J1', 'direction': 'both'}
George Keishing3bd8cf22016-09-01 00:04:19 -0500341
George Keishing301e7ac2018-06-01 12:06:33 -0500342# FIXME: needed for Witherspoon?
343# Tracked by openbmc/openbmc#814
344# FP_ID_BTN_N
Gunnar Millsdca35792018-03-26 10:05:38 -0500345GPIO_CONFIG['IDBTN'] = \
346 {'gpio_pin': 'Q7', 'direction': 'out'}
George Keishing3bd8cf22016-09-01 00:04:19 -0500347
George Keishing301e7ac2018-06-01 12:06:33 -0500348# TODO openbmc/openbmc#2288 - Determine if any pci resets needed
349GPIO_CONFIGS = {
350 'power_config' : {
351 'power_good_in' : 'SYS_PWROK_BUFF',
352 'power_up_outs' : [
353 ('SOFTWARE_PGOOD', True),
354 ('BMC_POWER_UP', True),
355 ],
356 'reset_outs' : [
357 ('BMC_CP0_RESET_N', False),
358 ],
George Keishing3bd8cf22016-09-01 00:04:19 -0500359 },
George Keishing301e7ac2018-06-01 12:06:33 -0500360 'hostctl_config' : {
361 'fsi_data' : 'FSI_DATA',
362 'fsi_clk' : 'FSI_CLK',
363 'fsi_enable' : 'FSI_ENABLE',
364 'cronus_sel' : 'CRONUS_SEL',
365 'optionals' : [
366 ],
George Keishing3bd8cf22016-09-01 00:04:19 -0500367 },
368}
369
George Keishing301e7ac2018-06-01 12:06:33 -0500370
George Keishing3bd8cf22016-09-01 00:04:19 -0500371# Miscellaneous non-poll sensor with system specific properties.
372# The sensor id is the same as those defined in ID_LOOKUP['SENSOR'].
373MISC_SENSORS = {
George Keishing301e7ac2018-06-01 12:06:33 -0500374 0x07 : { 'class' : 'BootCountSensor' },
375 0x03 : { 'class' : 'BootProgressSensor' },
376 0x02 : { 'class' : 'OperatingSystemStatusSensor' },
377 # Garrison value is used, Not in P9 XML yet.
378 0x0b : { 'class' : 'PowerSupplyRedundancySensor'},
379 0xda : { 'class' : 'TurboAllowedSensor' },
380 0xD8 : { 'class' : 'PowerSupplyDeratingSensor' },
George Keishing3bd8cf22016-09-01 00:04:19 -0500381}
George Keishing301e7ac2018-06-01 12:06:33 -0500382
383# vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4