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