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