Document logic actions in regulator config file

Created documentation for the phosphor-regulators config file.  This
commit contains documentation for the logic-related actions.

Signed-off-by: Shawn McCarney <shawnmm@us.ibm.com>
Change-Id: Icef0c1687ef4bb402c6a478d208ff4dc3c0ef67b
diff --git a/phosphor-regulators/docs/config_file/and.md b/phosphor-regulators/docs/config_file/and.md
new file mode 100644
index 0000000..f94122f
--- /dev/null
+++ b/phosphor-regulators/docs/config_file/and.md
@@ -0,0 +1,26 @@
+# and
+
+## Description
+Tests whether **all** of the actions in an array return true.
+
+Note: All actions in the array will be executed even if an action before the
+end returns false.  This ensures that actions with beneficial side-effects are
+always executed, such as a register read that clears latched fault bits.
+
+## Property Value
+Array of two or more [actions](action.md) to execute.
+
+## Return Value
+Returns true if **all** of the actions in the array returned true, otherwise
+returns false.
+
+## Example
+```
+{
+  "comments": [ "Check whether registers 0xA0 and 0xA1 both contain 0x00" ],
+  "and": [
+    { "i2c_compare_byte": { "register": "0xA0", "value": "0x00" } },
+    { "i2c_compare_byte": { "register": "0xA1", "value": "0x00" } }
+  ]
+}
+```
diff --git a/phosphor-regulators/docs/config_file/if.md b/phosphor-regulators/docs/config_file/if.md
new file mode 100644
index 0000000..451e314
--- /dev/null
+++ b/phosphor-regulators/docs/config_file/if.md
@@ -0,0 +1,44 @@
+# if
+
+## Description
+Performs actions based on whether a condition is true.
+
+The "condition" property specifies an action to execute.  The condition is true
+if the action returns true.  Otherwise the condition is false.
+
+If the condition is true, the actions within the "then" property are executed.
+
+If the condition is false, the actions within the "else" property are executed
+(if specified).
+
+## Properties
+| Name | Required | Type | Description |
+| :--- | :------: | :--- | :---------- |
+| condition | yes | [action](action.md) | Action that tests whether condition is true. |
+| then | yes | array of [actions](action.md) | One or more actions to perform if condition is true. |
+| else | no | array of [actions](action.md) | One or more actions to perform if condition is false. |
+
+## Return Value
+If the condition was true, returns the value of the last action in the "then"
+property.
+
+If the condition was false, returns the value of the last action in the "else"
+property. If no "else" property was specified, returns false.
+
+## Example
+```
+{
+  "comments": [ "If regulator is downlevel use different configuration rule" ],
+  "if": {
+    "condition": {
+      "run_rule": "is_downlevel_regulator"
+    },
+    "then": [
+      { "run_rule": "configure_downlevel_regulator" }
+    ],
+    "else": [
+      { "run_rule": "configure_standard_regulator" }
+    ]
+  }
+}
+```
diff --git a/phosphor-regulators/docs/config_file/not.md b/phosphor-regulators/docs/config_file/not.md
new file mode 100644
index 0000000..7dc2c4e
--- /dev/null
+++ b/phosphor-regulators/docs/config_file/not.md
@@ -0,0 +1,21 @@
+# not
+
+## Description
+Negates the return value of the specified action.
+
+## Property Value
+[Action](action.md) to execute.
+
+## Return Value
+Returns true if the action returned false.  Returns false if the action
+returned true.
+
+## Example
+```
+{
+  "comments": [ "Check if register 0xA0 is not equal to 0xFF" ],
+  "not": {
+    "i2c_compare_byte": { "register": "0xA0", "value": "0xFF" }
+  }
+}
+```
diff --git a/phosphor-regulators/docs/config_file/or.md b/phosphor-regulators/docs/config_file/or.md
new file mode 100644
index 0000000..06530ee
--- /dev/null
+++ b/phosphor-regulators/docs/config_file/or.md
@@ -0,0 +1,26 @@
+# or
+
+## Description
+Tests whether **any** of the actions in an array return true.
+
+Note: All actions in the array will be executed even if an action before the
+end returns true.  This ensures that actions with beneficial side-effects are
+always executed, such as a register read that clears latched fault bits.
+
+## Property Value
+Array of two or more [actions](action.md) to execute.
+
+## Return Value
+Returns true if **any** of the actions in the array returned true, otherwise
+returns false.
+
+## Example
+```
+{
+  "comments": [ "Check whether register 0xA0 or 0xA1 contains 0x00" ],
+  "or": [
+    { "i2c_compare_byte": { "register": "0xA0", "value": "0x00" } },
+    { "i2c_compare_byte": { "register": "0xA1", "value": "0x00" } }
+  ]
+}
+```