xref: /openbmc/phosphor-power/phosphor-regulators/docs/config_file/configuration.md (revision 6151c286a8737f22e5297ff556f7304bd548ed0a)
1e60a2fb7SShawn McCarney# configuration
2e60a2fb7SShawn McCarney
3e60a2fb7SShawn McCarney## Description
40dbce568SPatrick Williams
5e60a2fb7SShawn McCarneyConfiguration changes that should be applied to a device or regulator rail.
6e60a2fb7SShawn McCarneyThese changes usually override hardware default settings.
7e60a2fb7SShawn McCarney
8e60a2fb7SShawn McCarneyThe most common configuration change is setting the output voltage for a
9e60a2fb7SShawn McCarneyregulator rail. Other examples include modifying pgood thresholds and
10e60a2fb7SShawn McCarneyovercurrent settings.
11e60a2fb7SShawn McCarney
12e60a2fb7SShawn McCarneyThe configuration changes are applied during the boot before regulators are
13e60a2fb7SShawn McCarneyenabled.
14e60a2fb7SShawn McCarney
15e60a2fb7SShawn McCarneyThe configuration changes are applied by executing one or more actions. The
16e60a2fb7SShawn McCarneyactions can be specified in two ways:
170dbce568SPatrick Williams
180dbce568SPatrick Williams- Use the "rule_id" property to specify a standard rule to run.
190dbce568SPatrick Williams- Use the "actions" property to specify an array of actions that are unique to
20e60a2fb7SShawn McCarney  this device.
21e60a2fb7SShawn McCarney
22e60a2fb7SShawn McCarney## Properties
230dbce568SPatrick Williams
24e60a2fb7SShawn McCarney| Name     |      Required       | Type                          | Description                                                                                                                     |
250dbce568SPatrick Williams| :------- | :-----------------: | :---------------------------- | :------------------------------------------------------------------------------------------------------------------------------ |
26e60a2fb7SShawn McCarney| comments |         no          | array of strings              | One or more comment lines describing the configuration changes.                                                                 |
27e60a2fb7SShawn McCarney| volts    |         no          | number                        | Output voltage expressed as a decimal number. Applied using the [pmbus_write_vout_command](pmbus_write_vout_command.md) action. |
28e60a2fb7SShawn McCarney| rule_id  | see [notes](#notes) | string                        | Unique ID of the [rule](rule.md) to execute.                                                                                    |
29e60a2fb7SShawn McCarney| actions  | see [notes](#notes) | array of [actions](action.md) | One or more actions to execute.                                                                                                 |
30e60a2fb7SShawn McCarney
31e60a2fb7SShawn McCarney### Notes
320dbce568SPatrick Williams
330dbce568SPatrick Williams- You must specify either "rule_id" or "actions".
34e60a2fb7SShawn McCarney
35e60a2fb7SShawn McCarney## Examples
360dbce568SPatrick Williams
37*6151c286SGeorge Liu```json
38e60a2fb7SShawn McCarney{
39e60a2fb7SShawn McCarney  "comments": ["Set rail to 1.25V using standard rule"],
40e60a2fb7SShawn McCarney  "volts": 1.25,
41e60a2fb7SShawn McCarney  "rule_id": "set_voltage_rule"
42e60a2fb7SShawn McCarney}
43*6151c286SGeorge Liu```
44e60a2fb7SShawn McCarney
45*6151c286SGeorge Liu```json
46e60a2fb7SShawn McCarney{
47*6151c286SGeorge Liu  "comments": [
48*6151c286SGeorge Liu    "If version register 0x75 contains 1, device is downlevel",
49*6151c286SGeorge Liu    "and registers 0x31/0x34 need to be updated."
50*6151c286SGeorge Liu  ],
51e60a2fb7SShawn McCarney  "actions": [
52e60a2fb7SShawn McCarney    {
53e60a2fb7SShawn McCarney      "if": {
54e60a2fb7SShawn McCarney        "condition": {
55e60a2fb7SShawn McCarney          "i2c_compare_byte": { "register": "0x75", "value": "0x01" }
56e60a2fb7SShawn McCarney        },
57e60a2fb7SShawn McCarney        "then": [
58e60a2fb7SShawn McCarney          { "i2c_write_byte": { "register": "0x31", "value": "0xDB" } },
59e60a2fb7SShawn McCarney          { "i2c_write_byte": { "register": "0x34", "value": "0x1B" } }
60e60a2fb7SShawn McCarney        ]
61e60a2fb7SShawn McCarney      }
62e60a2fb7SShawn McCarney    }
63e60a2fb7SShawn McCarney  ]
64e60a2fb7SShawn McCarney}
65e60a2fb7SShawn McCarney```
66