1e4b76830SShawn McCarney# rail
2e4b76830SShawn McCarney
3e4b76830SShawn McCarney## Description
4e4b76830SShawn McCarney
5e4b76830SShawn McCarneyA voltage rail that is enabled or monitored by the power sequencer device.
6e4b76830SShawn McCarney
79ec0d43dSShawn McCarneyThe "check_status_vout", "compare_voltage_to_limit", and "gpio" properties
8e4b76830SShawn McCarneyspecify how to obtain the pgood status of the rail. You can specify more than
9*dd6c3661SShawn McCarneyone of these properties.
10*dd6c3661SShawn McCarney
11*dd6c3661SShawn McCarneyThe "check_status_vout" method is usually the most accurate. For example, if a
12*dd6c3661SShawn McCarneypgood fault occurs, the power sequencer device may automatically shut off
13*dd6c3661SShawn McCarneyrelated rails. Ideally the device will only set fault bits in STATUS_VOUT for
14*dd6c3661SShawn McCarneythe rail with the pgood fault. However, all the related rails will likely appear
15*dd6c3661SShawn McCarneyto be faulted by the other methods.
16*dd6c3661SShawn McCarney
17*dd6c3661SShawn McCarneyThe "compare_voltage_to_limit" method is helpful when a rail fails to power on
18*dd6c3661SShawn McCarneyduring the power on sequence and the power sequencer device waits indefinitely
19*dd6c3661SShawn McCarneyfor it to power on.
20*dd6c3661SShawn McCarney
21*dd6c3661SShawn McCarneyThe "gpio" method is necessary when no PMBus information is available for the
22*dd6c3661SShawn McCarneyrail. It is also helpful when a rail fails to power on during the power on
23*dd6c3661SShawn McCarneysequence and the power sequencer device waits indefinitely for it to power on.
24e4b76830SShawn McCarney
25e4b76830SShawn McCarney## Properties
26e4b76830SShawn McCarney
27e4b76830SShawn McCarney| Name                     |      Required       | Type                    | Description                                                                                                                                                                                                                                                                                                                    |
289ec0d43dSShawn McCarney| :----------------------- | :-----------------: | :---------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
29e4b76830SShawn McCarney| name                     |         yes         | string                  | Unique name for the rail. Can only contain letters (A-Z, a-z), numbers (0-9), period (.), and underscore (\_).                                                                                                                                                                                                                 |
30e4b76830SShawn McCarney| presence                 |         no          | string                  | D-Bus inventory path of a system component which must be present in order for the rail to be present. If this property is not specified, the rail is assumed to always be present.                                                                                                                                             |
31e4b76830SShawn McCarney| page                     | see [notes](#notes) | number                  | PMBus PAGE number of the rail.                                                                                                                                                                                                                                                                                                 |
3216e493afSShawn McCarney| is_power_supply_rail     |         no          | boolean (true or false) | If true, this rail is produced by a power supply. Power supply rails require special error handling. If an error is detected in a power supply device, and the pgood status is false for a power supply rail, the power supply error is logged as the cause of the pgood failure. The default value of this property is false. |
33e4b76830SShawn McCarney| check_status_vout        |         no          | boolean (true or false) | If true, determine the pgood status of the rail by checking the value of the PMBus STATUS_VOUT command. If one of the error bits is set, the rail pgood will be considered false. The default value of this property is false.                                                                                                 |
349ec0d43dSShawn McCarney| compare_voltage_to_limit |         no          | boolean (true or false) | If true, determine the pgood status of the rail by comparing the output voltage (READ_VOUT) to the undervoltage fault limit (VOUT_UV_FAULT_LIMIT). If the output voltage is below this limit, the rail pgood will be considered false. The default value of this property is false.                                            |
35e4b76830SShawn McCarney| gpio                     |         no          | [gpio](gpio.md)         | Determine the pgood status of the rail by reading a GPIO.                                                                                                                                                                                                                                                                      |
36e4b76830SShawn McCarney
37e4b76830SShawn McCarney### Notes
38e4b76830SShawn McCarney
39e4b76830SShawn McCarney- The "page" property is required if the "check_status_vout" or
409ec0d43dSShawn McCarney  "compare_voltage_to_limit" property is true.
41e4b76830SShawn McCarney
42e4b76830SShawn McCarney## Examples
43e4b76830SShawn McCarney
44e4b76830SShawn McCarney```
45e4b76830SShawn McCarney{
46e4b76830SShawn McCarney    "name": "VDD_CPU0",
47e4b76830SShawn McCarney    "page": 11,
48e4b76830SShawn McCarney    "check_status_vout": true
49e4b76830SShawn McCarney}
50e4b76830SShawn McCarney```
51e4b76830SShawn McCarney
52e4b76830SShawn McCarney```
53e4b76830SShawn McCarney{
54e4b76830SShawn McCarney    "name": "VCS_CPU1",
55e4b76830SShawn McCarney    "presence": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1",
56e4b76830SShawn McCarney    "gpio": { "line": 60 }
57e4b76830SShawn McCarney}
58e4b76830SShawn McCarney```
59