xref: /openbmc/phosphor-power/phosphor-power-sequencer/docs/config_file/chassis.md (revision d1312fca296a458b0bb7e7d44c650285ee01bec6)
1# chassis
2
3## Description
4
5A chassis within the system.
6
7Chassis are typically a physical enclosure that contains system components such
8as CPUs, fans, power supplies, and PCIe cards. A chassis can be stand-alone,
9such as a tower or desktop. A chassis can also be designed to be mounted in an
10equipment rack.
11
12A chassis only needs to be defined in the config file if it contains a power
13sequencer device.
14
15### Chassis Templates
16
17In a multiple chassis system, two or more of the chassis may have the same
18hardware design.
19
20A [chassis template](chassis_template.md) can be used to avoid duplicate data.
21
22Specify the "template_id" and "template_variable_values" properties to use a
23chassis template.
24
25## Properties
26
27| Name                     |      Required       | Type                                                    | Description                                                                                                  |
28| :----------------------- | :-----------------: | :------------------------------------------------------ | :----------------------------------------------------------------------------------------------------------- |
29| comments                 |         no          | array of strings                                        | One or more comment lines describing this chassis.                                                           |
30| number                   | see [notes](#notes) | number                                                  | Chassis number within the system. Chassis numbers start at 1 because chassis 0 represents the entire system. |
31| inventory_path           | see [notes](#notes) | string                                                  | D-Bus inventory path of the chassis, such as "/xyz/openbmc_project/inventory/system/chassis".                |
32| power_sequencers         | see [notes](#notes) | array of [power_sequencers](power_sequencer.md)         | One or more power sequencer devices within the chassis.                                                      |
33| template_id              | see [notes](#notes) | string                                                  | Unique ID of the [chassis template](chassis_template.md) to use for the contents of this chassis.            |
34| template_variable_values | see [notes](#notes) | [template_variable_values](template_variable_values.md) | Chassis-specific values for chassis template variables.                                                      |
35
36### Notes
37
38- You must specify exactly one of the following two groups of properties:
39  - "number", "inventory_path", and "power_sequencers"
40  - "template_id" and "template_variable_values"
41
42## Examples
43
44```json
45{
46  "number": 1,
47  "inventory_path": "/xyz/openbmc_project/inventory/system/chassis",
48  "power_sequencers": [
49    {
50      "type": "UCD90320",
51      "i2c_interface": { "bus": 3, "address": "0x11" },
52      "power_control_gpio_name": "power-chassis-control",
53      "power_good_gpio_name": "power-chassis-good",
54      "rails": [
55        {
56          "name": "VDD_CPU0",
57          "page": 11,
58          "check_status_vout": true
59        },
60        {
61          "name": "VCS_CPU1",
62          "presence": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1",
63          "gpio": { "line": 60 }
64        }
65      ]
66    }
67  ]
68}
69```
70
71```json
72{
73  "comments": ["Chassis 2: Standard hardware layout"],
74  "template_id": "standard_chassis_template",
75  "template_variable_values": {
76    "chassis_number": "2",
77    "sequencer_bus_number": "13"
78  }
79}
80```
81