xref: /openbmc/libcper/specification/json/sections/cper-pcie-capabilityStructure.json (revision eda19ff0ed430f222e29d3578cee4a4ed5771584)
18870c074SErwin Tsaur{
28870c074SErwin Tsaur    "$schema": "https://json-schema.org/draft/2020-12/schema",
38870c074SErwin Tsaur    "title": "PCIe Capability Structure",
48870c074SErwin Tsaur    "type": "object",
58870c074SErwin Tsaur    "description": "PCIe 1.0 or PCIe 2.0 Capability structure",
68870c074SErwin Tsaur    "additionalProperties": false,
78870c074SErwin Tsaur    "properties": {
88870c074SErwin Tsaur        "data": {
98870c074SErwin Tsaur            "type": "string"
108870c074SErwin Tsaur        },
118870c074SErwin Tsaur        "device_capabilities": {
128870c074SErwin Tsaur            "type": "object",
138870c074SErwin Tsaur            "properties": {
14ffa7e17dSEd Tanous                "captured_slot_power_limit_scale": {
15ffa7e17dSEd Tanous                    "type": "integer"
168870c074SErwin Tsaur                },
17ffa7e17dSEd Tanous                "captured_slot_power_limit_value": {
18ffa7e17dSEd Tanous                    "type": "integer"
198870c074SErwin Tsaur                },
208870c074SErwin Tsaur                "endpoint_l0s_acceptable_latency": {
218870c074SErwin Tsaur                    "type": "object",
228870c074SErwin Tsaur                    "properties": {
238870c074SErwin Tsaur                        "raw": {
24ffa7e17dSEd Tanous                            "type": "integer"
258870c074SErwin Tsaur                        }
26ffa7e17dSEd Tanous                    },
27ffa7e17dSEd Tanous                    "required": []
288870c074SErwin Tsaur                },
298870c074SErwin Tsaur                "endpoint_l1_acceptable_latency": {
308870c074SErwin Tsaur                    "type": "object",
318870c074SErwin Tsaur                    "properties": {
328870c074SErwin Tsaur                        "raw": {
33ffa7e17dSEd Tanous                            "type": "integer"
348870c074SErwin Tsaur                        }
358870c074SErwin Tsaur                    },
36ffa7e17dSEd Tanous                    "required": []
378870c074SErwin Tsaur                },
38ffa7e17dSEd Tanous                "err_cor_subclass_capable": {
39ffa7e17dSEd Tanous                    "type": "boolean"
40ffa7e17dSEd Tanous                },
41ffa7e17dSEd Tanous                "extended_tag_field_supported": {
42ffa7e17dSEd Tanous                    "type": "string"
43ffa7e17dSEd Tanous                },
44ffa7e17dSEd Tanous                "function_level_reset_capability_supported": {
45ffa7e17dSEd Tanous                    "type": "string"
46ffa7e17dSEd Tanous                },
47ffa7e17dSEd Tanous                "max_payload_size_supported": {
48ffa7e17dSEd Tanous                    "type": "integer"
49ffa7e17dSEd Tanous                },
50ffa7e17dSEd Tanous                "mixed_mps_supported": {
51ffa7e17dSEd Tanous                    "type": "string"
52ffa7e17dSEd Tanous                },
53ffa7e17dSEd Tanous                "phantom_functions_supported": {
54ffa7e17dSEd Tanous                    "type": "string"
55ffa7e17dSEd Tanous                },
56ffa7e17dSEd Tanous                "role_based_error_reporting": {
57ffa7e17dSEd Tanous                    "type": "boolean"
58ffa7e17dSEd Tanous                },
59ffa7e17dSEd Tanous                "rx_mps_fixed": {
60ffa7e17dSEd Tanous                    "type": "integer"
61ffa7e17dSEd Tanous                },
62ffa7e17dSEd Tanous                "tee_io_supported": {
63ffa7e17dSEd Tanous                    "type": "string"
648870c074SErwin Tsaur                }
658870c074SErwin Tsaur            },
66ffa7e17dSEd Tanous            "required": []
678870c074SErwin Tsaur        },
688870c074SErwin Tsaur        "device_capabilities2": {
698870c074SErwin Tsaur            "type": "object",
708870c074SErwin Tsaur            "properties": {
71ffa7e17dSEd Tanous                "_128_bit_cas_completer_supported": {
72ffa7e17dSEd Tanous                    "type": "string"
73ffa7e17dSEd Tanous                },
74ffa7e17dSEd Tanous                "_32_bit_atomicop_completer_supported": {
75ffa7e17dSEd Tanous                    "type": "string"
76ffa7e17dSEd Tanous                },
77ffa7e17dSEd Tanous                "_64_bit_atomicop_completer_supported": {
78ffa7e17dSEd Tanous                    "type": "string"
79ffa7e17dSEd Tanous                },
80ffa7e17dSEd Tanous                "ari_forwarding_supported": {
81ffa7e17dSEd Tanous                    "type": "string"
82ffa7e17dSEd Tanous                },
83ffa7e17dSEd Tanous                "atomic_op_routing_supported": {
84ffa7e17dSEd Tanous                    "type": "string"
85ffa7e17dSEd Tanous                },
86ffa7e17dSEd Tanous                "completion_timeout_disable_supported": {
87ffa7e17dSEd Tanous                    "type": "string"
88ffa7e17dSEd Tanous                },
898870c074SErwin Tsaur                "completion_timeout_ranges_supported": {
90ffa7e17dSEd Tanous                    "type": "integer"
918870c074SErwin Tsaur                },
928870c074SErwin Tsaur                "dmwr_lengths_supported": {
93ffa7e17dSEd Tanous                    "type": "integer"
94ffa7e17dSEd Tanous                },
95ffa7e17dSEd Tanous                "emergency_power_reduction_supported": {
96ffa7e17dSEd Tanous                    "type": "string"
97ffa7e17dSEd Tanous                },
98ffa7e17dSEd Tanous                "ltr_mechanism_supported": {
99ffa7e17dSEd Tanous                    "type": "string"
100ffa7e17dSEd Tanous                },
101ffa7e17dSEd Tanous                "max_end_end_tlp_prefixes": {
102ffa7e17dSEd Tanous                    "type": "object",
103ffa7e17dSEd Tanous                    "properties": {
104ffa7e17dSEd Tanous                        "raw": {
105ffa7e17dSEd Tanous                            "type": "integer"
1068870c074SErwin Tsaur                        }
107ffa7e17dSEd Tanous                    },
108ffa7e17dSEd Tanous                    "required": []
109ffa7e17dSEd Tanous                },
110ffa7e17dSEd Tanous                "no_ro_enabled_pr_pr_passing": {
111ffa7e17dSEd Tanous                    "type": "string"
112ffa7e17dSEd Tanous                },
113ffa7e17dSEd Tanous                "obff_supported": {
114ffa7e17dSEd Tanous                    "type": "string"
115ffa7e17dSEd Tanous                },
116ffa7e17dSEd Tanous                "tph_completer_supported": {
117ffa7e17dSEd Tanous                    "type": "string"
1188870c074SErwin Tsaur                }
1198870c074SErwin Tsaur            },
120ffa7e17dSEd Tanous            "required": []
121ffa7e17dSEd Tanous        },
122ffa7e17dSEd Tanous        "device_control": {
123ffa7e17dSEd Tanous            "type": "object",
124ffa7e17dSEd Tanous            "properties": {
125ffa7e17dSEd Tanous                "aux_power_pm_enable": {
126ffa7e17dSEd Tanous                    "type": "string"
127ffa7e17dSEd Tanous                },
128ffa7e17dSEd Tanous                "correctable_error_reporting_enable": {
129ffa7e17dSEd Tanous                    "type": "string"
130ffa7e17dSEd Tanous                },
131ffa7e17dSEd Tanous                "enable_no_snoop": {
132ffa7e17dSEd Tanous                    "type": "integer"
133ffa7e17dSEd Tanous                },
134ffa7e17dSEd Tanous                "extended_tag_field_enable": {
135ffa7e17dSEd Tanous                    "type": "string"
136ffa7e17dSEd Tanous                },
137ffa7e17dSEd Tanous                "fatal_error_reporting_enable": {
138ffa7e17dSEd Tanous                    "type": "string"
139ffa7e17dSEd Tanous                },
140ffa7e17dSEd Tanous                "function_level_reset": {
141ffa7e17dSEd Tanous                    "type": "boolean"
142ffa7e17dSEd Tanous                },
143ffa7e17dSEd Tanous                "max_payload_size": {
144ffa7e17dSEd Tanous                    "type": "integer"
145ffa7e17dSEd Tanous                },
146ffa7e17dSEd Tanous                "max_read_request_size": {
147ffa7e17dSEd Tanous                    "type": "integer"
148ffa7e17dSEd Tanous                },
149ffa7e17dSEd Tanous                "non_fatal_error_reporting_enable": {
150ffa7e17dSEd Tanous                    "type": "string"
151ffa7e17dSEd Tanous                },
152ffa7e17dSEd Tanous                "phantom_functions_enable": {
153ffa7e17dSEd Tanous                    "type": "string"
154ffa7e17dSEd Tanous                },
155ffa7e17dSEd Tanous                "relaxed_ordering_enable": {
156ffa7e17dSEd Tanous                    "type": "string"
157ffa7e17dSEd Tanous                },
158ffa7e17dSEd Tanous                "unsupported_request_reporting_enabled": {
159ffa7e17dSEd Tanous                    "type": "string"
160ffa7e17dSEd Tanous                }
161ffa7e17dSEd Tanous            },
162ffa7e17dSEd Tanous            "required": []
163ffa7e17dSEd Tanous        },
1648870c074SErwin Tsaur        "device_control2": {
1658870c074SErwin Tsaur            "type": "object",
1668870c074SErwin Tsaur            "properties": {
167*eda19ff0SAushim Nagarkatti                "bit_tag_requester_10_enable": {
168ffa7e17dSEd Tanous                    "type": "boolean"
169ffa7e17dSEd Tanous                },
170ffa7e17dSEd Tanous                "ari_forwarding_enable": {
171ffa7e17dSEd Tanous                    "type": "boolean"
172ffa7e17dSEd Tanous                },
173ffa7e17dSEd Tanous                "atomicop_egress_blocking": {
174ffa7e17dSEd Tanous                    "type": "boolean"
175ffa7e17dSEd Tanous                },
176ffa7e17dSEd Tanous                "atomicop_requester_enable": {
177ffa7e17dSEd Tanous                    "type": "boolean"
178ffa7e17dSEd Tanous                },
1798870c074SErwin Tsaur                "completion_timeout_value": {
180ffa7e17dSEd Tanous                    "type": "integer"
181ffa7e17dSEd Tanous                },
182ffa7e17dSEd Tanous                "emergency_power_reduction_request": {
183ffa7e17dSEd Tanous                    "type": "boolean"
184ffa7e17dSEd Tanous                },
185ffa7e17dSEd Tanous                "ido_completion_enable": {
186ffa7e17dSEd Tanous                    "type": "boolean"
187ffa7e17dSEd Tanous                },
188ffa7e17dSEd Tanous                "ido_request_enable": {
189ffa7e17dSEd Tanous                    "type": "boolean"
190ffa7e17dSEd Tanous                },
191ffa7e17dSEd Tanous                "ltr_mechanism_enable": {
192ffa7e17dSEd Tanous                    "type": "boolean"
1938870c074SErwin Tsaur                },
1948870c074SErwin Tsaur                "obff_enable": {
195ffa7e17dSEd Tanous                    "type": "integer"
1968870c074SErwin Tsaur                }
1978870c074SErwin Tsaur            },
198ffa7e17dSEd Tanous            "required": []
199ffa7e17dSEd Tanous        },
200ffa7e17dSEd Tanous        "device_status": {
2018870c074SErwin Tsaur            "type": "object",
202ffa7e17dSEd Tanous            "properties": {
203ffa7e17dSEd Tanous                "aux_power_detected": {
204ffa7e17dSEd Tanous                    "type": "boolean"
205ffa7e17dSEd Tanous                },
206ffa7e17dSEd Tanous                "correctable_error_detected": {
207ffa7e17dSEd Tanous                    "type": "boolean"
208ffa7e17dSEd Tanous                },
209ffa7e17dSEd Tanous                "emergency_power_reduction": {
210ffa7e17dSEd Tanous                    "type": "integer"
211ffa7e17dSEd Tanous                },
212ffa7e17dSEd Tanous                "fatal_error_detected": {
213ffa7e17dSEd Tanous                    "type": "boolean"
214ffa7e17dSEd Tanous                },
215ffa7e17dSEd Tanous                "non_fatal_error_detected": {
216ffa7e17dSEd Tanous                    "type": "boolean"
217ffa7e17dSEd Tanous                },
218ffa7e17dSEd Tanous                "transactions_pending": {
219ffa7e17dSEd Tanous                    "type": "boolean"
220ffa7e17dSEd Tanous                },
221ffa7e17dSEd Tanous                "unsupported_request_detected": {
222ffa7e17dSEd Tanous                    "type": "boolean"
223ffa7e17dSEd Tanous                }
224ffa7e17dSEd Tanous            },
225ffa7e17dSEd Tanous            "required": []
226ffa7e17dSEd Tanous        },
227ffa7e17dSEd Tanous        "link_capabilities": {
228ffa7e17dSEd Tanous            "type": "object",
229ffa7e17dSEd Tanous            "properties": {
230ffa7e17dSEd Tanous                "aspm_optionality_compliance": {
231ffa7e17dSEd Tanous                    "type": "boolean"
232ffa7e17dSEd Tanous                },
233ffa7e17dSEd Tanous                "aspm_support": {
234ffa7e17dSEd Tanous                    "type": "integer"
235ffa7e17dSEd Tanous                },
236ffa7e17dSEd Tanous                "clock_power_management": {
237ffa7e17dSEd Tanous                    "type": "boolean"
238ffa7e17dSEd Tanous                },
239ffa7e17dSEd Tanous                "data_link_layer_link_active_reporting_capable": {
240ffa7e17dSEd Tanous                    "type": "boolean"
241ffa7e17dSEd Tanous                },
242ffa7e17dSEd Tanous                "l0s_exit_latency": {
243ffa7e17dSEd Tanous                    "type": "integer"
244ffa7e17dSEd Tanous                },
245ffa7e17dSEd Tanous                "l1_exit_latency": {
246ffa7e17dSEd Tanous                    "type": "integer"
247ffa7e17dSEd Tanous                },
248ffa7e17dSEd Tanous                "link_bandwidth_notification_capability": {
249ffa7e17dSEd Tanous                    "type": "boolean"
250ffa7e17dSEd Tanous                },
251ffa7e17dSEd Tanous                "max_link_speed": {
252ffa7e17dSEd Tanous                    "type": "integer"
253ffa7e17dSEd Tanous                },
254ffa7e17dSEd Tanous                "maximum_link_width": {
255ffa7e17dSEd Tanous                    "type": "integer"
256ffa7e17dSEd Tanous                },
257ffa7e17dSEd Tanous                "port_number": {
258ffa7e17dSEd Tanous                    "type": "integer"
259ffa7e17dSEd Tanous                },
260ffa7e17dSEd Tanous                "surprise_down_error_reporting_capable": {
261ffa7e17dSEd Tanous                    "type": "boolean"
262ffa7e17dSEd Tanous                }
263ffa7e17dSEd Tanous            },
264ffa7e17dSEd Tanous            "required": []
2658870c074SErwin Tsaur        },
2668870c074SErwin Tsaur        "link_capabilities2": {
2678870c074SErwin Tsaur            "type": "object",
2688870c074SErwin Tsaur            "properties": {
269ffa7e17dSEd Tanous                "crosslink_supported": {
270ffa7e17dSEd Tanous                    "type": "string"
271ffa7e17dSEd Tanous                },
272ffa7e17dSEd Tanous                "drs_supported": {
273ffa7e17dSEd Tanous                    "type": "string"
2748870c074SErwin Tsaur                },
2758870c074SErwin Tsaur                "lower_skp_os_generation_supported": {
276ffa7e17dSEd Tanous                    "type": "integer"
2778870c074SErwin Tsaur                },
2788870c074SErwin Tsaur                "lower_skp_os_reception_supported": {
279ffa7e17dSEd Tanous                    "type": "integer"
280ffa7e17dSEd Tanous                },
281ffa7e17dSEd Tanous                "retimer_presence_detect_supported": {
282ffa7e17dSEd Tanous                    "type": "string"
283ffa7e17dSEd Tanous                },
284ffa7e17dSEd Tanous                "supported_link_speeds": {
285ffa7e17dSEd Tanous                    "type": "integer"
286ffa7e17dSEd Tanous                },
287ffa7e17dSEd Tanous                "two_retimers_presence_detect_supported": {
288ffa7e17dSEd Tanous                    "type": "string"
2898870c074SErwin Tsaur                }
2908870c074SErwin Tsaur            },
291ffa7e17dSEd Tanous            "required": []
292ffa7e17dSEd Tanous        },
293ffa7e17dSEd Tanous        "link_control": {
2948870c074SErwin Tsaur            "type": "object",
2958870c074SErwin Tsaur            "properties": {
296ffa7e17dSEd Tanous                "aspm_control": {
297ffa7e17dSEd Tanous                    "type": "integer"
298ffa7e17dSEd Tanous                },
299ffa7e17dSEd Tanous                "extended_synch": {
300ffa7e17dSEd Tanous                    "type": "integer"
301ffa7e17dSEd Tanous                },
302ffa7e17dSEd Tanous                "flit_mode_disable": {
303ffa7e17dSEd Tanous                    "type": "integer"
304ffa7e17dSEd Tanous                },
305ffa7e17dSEd Tanous                "link_disable": {
306ffa7e17dSEd Tanous                    "type": "integer"
307ffa7e17dSEd Tanous                },
308ffa7e17dSEd Tanous                "ptm_prop_delay_adaptation_interpretation": {
309ffa7e17dSEd Tanous                    "type": "boolean"
310ffa7e17dSEd Tanous                },
311ffa7e17dSEd Tanous                "retrain_link": {
312ffa7e17dSEd Tanous                    "type": "integer"
313ffa7e17dSEd Tanous                },
314ffa7e17dSEd Tanous                "sris_clocking": {
315ffa7e17dSEd Tanous                    "type": "integer"
3168870c074SErwin Tsaur                }
317ffa7e17dSEd Tanous            },
318ffa7e17dSEd Tanous            "required": [
319ffa7e17dSEd Tanous                "aspm_control",
320ffa7e17dSEd Tanous                "extended_synch",
321ffa7e17dSEd Tanous                "flit_mode_disable",
322ffa7e17dSEd Tanous                "link_disable",
323ffa7e17dSEd Tanous                "ptm_prop_delay_adaptation_interpretation",
324ffa7e17dSEd Tanous                "retrain_link",
325ffa7e17dSEd Tanous                "sris_clocking"
326ffa7e17dSEd Tanous            ]
3278870c074SErwin Tsaur        },
3288870c074SErwin Tsaur        "link_control2": {
3298870c074SErwin Tsaur            "type": "object",
3308870c074SErwin Tsaur            "properties": {
331ffa7e17dSEd Tanous                "compliance_preset_de_emphasis": {
332ffa7e17dSEd Tanous                    "type": "integer"
333ffa7e17dSEd Tanous                },
334ffa7e17dSEd Tanous                "compliance_sos": {
335ffa7e17dSEd Tanous                    "type": "boolean"
336ffa7e17dSEd Tanous                },
337ffa7e17dSEd Tanous                "enter_compliance": {
338ffa7e17dSEd Tanous                    "type": "string"
339ffa7e17dSEd Tanous                },
340ffa7e17dSEd Tanous                "enter_modified_compliance": {
341ffa7e17dSEd Tanous                    "type": "boolean"
342ffa7e17dSEd Tanous                },
343ffa7e17dSEd Tanous                "hardware_autonomous_speed_disable": {
344ffa7e17dSEd Tanous                    "type": "object",
345ffa7e17dSEd Tanous                    "properties": {
346ffa7e17dSEd Tanous                        "raw": {
347ffa7e17dSEd Tanous                            "type": "integer"
348ffa7e17dSEd Tanous                        }
349ffa7e17dSEd Tanous                    },
350ffa7e17dSEd Tanous                    "required": ["raw"]
351ffa7e17dSEd Tanous                },
352ffa7e17dSEd Tanous                "selectable_de_emphasis": {
353ffa7e17dSEd Tanous                    "type": "boolean"
354ffa7e17dSEd Tanous                },
3558870c074SErwin Tsaur                "target_link_speed": {
3568870c074SErwin Tsaur                    "type": "object",
3578870c074SErwin Tsaur                    "properties": {
358ffa7e17dSEd Tanous                        "raw": {
359ffa7e17dSEd Tanous                            "type": "integer"
3608870c074SErwin Tsaur                        }
361ffa7e17dSEd Tanous                    },
362ffa7e17dSEd Tanous                    "required": ["raw"]
3638870c074SErwin Tsaur                },
3648870c074SErwin Tsaur                "transmit_margin": {
365ffa7e17dSEd Tanous                    "type": "integer"
3668870c074SErwin Tsaur                }
3678870c074SErwin Tsaur            },
368ffa7e17dSEd Tanous            "required": [
369ffa7e17dSEd Tanous                "compliance_preset_de_emphasis",
370ffa7e17dSEd Tanous                "compliance_sos",
371ffa7e17dSEd Tanous                "enter_compliance",
372ffa7e17dSEd Tanous                "enter_modified_compliance",
373ffa7e17dSEd Tanous                "hardware_autonomous_speed_disable",
374ffa7e17dSEd Tanous                "selectable_de_emphasis",
375ffa7e17dSEd Tanous                "target_link_speed",
376ffa7e17dSEd Tanous                "transmit_margin"
377ffa7e17dSEd Tanous            ]
378ffa7e17dSEd Tanous        },
379ffa7e17dSEd Tanous        "link_status": {
3808870c074SErwin Tsaur            "type": "object",
3818870c074SErwin Tsaur            "properties": {
382ffa7e17dSEd Tanous                "current_link_speed": {
383ffa7e17dSEd Tanous                    "type": "integer"
384ffa7e17dSEd Tanous                },
385ffa7e17dSEd Tanous                "link_training": {
386ffa7e17dSEd Tanous                    "type": "integer"
387ffa7e17dSEd Tanous                },
388ffa7e17dSEd Tanous                "negotiated_link_width": {
389ffa7e17dSEd Tanous                    "type": "integer"
3908870c074SErwin Tsaur                }
391ffa7e17dSEd Tanous            },
392ffa7e17dSEd Tanous            "required": []
3938870c074SErwin Tsaur        },
3948870c074SErwin Tsaur        "link_status2": {
3958870c074SErwin Tsaur            "type": "object",
3968870c074SErwin Tsaur            "properties": {
3978870c074SErwin Tsaur                "crosslink_resolution": {
398ffa7e17dSEd Tanous                    "type": "integer"
399ffa7e17dSEd Tanous                },
400ffa7e17dSEd Tanous                "current_de_emphasis_level": {
401ffa7e17dSEd Tanous                    "type": "integer"
4028870c074SErwin Tsaur                },
4038870c074SErwin Tsaur                "downstream_component_presence": {
404ffa7e17dSEd Tanous                    "type": "integer"
405ffa7e17dSEd Tanous                },
406ffa7e17dSEd Tanous                "drs_message_received": {
407ffa7e17dSEd Tanous                    "type": "boolean"
408ffa7e17dSEd Tanous                },
409ffa7e17dSEd Tanous                "equalization_8gts_complete": {
410ffa7e17dSEd Tanous                    "type": "boolean"
411ffa7e17dSEd Tanous                },
412ffa7e17dSEd Tanous                "equalization_8gts_phase1_successful": {
413ffa7e17dSEd Tanous                    "type": "boolean"
414ffa7e17dSEd Tanous                },
415ffa7e17dSEd Tanous                "equalization_8gts_phase2_successful": {
416ffa7e17dSEd Tanous                    "type": "boolean"
417ffa7e17dSEd Tanous                },
418ffa7e17dSEd Tanous                "equalization_8gts_phase3_successful": {
419ffa7e17dSEd Tanous                    "type": "boolean"
420ffa7e17dSEd Tanous                },
421ffa7e17dSEd Tanous                "flit_mode_status": {
422ffa7e17dSEd Tanous                    "type": "integer"
423ffa7e17dSEd Tanous                },
424ffa7e17dSEd Tanous                "link_equalization_request_8gts": {
425ffa7e17dSEd Tanous                    "type": "boolean"
426ffa7e17dSEd Tanous                },
427ffa7e17dSEd Tanous                "retimer_presence_detected": {
428ffa7e17dSEd Tanous                    "type": "boolean"
429ffa7e17dSEd Tanous                },
430ffa7e17dSEd Tanous                "two_retimers_presence_detected": {
431ffa7e17dSEd Tanous                    "type": "boolean"
432ffa7e17dSEd Tanous                }
433ffa7e17dSEd Tanous            },
434ffa7e17dSEd Tanous            "required": []
435ffa7e17dSEd Tanous        },
436ffa7e17dSEd Tanous        "pcie_capabilities": {
4378870c074SErwin Tsaur            "type": "object",
4388870c074SErwin Tsaur            "properties": {
439ffa7e17dSEd Tanous                "capability_version": {
440ffa7e17dSEd Tanous                    "type": "integer"
441ffa7e17dSEd Tanous                },
442ffa7e17dSEd Tanous                "device_port_type": {
443ffa7e17dSEd Tanous                    "type": "object",
444ffa7e17dSEd Tanous                    "properties": {
445ffa7e17dSEd Tanous                        "raw": {
446ffa7e17dSEd Tanous                            "type": "integer"
447ffa7e17dSEd Tanous                        },
4488870c074SErwin Tsaur                        "value": {
449ffa7e17dSEd Tanous                            "type": "string"
4508870c074SErwin Tsaur                        }
4518870c074SErwin Tsaur                    },
452ffa7e17dSEd Tanous                    "required": []
4538870c074SErwin Tsaur                },
454ffa7e17dSEd Tanous                "flit_mode_supported": {
455ffa7e17dSEd Tanous                    "type": "string"
4568870c074SErwin Tsaur                },
457ffa7e17dSEd Tanous                "interrupt_message_number": {
458ffa7e17dSEd Tanous                    "type": "integer"
459ffa7e17dSEd Tanous                },
460ffa7e17dSEd Tanous                "slot_implemented": {
461ffa7e17dSEd Tanous                    "type": "boolean"
462ffa7e17dSEd Tanous                }
463ffa7e17dSEd Tanous            },
464ffa7e17dSEd Tanous            "required": []
465ffa7e17dSEd Tanous        },
466ffa7e17dSEd Tanous        "pcie_capability_header": {
4678870c074SErwin Tsaur            "type": "object",
468ffa7e17dSEd Tanous            "properties": {
469ffa7e17dSEd Tanous                "capability_id": {
470ffa7e17dSEd Tanous                    "type": "object",
471ffa7e17dSEd Tanous                    "properties": {
472ffa7e17dSEd Tanous                        "raw": {
473ffa7e17dSEd Tanous                            "type": "integer"
4748870c074SErwin Tsaur                        }
475ffa7e17dSEd Tanous                    },
476ffa7e17dSEd Tanous                    "required": []
477ffa7e17dSEd Tanous                },
478ffa7e17dSEd Tanous                "next_capability_pointer": {
479ffa7e17dSEd Tanous                    "type": "integer"
4808870c074SErwin Tsaur                }
481ffa7e17dSEd Tanous            },
482ffa7e17dSEd Tanous            "required": []
483ffa7e17dSEd Tanous        },
484ffa7e17dSEd Tanous        "root_status": {
485ffa7e17dSEd Tanous            "type": "object",
486ffa7e17dSEd Tanous            "properties": {
487ffa7e17dSEd Tanous                "pme_pending": {
488ffa7e17dSEd Tanous                    "type": "integer"
489ffa7e17dSEd Tanous                },
490ffa7e17dSEd Tanous                "pme_requester_id": {
491ffa7e17dSEd Tanous                    "type": "integer"
492ffa7e17dSEd Tanous                },
493ffa7e17dSEd Tanous                "pme_status": {
494ffa7e17dSEd Tanous                    "type": "integer"
495ffa7e17dSEd Tanous                }
496ffa7e17dSEd Tanous            },
497ffa7e17dSEd Tanous            "required": []
498ffa7e17dSEd Tanous        },
499ffa7e17dSEd Tanous        "slot_capabilities": {
500ffa7e17dSEd Tanous            "type": "object",
501ffa7e17dSEd Tanous            "properties": {
502ffa7e17dSEd Tanous                "physical_slot_number": {
503ffa7e17dSEd Tanous                    "type": "integer"
504ffa7e17dSEd Tanous                },
505ffa7e17dSEd Tanous                "slot_power_limit_scale": {
506ffa7e17dSEd Tanous                    "type": "integer"
507ffa7e17dSEd Tanous                },
508ffa7e17dSEd Tanous                "slot_power_limit_value": {
509ffa7e17dSEd Tanous                    "type": "object",
510ffa7e17dSEd Tanous                    "properties": {
511ffa7e17dSEd Tanous                        "raw": {
512ffa7e17dSEd Tanous                            "type": "integer"
513ffa7e17dSEd Tanous                        }
514ffa7e17dSEd Tanous                    },
515ffa7e17dSEd Tanous                    "required": []
516ffa7e17dSEd Tanous                }
517ffa7e17dSEd Tanous            },
518ffa7e17dSEd Tanous            "required": []
519ffa7e17dSEd Tanous        },
520ffa7e17dSEd Tanous        "slot_control": {
521ffa7e17dSEd Tanous            "type": "object",
522ffa7e17dSEd Tanous            "properties": {
523ffa7e17dSEd Tanous                "attention_indicator_control": {
524ffa7e17dSEd Tanous                    "type": "integer"
525ffa7e17dSEd Tanous                },
526ffa7e17dSEd Tanous                "power_indicator_control": {
527ffa7e17dSEd Tanous                    "type": "integer"
528ffa7e17dSEd Tanous                },
529ffa7e17dSEd Tanous                "rsvdp": {
530ffa7e17dSEd Tanous                    "type": "integer"
531ffa7e17dSEd Tanous                }
532ffa7e17dSEd Tanous            },
533ffa7e17dSEd Tanous            "required": []
534ffa7e17dSEd Tanous        },
535ffa7e17dSEd Tanous        "slot_status": {
536ffa7e17dSEd Tanous            "type": "object",
537ffa7e17dSEd Tanous            "properties": {
538ffa7e17dSEd Tanous                "command_completed": {
539ffa7e17dSEd Tanous                    "type": "integer"
540ffa7e17dSEd Tanous                },
541ffa7e17dSEd Tanous                "mrl_sensor_changed": {
542ffa7e17dSEd Tanous                    "type": "integer"
543ffa7e17dSEd Tanous                },
544ffa7e17dSEd Tanous                "mrl_sensor_state": {
545ffa7e17dSEd Tanous                    "type": "integer"
546ffa7e17dSEd Tanous                }
547ffa7e17dSEd Tanous            },
548ffa7e17dSEd Tanous            "required": []
549ffa7e17dSEd Tanous        }
550ffa7e17dSEd Tanous    },
551ffa7e17dSEd Tanous    "required": []
5528870c074SErwin Tsaur}
553