regulators: Initial Balcones config file
Create an initial version of the voltage regulators JSON configuration
file for Balcones systems.
The file contains the minimum required structure plus some general rules
that will likely be used in subsequent commits.
This minimal file is enough for Balcones hardware bring-up. No voltage
regulator configuration or monitoring will occur. The regulators will
power on with their default register values.
Tested:
* Ran validation tool
* Started Rainier 2S2U simulation session
* Modified EntityManager data so that system appeared to be a Balcones
* Tested that file was found and loaded successfully
* Tested that chassis powered on successfully with no errors logged
Change-Id: If6cd397bfeb956b726e7106e0bdf73cdcc9d2238
Signed-off-by: Shawn McCarney <shawnmm@us.ibm.com>
diff --git a/phosphor-regulators/config_files/Balcones.json b/phosphor-regulators/config_files/Balcones.json
new file mode 100644
index 0000000..5c709db
--- /dev/null
+++ b/phosphor-regulators/config_files/Balcones.json
@@ -0,0 +1,105 @@
+{
+ "comments": [
+ "phosphor-regulators configuration file for IBM Balcones systems"
+ ],
+
+ "rules": [
+ {
+ "comments": ["Rule to set PMBus PAGE to 0"],
+ "id": "set_page0_rule",
+ "actions": [
+ { "i2c_write_byte": { "register": "0x00", "value": "0x00" } }
+ ]
+ },
+
+ {
+ "comments": ["Rule to set PMBus PAGE to 1"],
+ "id": "set_page1_rule",
+ "actions": [
+ { "i2c_write_byte": { "register": "0x00", "value": "0x01" } }
+ ]
+ },
+
+ {
+ "comments": ["Rule to set output voltage of a PMBus regulator"],
+ "id": "set_voltage_rule",
+ "actions": [
+ {
+ "comments": [
+ "Write volts value to VOUT_COMMAND in linear format.",
+ "Get volts value from configuration. Get exponent",
+ "from VOUT_MODE. Verify write was successful."
+ ],
+ "pmbus_write_vout_command": {
+ "format": "linear",
+ "is_verified": true
+ }
+ }
+ ]
+ },
+
+ {
+ "comments": [
+ "Rule to set output voltage of PAGE 0 of a PMBus regulator"
+ ],
+ "id": "set_voltage_page0_rule",
+ "actions": [
+ { "run_rule": "set_page0_rule" },
+ { "run_rule": "set_voltage_rule" }
+ ]
+ },
+
+ {
+ "comments": [
+ "Rule to set output voltage of PAGE 1 of a PMBus regulator"
+ ],
+ "id": "set_voltage_page1_rule",
+ "actions": [
+ { "run_rule": "set_page1_rule" },
+ { "run_rule": "set_voltage_rule" }
+ ]
+ },
+
+ {
+ "comments": [
+ "Rule to set output voltage of a PMBus regulator using",
+ "PMBus OPERATION and VOUT_COMMAND"
+ ],
+ "id": "set_operation_and_voltage_rule",
+ "actions": [
+ {
+ "comments": [
+ "Set PMBus OPERATION to 0x80 indicating output voltage",
+ "is set by the PMBus VOUT_COMMAND"
+ ],
+ "i2c_write_byte": { "register": "0x01", "value": "0x80" }
+ },
+
+ {
+ "comments": [
+ "Set the output voltage using the PMBus VOUT_COMMAND"
+ ],
+ "run_rule": "set_voltage_rule"
+ },
+
+ {
+ "comments": [
+ "Set PMBus OPERATION to 0xB0 indicating output voltage",
+ "will now be set by AVSBus (AVS_VOUT_COMMAND).",
+ "Hardware settings cause the VOUT_COMMAND value to be",
+ "the initial voltage value for AVSBus."
+ ],
+ "i2c_write_byte": { "register": "0x01", "value": "0xB0" }
+ }
+ ]
+ }
+ ],
+
+ "chassis": [
+ {
+ "comments": ["Chassis (drawer) 1", "Note: Devices not defined yet"],
+ "number": 1,
+ "inventory_path": "system/chassis"
+ }
+ ]
+}