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
9dd6c3661SShawn McCarneyone of these properties.
10dd6c3661SShawn McCarney
11dd6c3661SShawn McCarneyThe "check_status_vout" method is usually the most accurate. For example, if a
12dd6c3661SShawn McCarneypgood fault occurs, the power sequencer device may automatically shut off
13dd6c3661SShawn McCarneyrelated rails. Ideally the device will only set fault bits in STATUS_VOUT for
14dd6c3661SShawn McCarneythe rail with the pgood fault. However, all the related rails will likely appear
15dd6c3661SShawn McCarneyto be faulted by the other methods.
16dd6c3661SShawn McCarney
17dd6c3661SShawn McCarneyThe "compare_voltage_to_limit" method is helpful when a rail fails to power on
18dd6c3661SShawn McCarneyduring the power on sequence and the power sequencer device waits indefinitely
19dd6c3661SShawn McCarneyfor it to power on.
20dd6c3661SShawn McCarney
21dd6c3661SShawn McCarneyThe "gpio" method is necessary when no PMBus information is available for the
22dd6c3661SShawn McCarneyrail. It is also helpful when a rail fails to power on during the power on
23dd6c3661SShawn 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
44*6151c286SGeorge Liu```json
45e4b76830SShawn McCarney{
46e4b76830SShawn McCarney  "name": "VDD_CPU0",
47e4b76830SShawn McCarney  "page": 11,
48e4b76830SShawn McCarney  "check_status_vout": true
49e4b76830SShawn McCarney}
50e4b76830SShawn McCarney```
51e4b76830SShawn McCarney
52*6151c286SGeorge Liu```json
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